View a markdown version of this page

Penggabungan Model - Amazon Nova

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

Penggabungan Model

penting

Sepanjang dokumen ini, kami akan merujuk “model dasar” sebagai salah satu dari dua model. Ini bisa menjadi model dasar asli (misalnya Nova Lite 2.0) jika tidak ada pelatihan berulang yang dijalankan, atau output dari pelatihan Pelatihan Iteratif iteratif sebelumnya.

Setelah penyempurnaan selesai, model khusus Anda melewati langkah penggabungan model opsional yang dapat dikonfigurasi pengguna yang memadukan pengetahuan yang baru dipelajari dengan kemampuan “model dasar”. Proses ini memastikan bahwa model akhir Anda mempertahankan kecerdasan asli dari “model dasar” sambil menggabungkan perilaku khusus yang dipelajari selama pelatihan penyempurnaan terbaru. Penggabungan model mengurangi fenomena yang dikenal sebagai pelupakan bencana, di mana model kehilangan pengetahuan yang dipelajari sebelumnya setelah disesuaikan pada data baru.

Penerapan penggabungan model berdasarkan jenis pelatihan

Penggabungan model hanya dapat dikonfigurasi untuk pelatihan SFT. Tabel berikut merangkum perilaku penggabungan model untuk setiap jenis pelatihan:

Jenis pelatihan Perilaku penggabungan model
Diawasi Fine-Tuning (SFT) User-configurable penggabungan model diterapkan. Anda dapat mengontrol bobot gabungan antara model yang disetel dengan baik dan model dasar seperti yang dijelaskan dalam dokumen ini.
Penguatan Fine-Tuning (RFT) Tidak ada penggabungan model. Pos pemeriksaan model terlatih dikeluarkan langsung sebagai model akhir. Tidak ada model dasar yang terlibat dalam langkah penggabungan.
Lanjutan Pre-Training (CPT) Tidak ada penggabungan model. Pos pemeriksaan model terlatih dikeluarkan langsung sebagai model akhir. Tidak ada model dasar yang terlibat dalam langkah penggabungan.

Kapan menggunakan penggabungan model

Anda harus mengaktifkan penggabungan model saat:

  • Kemampuan umum menurun setelah penyempurnaan. Jika model Anda yang disetel dengan baik kehilangan kinerja pada tugas-tugas di luar data pelatihan Anda (misalnya, matematika, penalaran, atau pengkodean), penggabungan menggabungkan kembali pengetahuan model dasar untuk memulihkan keterampilan tersebut.

  • Iterative/continual pelatihan. Saat menyempurnakan di atas pos pemeriksaan yang telah disesuaikan sebelumnya, penggabungan sangat penting untuk mempertahankan keterampilan yang dipelajari di putaran sebelumnya. Tanpa itu, setiap putaran baru dapat mengganti apa yang diajarkan babak sebelumnya.

Anda mungkin tidak memerlukan penggabungan model ketika:

  • Anda hanya ingin memaksimalkan kinerja tugas target dan retensi kemampuan umum tidak menjadi perhatian.

  • Mendaki bukit. Anda ingin melanjutkan iterasi pada dataset yang sama untuk mengoptimalkan kinerja eval lebih lanjut.

  • Anda menggunakan penyempurnaan berbasis penalaran. Penelitian telah menunjukkan SFT berbasis penalaran secara signifikan mengurangi kelupaan yang dahsyat.

Cara mengkonfigurasi bobot penggabungan model

Nilai default model_importance_score.fine_tuned_model adalah 1.0, yang berarti pos pemeriksaan keluaran pelatihan menggunakan bobot yang disetel sepenuhnya, tanpa pencampuran dari “model dasar”. Default berfungsi dengan baik ketika data pelatihan Anda komprehensif dan mewakili tugas target Anda dengan cermat.

Anda dapat mengontrol bagaimana model akhir menyeimbangkan spesialisasi versus pengetahuan umum dengan mengatur model_importance_score hyperparameter Anda. Contoh:

training_config: # ... model_importance_score: fine_tuned_model: 0.75 # set value between 0.0 to 1.0 inclusive

model_importance_score.fine_tuned_modelnilai yang mendekati 1.0 membuat model condong ke data Anda yang disetel dengan baik, sementara nilai yang lebih dekat ke 0.0 mempertahankan lebih banyak kemampuan umum model dasar. Dalam contoh di atas, model terlatih akhir diproduksi dengan menggabungkan 75% model yang disetel halus pada dataset tertentu dengan 25% dari “model dasar”.

Jika Anda melihat bahwa model yang disetel dengan baik kehilangan kemampuan umum (misalnya, kinerja yang menurun pada tugas di luar data pelatihan Anda), kurangi model_importance_score.fine_tuned_model untuk memadukan lebih banyak pengetahuan “model dasar”.

catatan

Meskipun kita dapat mengonfigurasi bobot proses penggabungan model, pengguna tidak dapat memilih model mana yang akan digabungkan. Dengan kata lain, itu akan selalu berada di antara “model dasar” dan model yang disetel dengan baik dari latihan saat ini. “Model dasar” dapat berupa model pondasi asli (misalnya Nova Lite 2.0), atau output dari latihan berulang sebelumnya.

Memilih bobot penggabungan model

model_importance_score.fine_tuned_modelParameter mengontrol keseimbangan antara model yang disetel dengan baik dan model dasar. Mulailah dengan pedoman ini:

Skenario Berat awal yang disarankan Alasannya
Single-round SFT dengan data pelatihan yang komprehensif 1.0 (default, tidak ada penggabungan) Data pelatihan Anda mencakup tugas target dengan baik; penggabungan akan melemahkan perilaku yang dipelajari tanpa manfaat.
Single-round SFT di mana kemampuan umum menurun 0,7—0,9 Memadukan pengetahuan model dasar yang cukup untuk memulihkan keterampilan umum (matematika, penalaran, pengkodean) sambil mempertahankan sebagian besar kinerja yang disetel dengan baik.
Iterative/continual SFT (membangun di pos pemeriksaan sebelumnya) 0,3—0,7 Bobot yang lebih rendah mempertahankan lebih banyak pengetahuan dari putaran pelatihan sebelumnya. Tanpa penggabungan, putaran selanjutnya dapat mengganti keterampilan yang dipelajari di putaran sebelumnya.
Eksplorasi/tidak yakin 0.7 Jalan tengah yang masuk akal; sesuaikan berdasarkan hasil evaluasi.

Prinsip umum: Bobot yang lebih tinggi (mendekati 1.0) memaksimalkan kinerja tugas target tetapi berisiko kehilangan kemampuan umum. Bobot yang lebih rendah (mendekati 0,0) mempertahankan keterampilan luas model dasar tetapi mengurangi spesialisasi. Tidak ada nilai optimal secara universal — bobot yang tepat tergantung pada ukuran dataset Anda, domain tumpang tindih dengan model dasar, dan kemampuan mana yang perlu Anda pertahankan.

Tip

Jika data pelatihan Anda mencakup jejak penalaran (rantai pemikiran), Anda biasanya dapat menggunakan bobot penggabungan yang lebih tinggi (atau melewatkan penggabungan seluruhnya pada 1.0), karena data tambahan penalaran bertindak sebagai pengatur yang mempertahankan kemampuan umum.

Mengevaluasi berat gabungan Anda

Setelah pelatihan selesai, evaluasi model gabungan untuk memastikan bobot penggabungan sesuai. Anda tidak memerlukan beberapa kali pelatihan — satu pass evaluasi dapat memberi tahu Anda apakah harus menyesuaikan.

  • Target kinerja tugas — Jalankan evaluasi khusus domain Anda (akurasi, F1, skor ekstraksi, dll.) pada set tes yang disimpan. Bandingkan dengan model dasar (sebelum penyempurnaan) untuk mengonfirmasi peningkatan kinerja penyempurnaan. Jika keuntungan dari model dasar lebih kecil dari yang diharapkan, berat gabungan Anda mungkin terlalu rendah — bobot model dasar mengencerkan apa yang dipelajari selama pelatihan.

  • Pemeriksaan spot kemampuan umum — Minta model gabungan dengan beberapa tugas di luar domain pelatihan Anda (misalnya, masalah kata matematika, permintaan ringkasan, atau pertanyaan pengkodean). Bandingkan tanggapan secara kualitatif dengan model dasar. Jika respons model gabungan terasa lebih buruk daripada model dasar — tidak koheren, menolak untuk menjawab, atau menghasilkan omong kosong pada tugas yang ditangani model dasar dengan baik — bobot penggabungan Anda terlalu tinggi dan model telah kehilangan kemampuan umum.

Cara kerja penggabungan: penyem Full-rank purnaan

Full-rank pelatihan menghasilkan satu set lengkap bobot model. Selama penggabungan, setiap parameter dihitung sebagai campuran tertimbang:

# Weighted interpolation Merged Model = (1 - model_importance_score.fine_tuned_model) * Base Model + model_importance_score.fine_tuned_model * Fine-Tuned Model

Misalnya, denganmodel_importance_score.fine_tuned_model = 0.3, model gabungan adalah 70% pengetahuan “model dasar” dan 30% pengetahuan yang disesuaikan.

Cara kerja penggabungan: Penyetelan halus LoRa

LoRa (Low-Rank Adaptasi) mempelajari sepasang matriks peringkat rendah yang ringkas (A dan B) yang mewakili adaptasi sebagai pembaruan peringkat rendah. Selama proses penggabungan model, setiap matriks LoRa A dan B diskalakan dengan seperti yang ditunjukkan di bawah ini. model_importance_score.fine_tuned_model Dalam rumus ini, alpha adalah faktor penskalaan LoRa (peft.lora_tuning.alphadalam resep pelatihan Anda) dan rank merupakan peringkat LoRa. Untuk alpha nilai yang tersedia, lihat resep pelatihan LoRa SFT.

Perhatikan bahwa, pada titik ini, matriks A dan B hanya berisi pengetahuan dari proses fine tuning terbaru. Ia tidak memiliki pengetahuan tentang pelatihan sebelumnya. Pengetahuan dari proses pelatihan sebelumnya akan berasal dari penggabungan model dengan “model dasar” atau penggabungan adaptor LoRa tahap sebelumnya yang dijelaskan di bawah ini.

Scaled_A = sqrt(model_importance_score.fine_tuned_model) * sqrt(alpha/rank) * A Scaled_B = sqrt(model_importance_score.fine_tuned_model) * sqrt(alpha/rank) * B

Pelatihan LoRa menghasilkan dua artefak model: model yang sepenuhnya digabungkan dan satu set adaptor LoRa yang digabungkan. Mari kita lihat masing-masing secara terpisah.

Model yang sepenuhnya digabungkan

Pembaruan LoRa diskalakan dan ditambahkan ke “model dasar”:

Merged Model = Base Model + (Scaled_B @ Scaled_A)

Sekarang Merged Model memiliki pengetahuan dari pelatihan yang berjalan saat ini serta mewarisi beberapa pengetahuan dari Base Model tergantung pada pengguna yang dikonfigurasimodel_importance_score.fine_tuned_model.

Adaptor LoRa yang digabungkan

Bagaimana adaptor LoRa digabungkan tergantung pada apakah Anda melakukan pelatihan satu tahap atau berulang.

  • Untuk pelatihan LoRa satu tahap (tidak ada pelatihan berulang), adaptor LoRa yang disetel dengan baik disimpan secara langsung tanpa penggabungan, karena tidak ada set adaptor LoRa sebelumnya untuk digabungkan.

  • Dalam alur kerja all-LoRa berulang, adaptor dari setiap tahap digabungkan menjadi satu set:

    Merged = Stage1_Scaled_B @ Stage1_Scaled_A + Stage2_Scaled_B @ Stage2_Scaled_A

    Adap Merged tor LoRa akan berisi pengetahuan tentang iterasi pelatihan sebelumnya serta pengetahuan penyempurnaan terbaru, berdasarkan yang ditentukan pengguna. model_importance_score.fine_tuned_model

    Juga, harap perhatikan pembatasan pelatihan berulang tentang pencampuran LoRa dan Full-rank pelatihan.

Adaptor gab Merged_B ungan ini Merged_A mencerminkan riwayat pelatihan lengkap dan digunakan untuk inferensi sesuai permintaan.