SFT 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.

SFT pada Nova 2.0

Amazon Nova Lite 2.0 menghadirkan kemampuan yang disempurnakan untuk fine-tuning yang diawasi, termasuk mode penalaran lanjutan, pemahaman multimodal yang ditingkatkan, dan penanganan konteks yang diperluas. SFT di Nova 2.0 memungkinkan Anda untuk menyesuaikan kemampuan canggih ini dengan kasus penggunaan spesifik Anda sambil mempertahankan kinerja superior model pada tugas-tugas kompleks.

Fitur utama SFT pada Nova 2.0 meliputi:

  • Dukungan mode penalaran: Latih model untuk menghasilkan jejak penalaran eksplisit sebelum jawaban akhir untuk kemampuan analitis yang ditingkatkan.

  • Pelatihan multimodal tingkat lanjut: Menyesuaikan pemahaman dokumen (PDF), pemahaman video, dan tugas berbasis gambar dengan akurasi yang ditingkatkan.

  • Kemampuan pemanggilan alat: Latih model untuk secara efektif menggunakan alat eksternal dan panggilan fungsi untuk alur kerja yang kompleks.

  • Dukungan konteks yang diperluas: Manfaatkan jendela konteks yang lebih panjang dengan stabilitas dan akurasi yang lebih baik untuk aplikasi intensif dokumen.

Pemilihan Mode Penalaran (Hanya Nova 2.0)

Amazon Nova 2.0 mendukung mode penalaran untuk kemampuan analitis yang ditingkatkan:

  • Mode Penalaran (diaktifkan):

    • Atur reasoning_enabled: true dalam konfigurasi pelatihan

    • Model melatih untuk menghasilkan jejak penalaran sebelum jawaban akhir

    • Meningkatkan kinerja pada tugas penalaran yang kompleks

  • Mode Non-Penalaran (dinonaktifkan):

    • Mengatur reasoning_enabled: false atau menghilangkan parameter (default)

    • SFT standar tanpa alasan eksplisit

    • Cocokkan untuk tugas yang tidak mendapat manfaat dari step-by-step penalaran

catatan
  • Ketika penalaran diaktifkan, ia beroperasi pada upaya penalaran yang tinggi. Tidak ada opsi penalaran rendah untuk SFT.

  • Konten penalaran multimodal tidak didukung untuk SFT. Mode penalaran berlaku untuk input teks saja.

Melatih Amazon Nova pada kumpulan data non-penalaran dengan reasoning_enabled: true diizinkan. Namun, hal itu dapat menyebabkan model kehilangan kemampuan penalarannya, karena Amazon Nova terutama belajar untuk menghasilkan respons yang disajikan dalam data tanpa menerapkan penalaran.

Jika melatih Amazon Nova pada kumpulan data non-penalaran tetapi masih ingin menggunakan penalaran selama inferensi:

  1. Nonaktifkan penalaran selama pelatihan () reasoning_enabled: false

  2. Aktifkan penalaran nanti selama inferensi

Meskipun pendekatan ini memungkinkan penalaran pada waktu inferensi, itu tidak menjamin peningkatan kinerja dibandingkan dengan inferensi tanpa penalaran.

Praktik terbaik: Aktifkan penalaran untuk pelatihan dan inferensi saat menggunakan kumpulan data penalaran, dan nonaktifkan keduanya saat menggunakan kumpulan data non-penalaran.

Alat memanggil format data

SFT mendukung model pelatihan untuk menggunakan alat (panggilan fungsi). Di bawah ini adalah contoh format input untuk pemanggilan alat:

Masukan sampel:

{ "schemaVersion": "bedrock-conversation-2024", "system": [ { "text": "You are an expert in composing function calls." } ], "toolConfig": { "tools": [ { "toolSpec": { "name": "getItemCost", "description": "Retrieve the cost of an item from the catalog", "inputSchema": { "json": { "type": "object", "properties": { "item_name": { "type": "string", "description": "The name of the item to retrieve cost for" }, "item_id": { "type": "string", "description": "The ASIN of item to retrieve cost for" } }, "required": [ "item_id" ] } } } }, { "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": [ { "reasoningContent": { "reasoningText": { "text": "The user wants to check how many pieces of the item with ASIN id-123 are available in the zipcode 94086" } } }, { "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?" } ] } ] }

Pertimbangan penting untuk data panggilan alat:

  • ToolUse harus muncul di asisten giliran saja

  • ToolResult harus muncul di giliran pengguna saja

  • ToolResult harus berupa teks atau JSON saja; modalitas lain saat ini tidak didukung untuk model Amazon Nova

  • InputSchema dalam ToolSpec harus berupa objek Skema JSON yang valid

  • Masing-masing ToolResult harus mereferensikan yang valid toolUseId dari asisten sebelumnya ToolUse, dengan masing-masing toolUseId digunakan tepat sekali per percakapan

Format data pemahaman dokumen

SFT mendukung model pelatihan tentang tugas pemahaman dokumen. Di bawah ini adalah contoh format input:

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?" } ], "reasoning_content": [ { "text": "I need to find the relevant section in the document to answer the question.", "type": "text" } ] } ] }

Pertimbangan penting untuk pemahaman dokumen:

  • Hanya file PDF yang didukung

  • Ukuran dokumen maksimum adalah 10 MB

  • Sampel dapat berisi dokumen dan teks, tetapi tidak dapat mencampur dokumen dengan modalitas lain (seperti gambar atau video)

Pemahaman Video untuk SFT

SFT mendukung model fine-tuning untuk tugas pemahaman video. Di bawah ini adalah contoh format input:

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?" } ], "reasoning_content": [ { "text": "I need to find the relevant section in the video to answer the question.", "type": "text" } ] } ] }

Pertimbangan penting untuk pemahaman video:

  • Video bisa maksimal 50 MB

  • Video bisa berdurasi hingga 15 menit

  • Hanya satu video yang diizinkan per sampel; beberapa video dalam sampel yang sama tidak didukung

  • Sampel dapat berisi video dan teks, tetapi tidak dapat mencampur video dengan modalitas lain (seperti gambar atau dokumen)

Instruksi Unggah Data

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"

Catatan: Ganti<bucket-name>,<training-directory>,<validation-directory>,<training-file>, dan <validation-file> dengan jalur S3 yang sebenarnya.

Catatan: Kumpulan data validasi saat ini tidak didukung untuk SFT dengan Amazon Nova 2.0. Jika dataset validasi disediakan, itu akan diabaikan.

Membuat Fine-Tuning Job

Tentukan model dasar menggunakan model_type dan model_name_or_path bidang di run blok:

## Run config run: ... model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: nova-lite-2/prod ...

Panduan Hyperparameter

Gunakan hiperparameter yang direkomendasikan berikut berdasarkan pendekatan pelatihan:

Pelatihan Peringkat Penuh

  • Zaman: 1

  • Tingkat pembelajaran (lr): 1e-5

  • Tingkat pembelajaran minimum (min_lr): 1e-6

LoRa (Adaptasi Peringkat Rendah)

  • Zaman: 2

  • Tingkat pembelajaran (lr): 5e-5

  • Tingkat pembelajaran minimum (min_lr): 1e-6

Catatan: Sesuaikan nilai-nilai ini berdasarkan ukuran dataset dan kinerja validasi. Pantau metrik pelatihan untuk mencegah overfitting.