

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

# Pra-pelatihan lanjutan (CPT) di Nova 2.0 pada SageMaker HyperPod
<a name="nova-cpt-2"></a>

Amazon Nova Lite 2.0 adalah model penalaran yang dilatih pada kumpulan data yang lebih besar dan lebih beragam daripada Nova Lite 1.0. Meskipun merupakan model yang lebih besar, Nova Lite 2.0 memberikan inferensi yang lebih cepat daripada Nova Lite 1.0 sambil menawarkan kemampuan penalaran yang ditingkatkan, panjang konteks yang lebih panjang, dan peningkatan kinerja multibahasa.

Dengan CPT di Nova 2.0 Lite, Anda dapat memperluas kemampuan canggih ini dengan data khusus domain Anda dan mengembangkan keahlian mendalam di bidang khusus sambil mempertahankan kemampuan penalaran dan analitis model yang unggul.

## Contoh resep CPT
<a name="nova-cpt-2-sample-recipe"></a>

Berikut ini adalah contoh resep untuk CPT. Anda dapat menemukan resep ini dan lainnya di [ repositori ](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection/recipes/training/nova) SageMaker HyperPod resep di GitHub.

```
# Note:
# This recipe can run on p5.48xlarge
# Run config
run:
  name: "my-cpt-run"                           # A descriptive name for your training job
  model_type: "amazon.nova-2-lite-v1:0:256k"   # Model variant specification, do not change
  model_name_or_path: "nova-lite-2/prod"        # Base model path, do not change
  replicas: 8                                   # Number of compute instances for training, allowed values are 4, 8, 16, 32
  data_s3_path: ""                              # Customer data paths
  validation_data_s3_path: ""                   # Customer validation data paths
  output_s3_path: ""                            # Output artifact path, SageMaker HyperPod job-specific configuration - not compatible with standard SageMaker Training Jobs
  mlflow_tracking_uri: ""                       # Required for MLFlow
  mlflow_experiment_name: "my-cpt-experiment"   # Optional for MLFlow. Note: leave this field non-empty
  mlflow_run_name: "my-cpt-run"                 # Optional for MLFlow. Note: leave this field non-empty

## Training specific configs
training_config:
  task_type: cpt
  max_length: 8192                              # Maximum context window size (tokens)
  global_batch_size: 256                        # Global batch size, allowed values are 32, 64, 128, 256.

  trainer:
    max_steps: 10                               # The number of training steps to run total
    val_check_interval: 10                      # The number of steps between running validation. Integer count or float percentage
    limit_val_batches: 2                        # Batches of the validation set to use each trigger

  model:
    hidden_dropout: 0.0                         # Dropout for hidden states, must be between 0.0 and 1.0
    attention_dropout: 0.0                      # Dropout for attention weights, must be between 0.0 and 1.0

  optim:
    optimizer: adam
    lr: 1e-5                                    # Learning rate
    name: distributed_fused_adam                # Optimizer algorithm, do not change
    adam_w_mode: true                           # Enable AdamW mode
    eps: 1e-06                                  # Epsilon for numerical stability
    weight_decay: 0.0                           # L2 regularization strength, must be between 0.0 and 1.0
    adam_beta1: 0.9                             # Beta1 for Adam optimizer
    adam_beta2: 0.95                            # Beta2 for Adam optimizer
    sched:
      warmup_steps: 10                          # Learning rate warmup steps
      constant_steps: 0                         # Steps at constant learning rate
      min_lr: 1e-6                              # Minimum learning rate, must be lower than lr
```

## Memulai pekerjaan pra-pelatihan lanjutan pada SageMaker HyperPod
<a name="nova-cpt-2-starting-job"></a>

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

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

### Mengunggah data Anda
<a name="nova-cpt-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"
  validation_data_s3_path: "s3://<bucket-name>/<validation-directory>/<validation-file>.jsonl"
```

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

### Mendefinisikan konfigurasi Anda
<a name="nova-cpt-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 CPT
<a name="nova-cpt-2-tuning-parameters"></a>

Parameter yang tersedia untuk penyempurnaan dengan CPT 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 yang akan digunakan untuk pencatatan MLFlow
+ **mlflow\_experiment\_name: Nama percobaan ** MLFlow
+ **mlflow\_run\_name: nama jalankan ** MLFlow

**Konfigurasi pelatihan**  

+ **max\_length**: Panjang urutan maksimum dalam token. Ini menentukan ukuran jendela konteks untuk pelatihan. Nilai maksimum yang didukung adalah 8192 token untuk CPT.

  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.

**Pengaturan pelatih**  

+ **max\_steps**: Jumlah langkah pelatihan yang akan dijalankan. Setiap langkah akan melatih model `global_batch_size` dengan jumlah elemen

**Pengaturan model**  

+ **hidden\_dropout**: Probabilitas kehilangan output status tersembunyi. Tingkatkan nilai ini sekitar 0,0-0,2 untuk mengurangi overfitting pada kumpulan data yang lebih kecil. Nilai yang valid adalah antara 0-1, inklusif.
+ **attention\_dropout**: Kemungkinan kehilangan bobot perhatian. Parameter ini dapat membantu generalisasi. Nilai yang valid adalah antara 0-1, inklusif.

**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.
+ **nama**: Algoritma pengoptimal. Saat ini, hanya `distributed_fused_adam` didukung.
+ **weight\_**: Kekuatan regularisasi L2. Nilai yang lebih tinggi (antara 0,01-0,1) meningkatkan regularisasi.
+ **warmup\_steps**: Jumlah langkah untuk meningkatkan tingkat pembelajaran secara bertahap. Ini meningkatkan stabilitas pelatihan. Nilai yang valid adalah antara 1-20, inklusif.
+ **min\_lr**: Tingkat pembelajaran minimum pada akhir pembusukan. Nilai yang valid antara 0-1, inklusif, tetapi harus kurang dari tingkat pembelajaran.