View a markdown version of this page

Referensi hyperparameters - Amazon SageMaker AI

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

Referensi hyperparameters

Tabel berikut mencantumkan semua hiperparameter yang dapat dikonfigurasi untuk pekerjaan pelatihan RL multi-putaran. Default resep disertakan di bawah ini.

KategoriParamsDefaultPilihanPenjelasan
Batchglobal_batch_size128{32, 64, 128}Jumlah petunjuk unik per langkah pelatihan.
Batchgroup_size8[2, 32]Peluncuran per prompt yang digunakan untuk menghitung keunggulan berbasis grup (GRPO/RLOO).
RLadvantage_methodberbasis group_monte_carlo, group_based, group_based_per_turn, rloo, reinforce_pp, reinforce_pp_baseline, opo, grpo_passk, gpgMetode untuk keuntungan komputasi untuk peluncuran.
RLrugi_fnppoimporttance_sampling, ppo, cispoFormulasi kerugian RL.
RLclip_low_threshold0,8[0, 1]Batas bawah untuk memotong rasio probabilitas kebijakan π_new/π_old dalam kerugian pengganti. PPO-style
RLclip_high_threshold1.2[1, 10]Batas atas untuk memotong rasio probabilitas kebijakan dalam kerugian.
sampling_paramssuhu1[0, 2]Suhu pengambilan sampel diterapkan pada logit sebelum pengambilan sampel.
sampling_paramssampling_top_p1[0, 1]Nucleus-sampling cutoff. Sampel hanya dari kumpulan token terkecil yang probabilitas kumulatifnya ≥ top_p.
sampling_paramssampling_max_tokens4096[512, 8192]Token maksimum yang dapat dihasilkan model per giliran selama peluncuran.
val_sampling_paramssampling_max_tokens4096[512, 8192]Token maksimum yang dapat dihasilkan model per giliran selama evaluasi.
val_metrics_configpass_k_values[1, 2, 4, 8, 16, 32]n/aDaftar nilai k untuk komputasi lulus metrik @k.
val_metrics_configsuccess_threshold1n/aAmbang hadiah untuk menghitung peluncuran sebagai “sukses”.
Jadwalmax_epoch1[1, 30]Total melewati data.
Jadwalmax_steps50[1, 1000]Total iterasi pelatihan.
Jadwalval_every10[0, 100]Interval evaluasi (langkah).
Modelmodel_name_or_pathwajibModel untuk menyempurnakan (misalnya, "GPT-OSS-20B“).
Modellora_rank32[16,64]Peringkat adaptor LoRa yang mengontrol kapasitas adaptor.
Modellora_alpha64[16,128]Faktor penskalaan LoRa. Besarnya pembaruan efektif alpha/peringkat.
Modelpembelajaran_rate4.00 E-05(0, 1e-2]Tingkat belajar Adam.
Modeladam_beta10,9[0, 0,999999]Laju peluruhan eksponensial untuk rata-rata berjalan gradien (momen pertama) di Adam.
Modeladam_beta20,95[0, 0,999999]Laju peluruhan eksponensial untuk rata-rata berjalan gradien kuadrat (momen kedua) di Adam.
Modeladam_eps1.00 E-08[1e-16, 1e-2]Konstanta kecil ditambahkan ke penyebut untuk stabilitas numerik dalam aturan pembaruan Adam.
Modeladam_weight_decay0[0, 1]Koefisien peluruhan berat yang dipisahkan (). AdamW-style
Modeladam_grad_clip_norm1[0, 100]Norma gradien global maksimum.
Peluncuranrollout_max_concurrency96[32, 96]Proses peluncuran dalam penerbangan maksimal dapat terjadi secara paralel.
Peluncuranrollout_timeout600[300, 86400]Penanganan kegagalan: waktu setelah itu kami memperlakukan sebagai kegagalan peluncuran.
Peluncuranrollout_max_retries3[1, 10]Jumlah percobaan ulang untuk peluncuran yang gagal.
async_configmax_steps_off_policy3[0, 10]Ambang batas kebuntuan dalam pelatihan asinkron. Ketika 0, itu adalah pelatihan sinkron.

Praktik terbaik untuk menyetel hyperparameters

Ketika run datar atau runtuh, enam parameter berikut memperhitungkan hampir semua penjelasan.

Tingkat pembelajaran

learning_rateKontrol seberapa besar langkah yang diambil pengoptimal pada setiap iterasi pelatihan. Dalam RL multi-putaran, sinyal gradien per langkah bervariasi tergantung pada tugas: lingkungan hadiah jarang dengan hasil biner menghasilkan banyak kelompok di mana semua peluncuran mendapat skor identik, menghasilkan keuntungan nol untuk seluruh kelompok. Hanya kelompok dengan hasil campuran yang menghasilkan sinyal gradien, sehingga gradien berguna setiap langkah diencerkan. Tingkat pembelajaran harus lebih rendah untuk menyelaraskan dengan sinyal yang lebih lemah, atau lari membutuhkan lebih banyak langkah.

Lingkungan hadiah padat di mana lintasan dalam kelompok secara andal mendapatkan skor yang berbeda menghasilkan keuntungan yang konsisten dan bukan nol di sebagian besar kelompok, dan tingkat pembelajaran default seringkali sudah cukup.

Ukuran langkah efektif juga bergantung pada konfigurasi LoRa — besarnya pembaruan sebenarnya adalah learning_rate × alpha/rank — sehingga tingkat pembelajaran tetap berbeda tergantung pada kapasitas adaptor.

Fungsi kerugian dan rentang kliping

Jika Anda baru mengenal MTRL, pentingnya sampling (importance_sampling) adalah titik awal yang baik sebelum pindah ke algoritma berbasis kliping lanjutan. PPO dan CISPO menggunakan clip_low_threshold dan clip_high_threshold untuk membatasi rasio probabilitas policy_new(action|state) / policy_old(action|state) — berapa banyak kebijakan diizinkan untuk berubah dalam satu langkah pelatihan.

Rasio 1.0 berarti tidak ada perubahan. Ambang batas bawah (misalnya,0.8) mencegah kebijakan dari tindakan agresif yang sebelumnya disukai. Ambang batas atas (misalnya,1.2) mencegahnya melakukan terlalu banyak tindakan yang terlihat bagus dalam satu batch.

  • PPO dengan (clip_low_threshold, clip_high_threshold) = (0.8, 1.2) adalah garis dasar yang aman untuk setiap lari pertama.

  • CISPO membutuhkan kliping asimetris lebar. Mulailah denganclip_low_threshold = 1.0,clip_high_threshold = 6.0. CISPO memungkinkan probabilitas tindakan buruk menurun secara bebas dan hanya bergantung pada klip atas untuk mencegah ketidakstabilan.

Mengutak-atik ambang kliping direkomendasikan jika pelatihan runtuh atau kurang pelatihan diamati.

Ukuran batch dan ukuran grup

Kedua parameter ini bersama-sama menentukan seberapa banyak sinyal gradien berguna yang diterima setiap langkah pelatihan.

global_batch_sizemengontrol berapa banyak prompt unik yang disertakan dalam satu langkah pengoptimal. Batch yang lebih besar (128) gradien rata-rata di atas lebih banyak prompt, menghasilkan kurva hadiah yang lebih halus dan pembaruan yang lebih stabil. Batch yang lebih kecil (32) lebih murah per langkah dan berguna untuk iterasi cepat, tetapi menghasilkan gradien yang lebih ribut. Untuk proses produksi, 128 adalah default yang baik; untuk penyaringan debugging atau hyperparameter, 32 baik-baik saja.

group_sizemenentukan berapa banyak peluncuran independen yang dihasilkan untuk setiap prompt. Peluncuran ini dibandingkan satu sama lain untuk menghitung keuntungan. Jika semua peluncuran menerima hadiah yang sama (semua berhasil atau semuanya gagal), keuntungannya adalah nol dan grup tidak menghasilkan sinyal gradien. Nilai default-nya group_size = 8. Kurangi jika Anda memiliki keragaman yang cukup dalam kelompok, tingkatkan jika lingkungan menuntut lebih banyak keragaman.

Total peluncuran per langkah =. global_batch_size × group_size Dalam pengaturan hadiah jarang di mana sebagian besar grup menghasilkan sinyal nol, seringkali lebih efisien untuk menjaga ukuran grup tetap moderat dan meningkatkan ukuran batch atau jumlah langkah sebagai gantinya.

Off-policy kebuntuan

Dalam pelatihan asinkron, max_steps_off_policy mengontrol seberapa basi peluncuran diizinkan sebelum dibuang. Default 3 menyembunyikan latensi ekor rollout-server. Tetapi peluncuran basi memiliki rasio kepentingan yang menyimpang secara substansional dari1.0, dan ketika rasio tersebut mencapai batas klip, mereka tidak memberikan sinyal gradien.

Setel ke 0 saat debugging runtuh. Senyawa kebuntuan asinkron dengan pembaruan berbobot penting dan dapat mengaburkan akar penyebab. Setel ke0, stabilkan, lalu aktifkan kembali setelah masalah dipahami. Untuk lingkungan di mana peluncuran cepat, max_steps_off_policy = 1 mungkin default yang lebih baik.

Pengambilan sampel token maks

sampling_max_tokensadalah tutup generasi per putaran. Jika tutupnya terlalu rendah, respons model terpotong di tengah pemikiran, dan menerima hadiah untuk upaya yang tidak lengkap. Kebijakan tersebut kemudian belajar untuk mengaitkan awalan yang terpotong itu dengan hasil yang buruk, menekan perilaku eksplorasi yang akan berhasil memberi lebih banyak ruang.

Default 4096 berfungsi untuk sebagian besar tugas. Naikkan ke 8192 untuk model dengan respons yang terlalu thinking/reasoning lama. Aturan ukurannya adalah: max_turns × (sampling_max_tokens + expected_tool_output) + prompt ≤ max_sequence_length dengan beberapa margin.

Diagnostik: monitorrollout/tokens/response_max. Jika lintasan mengelompok tepat pada tutupnya, model sedang terpotong secara diam-diam dan kemungkinan kehilangan sinyal. val_sampling_params.sampling_max_tokensharus cocok dengan pelatihan.

Konfigurasi peluncuran

Parameter ini mengontrol bagaimana peluncuran diproduksi dan bagaimana pelatih menangani peluncuran yang lambat atau gagal.

  • rollout_max_concurrency— Mengontrol berapa banyak peluncuran dalam penerbangan sekaligus. Default 96 berfungsi dengan baik untuk sebagian besar pengaturan. Mengaturnya terlalu tinggi dalam mode asinkron menghasilkan peluncuran basi dan dapat membanjiri mesin inferensi.

  • rollout_timeout— Berapa lama (dalam detik) menunggu satu peluncuran sebelum memperlakukannya sebagai gagal. Default 600 berukuran untuk lingkungan penggunaan alat yang khas. Mengaturnya peluncuran pemotongan terlalu rendah yang akan berhasil diberikan lebih banyak waktu.

  • rollout_max_retries— Mengontrol upaya coba lagi untuk peluncuran yang gagal. Jika tingkat kegagalan permanen melebihi sekitar 1%, masalahnya ada di pengaturan lingkungan, bukan hitungan coba lagi.

Parameter pendukung

  • Kapasitas LoRa (lora_rankdanlora_alpha). Besarnya pembaruan efektif per langkah sebanding denganalpha/rank, yang bertindak sebagai pengganda pada tingkat pembelajaran. Standarnya adalah lora_rank = 32, lora_alpha = 64 (rasio 2:1). Pertimbangkan untuk meningkatkan hanya jika segala sesuatu yang lain disetel dengan baik dan kurva hadiah masih tinggi - gandakan keduanya bersama-sama (64/128) untuk menambah kapasitas sambil mempertahankan tingkat pembelajaran efektif yang sama.

  • suhu = 1.0, sampling_top_p = 1.0 untuk pelatihan. Untuk pelatihan RL Anda menginginkan keragaman di seluruh peluncuran dalam grup sehingga baseline grup memiliki sinyal. Temperatur 1.0 adalah default yang baik. Untuk evaluasi, gunakan suhu = 0,0 (decoding serakah) sehingga kurva eval bersifat deterministik dan sebanding di seluruh proses.

  • pass_k_values. Pass @1 adalah metrik evaluasi judul. Lulus @G (di mana G = group_size) adalah pemeriksaan kewarasan yang berguna: jika pass @G sangat tinggi, sebagian besar prompt terlalu mudah; jika pass @G sangat rendah, sebagian besar prompt terlalu keras dan sinyal grup jarang.

  • max_steps dan max_epochs. max_steps = 50untuk penyaringan (cukup untuk melihat apakah kurva bergerak), 100 untuk produksi. Keruntuhan CISPO cenderung muncul di antara langkah 40-80. max_epochs = 1adalah default; beberapa zaman menggunakan kembali prompt yang sama dengan peluncuran baru, yang dapat membantu jika set prompt kecil tetapi berisiko overfitting ke distribusi prompt yang sempit.

  • adam_beta2 = 0,95. Lebih rendah dari default SFT 0,999. Dalam RL, statistik gradien tidak stasioner, sehingga pengoptimal perlu melacak varians gradien terbaru dengan lebih agresif.

  • weight_decay = 0,0. LoRa sudah membatasi pembaruan melalui parameterisasi peringkat rendah. Menambahkan peluruhan berat menambah regularisasi dengan cara yang belum dikarakterisasi dengan baik untuk fine-tuning RL.

  • adam_grad_clip_norm = 1.0. Membatasi norma gradien global. Jika keruntuhan berkorelasi dengan paku pra-klip besar, turun menjadi 0,5. Jika norma berada tepat pada 1,0 untuk banyak langkah dan hadiahnya datar, klip mungkin menjadi hambatan — naikkan ke 2,0 dengan hati-hati.