

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

# Buat dan kelola pekerjaan fine-tuning untuk model Amazon Nova
<a name="rft-submit-job"></a>

Anda dapat membuat pekerjaan reinforcement fine-tuning (RFT) menggunakan konsol Amazon Bedrock atau API. Pekerjaan RFT dapat memakan waktu beberapa jam tergantung pada ukuran data pelatihan Anda, jumlah zaman, dan kompleksitas fungsi hadiah Anda.

## Prasyarat
<a name="rft-prerequisites"></a>
+ Buat peran layanan IAM dengan izin yang diperlukan. Untuk informasi keamanan dan izin yang komprehensif termasuk izin khusus RFT, lihat. [Akses dan keamanan untuk model Amazon Nova](rft-access-security.md)
+ (Opsional) Enkripsi data input dan output, pekerjaan RFT Anda, atau permintaan inferensi yang dibuat untuk model kustom. Untuk informasi selengkapnya, lihat [Enkripsi model kustom](https://docs.aws.amazon.com/bedrock/latest/userguide/encryption-custom-job.html).

## Buat pekerjaan RFT Anda
<a name="rft-submit-job-how-to"></a>

Pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

------
#### [ Console ]

Untuk mengirimkan pekerjaan RFT di konsol, lakukan langkah-langkah berikut:

1. Buka konsol Amazon Bedrock dan navigasikan ke **model Kustom** di bawah **Tune**.

1. Pilih **Buat**, lalu **Buat pekerjaan fine-tuning tulangan**.

1. Di bagian **Detail model**, pilih **Amazon Nova 2 Lite** sebagai model dasar Anda.

1. Di bagian **Detail kustomisasi**, masukkan nama kustomisasi.

1. Di bagian **Data pelatihan**, pilih sumber data Anda. Pilih dari log pemanggilan yang tersedia yang disimpan di Amazon S3, atau pilih lokasi Amazon S3 dari file kumpulan data pelatihan Anda, atau unggah file langsung dari perangkat Anda.
**catatan**  
Dataset pelatihan Anda harus dalam format data Penyelesaian Obrolan OpenAI. Jika Anda memberikan log pemanggilan dalam format pemanggilan atau percakapan Amazon Bedrock, Amazon Bedrock secara otomatis mengonversinya ke format Penyelesaian Obrolan.

1. Di bagian **fungsi Reward**, siapkan mekanisme reward Anda:
   + **Model sebagai hakim (RLAIF)** - Pilih model dasar yang dihosting Bedrock sebagai hakim dan konfigurasikan instruksi untuk evaluasi. Gunakan ini untuk tugas subjektif seperti moderasi konten.
**catatan**  
Opsi **Model sebagai hakim** konsol secara otomatis mengubah konfigurasi Anda menjadi fungsi Lambda selama pelatihan.
   + **Kode kustom (RLVR)** - Buat fungsi hadiah khusus menggunakan kode Python yang dijalankan melalui fungsi Lambda. Gunakan ini untuk tugas-tugas objektif seperti pembuatan kode.

   Untuk informasi selengkapnya, lihat [Menyiapkan fungsi hadiah untuk model Amazon Nova](reward-functions.md).

1. (Opsional) Di bagian **Hyperparameters**, sesuaikan parameter pelatihan atau gunakan nilai default.

1. Di bagian **Data keluaran**, masukkan lokasi Amazon S3 tempat Amazon Bedrock harus menyimpan output pekerjaan.

1. Di bagian **Konfigurasi peran**, pilih peran yang ada dari daftar tarik-turun atau masukkan nama untuk peran layanan yang akan dibuat.

1. (Opsional) Di bagian **Konfigurasi tambahan**, konfigurasikan data validasi dengan menunjuk ke bucket Amazon S3, setelan enkripsi KMS, serta tag job dan model.

1. Pilih **Buat pekerjaan fine-tuning tulangan untuk memulai pekerjaan**.

------
#### [ API ]

Kirim CreateModelCustomizationJob permintaan dengan `customizationType` set ke`REINFORCEMENT_FINE_TUNING`.

**Bidang yang diperlukan:** `roleArn``baseModelIdentifier`,`customModelName`,`jobName`,,`trainingDataConfig`,`outputDataConfig`, `rftConfig`

**Permintaan contoh:**

```
{
    "roleArn": "arn:aws:iam::123456789012:role/BedrockRFTRole",
    "baseModelIdentifier": "amazon.nova-2.0",
    "customModelName": "my-rft-model",
    "jobName": "my-rft-job",
    "customizationType": "REINFORCEMENT_FINE_TUNING",
    "trainingDataConfig": {
        "s3Uri": "s3://my-bucket/training-data.jsonl"
    },
    "customizationConfig": {
        "rftConfig" : {
            "graderConfig": {
                "lambdaGrader": {
                    "lambdaArn": "arn:aws:lambda:us-east-1:123456789012:function:function-name"
                }
            },
            "hyperParameters": {
                "batchSize": 64,
                "epochCount": 2,
                "evalInterval": 10,
                "inferenceMaxTokens": 8192,
                "learningRate": 0.00001,
                "maxPromptLength": 4096,
                "reasoningEffort": "high",
                "trainingSamplePerPrompt": 4
            }
        }
    },
    "outputDataConfig": {
        "s3Uri": "s3://my-bucket/rft-output/"
    }
}
```

**Permintaan sampel API Python:**

```
import boto3

bedrock = boto3.client(service_name='bedrock')
    
# Set parameters
customizationType = "REINFORCEMENT_FINE_TUNING"
baseModelIdentifier = "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-2-lite-v1:0:256k"
roleArn = "${your-customization-role-arn}"
jobName = "MyFineTuningJob"
customModelName = "MyCustomModel"

customizationConfig = {
    'rftConfig' : {
        'graderConfig': {
            'lambdaGrader': {
                'lambdaArn': 'arn:aws:lambda:us-east-1:123456789012:function:function-name'
            }
        },
        'hyperParameters': {
            'batchSize': 64,
            'epochCount': 2,
            'evalInterval': 10,
            'inferenceMaxTokens': 8192,
            'learningRate':0.00001,
            'maxPromptLength': 4096,
            'reasoningEffort': 'high',
            'trainingSamplePerPrompt':4
        }
    }
}

trainingDataConfig = {"s3Uri": "s3://${training-bucket}/myInputData/train.jsonl"}
outputDataConfig = {"s3Uri": "s3://${output-bucket}/myOutputData"}

# Create job
response_ft = bedrock.create_model_customization_job(
    jobName=jobName, 
    customModelName=customModelName,
    roleArn=roleArn,
    baseModelIdentifier=baseModelIdentifier,
    customizationConfig=customizationConfig,
    trainingDataConfig=trainingDataConfig,
    outputDataConfig=outputDataConfig,
    customizationType=customizationType
)

jobArn = response_ft['jobArn']
```

------

## Pantau pekerjaan pelatihan RFT Anda
<a name="rft-monitor-job"></a>

Amazon Bedrock menyediakan pemantauan real-time dengan grafik dan metrik visual selama pelatihan RFT. Metrik ini membantu Anda memahami apakah model menyatu dengan benar dan apakah fungsi hadiah secara efektif memandu proses pembelajaran.

### Pelacakan status Job
<a name="rft-job-status"></a>

Anda dapat memantau status pekerjaan RFT Anda melalui fase validasi dan pelatihan di konsol Amazon Bedrock.

**Indikator penyelesaian:**
+ Status Job berubah menjadi **Selesai** saat pelatihan berhasil diselesaikan
+ Model khusus ARN menjadi tersedia untuk penerapan
+ Metrik pelatihan mencapai ambang konvergensi

### Metrik pelatihan waktu nyata
<a name="rft-real-time-metrics"></a>

Amazon Bedrock menyediakan pemantauan waktu nyata selama pelatihan RFT dengan grafik visual yang menampilkan metrik pelatihan dan validasi.

#### Metrik pelatihan inti
<a name="rft-core-metrics"></a>
+ **Kehilangan pelatihan** - Mengukur seberapa baik model belajar dari data pelatihan
+ **Statistik hadiah pelatihan** - Menampilkan skor hadiah yang ditetapkan oleh fungsi hadiah Anda
+ **Margin hadiah** - Mengukur perbedaan antara imbalan respons baik dan buruk
+ **Akurasi pada set pelatihan dan validasi** - Menunjukkan kinerja model pada data pelatihan dan held-out

**Kategori metrik terperinci**
+ **Metrik hadiah** —`critic/rewards/mean`,`critic/rewards/max`, `critic/rewards/min` (distribusi hadiah), dan `val-score/rewards/mean@1` (hadiah validasi)
+ **Perilaku model** — `actor/entropy` (variasi kebijakan; lebih tinggi sama dengan lebih eksplorasi)
+ **Kesehatan pelatihan** — `actor/pg_loss` (kehilangan gradien kebijakan), `actor/pg_clipfrac` (frekuensi pembaruan terpotong), dan `actor/grad_norm` (besarnya gradien)
+ **Karakteristik respons** — `prompt_length/mean``prompt_length/max`,, `prompt_length/min` (statistik token masukan)`response_length/mean`,,`response_length/max`, `response_length/min` (statistik token keluaran), dan `response/aborted_ratio` (tingkat pembangkitan tidak lengkap; 0 sama dengan semua selesai)
+ **Kinerja** — `perf/throughput` (throughput pelatihan), `perf/time_per_step` (waktu per langkah pelatihan), dan `timing_per_token_ms/*` (waktu pemrosesan per token)
+ **Penggunaan sumber daya** —`perf/max_memory_allocated_gb`, `perf/max_memory_reserved_gb` (memori GPU), dan `perf/cpu_memory_used_gb` (memori CPU)

#### Visualisasi kemajuan pelatihan
<a name="rft-progress-visualization"></a>

Konsol menampilkan grafik interaktif yang diperbarui secara real-time saat pekerjaan RFT Anda berlangsung. Visualisasi ini dapat membantu Anda:
+ Lacak konvergensi menuju kinerja optimal
+ Identifikasi potensi masalah pelatihan lebih awal
+ Tentukan titik berhenti yang optimal
+ Bandingkan kinerja di berbagai zaman

## Mengatur inferensi
<a name="rft-setup-inference"></a>

Setelah pekerjaan selesai, terapkan model RFT untuk inferensi sesuai permintaan atau gunakan Provisioned Throughput untuk kinerja yang konsisten. Untuk menyiapkan inferensi, lihat[Siapkan inferensi untuk model khusus](model-customization-use.md).

Gunakan **Test in Playground** untuk mengevaluasi dan membandingkan respons dengan model dasar. Untuk mengevaluasi model RFT Anda yang telah selesai, lihat. [Evaluasi model RFT Anda](rft-evaluate-model.md)