RFT pada Nova 2.0 - Amazon SageMaker AI

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

RFT pada Nova 2.0

Data pelatihan RFT mengikuti format percakapan OpenAI. Setiap contoh pelatihan adalah objek JSON yang berisi pesan, jawaban referensi, dan definisi alat opsional. Bagian ini memberikan panduan tentang mempersiapkan data pelatihan yang efektif untuk RFT di Nova 2.0.

Format dan struktur data

Setiap contoh pelatihan adalah objek JSON yang berisi berikut ini:

  • pesan: Array giliran percakapan menggunakan sistem, pengguna, dan peran asisten opsional

  • reference_answer: Output yang diharapkan atau kriteria evaluasi untuk perhitungan hadiah

  • alat (opsional): Array definisi fungsi yang tersedia untuk model

  • id (opsional): Pengidentifikasi unik untuk pelacakan dan deduplikasi

Setiap contoh harus pada satu baris dalam file JSONL Anda, dengan satu objek JSON per baris.

Contoh berikut menunjukkan masalah kimia dengan jawaban referensi yang mengandung nilai kebenaran dasar:

{ "id": "chem-001", "messages": [ { "role": "system", "content": "You are a helpful chemistry assistant" }, { "role": "user", "content": "Predict hydrogen bond donors and acceptors for this SMILES: CCN(CC)CCC(=O)c1sc(N)nc1C" } ], "reference_answer": { "donor_bond_counts": 2, "acceptor_bond_counts": 4, "explanation": "Calculated using Lipinski's rule of five: N-H groups (2 donors), N and O atoms with lone pairs (4 acceptors)" } }
catatan

Reference_answer berisi nilai kebenaran dasar yang dihitung menggunakan aturan khusus domain. Fungsi hadiah Anda membandingkan nilai prediksi model dengan nilai referensi ini untuk menghitung skor hadiah.

Contoh berikut menunjukkan masalah matematika dengan langkah-langkah solusi:

{ "id": "math-001", "messages": [ { "role": "system", "content": "You are a math tutor" }, { "role": "user", "content": "Solve: 2x + 5 = 13" } ], "reference_answer": { "solution": "x = 4", "steps": ["2x = 13 - 5", "2x = 8", "x = 4"] } }

Contoh berikut menunjukkan penggunaan alat dengan perilaku yang diharapkan:

{ "id": "tool-001", "messages": [ { "role": "system", "content": "You are a helpful game master assistant" }, { "role": "user", "content": "Generate a strength stat for a warrior character. Apply a +2 racial bonus modifier." } ], "tools": [ { "type": "function", "function": { "name": "StatRollAPI", "description": "Generates character stats by rolling 4d6, dropping the lowest die result, and applying a modifier.", "parameters": { "type": "object", "properties": { "modifier": { "description": "An integer representing the modifier to apply to the total of the stat roll.", "type": "integer" } }, "required": ["modifier"] } } } ], "reference_answer": { "tool_called": "StatRollAPI", "tool_parameters": { "modifier": 2 }, "expected_behavior": "Call StatRollAPI with modifier=2 and return the calculated stat value" } }

Deskripsi bidang

Bidang

Deskripsi

Catatan tambahan

Diperlukan

id

Pengidentifikasi unik untuk contoh RFT ini

String (misalnya, “sample-001"). Berguna untuk melacak dan deduplikasi.

Tidak

pesan

Daftar pesan obrolan yang diurutkan yang menentukan prompt dan konteks

Array objek. Model melihat mereka secara berurutan. Biasanya dimulai dengan pesan sistem, lalu pengguna.

Ya

pesan [] .role

Siapa yang berbicara dalam pesan

Nilai umum: “sistem”, “pengguna” (terkadang “asisten” dalam konteks lain)

Tidak

pesan [] .content

Isi teks pesan

Tali polos. Untuk sistem itu instruksi, untuk pengguna itu tugas atau input.

Tidak

alat

Spesifikasi alat tersedia untuk model selama contoh ini

Array. Setiap item mendefinisikan antarmuka alat dan metadata. Jenis mungkin termasuk “fungsi” atau “internal”.

Ya

referensi_jawaban

Output model yang diharapkan untuk contoh ini

String atau objek tergantung pada tugas. Digunakan sebagai target untuk evaluasi atau pelatihan.

Tidak

catatan

Setiap bidang kustom tambahan (misalnya, task_id, hard_level, context_data) tidak divalidasi dan akan diteruskan ke fungsi reward Anda sebagai metadata.

Properti tambahan

Pengaturan “additionalProperties”: true memungkinkan Anda menyertakan bidang khusus di luar persyaratan skema inti, memberikan fleksibilitas untuk menambahkan data apa pun yang dibutuhkan fungsi hadiah Anda untuk evaluasi yang tepat.

Bidang tambahan umum

Anda dapat menyertakan jenis bidang tambahan berikut:

Metadata:

  • task_id: Pengidentifikasi unik untuk melacak

  • complexty_level: Indikator kompleksitas masalah

  • domain: Area subjek atau kategori

  • expected_reasoning_steps: Jumlah langkah dalam solusi

Kriteria evaluasi:

  • evaluation_criteria: Rubrik penilaian khusus

  • custom_scoring_weights: Kepentingan relatif dari berbagai aspek

  • context_data: Informasi latar belakang untuk masalah tersebut

  • external_references: Tautan ke dokumentasi atau sumber daya yang relevan

Contoh dengan properti tambahan

Contoh berikut mencakup bidang metadata kustom:

{ "id": "algebra_001", "messages": [ { "role": "system", "content": "You are a math tutor" }, { "role": "user", "content": "Solve: 2x + 5 = 13" } ], "reference_answer": { "solution": "x = 4", "steps": ["2x = 13 - 5", "2x = 8", "x = 4"] }, "task_id": "algebra_001", "difficulty_level": "easy", "domain": "algebra", "expected_reasoning_steps": 3 }

Rekomendasi ukuran set data

Titik awal

Mulailah dengan ukuran set data minimum berikut:

  • Minimal 100 contoh pelatihan

  • Minimal 100 contoh evaluasi

Prioritaskan data input berkualitas tinggi dan fungsi hadiah yang andal yang dijalankan secara konsisten pada respons model.

Pendekatan evaluasi-pertama

Sebelum berinvestasi dalam pelatihan RFT skala besar, evaluasi kinerja dasar model Anda:

  • Kinerja tinggi (hadiah lebih dari 95%): RFT mungkin tidak perlu — model Anda sudah berkinerja baik

  • Kinerja yang sangat buruk (hadiah 0%): Beralih ke SFT terlebih dahulu untuk membangun kemampuan dasar

  • Kinerja sedang: RFT kemungkinan sesuai

Pendekatan evaluasi pertama ini memastikan fungsi reward Anda bebas bug dan menentukan apakah RFT adalah metode yang tepat untuk kasus penggunaan Anda. Mulai dari yang kecil memungkinkan Anda merasa nyaman dengan alur kerja RFT, mengidentifikasi dan memperbaiki masalah lebih awal, memvalidasi pendekatan Anda sebelum meningkatkan, dan menguji keandalan fungsi hadiah. Setelah divalidasi, Anda dapat memperluas ke kumpulan data yang lebih besar untuk lebih meningkatkan kinerja.

Karakteristik data pelatihan yang efektif

Kejelasan dan konsistensi

Contoh RFT yang baik membutuhkan data input yang jelas dan tidak ambigu yang memungkinkan perhitungan hadiah yang akurat di berbagai output model. Hindari kebisingan dalam data Anda, termasuk:

  • Pemformatan yang tidak konsisten

  • Label atau instruksi yang kontradiktif

  • Petunjuk ambigu

  • Jawaban referensi yang bertentangan

Ambiguitas apa pun akan menyesatkan proses pelatihan dan menyebabkan model mempelajari perilaku yang tidak diinginkan.

Keanekaragaman

Dataset Anda harus menangkap keragaman penuh kasus penggunaan produksi untuk memastikan kinerja dunia nyata yang kuat. Termasuk:

  • Berbagai jenis masalah dan tingkat kesulitan

  • Format input dan kasus tepi yang berbeda

  • Sampel representatif dari semua skenario yang diharapkan

Keragaman ini membantu mencegah overfitting dan memastikan model menangani input yang tidak dikenal dengan anggun.

Pertimbangan fungsi penghargaan

Rancang fungsi hadiah Anda untuk pelatihan yang efisien:

  • Jalankan dalam hitungan detik (bukan menit)

  • Paralelisasi secara efektif dengan Lambda

  • Kembalikan skor yang konsisten dan andal

  • Tangani berbagai jenis keluaran model dengan anggun

Fungsi hadiah yang cepat dan dapat diskalakan memungkinkan iterasi cepat dan eksperimen hemat biaya dalam skala besar.