Menyesuaikan model Amazon Nova menggunakan pekerjaan pelatihan SageMaker - Amazon SageMaker AI

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

Menyesuaikan model Amazon Nova menggunakan pekerjaan pelatihan SageMaker

Menyesuaikan model Amazon Nova SageMaker dengan pekerjaan pelatihan menawarkan cara ampuh untuk menyesuaikan model fondasi untuk kasus penggunaan spesifik Anda.

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 ember terpisah untuk setiap jenis data. Pastikan ember Anda berada di tempat yang sama di Wilayah AWS 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 denganAmazonSageMakerFullAccess. Untuk informasi selengkapnya, lihat Cara menggunakan peran SageMaker eksekusi.

  • 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 fine-tuning untuk model bahasa besar. Baik Anda menggunakan fine-tuning (SFT) yang diawasi atau Pengoptimalan Preferensi Langsung (DPO), 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 yang diperlukan, metode validasi, dan praktik terbaik untuk membantu Anda mempersiapkan 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 Converse. Untuk contoh dan kendala format ini, lihat Mempersiapkan data untuk fine-tuning Memahami model.

Validasi data SFT - Untuk memvalidasi format kumpulan data Anda sebelum pengiriman, sebaiknya gunakan skrip validasi berikut dari repositori sampel Amazon Bedrock. Alat validasi ini akan membantu memastikan jsonl file Anda mematuhi spesifikasi format yang diperlukan dan mengidentifikasi potensi masalah sebelum mengirimkan pekerjaan fine-tuning Anda.

DPO

Persyaratan format data DPO - Untuk DPO dalam peringkat penuh dan DPO dengan LoRa, data harus mengikuti format Converse. Dataset juga harus dalam format yang sama dengan SFT kecuali giliran terakhir harus memiliki pasangan preferensi.

DPO dataset kendala lainnya - Kendala lain pada dataset adalah sama untuk SFT. Untuk informasi selengkapnya, lihat Batasan set data. Diharapkan file JSONL tunggal untuk pelatihan dan satu file JSONL untuk validasi. Set validasi adalah opsional.

Rekomendasi dataset DPO - Minimal 1.000 pasangan preferensi untuk pelatihan yang efektif. Data preferensi berkualitas tinggi 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 set data SFT

Panjang konteks Model Metode Set Data Deskripsi

Pekerjaan panjang konteks 32k

Amazon Nova Mikro Peringkat penuh dan LoRa Hanya teks

Jika Anda menggunakan kumpulan data 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 kumpulan data 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 kumpulan data 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 kumpulan data 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 kumpulan data 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 kumpulan data di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 epoch, Anda dapat memiliki hingga 40k catatan.

Gambar dan video

Jika Anda menggunakan kumpulan data 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 kumpulan data di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 epoch, Anda dapat memiliki hingga 40k catatan.

Gambar dan video

Jika Anda menggunakan kumpulan data di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 epoch, Anda dapat memiliki hingga 35k catatan.

64k pekerjaan panjang konteks

Amazon Nova Mikro Peringkat penuh dan LoRa Hanya teks

Jika Anda menggunakan kumpulan data 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 kumpulan data 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 kumpulan data 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 kumpulan data 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 kumpulan data di mana semua catatan memiliki panjang konteks 64k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 15k catatan.

Batas set data DPO

Panjang konteks Model Metode Set Data Deskripsi

Pekerjaan panjang konteks 16k

Amazon Nova Mikro Peringkat penuh Hanya teks

Jika Anda menggunakan kumpulan data 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 kumpulan data di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 epoch, Anda hanya dapat memiliki hingga 125k catatan.

Amazon Nova Lite

Peringkat penuh Hanya teks

Jika Anda menggunakan kumpulan data di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 epoch, Anda dapat memiliki hingga 130k 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 2 hari

LoRa Hanya teks

Jika Anda menggunakan kumpulan data di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 epoch, Anda dapat memiliki hingga 140k 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 2 hari.

Amazon Nova Pro

Peringkat penuh Hanya teks

Jika Anda menggunakan kumpulan data 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 kumpulan data di mana semua catatan memiliki panjang konteks 16k, dan misalnya, dijalankan selama 5 epoch, 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

Pekerjaan panjang konteks 32k

Amazon Nova Mikro Peringkat penuh Hanya teks

Jika Anda menggunakan kumpulan data 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 kumpulan data 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 kumpulan data di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 epoch, Anda dapat memiliki hingga 55k catatan.

Citra

Jika Anda menggunakan kumpulan data di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 epoch, Anda dapat memiliki hingga 35k catatan.

LoRa Hanya teks

Jika Anda menggunakan kumpulan data di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 60k catatan.

Citra

Jika Anda menggunakan kumpulan data di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 epoch, Anda dapat memiliki hingga 35k catatan.

Amazon Nova Pro Peringkat penuh Hanya teks

Jika Anda menggunakan kumpulan data di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 20k catatan.

Citra

Jika Anda menggunakan kumpulan data 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 kumpulan data di mana semua catatan memiliki panjang konteks 32k, dan misalnya, dijalankan selama 5 epoch, Anda dapat memiliki hingga 22 ribu catatan.

Citra

Jika Anda menggunakan kumpulan data di mana semua catatan memiliki panjang konteks 64k, dan misalnya, dijalankan selama 5 zaman, Anda dapat memiliki hingga 18k catatan.

Dengan mengurangi jumlah epoch atau panjang konteks catatan Anda, Anda dapat memberikan lebih banyak catatan.

Konfigurasi SFT dan LoRa PEFT peringkat penuh

Bagian ini mencakup panduan tentang konfigurasi resep untuk pendekatan fine-tuning (SFT) yang diawasi peringkat penuh dan fine-tuning hemat parameter adaptasi peringkat rendah (LoRa PEFT). File resep ini berfungsi sebagai cetak biru untuk pekerjaan penyesuaian model Anda, memungkinkan Anda menentukan parameter pelatihan, hiperparameter, dan pengaturan penting lainnya yang menentukan bagaimana model Anda belajar dari data Anda. Untuk menyesuaikan hyperparameters, ikuti panduan di Memilih hyperparameters.

Konfigurasi fine-tuning (SFT peringkat penuh 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 disetel ke nilai yang sesuai jika menggunakan fine-tuning berbasis LoRa PEFT. Contoh resep tersedia di GitHub repositori SageMaker HyperPod resep. Tabel berikut menunjukkan konfigurasi terperinci yang mungkin berguna bagi Anda.

Tentang konfigurasi “jalankan”.

Kunci Definisi Mikro sedikit Pro
Jalankan konfigurasi model_type

Menentukan varian model Nova untuk digunakan. Jangan memodifikasi bidang ini.

“Amazon. nova-micro-v1:0:128 k”

“Amazon. nova-lite-v1:0:300 k”

“Amazon. nova-pro-v1:0:300 k”

model_name_or_path

Jalan menuju model dasar.

“nova-mikro/prod”

“nova-lite/prod”

“nova-pro/prod”

replika

Jumlah instans komputasi yang akan digunakan untuk pelatihan terdistribusi.

2, 4 atau 8

4, 8 atau 16

6, 12 atau 24

Tentang konfigurasi “training_config”.

Kunci root Kunci anak Definisi Min Maks
max_length

Panjang urutan maksimum dalam token. Ini menentukan ukuran jendela konteks untuk pelatihan. Dapat disetel ke 1024 kelipatan terdekat, nilai maks: 65536 (untuk Lite Lora 32768).

1024

65536, kecuali Lite LoRa yang mendukung 32768.
global_batch_size

Total sampel per langkah, nilai yang diizinkan adalah 16, 32, 64. Nilai maks: 32 untuk Nova Pro, 64 untuk Nova Lite dan Micro.

16 32 untuk Nova Pro, 64 untuk Nova Lite dan Micro.
Konfigurasi pelatih pelatih max_epoch

Jumlah lintasan lengkap melalui kumpulan data pelatihan Anda. Untuk sebagian besar tugas kustomisasi, 1-5 zaman biasanya cukup. Disarankan untuk menjaga hingga 5.

1 -
Konfigurasi model model tersembunyi_putus sekolah

Probabilitas menjatuhkan output status tersembunyi. Tingkatkan (0,0-0,2) untuk mengurangi overfitting pada kumpulan data yang lebih kecil. Batasnya antara 0 - 1.

0 1
model attention_dropout

Probabilitas menjatuhkan bobot perhatian. Dapat membantu 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 distributed_fused_adam didukung.

- -
model.optim adam_w_mode

Aktifkan mode AdamW (benar/salah).

- -
model.optim eps

Epsilon untuk stabilitas numerik.

model.optim weight_decay

Kekuatan regularisasi L2, harus antara 0,0 dan 1,0.

0 1
model.optim beta

Adam optimizer beta, harus antara 0,0 dan 1,0.

0 1
model.optim sched_warmup_steps

Jumlah langkah untuk secara bertahap meningkatkan tingkat pembelajaran. Ini meningkatkan stabilitas pelatihan. Antara 1 dan 20.

1 20
model.optim sched_constant_steps

Langkah-langkah pada tingkat pembelajaran konstan.

1.00E-10 1.00E-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 peft_scheme

Gunakan “lora” atau “null”. “lora” menggunakan metode LoRa PEFT untuk fine-tuning hemat parameter. “null” memulai fine tuning 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

Menyetel 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 untuk diizinkan khusus untuk DPO. Contoh resep tersedia di GitHub repositori SageMaker HyperPod resep. Tabel berikut menunjukkan konfigurasi terperinci yang mungkin berguna bagi Anda.

Kunci root Kunci anak Definisi Min Maks
max_length Panjang urutan maksimum dalam token. Ini menentukan ukuran jendela konteks untuk pelatihan. Dapat disetel ke 1024 kelipatan terdekat, nilai maks: 32.768.

1024

32768

global_batch_size

Ukuran batch global, nilai yang diizinkan adalah {16, 32, 64, 128, 256}.

16 256
Konfigurasi pelatih pelatih max_epoch

Jumlah lintasan lengkap melalui kumpulan data pelatihan Anda. Untuk sebagian besar tugas kustomisasi, 1-5 zaman biasanya cukup. Epoch Max adalah 5.

1 5
Konfigurasi model model tersembunyi_putus sekolah

Probabilitas menjatuhkan output status tersembunyi. Tingkatkan (0,0-0,2) untuk mengurangi overfitting pada kumpulan data yang lebih kecil. Batasnya antara 0 - 1.

0 1
model attention_dropout

Probabilitas menjatuhkan bobot perhatian. Dapat membantu 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 distributed_fused_adam didukung.

- -
model.optim adam_w_mode

Aktifkan mode AdamW (benar/salah).

- -
model.optim eps

Epsilon untuk stabilitas numerik.

1.00E-10 1.00E-06
model.optim weight_decay

Kekuatan regularisasi L2, harus antara 0,0 dan 1,0.

0 1
model.optim beta

Adam optimizer beta, harus antara 0,0 dan 1,0.

0 1
model.optim sched_warmup_steps

Jumlah langkah untuk secara bertahap meningkatkan tingkat pembelajaran. Ini meningkatkan stabilitas pelatihan. Antara 1 dan 20.

1 20
model.optim sched_constant_steps

Langkah-langkah pada tingkat pembelajaran 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 peft_scheme

Gunakan “lora” atau “null”. “lora” menggunakan metode LoRa PEFT untuk fine-tuning hemat parameter. “null” memulai fine tuning 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 pekerjaan SageMaker pelatihan

Bagian ini menunjukkan cara menjalankan model Nova yang disesuaikan pada pekerjaan SageMaker pelatihan melalui lingkungan notebook Jupyter. Anda akan menemukan contoh lengkap yang berjalan melalui proses mengkonfigurasi dan meluncurkan pekerjaan pelatihan, bersama dengan tabel referensi untuk memilih gambar kontainer URIs dan konfigurasi instance yang sesuai. Pendekatan ini memberi Anda kontrol terprogram atas alur kerja fine-tuning Anda sambil memanfaatkan infrastruktur terkelola untuk penyesuaian model SageMaker. Untuk informasi selengkapnya, lihat Menggunakan estimator SageMaker AI untuk menjalankan pekerjaan pelatihan.

Tabel referensi

Sebelum menjalankan contoh buku catatan, lihat tabel berikut untuk memilih gambar kontainer URIs dan konfigurasi instance yang sesuai.

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 hitungan instans

Model Jenis Tugas Jenis instans Jumlah instans yang disarankan Jumlah instans yang diizinkan
Amazon Nova Mikro Penyetelan halus (SFT/DPO)

p5.48xlarge

2 2,4,8
Amazon Nova Lite Penyetelan halus (SFT/DPO)

p5.48xlarge

4 4,8,16
Amazon Nova Pro Penyetelan halus (SFT/DPO)

p5.48xlarge

6 6,12,24

Notebook sampel

Notebook contoh berikut menunjukkan cara menjalankan pekerjaan pelatihan. Untuk buku catatan awal tambahan tentang cara menyesuaikan model Nova menggunakan pekerjaan pelatihan SageMaker AI, lihat Gunakan estimator SageMaker AI untuk menjalankan pekerjaan pelatihan.

# 1. Install dependencies !pip install sagemaker # 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>" # 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 ) 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}) # 5. Monitor your training job # To monitor your training job, you can either: # * Go to your AWS console -> Amazon Sagemaker AI -> Training -> Training Jobs # * run the following command # sm.describe_training_job(TrainingJobName="<complete training job name>")

Panduan optimasi hyperparameter

Menyetel model Nova LLM Anda secara efektif membutuhkan pemilihan hiperparameter yang cermat. Meskipun bagian ini menjelaskan struktur dan komponen resep dasar, mengoptimalkan hiperparameter untuk kasus penggunaan spesifik Anda seringkali memerlukan panduan tambahan. Untuk rekomendasi komprehensif tentang pemilihan hiperparameter, praktik terbaik, dan strategi pengoptimalan, lihat Memilih hiperparameter. 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 epoch, tingkat pembelajaran, dan langkah pemanasan pembelajaran, lihat Hyperparameters for Understanding models.

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