Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
DPO
Deskripsi
Pengoptimalan Preferensi Langsung (DPO) menyelaraskan model dengan preferensi manusia dengan melatih pasangan respons yang dipilih (disukai) dan ditolak (tidak disukai) terhadap prompt yang sama.
Kapan harus digunakan
Anda memiliki data preferensi yang menunjukkan tanggapan mana yang lebih baik
Meningkatkan kualitas respons melebihi apa yang dicapai SFT
Model perlu menghindari perilaku tertentu yang tidak diinginkan
Apa yang dicapai
Model belajar untuk lebih memilih menghasilkan tanggapan yang mirip dengan contoh yang dipilih dan menghindari contoh yang ditolak, tanpa memerlukan model hadiah terpisah.
Format kumpulan data
DPO membutuhkan pasangan tanggapan yang dipilih (disukai) dan ditolak (tidak disukai) untuk prompt yang sama. DPO mendukung dua format dataset. Semua dataset harus dalam format JSONL (satu objek JSON per baris). systemPesan bersifat opsional dalam kedua format.
Format 1: pesan
Berikan chosen dan rejected sebagai daftar pesan lengkap. Jika disertakan, system pesan harus menjadi elemen pertama dan harus sama di keduanya chosen danrejected.
{ "chosen": [ {"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."} ], "rejected": [ {"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."} ] }
Format 2: promp t/ dipili h/ ditolak
Berikan prompt dan kedua respons sebagai bidang string terpisah, dengan system bidang tingkat atas opsional.
{ "system": "...", "prompt": "...", "chosen": "...", "rejected": "..." }
Bimbingan
Tanggapan yang dipilih dan ditolak harus berbeda secara signifikan dalam kualitas
Gunakan prompt yang sama untuk dipilih dan ditolak
Pesan
systemitu opsional
Hiperparameter - DPO LoRa
catatan
Tabel di bawah ini menunjukkan hyperparameter yang tersedia saat Anda menggunakan kustomisasi model tanpa server. Hyperparameter lainnya telah ditetapkan oleh Amazon SageMaker AI menggunakan default yang dioptimalkan. Saat Anda menggunakan SageMaker Pekerjaan Pelatihan AI atau HyperPod, Anda dapat mengakses daftar lengkap hyperparameter yang tersedia di resep. Lihat repositori Resep SageMaker AI
| Parameter | Tipe | Diperlukan? | Rentang/Nilai | Deskripsi |
|---|---|---|---|---|
max_epochs | Integer | Diperlukan | 1–100 | Jumlah lintasan lengkap melalui dataset pelatihan. |
global_batch_size | integer | Diperlukan | 16, 32, 64, 128 | Total sampel yang diproses per langkah pengoptimal di semua instance. |
learning_rate | float | Diperlukan | 5e-07—1e-04 | Ukuran langkah untuk pembaruan berat selama pengoptimalan. |
lr_scheduler | string | Diperlukan | kosinus, konstan | Jadwal penurunan tingkat pembelajaran selama pelatihan. |
lr_warmup_steps_ratio | float | Diperlukan | 0—1 | Fraksi dari total langkah yang dihabiskan untuk meningkatkan tingkat pembelajaran dari 0. |
weight_decay | float | Diperlukan | 0,0-1,0 | Koefisien regularisasi L2. Membantu mencegah overfit. |
gradient_clipping | boolean | Diperlukan | benar, salah | Turunkan gradien jika norma melebihi ambang batas. |
gradient_clipping_threshold | float | Diperlukan | 0,0-5,0 | Norma gradien maksimum yang diizinkan. |
dataset_max_len | integer | Diperlukan | 256—131072 | Panjang urutan maksimum dalam token. Urutan yang lebih panjang dipotong. |
seed | integer | Diperlukan | 0–2147483647 | Benih acak untuk reproduktifitas. |
logging_steps | integer | Diperlukan | 1–100 | Frekuensi pencatatan metrik dalam langkah-langkah pengoptimal. |
lora_rank | integer | Diperlukan | 8, 16, 32, 64, 128 | Dimensi matriks peringkat rendah. Lebih rendah = lebih sedikit parameter yang dapat dilatih. |
lora_dropout | float | Diperlukan | 0,0-1,0 | Probabilitas putus untuk lapisan LoRA adaptor. |
lora_alpha | integer | Diperlukan | 16, 32, 64, 128, 256 | LoRAfaktor penskalaan. Timbangan LR yang efektif sebagai alpha/rank. |
merge_weights | boolean | Diperlukan | benar, salah | Gabungkan LoRA bobot ke dalam model dasar setelah pelatihan. |
train_val_split_ratio | float | Opsional | 0,0-1,0 | Fraksi dialokasikan untuk pelatihan vs validasi. |
temperature | float | Diperlukan | 0,0-2,0 | Suhu pengambilan sampel untuk evaluasi. |
adam_beta | float | Diperlukan | 1e-03—0,1 | Suhu terbalik DPO. Mengontrol seberapa kuat model memberlakukan peringkat preferensi. |
Hiperparameter - DPO FFT
| Parameter | Tipe | Diperlukan? | Rentang/Nilai | Deskripsi |
|---|---|---|---|---|
max_epochs | Integer | Diperlukan | 1–100 | Jumlah lintasan lengkap melalui dataset pelatihan. |
global_batch_size | integer | Diperlukan | 16, 32, 64, 128 | Total sampel yang diproses per langkah pengoptimal. |
learning_rate | float | Diperlukan | 5e-07—1e-04 | Ukuran langkah untuk pembaruan berat. |
lr_scheduler | string | Diperlukan | kosinus, konstan | Jadwal peluruhan tingkat pembelajaran. |
lr_warmup_steps_ratio | float | Diperlukan | 0—1 | Fraksi langkah untuk pemanasan LR. |
weight_decay | float | Diperlukan | 0,0-1,0 | Koefisien regularisasi L2. |
gradient_clipping | boolean | Diperlukan | benar, salah | Turunkan gradien jika norma melebihi ambang batas. |
gradient_clipping_threshold | float | Diperlukan | 0,0-5,0 | Norma gradien maksimum yang diizinkan. |
dataset_max_len | integer | Diperlukan | 256—131072 | Panjang urutan maksimum dalam token. |
max_response_length | integer | Diperlukan | 100—200000 | Token maksimum untuk respons yang dihasilkan. |
seed | integer | Diperlukan | 0–2147483647 | Benih acak untuk reproduktifitas. |
logging_steps | integer | Diperlukan | 1–100 | Frekuensi pencatatan metrik. |
train_val_split_ratio | float | Opsional | 0,0-1,0 | Fraksi dialokasikan untuk pelatihan vs validasi. |
temperature | float | Diperlukan | 0,0-2,0 | Suhu pengambilan sampel untuk evaluasi. |
adam_beta | float | Diperlukan | 1e-03—0,1 | Suhu terbalik DPO. Mengontrol seberapa kuat model memberlakukan peringkat preferensi. |