

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kustomisasi model pondasi
<a name="jumpstart-foundation-models-customize"></a>

Model foundation adalah model yang sangat kuat yang mampu menyelesaikan beragam tugas. Untuk menyelesaikan sebagian besar tugas secara efektif, model ini memerlukan beberapa bentuk penyesuaian.

Cara yang disarankan untuk terlebih dahulu menyesuaikan model pondasi ke kasus penggunaan tertentu adalah melalui rekayasa yang cepat. Menyediakan model fondasi Anda dengan petunjuk yang direkayasa dengan baik dan kaya konteks dapat membantu mencapai hasil yang diinginkan tanpa penyempurnaan atau perubahan bobot model. Untuk informasi selengkapnya, lihat [Rekayasa cepat untuk model pondasi](jumpstart-foundation-models-customize-prompt-engineering.md).

Jika rekayasa cepat saja tidak cukup untuk menyesuaikan model pondasi Anda dengan tugas tertentu, Anda dapat menyempurnakan model fondasi pada data spesifik domain tambahan. Untuk informasi selengkapnya, lihat [Model pondasi dan hiperparameter untuk fine-tuning](jumpstart-foundation-models-fine-tuning.md). Proses fine-tuning melibatkan perubahan bobot model.

Jika Anda ingin menyesuaikan model Anda dengan informasi dari perpustakaan pengetahuan tanpa pelatihan ulang, lihat[Pengambilan Generasi Augmented](jumpstart-foundation-models-customize-rag.md).

# Rekayasa cepat untuk model pondasi
<a name="jumpstart-foundation-models-customize-prompt-engineering"></a>

Rekayasa cepat adalah proses merancang dan menyempurnakan petunjuk atau rangsangan input untuk model bahasa untuk menghasilkan jenis output tertentu. Rekayasa cepat melibatkan pemilihan kata kunci yang tepat, memberikan konteks, dan membentuk input dengan cara yang mendorong model untuk menghasilkan respons yang diinginkan dan merupakan teknik penting untuk secara aktif membentuk perilaku dan output model pondasi.

Rekayasa cepat yang efektif sangat penting untuk mengarahkan perilaku model dan mencapai respons yang diinginkan. Melalui teknik yang cepat, Anda dapat mengontrol nada, gaya, dan keahlian domain model tanpa lebih melibatkan langkah-langkah penyesuaian seperti fine-tuning. Kami merekomendasikan untuk mendedikasikan waktu untuk mempercepat rekayasa sebelum Anda mempertimbangkan untuk menyempurnakan model pada data tambahan. Tujuannya adalah untuk memberikan konteks dan panduan yang memadai untuk model sehingga dapat menggeneralisasi dan berkinerja baik pada skenario data yang tidak terlihat atau terbatas.

## Pembelajaran zero-shot
<a name="jumpstart-foundation-models-customize-prompt-engineering-zero-shot"></a>

Pembelajaran zero-shot melibatkan pelatihan model untuk menggeneralisasi dan membuat prediksi pada kelas atau tugas yang tidak terlihat. Untuk melakukan rekayasa cepat di lingkungan pembelajaran zero-shot, kami merekomendasikan pembuatan prompt yang secara eksplisit memberikan informasi tentang tugas target dan format keluaran yang diinginkan. Misalnya, jika Anda ingin menggunakan model dasar untuk klasifikasi teks zero-shot pada serangkaian kelas yang tidak dilihat model selama pelatihan, prompt yang direkayasa dengan baik dapat berupa: `"Classify the following text as either sports, politics, or entertainment: [input text]."` Dengan secara eksplisit menentukan kelas target dan format keluaran yang diharapkan, Anda dapat memandu model untuk membuat prediksi yang akurat bahkan pada kelas yang tidak terlihat.

## Pembelajaran beberapa tembakan
<a name="jumpstart-foundation-models-customize-prompt-engineering-few-shot"></a>

Pembelajaran few-shot melibatkan pelatihan model dengan jumlah data terbatas untuk kelas atau tugas baru. Rekayasa cepat di lingkungan belajar yang sedikit berfokus pada perancangan petunjuk yang secara efektif menggunakan data pelatihan terbatas yang tersedia. Misalnya, jika Anda menggunakan model dasar untuk tugas klasifikasi gambar dan hanya memiliki beberapa contoh kelas gambar baru, Anda dapat merekayasa prompt yang menyertakan contoh berlabel yang tersedia dengan placeholder untuk kelas target. Misalnya, permintaannya bisa berupa:`"[image 1], [image 2], and [image 3] are examples of [target class]. Classify the following image as [target class]"`. Dengan memasukkan contoh berlabel terbatas dan secara eksplisit menentukan kelas target, Anda dapat memandu model untuk menggeneralisasi dan membuat prediksi yang akurat bahkan dengan data pelatihan minimal.

## Parameter inferensi yang didukung
<a name="jumpstart-foundation-models-customize-prompt-engineering-inference-params"></a>

Mengubah parameter inferensi juga dapat memengaruhi respons terhadap permintaan Anda. Meskipun Anda dapat mencoba menambahkan spesifisitas dan konteks sebanyak mungkin ke prompt Anda, Anda juga dapat bereksperimen dengan parameter inferensi yang didukung. Berikut ini adalah contoh dari beberapa parameter inferensi yang umum didukung:


| Parameter Inferensi | Deskripsi | 
| --- | --- | 
| `max_new_tokens` | Panjang output maksimum dari respons model pondasi. Nilai yang valid: bilangan bulat, rentang: Bilangan bulat positif. | 
| `temperature` | Mengontrol keacakan dalam output. Suhu yang lebih tinggi menghasilkan urutan keluaran dengan kata-kata probabilitas rendah dan suhu yang lebih rendah menghasilkan urutan keluaran dengan kata-kata probabilitas tinggi. Jika`temperature=0`, responsnya hanya terdiri dari kata-kata probabilitas tertinggi (decoding serakah). Nilai yang valid: float, range: Positive float. | 
| `top_p` | Dalam setiap langkah pembuatan teks, model mengambil sampel dari kumpulan kata sekecil mungkin dengan probabilitas kumulatif. `top_p` Nilai yang valid: float, range: 0.0, 1.0. | 
| `return_full_text` | Jika`True`, maka teks input adalah bagian dari teks keluaran yang dihasilkan. Nilai yang valid: boolean, default: False. | 

Untuk informasi lebih lanjut tentang inferensi model pondasi, lihat[Menyebarkan model pondasi yang tersedia untuk umum dengan kelas `JumpStartModel`](jumpstart-foundation-models-use-python-sdk-model-class.md).

Jika rekayasa cepat tidak cukup untuk menyesuaikan model fondasi Anda dengan kebutuhan bisnis tertentu, bahasa khusus domain, tugas target, atau persyaratan lainnya, Anda dapat mempertimbangkan untuk menyempurnakan model Anda pada data tambahan atau menggunakan Retrieval Augmented Generation (RAG) untuk menambah arsitektur model Anda dengan konteks yang ditingkatkan dari sumber pengetahuan yang diarsipkan. Untuk informasi selengkapnya, lihat [Model pondasi dan hiperparameter untuk fine-tuning](jumpstart-foundation-models-fine-tuning.md) atau [Pengambilan Generasi Augmented](jumpstart-foundation-models-customize-rag.md).

# Model pondasi dan hiperparameter untuk fine-tuning
<a name="jumpstart-foundation-models-fine-tuning"></a>

Model pondasi mahal secara komputasi dan dilatih pada korpus besar yang tidak berlabel. Menyesuaikan model pondasi yang telah dilatih sebelumnya adalah cara yang terjangkau untuk memanfaatkan kemampuan mereka yang luas sambil menyesuaikan model pada korpus kecil Anda sendiri. Fine-tuning adalah metode penyesuaian yang melibatkan pelatihan lebih lanjut dan mengubah bobot model Anda. 

Fine-tuning mungkin berguna bagi Anda jika Anda membutuhkan: 
+ untuk menyesuaikan model Anda dengan kebutuhan bisnis tertentu
+ model Anda untuk berhasil bekerja dengan bahasa khusus domain, seperti jargon industri, istilah teknis, atau kosakata khusus lainnya
+ peningkatan kinerja untuk tugas-tugas tertentu
+ tanggapan akurat, relatif, dan sadar konteks dalam aplikasi
+ tanggapan yang lebih faktual, kurang beracun, dan lebih selaras dengan persyaratan tertentu

Ada dua pendekatan utama yang dapat Anda ambil untuk fine-tuning tergantung pada kasus penggunaan Anda dan model pondasi yang dipilih.

1. Jika Anda tertarik untuk menyempurnakan model Anda pada data spesifik domain, lihat. [Sempurnakan model bahasa besar (LLM) menggunakan adaptasi domain](jumpstart-foundation-models-fine-tuning-domain-adaptation.md)

1. Jika Anda tertarik dengan fine-tuning berbasis instruksi menggunakan contoh prompt dan respons, lihat. [Sempurnakan model bahasa besar (LLM) menggunakan instruksi cepat](jumpstart-foundation-models-fine-tuning-instruction-based.md)

## Model foundation tersedia untuk fine-tuning
<a name="jumpstart-foundation-models-fine-tuning-models"></a>

Anda dapat menyempurnakan salah satu model JumpStart pondasi berikut:
+ Mekar 3B
+ Mekar 7B1
+ BloomZ 3B FP16
+ BloomZ 7B1 FP16
+ Kode Llama 13B
+ Kode Llama 13B Python
+ Kode Llama 34B
+ Kode Llama 34B Python
+ Kode Llama 70B
+ Kode Llama 70B Python
+ Kode Llama 7B
+ Kode Llama 7B Python
+ CyberAgentLM2-7B-Obrolan (-7B-Obrolan) CALM2
+ Elang 40B BF16
+ Instruksi Falcon 40B BF16
+ Elang 7B BF16
+ Instruksi Falcon 7B BF16
+ Dasar Flan-T5
+ Flan-T5 Besar
+ Flan-T5 Kecil
+ Flan-T5 XL
+ Flan-T5 XXL
+ Gemma 2B
+ Instruksi Gemma 2B
+ Gemma 7B
+ Instruksi Gemma 7B
+ GPT-2 XL
+ GPT-J 6B
+ GPT-Neo 1.3B
+ GPT-Neo 125M
+ GPT-NEO 2.7B
+ Instruksi LightGPT 6B
+ Llama 2 13B
+ Llama 2 13B Obrolan
+ Llama 2 13B Neuron
+ Llama 2 70B
+ Llama 2 70B Obrolan
+ Llama 2 7B
+ Llama 2 7B Obrolan
+ Llama 2 7B Neuron
+ Mistral 7B
+ Mixtral 8x7B
+ Instruksi Mixtral 8x7B
+ RedPajama INCITE Basis 3B V1
+ RedPajama INCITE Basis 7B V1
+ RedPajama INCITE Obrolan 3B V1
+ RedPajama INCITE Obrolan 7B V1
+ RedPajama INCITE Instruksikan 3B V1
+ RedPajama INCITE Instruksikan 7B V1
+ Difusi Stabil 2.1

## Hiperparameter fine-tuning yang umumnya didukung
<a name="jumpstart-foundation-models-fine-tuning-hyperparameters"></a>

Model pondasi yang berbeda mendukung hiperparameter yang berbeda saat menyempurnakan. Berikut ini adalah hyperparameter yang umumnya didukung yang dapat menyesuaikan model Anda lebih lanjut selama pelatihan:


| Parameter Inferensi | Deskripsi | 
| --- | --- | 
| `epoch` | Jumlah lintasan yang diambil model melalui kumpulan data fine-tuning selama pelatihan. Harus bilangan bulat yang lebih besar dari 1.  | 
| `learning_rate` |  Tingkat di mana bobot model diperbarui setelah mengerjakan setiap batch contoh pelatihan fine-tuning. Harus berupa float positif lebih besar dari 0.  | 
| `instruction_tuned` |  Apakah akan melatih instruksi-model atau tidak. Harus `'True'` atau `'False'`.  | 
| `per_device_train_batch_size` |  Ukuran batch per inti GPU atau CPU untuk pelatihan. Harus berupa bilangan bulat positif. | 
| `per_device_eval_batch_size` |  Ukuran batch per inti GPU atau CPU untuk evaluasi. Harus berupa bilangan bulat positif.  | 
| `max_train_samples` |  Untuk tujuan debugging atau pelatihan yang lebih cepat, potong jumlah contoh pelatihan ke nilai ini. Nilai -1 berarti bahwa model menggunakan semua sampel pelatihan. Harus berupa bilangan bulat positif atau -1.  | 
| `max_val_samples` |  Untuk tujuan debugging atau pelatihan yang lebih cepat, potong jumlah contoh validasi ke nilai ini. Nilai -1 berarti bahwa model menggunakan semua sampel validasi. Harus berupa bilangan bulat positif atau -1.  | 
| `max_input_length` |  Total panjang urutan input maksimum setelah tokenisasi. Urutan yang lebih panjang dari ini akan terpotong. Jika -1, `max_input_length` diatur ke minimum 1024 dan `model_max_length` ditentukan oleh tokenizer. Jika diatur ke nilai positif, `max_input_length` diatur ke minimum dari nilai yang disediakan dan `model_max_length` ditentukan oleh tokenizer. Harus berupa bilangan bulat positif atau -1.  | 
| `validation_split_ratio` |  Jika tidak ada saluran validasi, rasio validasi kereta terpisah dari data pelatihan. Harus antara 0 dan 1.  | 
| `train_data_split_seed` |  Jika data validasi tidak ada, ini memperbaiki pemisahan acak data pelatihan input ke data pelatihan dan validasi yang digunakan oleh model. Harus berupa bilangan bulat.  | 
| `preprocessing_num_workers` |  Jumlah proses yang digunakan untuk pra-pemrosesan. Jika`None`, proses utama digunakan untuk pra-pemrosesan.  | 
| `lora_r` |  Nilai adaptasi peringkat rendah (LoRa) r, yang bertindak sebagai faktor penskalaan untuk pembaruan bobot. Harus berupa bilangan bulat positif.  | 
| `lora_alpha` |  Nilai alfa adaptasi peringkat rendah (LoRa), yang bertindak sebagai faktor penskalaan untuk pembaruan bobot. Umumnya 2 sampai 4 kali ukuran`lora_r`. Harus berupa bilangan bulat positif.  | 
| `lora_dropout` |  Nilai putus sekolah untuk lapisan adaptasi peringkat rendah (LoRa) Harus berupa float positif antara 0 dan 1.  | 
| `int8_quantization` |  Jika`True`, model dimuat dengan presisi 8 bit untuk pelatihan.  | 
| `enable_fsdp` |  Jika`True`, pelatihan menggunakan Fully Sharded Data Parallelism.  | 

Anda dapat menentukan nilai hyperparameter saat menyempurnakan model di Studio. Untuk informasi selengkapnya, lihat [Sempurnakan model di Studio](jumpstart-foundation-models-use-studio-updated-fine-tune.md). 

Anda juga dapat mengganti nilai hyperparameter default saat menyempurnakan model Anda menggunakan SDK. SageMaker Python Untuk informasi selengkapnya, lihat [Sempurnakan model foundation yang tersedia untuk umum dengan kelasnya `JumpStartEstimator`](jumpstart-foundation-models-use-python-sdk-estimator-class.md).

# Sempurnakan model bahasa besar (LLM) menggunakan adaptasi domain
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation"></a>

Penyetelan penyesuaian domain memungkinkan Anda memanfaatkan model fondasi yang telah dilatih sebelumnya dan menyesuaikannya dengan tugas tertentu menggunakan data spesifik domain terbatas. Jika upaya rekayasa yang cepat tidak memberikan penyesuaian yang cukup, Anda dapat menggunakan penyesuaian penyesuaian domain untuk membuat model Anda bekerja dengan bahasa khusus domain, seperti jargon industri, istilah teknis, atau data khusus lainnya. Proses fine-tuning ini memodifikasi bobot model. 

Untuk menyempurnakan model Anda pada kumpulan data khusus domain:

1. Siapkan data pelatihan Anda. Untuk petunjuk, lihat [Mempersiapkan dan mengunggah data pelatihan untuk penyesuaian penyesuaian domain](#jumpstart-foundation-models-fine-tuning-domain-adaptation-prepare-data).

1. Buat pekerjaan pelatihan fine-tuning Anda. Untuk petunjuk, lihat [Buat pekerjaan pelatihan untuk fine-tuning berbasis instruksi](#jumpstart-foundation-models-fine-tuning-domain-adaptation-train).

Anda dapat menemukan end-to-end contoh di[Notebook contoh](#jumpstart-foundation-models-fine-tuning-domain-adaptation-examples).

Penyetelan penyesuaian domain tersedia dengan model fondasi berikut:

**catatan**  
Beberapa model JumpStart dasar, seperti Llama 2 7B, memerlukan penerimaan perjanjian lisensi pengguna akhir sebelum menyempurnakan dan melakukan inferensi. Untuk informasi selengkapnya, lihat [Perjanjian lisensi pengguna akhir](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula).
+ Mekar 3B
+ Mekar 7B1
+ BloomZ 3B FP16
+ BloomZ 7B1 FP16
+ GPT-2 XL
+ GPT-J 6B
+ GPT-Neo 1.3B
+ GPT-Neo 125M
+ GPT-NEO 2.7B
+ Llama 2 13B
+ Llama 2 13B Obrolan
+ Llama 2 13B Neuron
+ Llama 2 70B
+ Llama 2 70B Obrolan
+ Llama 2 7B
+ Llama 2 7B Obrolan
+ Llama 2 7B Neuron

## Mempersiapkan dan mengunggah data pelatihan untuk penyesuaian penyesuaian domain
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-prepare-data"></a>

Data pelatihan untuk penyesuaian penyesuaian domain dapat disediakan dalam format file CSV, JSON, atau TXT. Semua data pelatihan harus dalam satu file dalam satu folder.

Data pelatihan diambil dari kolom **Teks** untuk file data pelatihan CSV atau JSON. Jika tidak ada kolom yang diberi label **Teks**, maka data pelatihan diambil dari kolom pertama untuk file data pelatihan CSV atau JSON.

Berikut ini adalah contoh isi file TXT yang akan digunakan untuk fine-tuning:

```
This report includes estimates, projections, statements relating to our
business plans, objectives, and expected operating results that are “forward-
looking statements” within the meaning of the Private Securities Litigation
Reform Act of 1995, Section 27A of the Securities Act of 1933, and Section 21E
of ....
```

### Pisahkan data untuk pelatihan dan pengujian
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-split-data"></a>

Anda dapat secara opsional menyediakan folder lain yang berisi data validasi. Folder ini juga harus menyertakan satu file CSV, JSON, atau TXT. Jika tidak ada kumpulan data validasi yang disediakan, maka sejumlah data pelatihan disisihkan untuk tujuan validasi. Anda dapat menyesuaikan persentase data pelatihan yang digunakan untuk validasi ketika Anda memilih hyperparameters untuk menyempurnakan model Anda. 

### Unggah data fine-tuning ke Amazon S3
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-upload-data"></a>

Unggah data yang sudah disiapkan ke Amazon Simple Storage Service (Amazon S3) untuk digunakan saat JumpStart menyempurnakan model foundation. Anda dapat menggunakan perintah berikut untuk mengunggah data Anda:

```
from sagemaker.s3 import S3Uploader
import sagemaker
import random

output_bucket = sagemaker.Session().default_bucket()
local_data_file = "train.txt"
train_data_location = f"s3://{output_bucket}/training_folder"
S3Uploader.upload(local_data_file, train_data_location)
S3Uploader.upload("template.json", train_data_location)
print(f"Training data: {train_data_location}")
```

## Buat pekerjaan pelatihan untuk fine-tuning berbasis instruksi
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-train"></a>

Setelah data Anda diunggah ke Amazon S3, Anda dapat menyempurnakan dan menerapkan model foundation Anda. JumpStart Untuk menyempurnakan model Anda di Studio, lihat. [Sempurnakan model di Studio](jumpstart-foundation-models-use-studio-updated-fine-tune.md) Untuk menyempurnakan model Anda menggunakan SageMaker Python SDK, lihat. [Sempurnakan model foundation yang tersedia untuk umum dengan kelasnya `JumpStartEstimator`](jumpstart-foundation-models-use-python-sdk-estimator-class.md)

## Notebook contoh
<a name="jumpstart-foundation-models-fine-tuning-domain-adaptation-examples"></a>

Untuk informasi selengkapnya tentang fine-tuning adaptasi domain, lihat contoh buku catatan berikut:
+ [SageMaker JumpStart Model Foundation - Model GPT-J 6B generasi teks penyetelan halus pada kumpulan data khusus domain](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/domain-adaption-finetuning-gpt-j-6b.html)
+ [ LLaMenyempurnakan model MA 2 JumpStart](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/llama-2-finetuning.html)

# Sempurnakan model bahasa besar (LLM) menggunakan instruksi cepat
<a name="jumpstart-foundation-models-fine-tuning-instruction-based"></a>

Penyetelan berbasis instruksi menggunakan contoh berlabel untuk meningkatkan kinerja model pondasi yang telah dilatih sebelumnya pada tugas tertentu. Contoh berlabel diformat sebagai prompt, pasangan respons dan diungkapkan sebagai instruksi. Proses fine-tuning ini memodifikasi bobot model. [Untuk informasi lebih lanjut tentang fine-tuning berbasis instruksi, lihat makalah [Memperkenalkan FLAN: Model Bahasa yang Lebih Dapat Digeneralisasikan dengan Instruksi Fine-Tuning dan Scaling Instruction-Finetuned Language Models](https://ai.googleblog.com/2021/10/introducing-flan-more-generalizable.html).](https://arxiv.org/abs/2210.11416)

Model Fine-tuned LAnguage Net (FLAN) menggunakan penyetelan instruksi untuk membuat model lebih setuju untuk menyelesaikan tugas NLP hilir umum. Amazon SageMaker JumpStart menyediakan sejumlah model pondasi dalam keluarga model FLAN. Misalnya, model FLAN-T5 adalah instruksi yang disetel dengan baik pada berbagai tugas untuk meningkatkan kinerja zero-shot untuk berbagai kasus penggunaan umum. Dengan data tambahan dan fine-tuning, model berbasis instruksi dapat lebih lanjut disesuaikan dengan tugas yang lebih spesifik yang tidak dipertimbangkan selama pra-pelatihan. 

Untuk menyempurnakan LLM pada tugas tertentu menggunakan instruksi tugas pasangan prompt respons:

1. Siapkan instruksi Anda dalam file JSON. Untuk informasi selengkapnya tentang format yang diperlukan untuk file pasangan prompt respons dan struktur folder data, lihat. [Mempersiapkan dan mengunggah data pelatihan untuk fine-tuning berbasis instruksi](#jumpstart-foundation-models-fine-tuning-instruction-based-prepare-data)

1. Buat pekerjaan pelatihan fine-tuning Anda. Untuk petunjuk, lihat [Buat pekerjaan pelatihan untuk fine-tuning berbasis instruksi](#jumpstart-foundation-models-fine-tuning-instruction-based-train).

Anda dapat menemukan end-to-end contoh di[Notebook contoh](#jumpstart-foundation-models-fine-tuning-instruction-based-examples).

Hanya sebagian dari model JumpStart pondasi yang kompatibel dengan fine-tuning berbasis instruksi. Penyetelan berbasis instruksi tersedia dengan model pondasi berikut: 

**catatan**  
Beberapa model JumpStart dasar, seperti Llama 2 7B, memerlukan penerimaan perjanjian lisensi pengguna akhir sebelum menyempurnakan dan melakukan inferensi. Untuk informasi selengkapnya, lihat [Perjanjian lisensi pengguna akhir](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula).
+ Dasar Flan-T5
+ Flan-T5 Besar
+ Flan-T5 Kecil
+ Flan-T5 XL
+ Flan-T5 XXL
+ Llama 2 13B
+ Llama 2 13B Obrolan
+ Llama 2 13B Neuron
+ Llama 2 70B
+ Llama 2 70B Obrolan
+ Llama 2 7B
+ Llama 2 7B Obrolan
+ Llama 2 7B Neuron
+ Mistral 7B
+ RedPajama INCITE Basis 3B V1
+ RedPajama INCITE Basis 7B V1
+ RedPajama INCITE Obrolan 3B V1
+ RedPajama INCITE Obrolan 7B V1
+ RedPajama INCITE Instruksikan 3B V1
+ RedPajama INCITE Instruksikan 7B V1

## Mempersiapkan dan mengunggah data pelatihan untuk fine-tuning berbasis instruksi
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-prepare-data"></a>

Data pelatihan untuk fine-tuning berbasis instruksi harus disediakan dalam format file teks JSON Lines, di mana setiap baris adalah kamus. Semua data pelatihan harus dalam satu folder. Folder dapat menyertakan beberapa file.jsonl. 

Folder pelatihan juga dapat menyertakan file JSON template (`template.json`) yang menjelaskan format input dan output data Anda. Jika tidak ada file template yang disediakan, file template berikut digunakan: 

```
{
  "prompt": "Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.\n\n### Instruction:\n{instruction}\n\n### Input:\n{context}",
  "completion": "{response}"
}
```

Menurut `template.json` file, setiap entri .jsonl dari data pelatihan harus menyertakan`{instruction}`,`{context}`, dan bidang. `{response}` 

Jika Anda menyediakan file JSON template kustom, gunakan `"completion"` tombol `"prompt"` dan untuk menentukan bidang wajib Anda sendiri. Menurut file JSON template kustom berikut, setiap entri .jsonl dari data pelatihan harus menyertakan`{question}`,, `{context}` dan bidang: `{answer}`

```
{
  "prompt": "question: {question} context: {context}",
  "completion": "{answer}"
}
```

### Pisahkan data untuk pelatihan dan pengujian
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-split-data"></a>

Anda dapat secara opsional menyediakan folder lain yang berisi data validasi. Folder ini juga harus menyertakan satu atau lebih file.jsonl. Jika tidak ada kumpulan data validasi yang disediakan, maka sejumlah data pelatihan disisihkan untuk tujuan validasi. Anda dapat menyesuaikan persentase data pelatihan yang digunakan untuk validasi ketika Anda memilih hyperparameters untuk menyempurnakan model Anda. 

### Unggah data fine-tuning ke Amazon S3
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-upload-data"></a>

Unggah data yang sudah disiapkan ke Amazon Simple Storage Service (Amazon S3) untuk digunakan saat JumpStart menyempurnakan model foundation. Anda dapat menggunakan perintah berikut untuk mengunggah data Anda:

```
from sagemaker.s3 import S3Uploader
import sagemaker
import random

output_bucket = sagemaker.Session().default_bucket()
local_data_file = "train.jsonl"
train_data_location = f"s3://{output_bucket}/dolly_dataset"
S3Uploader.upload(local_data_file, train_data_location)
S3Uploader.upload("template.json", train_data_location)
print(f"Training data: {train_data_location}")
```

## Buat pekerjaan pelatihan untuk fine-tuning berbasis instruksi
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-train"></a>

Setelah data Anda diunggah ke Amazon S3, Anda dapat menyempurnakan dan menerapkan model foundation Anda. JumpStart Untuk menyempurnakan model Anda di Studio, lihat. [Sempurnakan model di Studio](jumpstart-foundation-models-use-studio-updated-fine-tune.md) Untuk menyempurnakan model Anda menggunakan SageMaker Python SDK, lihat. [Sempurnakan model foundation yang tersedia untuk umum dengan kelasnya `JumpStartEstimator`](jumpstart-foundation-models-use-python-sdk-estimator-class.md)

## Notebook contoh
<a name="jumpstart-foundation-models-fine-tuning-instruction-based-examples"></a>

Untuk informasi selengkapnya tentang fine-tuning berbasis instruksi, lihat contoh buku catatan berikut:
+ [ LLaMenyempurnakan model MA 2 JumpStart](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/llama-2-finetuning.html)
+ [Pengantar SageMaker JumpStart - Pembuatan Teks dengan model Mistral](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/mistral-7b-instruction-domain-adaptation-finetuning.html)
+ [Pengantar SageMaker JumpStart - Pembuatan Teks dengan model Falcon](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/falcon-7b-instruction-domain-adaptation-finetuning.html)
+ [SageMaker JumpStart Model Foundation - HuggingFace Text2Text Instruksi Fine-Tuning](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/instruction-fine-tuning-flan-t5.html)

# Pengambilan Generasi Augmented
<a name="jumpstart-foundation-models-customize-rag"></a>

Model foundation biasanya dilatih secara offline, membuat model agnostik terhadap data apa pun yang dibuat setelah model dilatih. Selain itu, model foundation dilatih pada corpora domain yang sangat umum, membuatnya kurang efektif untuk tugas-tugas khusus domain. Anda dapat menggunakan Retrieval Augmented Generation (RAG) untuk mengambil data dari luar model foundation dan menambah prompt Anda dengan menambahkan data yang diambil yang relevan dalam konteks. Untuk informasi selengkapnya tentang arsitektur model RAG, lihat [Retrieval-Augmented](https://arxiv.org/abs/2005.11401) Generation for Knowledge-Intensive NLP Tasks.

Dengan RAG, data eksternal yang digunakan untuk menambah prompt Anda dapat berasal dari berbagai sumber data, seperti repositori dokumen, database, atau. APIs Langkah pertama adalah mengonversi dokumen Anda dan kueri pengguna apa pun menjadi format yang kompatibel untuk melakukan pencarian relevansi. Untuk membuat format yang kompatibel, koleksi dokumen, atau pustaka pengetahuan, dan kueri yang dikirimkan pengguna dikonversi ke representasi numerik menggunakan model bahasa penyematan. *Embedding* adalah proses dimana teks diberikan representasi numerik dalam ruang vektor. Arsitektur model RAG membandingkan penyematan kueri pengguna dalam vektor perpustakaan pengetahuan. Prompt pengguna asli kemudian ditambahkan dengan konteks yang relevan dari dokumen serupa dalam pustaka pengetahuan. Prompt tambahan ini kemudian dikirim ke model pondasi. Anda dapat memperbarui pustaka pengetahuan dan penyematannya yang relevan secara asinkron.

 ![\[A model architecture diagram of Retrieval Augmented Generation (RAG).\]](http://docs.aws.amazon.com/id_id/sagemaker/latest/dg/images/jumpstart/jumpstart-fm-rag.jpg) 

Dokumen yang diambil harus cukup besar untuk berisi konteks yang berguna untuk membantu menambah prompt, tetapi cukup kecil untuk masuk ke dalam panjang urutan maksimum prompt. Anda dapat menggunakan JumpStart model khusus tugas, seperti model General Text Embeddings (GTE) dariHugging Face, untuk menyediakan embeddings untuk petunjuk dan dokumen perpustakaan pengetahuan Anda. Setelah membandingkan prompt dan penyematan dokumen untuk menemukan dokumen yang paling relevan, buat prompt baru dengan konteks tambahan. Kemudian, teruskan augmented prompt ke model pembuatan teks yang Anda pilih. 

## Notebook contoh
<a name="jumpstart-foundation-models-customize-rag-examples"></a>

Untuk informasi lebih lanjut tentang solusi model dasar RAG, lihat contoh notebook berikut: 
+ [Retrieval-Augmented Generation: Menjawab Pertanyaan menggunakan LangChain dan Menghasilkan dan Menyematkan Model Cohere dari SageMaker JumpStart](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_Cohere+langchain_jumpstart.html)
+ [Retrieval-Augmented Generation: Menjawab Pertanyaan menggunakan LLama -2, Pinecone dan Custom Dataset](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_pinecone_llama-2_jumpstart.html)
+ [Retrieval-Augmented Generation: Menjawab Pertanyaan berdasarkan Dataset Kustom dengan Perpustakaan Sumber Terbuka LangChain ](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_langchain_jumpstart.html)
+ [Retrieval-Augmented Generation: Menjawab Pertanyaan berdasarkan Dataset Kustom](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_jumpstart_knn.html)
+ [Retrieval-Augmented Generation: Menjawab Pertanyaan menggunakan Llama-2 dan Model Penyematan Teks](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/question_answering_text_embedding_llama-2_jumpstart.html)
+ [Amazon SageMaker JumpStart - Penyematan Teks dan Kesamaan Kalimat](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/jumpstart-foundation-models/question_answering_retrieval_augmented_generation/text-embedding-sentence-similarity.html)

Anda dapat mengkloning [repositori contoh Amazon SageMaker AI](https://github.com/aws/amazon-sagemaker-examples/tree/main/introduction_to_amazon_algorithms/jumpstart-foundation-models) untuk menjalankan contoh model JumpStart fondasi yang tersedia di lingkungan Jupyter pilihan Anda dalam Studio. Untuk informasi selengkapnya tentang aplikasi yang dapat Anda gunakan untuk membuat dan mengakses Jupyter di SageMaker AI, lihat. [Aplikasi yang didukung di Amazon SageMaker Studio](studio-updated-apps.md)