View a markdown version of this page

Penyetelan halus yang diawasi (SFT) pada Nova 2.0 aktif SageMaker HyperPod - Amazon Nova

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

Penyetelan halus yang diawasi (SFT) pada Nova 2.0 aktif SageMaker HyperPod

Amazon Nova Lite 2.0 menghadirkan kemampuan yang ditingkatkan untuk penyempurnaan yang diawasi, termasuk mode penalaran lanjutan, pemahaman multimodal yang ditingkatkan, dan penanganan konteks yang diperluas. SFT pada Nova Lite 2.0 memungkinkan Anda untuk menyesuaikan kemampuan canggih ini dengan kasus penggunaan spesifik Anda sambil mempertahankan kinerja model yang unggul pada tugas-tugas kompleks.

Fitur utama SFT pada Nova Lite 2.0 dirangkum dalamFitur yang didukung.

Untuk menentukan apakah SFT cocok untuk kasus penggunaan Anda, lihatPenyetelan halus yang diawasi (SFT).

Di bawah ini adalah contoh resep untuk SFT. Anda dapat menemukan resep ini dan lainnya di repositori SageMaker HyperPod resep di GitHub.

run: name: my-full-rank-sft-run model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: nova-lite-2/prod data_s3_path: s3://my-bucket-name/train.jsonl # SageMaker HyperPod only and not compatible with SageMaker Training Jobs replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16, 32 output_s3_path: s3://my-bucket-name/outputs/ # Output artifact path (HyperPod job-specific; not compatible with standard SageMaker Training Jobs) mlflow_tracking_uri: "" # Required for MLFlow mlflow_experiment_name: "my-full-rank-sft-experiment" # Optional for MLFlow. Note: leave this field non-empty mlflow_run_name: "my-full-rank-sft-run" # Optional for MLFlow. Note: leave this field non-empty training_config: max_steps: 100 # Maximum training steps. Minimal is 4. save_steps: ${oc.select:training_config.max_steps} # How many training steps the checkpoint will be saved save_top_k: 5 # Keep top K best checkpoints. Note supported only for SageMaker HyperPod jobs. Minimal is 1. max_length: 32768 # Sequence length (options: 8192, 16384, 32768 [default], 65536) global_batch_size: 32 # Global batch size (options: 32, 64, 128) reasoning_enabled: true # If data has reasoningContent, set to true; otherwise False lr_scheduler: warmup_steps: 15 # Learning rate warmup steps. Recommend 15% of max_steps min_lr: 1e-6 # Minimum learning rate, must be between 0.0 and 1.0 optim_config: # Optimizer settings lr: 1e-5 # Learning rate, must be between 0.0 and 1.0 weight_decay: 0.0 # L2 regularization strength, must be between 0.0 and 1.0 adam_beta1: 0.9 # Exponential decay rate for first-moment estimates adam_beta2: 0.95 # Exponential decay rate for second-moment estimates peft: # Parameter-efficient fine-tuning (LoRA) peft_scheme: "null" # Disable LoRA for PEFT

Pemilihan mode penalaran (hanya Nova 2.0)

Amazon Nova 2.0 mendukung mode penalaran untuk kemampuan analitis yang ditingkatkan:

  • Mode Penalaran (diaktifkan):

    • Tet reasoning_enabled: true apkan dalam konfigurasi pelatihan

    • Model melatih untuk menghasilkan jejak penalaran sebelum jawaban akhir

    • Meningkatkan kinerja pada tugas penalaran yang kompleks

  • Non-Reasoning Mode (dinonaktifkan):

    • Mengatur reasoning_enabled: false atau menghilangkan parameter (default)

    • SFT standar tanpa alasan eksplisit

    • Cocokan untuk tugas yang tidak mendapat manfaat dari penalaran langkah demi langkah

catatan
  • Ketika penalaran diaktifkan, ia beroperasi pada upaya penalaran yang tinggi. Tidak ada opsi penalaran rendah untuk SFT.

  • Konten penalaran multimodal tidak didukung untuk SFT. Mode penalaran berlaku untuk input teks saja.

Melatih Amazon Nova pada kumpulan data non-penalaran reasoning_enabled: true diizinkan. Namun, hal itu dapat menyebabkan model kehilangan kemampuan penalarannya, karena Amazon Nova terutama belajar menghasilkan tanggapan yang disajikan dalam data tanpa menerapkan penalaran.

Jika melatih Amazon Nova pada dataset non-penalaran tetapi masih ingin menggunakan penalaran selama inferensi:

  1. Nonaktifkan penalaran selama pelatihan (reasoning_enabled: false)

  2. Aktifkan penalaran nanti selama inferensi

Meskipun pendekatan ini memungkinkan penalaran pada waktu inferensi, pendekatan ini tidak menjamin peningkatan kinerja dibandingkan dengan inferensi tanpa penalaran.

Praktik terbaik: Aktifkan penalaran untuk pelatihan dan inferensi saat menggunakan kumpulan data penalaran, dan nonaktifkan untuk keduanya saat menggunakan kumpulan data non-penalaran.

catatan

Untuk informasi selengkapnya tentang gambar wadah dan contoh resep, lihat resep Amazon Nova.

Memulai pekerjaan penyempurnaan pada SageMaker HyperPod

Mempersiapkan data Anda

Untuk informasi tentang format data, fitur yang didukung, batasan, dan praktik terbaik untuk menyiapkan data pelatihan SFT, lihatMempersiapkan data untuk SFT di Amazon Nova 2.

Mengunggah data Anda

Unggah kumpulan data pelatihan dan validasi ke bucket S3. Tentukan lokasi ini di run blok resep:

## Run config run: ... data_s3_path: "s3://<bucket-name>/<training-directory>/<training-file>.jsonl"
catatan

Ganti<bucket-name>,<training-directory>,<validation-directory>,<training-file>, dan <validation-file> dengan jalur S3 yang sebenarnya.

catatan

Kumpulan data validasi saat ini tidak didukung untuk SFT dengan Amazon Nova 2.0. Jika dataset validasi disediakan, itu akan diabaikan.

Mendefinisikan konfigurasi Anda

Tentukan model dasar menggunakan model_name_or_path bidang model_type dan di run blok:

## Run config run: ... model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: nova-lite-2/prod ...

Parameter penyetelan SFT

Parameter yang tersedia untuk penyetelan dengan SFT meliputi:

Jalankan konfigurasi

  • nama: Nama deskriptif untuk pekerjaan pelatihan Anda. Ini membantu mengidentifikasi pekerjaan Anda di Konsol AWS Manajemen.

  • model_type: Varian model Amazon Nova yang akan digunakan. Opsi yang tersedia adalahamazon.nova-2-lite-v1:0:256k.

  • model_name_or_path: Jalur ke model dasar yang akan digunakan untuk pelatihan Anda. Opsi yang tersedia adalahnova-lite-2/prod, atau jalur S3 untuk pos pemeriksaan pasca-pelatihan ()s3://customer-escrow-bucket-unique_id/training_run_name.

  • replika: Jumlah instance komputasi yang digunakan untuk pelatihan terdistribusi. Nilai yang tersedia bervariasi berdasarkan model yang Anda pilih. Amazon Nova Lite 2.0 mendukung 4, 8, 16, atau 32 replika.

  • data_s3_path: Lokasi S3 dari kumpulan data pelatihan, yang merupakan file JSONL. File ini harus berada di AWS akun dan Wilayah yang sama dengan cluster. Semua lokasi S3 yang disediakan harus berada di akun dan Wilayah yang sama.

  • validation_data_s3_path: (Opsional) Lokasi S3 dari dataset validasi, yang merupakan file JSONL. File ini harus berada di akun dan wilayah yang sama dengan cluster. Semua lokasi S3 yang disediakan harus berada di akun dan Wilayah yang sama.

  • output_s3_path: Lokasi S3 tempat manifes dan TensorBoard log disimpan. Semua lokasi S3 yang disediakan harus berada di AWS akun dan AWS Wilayah yang sama.

  • mlflow_tracking_uri: ARN Aplikasi MLFlow untuk digunakan untuk pencatatan MLFlow.

  • mlflow_experiment_name: Nama percobaan MLFlow.

  • mlflow_run_name: nama jalankan MLFlow.

Konfigurasi pelatihan

  • max_steps: Jumlah langkah pelatihan yang akan dijalankan. Setiap langkah akan melatih model dengan global_batch_size sejumlah elemen.

  • save_steps: Frekuensi (dalam langkah-langkah) untuk menyimpan pos pemeriksaan model selama pelatihan.

  • save_top_k: Jumlah maksimum pos pemeriksaan terbaik untuk dipertahankan berdasarkan metrik validasi.

  • max_length: Panjang urutan maksimum dalam token. Ini menentukan ukuran jendela konteks untuk pelatihan. Nilai maksimum yang didukung adalah 32768 token untuk SFT.

    Urutan yang lebih panjang akan meningkatkan efisiensi pelatihan dengan mengorbankan peningkatan kebutuhan memori. Kami menyarankan agar Anda mencocokkan parameter max_length dengan distribusi data Anda.

  • global_batch_size: Jumlah total sampel pelatihan yang diproses bersama dalam satu pass maju atau mundur di semua perangkat dan pekerja.

    Nilai ini mengalikan ukuran batch per perangkat dan jumlah perangkat. Ini mempengaruhi stabilitas pelatihan dan throughput. Kami menyarankan Anda memulai dengan ukuran batch yang sesuai dengan memori Anda dan meningkatkan skala dari sana. Untuk data khusus domain, batch yang lebih besar mungkin gradien terlalu mulus.

  • resoning_enabled: Bendera Boolean untuk mengaktifkan kemampuan penalaran selama pelatihan.

Penjadwal tingkat pembelajaran

  • warmup_steps: Jumlah langkah untuk meningkatkan tingkat pembelajaran secara bertahap. Ini meningkatkan stabilitas pelatihan.

  • min_lr: Tingkat pembelajaran minimum pada akhir pembusukan. Nilai yang valid antara 0-1, inklusif, tetapi harus kurang dari tingkat pembelajaran.

Konfigurasi pengoptimal

  • lr: Tingkat pembelajaran, yang mengontrol ukuran langkah selama pengoptimalan. Kami merekomendasikan nilai antara 1e-6-1e-4 untuk kinerja yang baik. Nilai yang valid adalah antara 0-1, inklusif.

  • weight_: Kekuatan regularisasi L2. Nilai yang lebih tinggi (antara 0,01-0,1) meningkatkan regularisasi.

  • adam_beta1: Tingkat peluruhan eksponensial untuk perkiraan momen pertama di pengoptimal Adam. Defaultnya adalah 0.9.

  • adam_beta2: Tingkat peluruhan eksponensial untuk perkiraan momen kedua di pengoptimal Adam. Defaultnya adalah 0,95.

Konfigurasi PEFT

  • peft_scheme: Skema penyempurnaan parameter yang efisien untuk digunakan. Pilihannya adalah 'null' untuk penyempurnaan peringkat penuh atau lora untuk LoRA-based penyetelan halus.

Penyetelan LoRa (ketika peft_scheme adalah 'lora')

  • alpha: Parameter penskalaan LoRa. Mengontrol besarnya adaptasi peringkat rendah. Nilai tipikal berkisar antara 8 hingga 128.

  • lora_plus_lr_ratio: Rasio tingkat pembelajaran untuk pengoptimalan LoRa+. Pengganda ini menyesuaikan tingkat pembelajaran khusus untuk parameter LoRa.

Panduan hyperparameter

Gunakan hyperparameter yang direkomendasikan berikut berdasarkan pendekatan pelatihan:

Pelatihan Peringkat Penuh

  • Zaman: 1

  • Tingkat pembelajaran (lr): 1e-5

  • Tingkat pembelajaran minimum (min_lr): 1e-6

LoRa (Low-Rank Adaptasi)

  • Zaman: 2

  • Tingkat pembelajaran (lr): 5e-5

  • Tingkat pembelajaran minimum (min_lr): 1e-6

catatan

Sesuaikan nilai-nilai ini berdasarkan ukuran dataset dan kinerja validasi. Pantau metrik pelatihan untuk mencegah kelebihan pemasangan.