Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fine-tune Nova 1.0
catatan
Anda dapat menyempurnakan seri model Amazon Nova 1.0 menggunakan Pengawasan Fine-Tuning (SFT) dan Pengoptimalan Preferensi Langsung. Untuk menyempurnakan model Nova 2.0, lihat Fine-tune Nova 2.0.
Prasyarat
Sebelum Anda memulai pekerjaan pelatihan, perhatikan hal berikut.
-
Bucket Amazon S3 untuk menyimpan data input dan output pekerjaan pelatihan Anda. Anda dapat menggunakan satu bucket untuk keduanya atau bucket terpisah untuk setiap jenis data. Pastikan bucket Anda berada di tempat yang sama Wilayah AWS di mana Anda membuat semua sumber daya lain untuk pelatihan. Untuk informasi selengkapnya, lihat Membuat bucket tujuan umum.
-
Peran IAM dengan izin untuk menjalankan pekerjaan pelatihan. Pastikan Anda melampirkan kebijakan IAM dengan
AmazonSageMakerFullAccess. Untuk informasi selengkapnya, lihat Cara menggunakan peran eksekusi SageMaker AI. -
Resep dasar Amazon Nova, lihatMendapatkan resep Amazon Nova.
Persiapan data
Mempersiapkan data berkualitas tinggi dan diformat dengan benar adalah langkah pertama yang penting dalam proses penyempurnaan untuk model bahasa besar. Baik Anda menggunakan fine tuning (SFT) atau Direct Preference Optimization (DPO), baik dengan pendekatan adaptasi peringkat penuh atau peringkat rendah (LoRa), data Anda harus mematuhi persyaratan format tertentu untuk memastikan pelatihan model yang berhasil. Bagian ini menguraikan format data, metode validasi, dan praktik terbaik yang diperlukan untuk membantu Anda menyiapkan kumpulan data secara efektif untuk menyempurnakan model Amazon Nova.
SFT
Persyaratan format data SFT - Untuk SFT peringkat penuh dan LoRa SFT, data harus mengikuti format yang ditunjukkan di bawah ini. Untuk contoh dan batasan format ini, lihatMempersiapkan data untuk fine-tuning multimodal.
Validasi data SFT - Untuk memvalidasi format dataset Anda sebelum pengiriman, sebaiknya gunakan skrip validasi berikut dari repositori sampel Amazon Bedrock. jsonl file Anda mematuhi spesifikasi format yang diperlukan dan mengidentifikasi masalah potensial sebelum mengirimkan pekerjaan penyempurnaan Anda.
DPO
Persyaratan format data DPO - Untuk DPO dalam peringkat penuh dan DPO dengan LoRa, data harus mengikuti format yang ditunjukkan di bawah ini. Dataset juga harus dalam format yang sama dengan SFT kecuali giliran terakhir harus memiliki pasangan preferensi.
Dataset DPO kendala lain - Kendala lain pada kumpulan data sama untuk SFT. Untuk informasi selengkapnya, lihat Mempersiapkan data untuk fine-tuning multimodal. Satu file JSONL untuk pelatihan dan satu file JSONL untuk validasi diharapkan. Set validasi adalah opsional.
Rekomendasi dataset DPO - Minimal 1.000 pasangan preferensi untuk pelatihan yang efektif. High-quality Data preferensi akan menghasilkan hasil yang lebih efisien.
Contoh format data DPO
// N-1 turns same as SFT format { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } // content list can contain multiple 'text' objects ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } // content list can contain multiple 'text' objects ], "preferenceLabel": "non-preferred" } ] }
Contoh format data DPO (multi-putaran)
{ "system": [ { "text": "..." } ], "messages":[ { "role": "user", "content": [ { "text": "..." } ] }, { "role": "assistant", "content": [ { "text": "..." } ] }, { "role": "user", "content": [ { "text": "..." } ] }, { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } ], "preferenceLabel": "non-preferred" } ] } ], }
Contoh format data DPO (dengan gambar)
{ "system": [ { "text": "..." } ], "messages":[ { "role": "user", "content": [ { "text": "..." }, { "text": "..." }, { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } } // "content" can have multiple "text" and "image" objects. // max image count is 10 ] }, { "role": "assistant", "content": [ { "text": "..." } ] }, { "role": "user", "content": [ { "text": "..." }, { "text": "..." }, { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } } // "content" can have multiple "text" and "image" objects. // max image count is 10 ] }, { "role": "assistant", "candidates": [ { "content": [ { "text": "..." } ], "preferenceLabel": "preferred" }, { "content": [ { "text": "..." } ], "preferenceLabel": "non-preferred" } ] } ], }
Pekerjaan pelatihan default ke batas waktu 1 hari, meskipun perkiraan dalam tabel di bawah ini mengasumsikan durasi pelatihan 5 hari untuk tujuan ilustrasi. Sebagai praktik terbaik, kami sarankan untuk meningkatkan batas waktu pelatihan Anda hingga maksimum 28 hari untuk mengakomodasi beban kerja pelatihan yang lebih lama. Untuk meminta kenaikan batas, lihat Meminta kenaikan kuota.
Batas dataset SFT
| Panjang konteks | Model | Metode | Set data | Deskripsi |
|---|---|---|---|---|
|
32k pekerjaan panjang konteks |
Amazon Nova Mikro | Peringkat penuh dan LoRa | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda hanya dapat memiliki hingga 100k catatan. |
|
Amazon Nova Lite |
Peringkat penuh | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 100k catatan. |
|
| Gambar dan video |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 50k catatan. |
|||
| LoRa | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 100k catatan. |
||
| Gambar dan video | Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 90k catatan. | |||
|
Amazon Nova Pro |
Peringkat penuh | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 40k catatan. |
|
| Gambar dan video |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 30k catatan. |
|||
| LoRa | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 40k catatan. |
||
| Gambar dan video |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 35k catatan. |
|||
|
64k pekerjaan panjang konteks |
Amazon Nova Mikro | Peringkat penuh dan LoRa | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 64k, dan misalnya, dijalankan selama 5 zaman, Anda hanya dapat memiliki hingga 50k catatan. |
|
Amazon Nova Lite |
Peringkat penuh | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 64k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 50k catatan. |
|
|
Gambar dan video |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 64k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 30k catatan. |
|||
| LoRa | - |
LoRa tidak didukung pada 64k untuk Nova Lite. |
||
| Amazon Nova Pro | Peringkat penuh dan LoRa | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 64k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 17k catatan. |
|
|
Gambar dan video |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 64k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 15k catatan. |
Batas kumpulan data DPO
| Panjang konteks | Model | Metode | Set data | Deskripsi |
|---|---|---|---|---|
|
Pekerjaan panjang konteks 16k |
Amazon Nova Mikro | Peringkat penuh | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 zaman, Anda hanya dapat memiliki hingga 120k catatan. |
| LoRa | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 zaman, Anda hanya dapat memiliki hingga 125k catatan. |
||
|
Amazon Nova Lite |
Peringkat penuh | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 130k catatan. |
|
|
Citra |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 zaman, Anda dapat menyelesaikan 20k sampel dalam 2 hari |
|||
| LoRa | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 140k catatan. |
||
|
Citra |
jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 zaman, Anda dapat menyelesaikan 20k sampel dalam 2 hari. |
|||
|
Amazon Nova Pro |
Peringkat penuh | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 45k catatan. |
|
|
Citra |
Jika Anda menggunakan kumpulan data di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 zaman, Anda dapat menyelesaikan 20k sampel dalam 4 hari |
|||
| LoRa | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 55k catatan. |
||
|
Citra |
Jika Anda menggunakan kumpulan data di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 zaman, Anda dapat menyelesaikan 20k sampel dalam 4 hari |
|||
|
32k pekerjaan panjang konteks |
Amazon Nova Mikro | Peringkat penuh | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda hanya dapat memiliki hingga 45k catatan. |
| LoRa | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda hanya dapat memiliki hingga 50k catatan. |
||
|
Amazon Nova Lite |
Peringkat penuh | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 55k catatan. |
|
| Citra |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 35k catatan. |
|||
| LoRa | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 60k catatan. |
||
| Citra |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 35k catatan. |
|||
| Amazon Nova Pro | Peringkat penuh | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 20k catatan. |
|
| Citra |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 64k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 16k catatan. |
|||
| LoRa | Hanya teks |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 22k catatan. |
||
| Citra |
Jika Anda menggunakan dataset di mana semua catatan memiliki panjang konteks 64k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 18k catatan. |
Dengan mengurangi jumlah zaman atau panjang konteks catatan Anda, Anda dapat memberikan lebih banyak catatan.
Full-rank Konfigurasi SFT dan LoRa PEFT
Bagian ini mencakup panduan tentang konfigurasi resep untuk pendekatan penyempurnaan yang diawasi peringkat penuh (SFT) dan pendekatan penyetelan hemat parameter adaptasi peringkat rendah (LoRa PEFT). File resep ini berfungsi sebagai cetak biru untuk pekerjaan kustomisasi model Anda, memungkinkan Anda menentukan parameter pelatihan, hyperparameter, dan pengaturan penting lainnya yang menentukan bagaimana model Anda belajar dari data Anda. Untuk menyesuaikan hyperparameter, ikuti panduan dalam Mem ilih hyper parameter.
Fine-tuning konfigurasi (Full-rank SFT dan LoRa PEFT)
Satu-satunya perbedaan antara SFT peringkat penuh dan LoRa PEFT dalam hal resep adalah konfigurasi LoRa PEFT, yang diatur ke 'null' untuk peringkat penuh dan diatur ke nilai yang sesuai jika menggunakan penyetelan LoRa. PEFT-based Contoh resep tersedia di GitHub repositori
Tentang konfigurasi “jalankan”.
| Key | Definisi | Mikro | sedikit | Pro | |
|---|---|---|---|---|---|
| Jalankan konfigurasi | tipe_model |
Menentukan varian model Nova yang akan digunakan. Jangan memodifikasi bidang ini. |
“amazon.nova-mikro-v 1:0:128k” |
“amazon.nova-lite-v 1:0:300k” |
“amazon.nova-pro-v 1:0:300k” |
| nama_model_atau_jalur |
Jalur ke model dasar. |
“newmicro/prod” |
“newlite/prod” |
“newpro/prod” |
|
| replika |
Jumlah instance komputasi yang digunakan untuk pelatihan terdistribusi. |
2, 4 atau 8 |
4, 8 atau 16 |
6, 12 atau 24 |
Tentang konfigurasi “training_config”.
| Tombol root | Kunci anak | Definisi | Min | Maks | |
|---|---|---|---|---|---|
| panjang_maks |
Panjang urutan maksimum dalam token. Ini menentukan ukuran jendela konteks untuk pelatihan. Dapat disetel ke kelipatan 1024 terdekat, nilai maks: 65536 (untuk Lite Lora 32768). |
1024 |
65536, kecuali Lite LoRa yang mendukung 32768. | ||
| ukuran_batch_global |
Total sampel per langkah, nilai yang diizinkan adalah 16, 32, 64. Nilai maksimum: 32 untuk Nova Pro, 64 untuk Nova Lite dan Micro. |
16 | 32 untuk Nova Pro, 64 untuk Nova Lite dan Mikro. | ||
| Konfigurasi pelatih | pelatih | max_epochs |
Jumlah lintasan lengkap melalui dataset pelatihan Anda. Untuk sebagian besar tugas penyesuaian, 1-5 zaman biasanya cukup. Disarankan untuk menjaga hingga 5. |
1 | - |
| Konfigurasi model | model | tersembunyi_putus |
Probabilitas kehilangan output keadaan tersembunyi. Tingkatkan (0,0-0,2) untuk mengurangi overfitting pada kumpulan data yang lebih kecil. Batasnya antara 0 - 1. |
0 | 1 |
| model | perhatian_putus |
Kemungkinan menurunkan bobot perhatian. Dapat membantu dengan generalisasi. Batasnya antara 0 - 1. |
0 | 1 | |
| model | ffn_dropout |
Probabilitas menjatuhkan output jaringan feed-forward. Batasnya antara 0 - 1. |
0 | 1 | |
| Konfigurasi pengoptimal | model.optim | lr |
Tingkat pembelajaran, mengontrol ukuran langkah selama pengoptimalan. Batasnya antara 0 dan 1. Biasanya diatur antara 1e-6 dan 1e-4. untuk kinerja yang baik. |
0 | 1 |
| model.optim | name |
Algoritma pengoptimal. Saat ini, hanya |
- | - | |
| model.optim | adam_w_mode |
Aktifkan mode AdamW (true/false). |
- | - | |
| model.optim | eps |
Epsilon untuk stabilitas numerik. |
|||
| model.optim | pembusukan berat |
Kekuatan regularisasi L2, harus antara 0,0 dan 1,0. |
0 | 1 | |
| model.optim | beta |
Beta pengoptimal Adam, harus antara 0,0 dan 1,0. |
0 | 1 | |
| model.optim | jadu_pemanasan langkah_langkah |
Jumlah langkah untuk secara bertahap meningkatkan tingkat pembelajaran. Ini meningkatkan stabilitas pelatihan. Antara 1 dan 20. |
1 | 20 | |
| model.optim | jadu_langkah_konstan_langkah |
Langkah-langkah pada tingkat pembelajaran yang konstan. |
1.00 E-10 | 1.00 E-06 | |
| model.optim | sched.min_lr |
Tingkat pembelajaran minimum pada akhir pembusukan. Batasnya antara 0 dan 1, tetapi harus kurang dari tingkat pembelajaran. |
0 | 1 | |
|
Konfigurasi LoRa PEFT |
model.peft | Skema peft |
Gunakan “lora” atau “null”. “lora” menggunakan metode LoRa PEFT untuk penyetelan parameter yang efisien. “null” memulai penyetelan peringkat penuh. |
- | - |
| model.peft | lora_tuning.loraplus_lr_ratio |
Faktor penskalaan tingkat pembelajaran LoRa+, harus antara 0,0 dan 100,0. |
0 | 100 | |
| model.peft | lora_tuning.alpha |
Faktor penskalaan untuk bobot LoRa. Nilai yang diizinkan adalah 32, 64, 96, 128, 160 dan 192. |
32 | 192 | |
| model.peft | lora_tuning.adapter_dropout |
Regularisasi untuk parameter LoRa. Harus antara 0.0 dan 1.0. |
0 | 1 |
Fine-tuning konfigurasi khusus (DPO)
Satu-satunya perbedaan antara Direct Preference Optimization (DPO) dibandingkan dengan LoRa PEFT dan FullRank SFT adalah dalam hal konfigurasi dpo_cfg dan nilai yang diizinkan. Lihat tabel di bawah contoh yang diizinkan khusus untuk DPO. Contoh resep tersedia di GitHub repositori
| Tombol root | Kunci anak | Definisi | Min | Maks | |
|---|---|---|---|---|---|
| panjang_maks | Panjang urutan maksimum dalam token. Ini menentukan ukuran jendela konteks untuk pelatihan. Dapat disetel ke kelipatan 1024 terdekat, nilai maks: 32.768. |
1024 |
32768 |
||
| ukuran_batch_global |
Ukuran batch global, nilai yang diizinkan adalah {16, 32, 64, 128, 256}. |
16 | 256 | ||
| Konfigurasi pelatih | pelatih | max_epochs |
Jumlah lintasan lengkap melalui dataset pelatihan Anda. Untuk sebagian besar tugas penyesuaian, 1-5 zaman biasanya cukup. Maksimal zaman adalah 5. |
1 | 5 |
| Konfigurasi model | model | tersembunyi_putus |
Probabilitas kehilangan output keadaan tersembunyi. Tingkatkan (0,0-0,2) untuk mengurangi overfitting pada kumpulan data yang lebih kecil. Batasnya antara 0 - 1. |
0 | 1 |
| model | perhatian_putus |
Kemungkinan menurunkan bobot perhatian. Dapat membantu dengan generalisasi. Batasnya antara 0 - 1. |
0 | 1 | |
| model | ffn_dropout |
Probabilitas kehilangan output jaringan feed-forward. Batasnya antara 0 - 1. |
0 | 1 | |
| Konfigurasi pengoptimal | model.optim | lr |
Tingkat pembelajaran, mengontrol ukuran langkah selama pengoptimalan. Batasnya antara 0 dan 1. Biasanya diatur antara 1e-6 dan 1e-4. untuk kinerja yang baik. |
0 | 1 |
| model.optim | name |
Algoritma pengoptimal. Saat ini, hanya |
- | - | |
| model.optim | adam_w_mode |
Aktifkan mode AdamW (true/false). |
- | - | |
| model.optim | eps |
Epsilon untuk stabilitas numerik. |
1.00 E-10 | 1.00 E-06 | |
| model.optim | pembusukan berat |
Kekuatan regularisasi L2, harus antara 0,0 dan 1,0. |
0 | 1 | |
| model.optim | beta |
Beta pengoptimal Adam, harus antara 0,0 dan 1,0. |
0 | 1 | |
| model.optim | jadu_pemanasan langkah_langkah |
Jumlah langkah untuk secara bertahap meningkatkan tingkat pembelajaran. Ini meningkatkan stabilitas pelatihan. Antara 1 dan 20. |
1 | 20 | |
| model.optim | jadu_langkah_konstan_langkah |
Langkah-langkah pada tingkat pembelajaran yang konstan. |
|||
| model.optim | sched.min_lr |
Tingkat pembelajaran minimum pada akhir pembusukan. Batasnya antara 0 dan 1, tetapi harus kurang dari tingkat pembelajaran. |
0 | 1 | |
|
Konfigurasi LoRa PEFT |
model.peft | Skema peft |
Gunakan “lora” atau “null”. “lora” menggunakan metode LoRa PEFT untuk penyetelan parameter yang efisien. “null” memulai penyetelan peringkat penuh. |
- | - |
| model.peft | lora_tuning.loraplus_lr_ratio |
Faktor penskalaan tingkat pembelajaran LoRa+, harus antara 0,0 dan 100,0. |
0 | 100 | |
| model.peft | lora_tuning.alpha |
Faktor penskalaan untuk bobot LoRa. Nilai yang diizinkan adalah 32, 64, 96, 128, 160 dan 192. |
32 | 192 | |
| model.peft | lora_tuning.adapter_dropout |
Regularisasi untuk parameter LoRa. Harus antara 0,0 dan 1,0. |
0 | 1 | |
| Konfigurasi DPO | model-dpo_cfg | beta |
Kekuatan penegakan preferensi. |
0.001 | 0.1 |
Menjalankan model Nova yang disesuaikan pada SageMaker Pekerjaan Pelatihan
Bagian ini menunjukkan cara menjalankan model Nova yang disesuaikan pada Pekerjaan Pel SageMaker atihan melalui lingkungan notebook Jupyter. Anda akan menemukan contoh lengkap yang berjalan melalui proses mengonfigurasi dan meluncurkan pekerjaan pelatihan, bersama dengan tabel referensi untuk memilih URI gambar kontainer yang sesuai dan konfigurasi instance. Pendekatan ini memberi Anda kontrol terprogram atas alur kerja penyempurnaan Anda sambil memanfaatkan infrastruktur terkelola SageMaker AI untuk penyesuaian model. Untuk informasi selengkapnya, lihat Menggunakan estimator SageMaker AI untuk menjalankan pekerjaan pelatihan.
Tabel referensi
Sebelum menjalankan contoh notebook, lihat tabel berikut untuk memilih URI gambar wadah yang sesuai dan konfigurasi instance.
Memilih URI gambar
| Resep | URI citra |
|---|---|
|
URI gambar SFT |
708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-TJ-SFT-latest |
|
URI gambar DPO |
708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-TJ-DPO-latest |
Memilih jenis dan jumlah instance
| Model | Fine-tuning Jenis pekerjaan | Jenis teknik | Tipe instans | Jumlah instans yang disarankan | Jumlah instans yang diizinkan |
|---|---|---|---|---|---|
| Amazon Nova Mikro | SFT | LoRa | g5.12xlarge, g6.12xlarge, g5.48xlarge, g6.48xlarge |
1 | 1 |
| LoRa+peringkat penuh | g5.48xlarge, g6.48xlarge |
1 | 1 | ||
p4d.24xlarge |
2 | 2, 4, 8 | |||
p5.48xlarge, p5en.48xlarge |
1 | 1, 2, 4, 8 | |||
| DPO | LoRa | g5.12xlarge, g6.12xlarge, g5.48xlarge, g6.48xlarge |
1 | 1 | |
| LoRa+peringkat penuh | p4d.24xlarge, p5.48xlarge, p5en.48xlarge |
2 | 2, 4, 8 | ||
| Amazon Nova Lite | SFT | LoRa | g5.12xlarge, g6.12xlarge, g5.48xlarge, g6.48xlarge |
1 | 1 |
p5.48xlarge, p5en.48xlarge |
1 | 1, 4, 8, 16 | |||
| LoRa+peringkat penuh | p4d.24xlarge |
4 | 4, 8, 16 | ||
p5.48xlarge, p5en.48xlarge |
2 | 2, 4, 8, 16 | |||
| DPO | LoRa | g5.48xlarge, g6.48xlarge |
1 | 1 | |
| LoRa+peringkat penuh | p4d.24xlarge, p5.48xlarge, p5en.48xlarge |
4 | 4, 8, 16 | ||
| Amazon Nova Pro | SFT | LoRa | p4d.24xlarge |
6 | 6, 12, 24 |
p5.48xlarge, p5en.48xlarge |
3 | 3, 6, 12, 24 | |||
| LoRa+peringkat penuh | p5.48xlarge, p5en.48xlarge |
6 | 6, 12, 24 | ||
| DPO | LoRa | p4d.24xlarge |
6 | 6, 12, 24 | |
| LoRa+peringkat penuh | p4d.24xlarge |
12 | 12, 24 | ||
p5.48xlarge, p5en.48xlarge |
4 | 4, 8, 16 |
Contoh notebook
Contoh notebook berikut menunjukkan cara menjalankan pekerjaan pelatihan. Untuk buku catatan tambahan tentang cara menyesuaikan model Nova menggunakan Pekerjaan SageMaker Pelatihan, lihat Menggunakan estimator SageMaker AI untuk menjalankan pekerjaan pelatihan.
# 1. Install dependencies !pip install sagemaker==2.254.1 # 2. Import dependencies and initialize sagemaker session import sagemaker,boto3 sm = boto3.client('sagemaker', region_name='us-east-1') sagemaker_session = sagemaker.session.Session(boto_session=boto3.session.Session(), sagemaker_client=sm) # 3. Configure your job # Define the core configuration for launching a SageMaker Training Job. This includes input/output S3 URIs, container image, hardware setup, and other runtime parameters. Update the placeholders below before submitting the job. job_name = "<Your Job Name>" input_s3_uri = "<S3 path to input data>" validation_s3_uri = "<S3 path to validation data>" # optional, leave blank if no validation data output_s3_uri = "<S3 path to output location>" image_uri = "<Image URI from documentation>" # you can choose the image for SFT/DPO instance_type = "ml.p5.48xlarge" # do not change instance_count = <Integer number of hosts> # change hosts as needed. Refer to documentation for allowed values based on model type. role_arn = "<IAM Role you want to use to run the job>" recipe_path = "<Local path to the recipe file>" output_kms_key = "<KMS key arn to encrypt trained model in Amazon-owned S3 bucket>" # optional, leave blank for Amazon managed encryption # 4. Launch SageMaker Training Job # This block sets up and runs the SageMaker training job using the PyTorch estimator. It configures the training image, hardware, input channels, and TensorBoard integration. Validation data is included if provided. from sagemaker.debugger import TensorBoardOutputConfig from sagemaker.pytorch import PyTorch from sagemaker.inputs import TrainingInput tensorboard_output_config = TensorBoardOutputConfig( s3_output_path=output_s3_uri, ) estimator = PyTorch( output_path=output_s3_uri, base_job_name=job_name, role=role_arn, instance_count=instance_count, instance_type=instance_type, training_recipe=recipe_path, sagemaker_session=sagemaker_session, image_uri=image_uri, tensorboard_output_config=tensorboard_output_config, # Add the setting for using TensorBoard. disable_profiler=True, debugger_hook_config=False, output_kms_key=output_kms_key ) trainingInput = TrainingInput( s3_data=input_s3_uri, distribution='FullyReplicated', s3_data_type='Converse' ) if (validation_s3_uri): validationInput = TrainingInput( s3_data=validation_s3_uri, distribution='FullyReplicated', s3_data_type='Converse' ) estimator.fit(inputs={"train": trainingInput, "validation": validationInput}) # inputs must be called "train" and "validation", do not change else: estimator.fit(inputs={"train": trainingInput})
Panduan optimasi hyperparameter
Fine-tuning model Nova LLM Anda secara efektif membutuhkan pemilihan hyperparameter yang cermat. Meskipun bagian ini menjelaskan struktur resep dasar dan komponen, mengoptimalkan hyperparameter untuk kasus penggunaan spesifik Anda seringkali memerlukan panduan tambahan. Untuk rekomendasi komprehensif tentang pemilihan hyperparameter, praktik terbaik, dan strategi pengoptimalan, lihat Mem ilih hyper parameter. Sumber daya ini memberikan panduan terperinci tentang memilih tingkat pembelajaran yang sesuai, ukuran batch, zaman pelatihan, dan parameter penting lainnya berdasarkan karakteristik kumpulan data dan tujuan pelatihan Anda. Sebaiknya konsultasikan panduan ini saat menyempurnakan konfigurasi resep Anda untuk mencapai kinerja model yang optimal.
Untuk detail tentang nilai minimum, maksimum, dan default untuk zaman, tingkat pembelajaran, dan langkah-langkah pemanasan pembelajaran, lihat Hyperparameter untuk Memahami model.
Modifikasi resep umum
Berikut adalah beberapa penyesuaian resep umum berdasarkan kasus penggunaan tertentu:
-
Untuk kumpulan data yang lebih kecil (< 1.000 contoh)
training_config: max_epochs: 2 # More passes through a smaller dataset model: hidden_dropout: 0.1 # Increase regularization weight_decay: 0.01 # Increase regularization
-
Untuk efisiensi dengan komputasi terbatas
peft: peft_scheme: "lora" lora_tuning:
-
Untuk penyetelan instruksi yang kompleks
optim: lr: 5e-6 # Lower learning rate for more stable learning sched: warmup_steps: 100 # Longer warmup for stability