Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mempersiapkan data untuk SFT di Amazon Nova 2
SFT di Amazon Nova 2 mendukung pemahaman teks, gambar, video, dan dokumen, serta panggilan alat, dengan atau tanpa dukungan penalaran. Halaman ini menjelaskan kendala, format yang didukung, dan praktik terbaik untuk menyiapkan data pelatihan SFT untuk model Amazon Nova 2 Understanding.
Tip
Untuk memvalidasi format dataset Anda sebelum memulai pekerjaan pelatihan, lihatAlat validasi.
Topik
Format data
Data Amazon Nova 2 SFT menggunakan format API Converse yang sama dengan Amazon Nova 1, dengan penambahan bidang konten https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ReasoningContentBlock.html penalaran opsional.
Setiap baris dalam file pelatihan JSONL Anda adalah objek JSON dengan bidang tingkat atas berikut. Perluas bagian untuk mempelajari lebih lanjut:
Wajib. Bid messages ang adalah array objek pesan, yang masing-masing mendefinisikan giliran dalam percakapan. Objek pesan berisi bidang berikut:
-
peran - Diperlukan. Mendefinisikan apakah pesan berasal dari
user(prompt dikirim ke model) atauassistant(respons model). Giliran pertama harususer, yang terakhir harusassistant, dan belokan harus bergantian. -
konten - Diperlukan. Array blok konten untuk giliran ini.
Bid content ang memetakan ke array blok konten. Data Amazon Nova 2 SFT mendukung blok berikut:
Array opsional yang mendefinisikan prompt sistem — instruksi atau konteks untuk model tentang tugas yang harus dilakukan atau persona yang harus diadopsi. Gunakan prompt sistem yang sama selama pelatihan dan inferensi untuk hasil terbaik.
"system": [ { "text": "You are a helpful assistant." } ]
Objek opsional yang mendefinisikan alat yang tersedia untuk model untuk digunakan selama percakapan. Setiap alat didefinisikan dengan nama, deskripsi, dan Skema JSON untuk parameter inputnya.
"toolConfig": { "tools": [ { "toolSpec": { "name": "tool-name", "description": "tool-description", "inputSchema": { "json": { "type": "object", "properties": { "param": { "type": "string", "description": "param-description" } }, "required": ["param"] } } } } ] }
Wajib. Sebuah bidang string yang mengidentifikasi versi skema. Bisa berupa nilai string apa pun.
"schemaVersion": "bedrock-conversation-2024"
Memvalidasi data Anda
Sebelum mengirimkan pekerjaan pelatihan Anda, validasi dataset Anda untuk menangkap masalah pemformatan lebih awal. Untuk alat validasi yang tersedia, lihatAlat validasi.
Sampel masukan
Berikut ini adalah contoh lengkap objek JSON yang menunjukkan cara menggabungkan bidang dan blok konten untuk modalitas yang berbeda.
Fitur yang didukung
Tabel berikut membandingkan dukungan fitur untuk SFT di seluruh versi model Nova.
| Fitur | SFT pada Nova 2.0 |
|---|---|
| Pemahaman teks | Didukung pada Nova 2.0 Lite. Lihat General/Text pengertian. |
| Pemahaman gambar | Didukung pada Nova 2.0 Lite. Lihat Pemahaman gambar. |
| Pemahaman video | Didukung pada Nova 2.0 Lite. Lihat Pemahaman video. |
| Pemahaman dokumen | Didukung pada Nova 2.0 Lite. Lihat Pemahaman dokumen. |
| Panggilan alat | Didukung pada Nova 2.0 Lite. Lihat Panggilan alat. |
| Penalaran | Didukung pada Nova 2.0 Lite. Lihat Penalaran. |
General/Text pengertian
Bagian ini merangkum kendala umum untuk menyiapkan SFT pada data pelatihan Amazon Nova 2.
Batasan
| Kendala | Rincian |
|---|---|
| Format kumpulan data | JSONL (satu objek JSON per baris). Nama file hanya dapat terdiri dari karakter alfanumerik, garis bawah, tanda hubung, garis miring, dan titik. |
| Sampel minimum | 8 |
| Sampel maksimum | 20k |
| Panjang konteks | 32k |
| Homogenitas kumpulan data | Dataset tidak dapat mencampur modalitas media yang berbeda. Gunakan teks dengan gambar, teks dengan video, atau teks dengan dokumen — tetapi bukan kombinasi. |
| Kata kunci terpesan | User:,Bot:,Assistant:,System:,<image>,<video>,[EOS]. Permintaan yang berisi kata kunci ini akan menyebabkan pekerjaan pelatihan gagal. Ganti mereka dengan kata kunci yang berbeda dengan makna yang sama. |
Praktik terbaik
Ukuran data minimum untuk penyempurnaan tergantung pada tugas (yaitu, kompleks atau sederhana) tetapi kami sarankan Anda memiliki setidaknya 200 sampel untuk setiap tugas yang ingin Anda pelajari model.
Sebaiknya gunakan prompt yang dioptimalkan dalam pengaturan zero-shot selama pelatihan dan inferensi untuk mencapai hasil terbaik.
Prioritaskan kualitas daripada kuantitas. Beberapa ratus contoh berkualitas tinggi dan konsisten biasanya mengungguli ribuan contoh yang berisik atau kontradiktif.
Sampel masukan
schemaVersionbisa berupa nilai string apa punPeran yang didukung adalah
userdanassistant. Giliran (opsional)systemdapat berupa prompt sistem kustom yang disediakan pelanggan.Giliran pertama
messagesharus selalu dimulai dengan"role": "user". Giliran terakhir adalah respons bot, dilambangkan dengan"role": "assistant".
{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a digital assistant with a friendly personality" } ], "messages": [ { "role": "user", "content": [ { "text": "What country is right next to Australia?" } ] }, { "role": "assistant", "content": [ { "text": "The closest country is New Zealand" } ] } ] }
Pemahaman gambar
SFT mendukung pelatihan tentang tugas berbasis gambar, memungkinkan model Anda mempelajari cara menganalisis dan menanggapi pertanyaan tentang gambar.
Batasan
| Kendala | Rincian |
|---|---|
| Format yang didukung | PNG, JPEG, GIF, WebP |
| Gambar maksimum per sampel | 10 |
| Ukuran file gambar maksimum | 10 MB |
| Homogenitas kumpulan data | Sampel dapat memiliki gambar dan teks, tetapi tidak dapat memiliki gambar yang digabungkan dengan modalitas lain (video, dokumen). |
| Lokasi S3 | image.source.s3Location.uriHarus berada di bucket Amazon S3 yang sama dengan dataset Anda. Misalnya, jika dataset Anda masuks3://amzn-s3-demo-bucket/train/train.jsonl, maka gambar atau video Anda harus ada s3://amzn-s3-demo-bucket |
Praktik terbaik
Pastikan gambar berkualitas tinggi dan relevan dengan tugas.
Berikan beragam contoh yang mencakup berbagai jenis gambar dan format pertanyaan.
Sertakan pertanyaan yang jelas yang mereferensikan aspek spesifik dari konten gambar.
Masukan sampel
{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a helpful assistant." } ], "messages": [ { "role": "user", "content": [ { "image": { "format": "jpeg", "source": { "s3Location": { "uri": "s3://your-bucket/your-path/your-image.jpg", "bucketOwner": "your-aws-account-id" } } } }, { "text": "Which country is highlighted in the image?" } ] }, { "role": "assistant", "content": [ { "text": "The highlighted country is New Zealand" } ] } ] }
Pemahaman video
SFT mendukung pelatihan tentang tugas berbasis video, memungkinkan model Anda mempelajari cara menganalisis dan menanggapi pertanyaan tentang konten video.
Batasan
| Kendala | Rincian |
|---|---|
| Format yang didukung | MOV, MKV, MP4, WebM |
| Maksimum video per sampel | 1 |
| Ukuran file video maksimum | 50 MB |
| Durasi video maksimum | 15 menit |
| Homogenitas kumpulan data | Sampel dapat memiliki video dan teks, tetapi tidak dapat menggabungkan video dengan modalitas lain (gambar, dokumen). |
| Lokasi S3 | video.source.s3Location.uriHarus berada di bucket Amazon S3 yang sama dengan dataset Anda. Misalnya, jika dataset Anda masuks3://amzn-s3-demo-bucket/train/train.jsonl, maka video Anda harus masuk s3://amzn-s3-demo-bucket |
Praktik terbaik
Jaga agar video ringkas dan fokus pada konten yang relevan dengan tugas Anda.
Pastikan kualitas video cukup bagi model untuk mengekstrak informasi yang berarti.
Berikan pertanyaan yang jelas yang mereferensikan aspek spesifik dari konten video.
Sertakan beragam contoh yang mencakup berbagai jenis video dan format pertanyaan.
Masukan sampel
{ "schemaVersion": "bedrock-conversation-2024", "messages": [ { "role": "user", "content": [ { "text": "What are the ways in which a customer can experience issues during checkout on Amazon?" }, { "video": { "format": "mp4", "source": { "s3Location": { "uri": "s3://my-bucket-name/path/to/videos/customer_service_debugging.mp4", "bucketOwner": "123456789012" } } } } ] }, { "role": "assistant", "content": [ { "text": "Customers can experience issues with 1. Data entry, 2. Payment methods, 3. Connectivity while placing the order. Which one would you like to dive into?" } ] } ] }
Pemahaman dokumen
SFT mendukung pelatihan tentang tugas berbasis dokumen, memungkinkan model Anda mempelajari cara menganalisis dan menanggapi pertanyaan tentang dokumen PDF.
Batasan
| Kendala | Rincian |
|---|---|
| Format yang didukung | |
| Ukuran dokumen maksimum | 10 MB |
| Homogenitas kumpulan data | Sampel dapat memiliki dokumen dan teks, tetapi tidak dapat memiliki dokumen yang dicampur dengan modalitas lain (gambar, video). |
| Lokasi S3 | document.source.s3Location.uriHarus berada di bucket Amazon S3 yang sama dengan dataset Anda. Misalnya, jika dataset Anda masuks3://amzn-s3-demo-bucket/train/train.jsonl, maka dokumen Anda harus masuk s3://amzn-s3-demo-bucket |
Praktik terbaik
Pastikan dokumen diformat dengan jelas dan teks dapat diekstraksi.
Berikan beragam contoh yang mencakup berbagai jenis dokumen dan format pertanyaan.
Sertakan konten penalaran untuk membantu model mempelajari pola analisis dokumen.
Masukan sampel
{ "schemaVersion": "bedrock-conversation-2024", "messages": [ { "role": "user", "content": [ { "text": "What are the ways in which a customer can experience issues during checkout on Amazon?" }, { "document": { "format": "pdf", "source": { "s3Location": { "uri": "s3://my-bucket-name/path/to/documents/customer_service_debugging.pdf", "bucketOwner": "123456789012" } } } } ] }, { "role": "assistant", "content": [ { "text": "Customers can experience issues with 1. Data entry, 2. Payment methods, 3. Connectivity while placing the order. Which one would you like to dive into?" } ] } ] }
Panggilan alat
SFT mendukung model pelatihan tentang pola panggilan alat, memungkinkan model Anda mempelajari kapan dan bagaimana memanggil alat atau fungsi eksternal.
Batasan
| Kendala | Rincian |
|---|---|
| Format yang didukung | Teks atau JSON untuk ToolResult konten |
| ToolUse penempatan | ToolUse harus muncul di giliran asisten saja |
| ToolResult penempatan | ToolResult harus muncul di giliran pengguna saja |
| Format InputSchema | InputSchema dalam ToolSpec harus menjadi objek Skema JSON yang valid |
| pen UseId cocokan alat | Masing-masing ToolResult harus mereferensikan alat yang valid UseId dari asisten sebelumnya ToolUse, dengan setiap alat UseId digunakan tepat sekali per percakapan |
Praktik terbaik
Pastikan definisi alat Anda konsisten di semua sampel pelatihan.
Model mempelajari pola pemanggilan alat dari demonstrasi yang Anda berikan.
Sertakan beragam contoh kapan harus menggunakan setiap alat dan kapan tidak menggunakan alat.
Sampel masukan
{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are an expert in composing function calls." } ], "toolConfig": { "tools": [ { "toolSpec": { "name": "getItemAvailability", "description": "Retrieve whether an item is available in a given location", "inputSchema": { "json": { "type": "object", "properties": { "zipcode": { "type": "string", "description": "The zipcode of the location to check in" }, "quantity": { "type": "integer", "description": "The number of items to check availability for" }, "item_id": { "type": "string", "description": "The ASIN of item to check availability for" } }, "required": ["item_id", "zipcode"] } } } } ] }, "messages": [ { "role": "user", "content": [ { "text": "I need to check whether there are twenty pieces of the following item available. Here is the item ASIN on Amazon: id-123. Please check for the zipcode 94086" } ] }, { "role": "assistant", "content": [ { "toolUse": { "toolUseId": "getItemAvailability_0", "name": "getItemAvailability", "input": { "zipcode": "94086", "quantity": 20, "item_id": "id-123" } } } ] }, { "role": "user", "content": [ { "toolResult": { "toolUseId": "getItemAvailability_0", "content": [ { "text": "[{\"name\": \"getItemAvailability\", \"results\": {\"availability\": true}}]" } ] } } ] }, { "role": "assistant", "content": [ { "text": "Yes, there are twenty pieces of item id-123 available at 94086. Would you like to place an order or know the total cost?" } ] } ] }
Penalaran
Konten penalaran (juga disebut rantai pemikiran) menangkap langkah-langkah pemikiran menengah model sebelum menghasilkan jawaban akhir.
Batasan
| Kendala | Rincian |
|---|---|
| Format yang didukung | Hanya teks. Image-based konten penalaran tidak didukung. |
| Penempatan | Asisten hanya berputar, melalui reasoningContent lapangan. |
| Pemformatan | Gunakan teks biasa. Hindari tag markup seperti <thinking> dan </thinking> kecuali secara khusus diminta oleh tugas Anda. |
Praktik terbaik
High-quality konten penalaran harus mencakup pemikiran menengah, deduksi logis, pendekatan pemecahan masalah langkah demi langkah, dan hubungan eksplisit antara langkah dan kesimpulan.
Anda dapat menyertakan
reasoningContentbeberapa giliran asisten dalam percakapan multi-putaran.Jika dataset Anda tidak memiliki jejak penalaran, Anda dapat membuatnya menggunakan model yang mampu bernalar seperti Nova Premier.
Masukan sampel
{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a digital assistant with a friendly personality" } ], "messages": [ { "role": "user", "content": [ { "text": "What country is right next to Australia?" } ] }, { "role": "assistant", "content": [ { "reasoningContent": { "reasoningText": { "text": "I need to use my world knowledge of geography to answer this question" } } }, { "text": "The closest country to Australia is New Zealand, located to the southeast across the Tasman Sea." } ] } ] }
Catatan tambahan
Bagaimana kerugian dihitung:
Dengan konten penalaran — Kerugian pelatihan mencakup token penalaran dan token keluaran akhir.
Tanpa konten penalaran — Kerugian pelatihan dihitung hanya pada token keluaran akhir.
Tetapkan reasoning_enabled: true dalam konfigurasi pelatihan Anda ketika data pelatihan Anda memiliki token penalaran, Anda ingin model menghasilkan token pemikiran sebelum menghasilkan output akhir, atau Anda memerlukan peningkatan kinerja pada tugas-tugas penalaran yang kompleks.
Atur reasoning_enabled: false ketika data pelatihan Anda tidak memiliki token penalaran, Anda berlatih tentang tugas-tugas langsung yang tidak mendapat manfaat dari langkah-langkah penalaran eksplisit, atau Anda ingin mengoptimalkan kecepatan dan mengurangi penggunaan token.
Melatih Nova pada kumpulan data non-penalaran reasoning_enabled = true diizinkan. Namun, hal itu dapat menyebabkan model kehilangan kemampuan penalarannya, karena Nova terutama belajar menghasilkan tanggapan yang disajikan dalam data tanpa menerapkan penalaran. Secara umum, aktifkan penalaran untuk pelatihan dan inferensi saat menggunakan kumpulan data penalaran, dan nonaktifkan untuk keduanya saat menggunakan kumpulan data non-penalaran.
Merancang contoh pelatihan yang efektif
Data pelatihan Anda harus menunjukkan perilaku yang Anda inginkan untuk ditunjukkan model. SFT mengajarkan model bagaimana mer espons, bukan apa yang harus diketahui. Jika Anda menemukan diri Anda membuat contoh pelatihan terutama untuk menyuntikkan pengetahuan faktual (misalnya, “Apa E-45 arti kode kesalahan?” dengan jawaban "E-45 menunjukkan batas waktu sensor”), pertimbangkan apakah RAG atau rekayasa cepat dapat mencapai hasil yang sama tanpa penyempurnaan.
Saat mengonversi data sumber ke dalam format percakapan, ikuti prinsip-prinsip ini:
-
Mulai dari permintaan pengguna nyata. Tulis pengguna mengubah cermin bagaimana pengguna akhir benar-benar akan meminta model dalam produksi. Hindari pertanyaan buatan atau terlalu disederhanakan yang tidak mencerminkan pola penggunaan nyata.
-
Tulis tanggapan asisten standar emas. Setiap putaran asisten harus menjadi respons ideal yang Anda ingin menghasilkan model — benar, diformat dengan baik, dan konsisten dalam nada dan struktur di semua contoh.
-
Gunakan prompt sistem secara strategis. Tempatkan instruksi persisten seperti format output, persona, dan konteks domain di giliran sistem. Gunakan prompt sistem yang sama selama pelatihan dan inferensi untuk mencapai hasil terbaik.
-
Tetap fokus contoh pada satu keterampilan per sampel. Jika Anda membutuhkan model untuk mengklasifikasikan, menjawab pertanyaan, dan meringkas, buat set contoh terpisah untuk setiap keterampilan daripada menggabungkan beberapa keterampilan dalam satu sampel.
-
Prioritaskan kualitas daripada kuantitas. Beberapa ratus contoh berkualitas tinggi dan konsisten biasanya mengungguli ribuan contoh yang berisik atau kontradiktif. Deduplikat dan tinjau data Anda sebelum pelatihan.
Pola transformasi data umum
Pola berikut menggambarkan cara mengubah format data perusahaan umum menjadi contoh pelatihan SFT yang efektif.
Pola 1: Catatan terstruktur untuk klasifikasi atau pencarian
Ketika data sumber Anda adalah tabel atau database catatan dengan bidang sepertiissue,, dan causeresolution, bingkai setiap catatan sebagai pertanyaan pengguna dengan bidang input yang relevan dan respons asisten sebagai bidang keluaran target.
// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a technical support assistant. Given an issue description, identify the most likely root cause and recommended resolution." } ], "messages": [ { "role": "user", "content": [ { "text": "A user reports: 'Application crashes on startup after the latest update.' What is the likely cause and resolution?" } ] }, { "role": "assistant", "content": [ { "text": "Cause: Incompatible configuration file from the previous version.\nResolution: Delete the local configuration cache and restart the application to regenerate default settings." } ] } ] }
Pola 2: Data hierarkis atau taksonomi ke Q & A terstruktur
Jika data sumber Anda adalah hierarki kode atau taksonomi seperti pohon kategori produk atau sistem klasifikasi, buat pertanyaan yang meminta model untuk menavigasi hierarki. Sertakan konteks klasifikasi dalam prompt sistem atau giliran pengguna.
// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are a product catalog assistant. Answer questions about product categories and classifications accurately." } ], "messages": [ { "role": "user", "content": [ { "text": "What top-level category does product code 'EL-4520' belong to, and what subcategories does it include?" } ] }, { "role": "assistant", "content": [ { "text": "Product code EL-4520 belongs to the Electronics category. It includes the subcategories: Audio Equipment, Portable Speakers, and Wireless Accessories." } ] } ] }
Pola 3: Dokumen prosedural untuk dialog instruksional
Ketika data sumber Anda terdiri dari prosedur operasi standar, runbook, atau panduan langkah demi langkah, ubah prosedur menjadi pertanyaan berorientasi tugas. Pengguna bertanya bagaimana melakukan tugas dan asisten memberikan langkah-langkah dalam format yang konsisten.
// train.jsonl { "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are an IT operations assistant. Provide step-by-step instructions based on approved runbooks and standard operating procedures." } ], "messages": [ { "role": "user", "content": [ { "text": "How do I reset a user's multi-factor authentication when they have lost access to their device?" } ] }, { "role": "assistant", "content": [ { "text": "Follow these steps to reset a user's multi-factor authentication:\n1. Verify the user's identity using the approved verification procedure.\n2. Disable the existing MFA configuration in the identity management console.\n3. Generate a new temporary access code and send it to the user's verified email.\n4. Instruct the user to log in with the temporary code and re-enroll their new device.\n5. Confirm the new MFA device is working by requesting a test authentication.\n6. Document the reset in the support ticket." } ] } ] }
catatan
Dalam Pola 1 dan 2, jika konten faktual (seperti kode, kategori, atau resolusi) belum ada dalam data pra-pelatihan model, pertimbangkan untuk menggunakan RAG untuk memberikan informasi ini pada waktu inferensi daripada hanya mengandalkan SFT untuk menghafalnya. SFT paling efektif untuk mengajarkan model format respons dan pola penalaran, sementara RAG menangani landasan faktual.