

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
<a name="nova-sft-2-smhp"></a>

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 dalam[Fitur yang didukung](nova-data-prep-sft-2.md#nova-2-supported-features).

Untuk menentukan apakah SFT cocok untuk kasus penggunaan Anda, lihat[Penyetelan halus yang diawasi (SFT)](nova-fine-tune.md).

**Topics**
+ [Pemilihan mode penalaran (hanya Nova 2.0)](#nova-sft-2-reasoning-mode)
+ [Memulai pekerjaan penyempurnaan pada SageMaker HyperPod](#nova-sft-2-creating-job)
+ [Parameter penyetelan SFT](#nova-sft-2-tuning-parameters)
+ [Panduan hyperparameter](#nova-sft-2-hyperparameters)

## Contoh resep SFT
<a name="nova-sft-2-sample-recipe"></a>

Di bawah ini adalah contoh resep untuk SFT. Anda dapat menemukan resep ini dan lainnya di [ repositori ](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection/recipes/fine-tuning/nova) 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)
<a name="nova-sft-2-reasoning-mode"></a>

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.

### Menggunakan mode penalaran dengan kumpulan data non-penalaran
<a name="nova-sft-2-reasoning-non-reasoning-data"></a>

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`)

1. 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](nova-model-recipes.md).

## Memulai pekerjaan penyempurnaan pada SageMaker HyperPod
<a name="nova-sft-2-creating-job"></a>

### Mempersiapkan data Anda
<a name="nova-sft-2-preparing-data"></a>

Untuk informasi tentang format data, fitur yang didukung, batasan, dan praktik terbaik untuk menyiapkan data pelatihan SFT, lihat[Mempersiapkan data untuk SFT di Amazon Nova 2](nova-data-prep-sft-2.md).

### Mengunggah data Anda
<a name="nova-sft-2-data-upload"></a>

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
<a name="nova-sft-2-defining-config"></a>

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
<a name="nova-sft-2-tuning-parameters"></a>

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 adalah`amazon.nova-2-lite-v1:0:256k`.
+ **model\_name\_or\_path**: Jalur ke model dasar yang akan digunakan untuk pelatihan Anda. Opsi yang tersedia adalah`nova-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
<a name="nova-sft-2-hyperparameters"></a>

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.