

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

# Sempurnakan Nova 1.0
<a name="nova-fine-tune-1"></a>

**catatan**  
Anda dapat menyempurnakan seri model Amazon Nova 1.0 menggunakan Supervised Fine-Tuning (SFT) dan Direct Preference Optimization. Untuk menyempurnakan model Nova 2.0, lihat [Fine-tune](https://docs.aws.amazon.com//nova/latest/nova2-userguide/nova-fine-tune-2.html) Nova 2.0.

## Prasyarat
<a name="nova-model-training-jobs-prerequisites"></a>

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 AWS Region mana Anda membuat semua sumber daya lain untuk pelatihan. Untuk informasi selengkapnya, lihat [Membuat bucket tujuan umum](https://docs.aws.amazon.com//AmazonS3/latest/userguide/create-bucket-overview.html).
+ 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](https://docs.aws.amazon.com//sagemaker/latest/dg/sagemaker-roles.html).
+ Resep dasar Amazon Nova, lihat[Mendapatkan resep Amazon Nova](nova-model-recipes.md#nova-model-get-recipes).

## Persiapan data
<a name="nova-model-training-prepare-data"></a>

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.

### Persyaratan format data
<a name="nova-model-training-prepare-data-format"></a>

**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, lihat. [Mempersiapkan data untuk fine-tuning multimodal](fine-tune-prepare-data-understanding.md)

[Validasi data SFT - Untuk memvalidasi format kumpulan data Anda sebelum pengiriman, sebaiknya gunakan skrip validasi berikut dari repositori sampel Amazon Bedrock.](https://github.com/aws-samples/amazon-bedrock-samples/blob/main/custom-models/bedrock-fine-tuning/nova/understanding/dataset_validation/nova_ft_dataset_validator.py) 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 yang ditunjukkan di bawah ini. 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 [Mempersiapkan data untuk fine-tuning multimodal](fine-tune-prepare-data-understanding.md). 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
<a name="nova-model-training-prepare-data-example"></a>

**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"
                }
            ]
        }
    ],
}
```

### Batas set data
<a name="nova-model-training-prepare-data-limits"></a>

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](https://docs.aws.amazon.com//servicequotas/latest/userguide/request-quota-increase.html).

**Batas set data SFT**



- ** Pekerjaan panjang konteks 32k **
  - **Model:** Amazon Nova Mikro / **Metode:** Peringkat penuh dan LoRa / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Model:** Amazon Nova Lite / **Metode:** Peringkat penuh / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Gambar dan video / **Deskripsi:** 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.
  - **Metode:** LoRa / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Gambar dan video / **Deskripsi:** 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.
  - **Model:** Amazon Nova Pro / **Metode:** Peringkat penuh / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Gambar dan video / **Deskripsi:** 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.
  - **Metode:** LoRa / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Gambar dan video / **Deskripsi:** 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 **
  - **Model:** Amazon Nova Mikro / **Metode:** Peringkat penuh dan LoRa / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Model:** Amazon Nova Lite / **Metode:** Peringkat penuh / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Gambar dan video / **Deskripsi:** 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.
  - **Metode:** LoRa / **Set data:** - / **Deskripsi:** LoRa tidak didukung pada 64k untuk Nova Lite.
  - **Model:** Amazon Nova Pro / **Metode:** Peringkat penuh dan LoRa / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Gambar dan video / **Deskripsi:** 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



- ** Pekerjaan panjang konteks 16k **
  - **Model:** Amazon Nova Mikro / **Metode:** Peringkat penuh / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Metode:** LoRa / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Model:** Amazon Nova Lite / **Metode:** Peringkat penuh / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Citra / **Deskripsi:** 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
  - **Metode:** LoRa / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Citra / **Deskripsi:** 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.
  - **Model:** Amazon Nova Pro / **Metode:** Peringkat penuh / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Citra / **Deskripsi:** 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
  - **Metode:** LoRa / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Citra / **Deskripsi:** 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 **
  - **Model:** Amazon Nova Mikro / **Metode:** Peringkat penuh / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Metode:** LoRa / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Model:** Amazon Nova Lite / **Metode:** Peringkat penuh / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Citra / **Deskripsi:** 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.
  - **Metode:** LoRa / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Citra / **Deskripsi:** 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.
  - **Model:** Amazon Nova Pro / **Metode:** Peringkat penuh / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Citra / **Deskripsi:** 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.
  - **Metode:** LoRa / **Set data:** Teks saja / **Deskripsi:** 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.
  - **Set data:** Citra / **Deskripsi:** 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
<a name="nova-model-training-jobs-recipe-config"></a>

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 dalam [Memilih hyperparameters](https://docs.aws.amazon.com//nova/latest/userguide/customize-fine-tune-hyperparameters.html).

### Konfigurasi fine-tuning (SFT peringkat penuh dan LoRa PEFT)
<a name="nova-model-training-jobs-recipe-config-1"></a>

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 [resep](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection/recipes). Tabel berikut menunjukkan konfigurasi terperinci yang mungkin berguna bagi Anda.

Tentang **konfigurasi “jalankan”**.


|  | Key | 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 digunakan untuk pelatihan terdistribusi. | 2, 4 atau 8 | 4, 8 atau 16 | 6, 12 atau 24 | 

Tentang konfigurasi **“training\_config**”.



- ****
  - **Kunci root:** 
  - **Kunci anak:** max\_length
  - **Definisi:** 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).
  - **Min:** 1024
  - **Maks:** 65536, kecuali Lite LoRa yang mendukung 32768.

- ****
  - **Kunci root:** 
  - **Kunci anak:** global\_batch\_size
  - **Definisi:** Total sampel per langkah, nilai yang diizinkan adalah 16, 32, 64. Nilai maks: 32 untuk Nova Pro, 64 untuk Nova Lite dan Micro.
  - **Min:** 16
  - **Maks:** 32 untuk Nova Pro, 64 untuk Nova Lite dan Micro.

- ****Konfigurasi pelatih****
  - **Kunci root:** pelatih
  - **Kunci anak:** max\_epoch
  - **Definisi:** Jumlah lintasan lengkap melalui kumpulan data pelatihan Anda. Untuk sebagian besar tugas penyesuaian, 1-5 zaman biasanya cukup. Disarankan untuk menjaga hingga 5.
  - **Min:** 1
  - **Maks:** -

- ****Konfigurasi model****
  - **Kunci root:** model / **Kunci anak:** tersembunyi\_putus sekolah / **Definisi:** Probabilitas menjatuhkan output status tersembunyi. Tingkatkan (0,0-0,2) untuk mengurangi overfitting pada kumpulan data yang lebih kecil. Batasnya antara 0 - 1. / **Min:** 0 / **Maks:** 1
  - **Kunci root:** model / **Kunci anak:** attention\_dropout / **Definisi:** Probabilitas menjatuhkan bobot perhatian. Dapat membantu generalisasi. Batasnya antara 0 - 1. / **Min:** 0 / **Maks:** 1
  - **Kunci root:** model / **Kunci anak:** ffn\_dropout / **Definisi:** Probabilitas menjatuhkan output jaringan feed-forward. Batasnya antara 0 - 1. / **Min:** 0 / **Maks:** 1

- ****Konfigurasi pengoptimal****
  - **Kunci root:** model.optim / **Kunci anak:** lr / **Definisi:** Tingkat pembelajaran, mengontrol ukuran langkah selama pengoptimalan. Batasnya antara 0 dan 1. Biasanya diatur antara 1e-6 dan 1e-4. untuk kinerja yang baik. / **Min:** 0 / **Maks:** 1
  - **Kunci root:** model.optim / **Kunci anak:** name / **Definisi:** Algoritma pengoptimal. Saat ini, hanya `distributed_fused_adam` didukung. / **Min:** - / **Maks:** -
  - **Kunci root:** model.optim / **Kunci anak:** adam\_w\_mode / **Definisi:** Aktifkan mode AdamW (benar/salah). / **Min:** - / **Maks:** -
  - **Kunci root:** model.optim / **Kunci anak:** eps / **Definisi:** Epsilon untuk stabilitas numerik. / **Min:**  / **Maks:** 
  - **Kunci root:** model.optim / **Kunci anak:** weight\_decay / **Definisi:** Kekuatan regularisasi L2, harus antara 0,0 dan 1,0. / **Min:** 0 / **Maks:** 1
  - **Kunci root:** model.optim / **Kunci anak:** beta / **Definisi:** Adam optimizer beta, harus antara 0,0 dan 1,0. / **Min:** 0 / **Maks:** 1
  - **Kunci root:** model.optim / **Kunci anak:** sched\_warmup\_steps / **Definisi:** Jumlah langkah untuk secara bertahap meningkatkan tingkat pembelajaran. Ini meningkatkan stabilitas pelatihan. Antara 1 dan 20. / **Min:** 1 / **Maks:** 20
  - **Kunci root:** model.optim / **Kunci anak:** sched\_constant\_steps / **Definisi:** Langkah-langkah pada tingkat pembelajaran konstan. / **Min:** 1.00E-10 / **Maks:** 1.00E-06
  - **Kunci root:** model.optim / **Kunci anak:** sched.min\_lr / **Definisi:** Tingkat pembelajaran minimum pada akhir pembusukan. Batasnya antara 0 dan 1, tetapi harus kurang dari tingkat pembelajaran. / **Min:** 0 / **Maks:** 1

- ** **Konfigurasi LoRa PEFT** **
  - **Kunci root:** model.peft / **Kunci anak:** peft\_scheme / **Definisi:** Gunakan “lora” atau “null”. “lora” menggunakan metode LoRa PEFT untuk fine-tuning hemat parameter. “null” memulai fine tuning peringkat penuh. / **Min:** - / **Maks:** -
  - **Kunci root:** model.peft / **Kunci anak:** lora\_tuning.loraplus\_lr\_ratio / **Definisi:** Faktor penskalaan tingkat pembelajaran LoRa\+, harus antara 0.0 dan 100.0. / **Min:** 0 / **Maks:** 100
  - **Kunci root:** model.peft / **Kunci anak:** lora\_tuning.alpha / **Definisi:** Faktor penskalaan untuk bobot LoRa. Nilai yang diizinkan adalah 32, 64, 96, 128, 160 dan 192. / **Min:** 32 / **Maks:** 192
  - **Kunci root:** model.peft / **Kunci anak:** lora\_tuning.adapter\_dropout / **Definisi:** Regularisasi untuk parameter LoRa. Harus antara 0,0 dan 1,0. / **Min:** 0 / **Maks:** 1



### Menyetel konfigurasi khusus (DPO)
<a name="nova-model-training-jobs-recipe-config-2"></a>

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 [resep](https://github.com/aws/sagemaker-hyperpod-recipes/tree/main/recipes_collection/recipes). Tabel berikut menunjukkan konfigurasi terperinci yang mungkin berguna bagi Anda.



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

- ****
  - **Kunci root:** 
  - **Kunci anak:** global\_batch\_size
  - **Definisi:** Ukuran batch global, nilai yang diizinkan adalah {16, 32, 64, 128, 256}.
  - **Min:** 16
  - **Maks:** 256

- ****Konfigurasi pelatih****
  - **Kunci root:** pelatih
  - **Kunci anak:** max\_epoch
  - **Definisi:** Jumlah lintasan lengkap melalui kumpulan data pelatihan Anda. Untuk sebagian besar tugas penyesuaian, 1-5 zaman biasanya cukup. Epoch Max adalah 5.
  - **Min:** 1
  - **Maks:** 5

- ****Konfigurasi model****
  - **Kunci root:** model / **Kunci anak:** tersembunyi\_putus sekolah / **Definisi:** Probabilitas menjatuhkan output status tersembunyi. Tingkatkan (0,0-0,2) untuk mengurangi overfitting pada kumpulan data yang lebih kecil. Batasnya antara 0 - 1. / **Min:** 0 / **Maks:** 1
  - **Kunci root:** model / **Kunci anak:** attention\_dropout / **Definisi:** Probabilitas menjatuhkan bobot perhatian. Dapat membantu generalisasi. Batasnya antara 0 - 1. / **Min:** 0 / **Maks:** 1
  - **Kunci root:** model / **Kunci anak:** ffn\_dropout / **Definisi:** Probabilitas menjatuhkan output jaringan feed-forward. Batasnya antara 0 - 1. / **Min:** 0 / **Maks:** 1

- ****Konfigurasi pengoptimal****
  - **Kunci root:** model.optim / **Kunci anak:** lr / **Definisi:** Tingkat pembelajaran, mengontrol ukuran langkah selama pengoptimalan. Batasnya antara 0 dan 1. Biasanya diatur antara 1e-6 dan 1e-4. untuk kinerja yang baik. / **Min:** 0 / **Maks:** 1
  - **Kunci root:** model.optim / **Kunci anak:** name / **Definisi:** Algoritma pengoptimal. Saat ini, hanya `distributed_fused_adam` didukung. / **Min:** - / **Maks:** -
  - **Kunci root:** model.optim / **Kunci anak:** adam\_w\_mode / **Definisi:** Aktifkan mode AdamW (benar/salah). / **Min:** - / **Maks:** -
  - **Kunci root:** model.optim / **Kunci anak:** eps / **Definisi:** Epsilon untuk stabilitas numerik. / **Min:** 1.00E-10 / **Maks:** 1.00E-06
  - **Kunci root:** model.optim / **Kunci anak:** weight\_decay / **Definisi:** Kekuatan regularisasi L2, harus antara 0,0 dan 1,0. / **Min:** 0 / **Maks:** 1
  - **Kunci root:** model.optim / **Kunci anak:** beta / **Definisi:** Adam optimizer beta, harus antara 0,0 dan 1,0. / **Min:** 0 / **Maks:** 1
  - **Kunci root:** model.optim / **Kunci anak:** sched\_warmup\_steps / **Definisi:** Jumlah langkah untuk secara bertahap meningkatkan tingkat pembelajaran. Ini meningkatkan stabilitas pelatihan. Antara 1 dan 20. / **Min:** 1 / **Maks:** 20
  - **Kunci root:** model.optim / **Kunci anak:** sched\_constant\_steps / **Definisi:** Langkah-langkah pada tingkat pembelajaran konstan. / **Min:**  / **Maks:** 
  - **Kunci root:** model.optim / **Kunci anak:** sched.min\_lr / **Definisi:** Tingkat pembelajaran minimum pada akhir pembusukan. Batasnya antara 0 dan 1, tetapi harus kurang dari tingkat pembelajaran. / **Min:** 0 / **Maks:** 1

- ** **Konfigurasi LoRa PEFT** **
  - **Kunci root:** model.peft / **Kunci anak:** peft\_scheme / **Definisi:** Gunakan “lora” atau “null”. “lora” menggunakan metode LoRa PEFT untuk fine-tuning hemat parameter. “null” memulai fine tuning peringkat penuh. / **Min:** - / **Maks:** -
  - **Kunci root:** model.peft / **Kunci anak:** lora\_tuning.loraplus\_lr\_ratio / **Definisi:** Faktor penskalaan tingkat pembelajaran LoRa\+, harus antara 0.0 dan 100.0. / **Min:** 0 / **Maks:** 100
  - **Kunci root:** model.peft / **Kunci anak:** lora\_tuning.alpha / **Definisi:** Faktor penskalaan untuk bobot LoRa. Nilai yang diizinkan adalah 32, 64, 96, 128, 160 dan 192. / **Min:** 32 / **Maks:** 192
  - **Kunci root:** model.peft / **Kunci anak:** lora\_tuning.adapter\_dropout / **Definisi:** Regularisasi untuk parameter LoRa. Harus antara 0,0 dan 1,0. / **Min:** 0 / **Maks:** 1

- ****Konfigurasi DPO****
  - **Kunci root:** model-dpo\_cfg
  - **Kunci anak:** beta
  - **Definisi:** Kekuatan penegakan preferensi.
  - **Min:** 0,001
  - **Maks:** 0,1



## Menjalankan model Nova yang disesuaikan pada Pekerjaan SageMaker Pelatihan
<a name="nova-model-training-jobs-notebook"></a>

Bagian ini menunjukkan cara menjalankan model Nova yang disesuaikan pada SageMaker Training Jobs 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 SageMaker AI untuk penyesuaian model. Untuk informasi selengkapnya, lihat [Menggunakan estimator SageMaker AI untuk menjalankan pekerjaan pelatihan](https://docs.aws.amazon.com//sagemaker/latest/dg/docker-containers-adapt-your-own-private-registry-estimator.html).

### Tabel referensi
<a name="nova-model-training-jobs-reference-table"></a>

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 | Fine-tuning Jenis Job | 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 | 

### Notebook sampel
<a name="nova-model-training-jobs-notebook"></a>

Contoh notebook berikut menunjukkan cara menjalankan pekerjaan pelatihan. Untuk buku catatan awal tambahan tentang cara menyesuaikan model Nova menggunakan SageMaker Training Jobs, lihat [Menggunakan estimator SageMaker AI untuk menjalankan pekerjaan pelatihan](https://docs.aws.amazon.com//sagemaker/latest/dg/docker-containers-adapt-your-own-private-registry-estimator.html).

```
# 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 pengoptimalan hyperparameter
<a name="nova-model-hyperparameter"></a>

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](https://docs.aws.amazon.com//nova/latest/userguide/customize-fine-tune-hyperparameters.html). 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](https://docs.aws.amazon.com//nova/latest/userguide/fine-tune-hyperparameters-understanding-models.html) 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
  ```