Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Diawasi Fine-Tuning
Pengantar
Penyetelan halus yang diawasi menggunakan dataset dengan pasangan input-output untuk tugas yang diinginkan. Dengan kata lain, Anda memberikan contoh petunjuk (pertanyaan, instruksi, dll.) Bersama dengan tanggapan yang benar atau diinginkan dan terus melatih model tentang ini. Bobot model disesuaikan untuk meminimalkan kerugian yang diawasi, biasanya entropi silang antara prediksi dan token respons target.
Kapan menggunakan SFT?
SFT adalah yang terbaik ketika Anda memiliki tugas yang terdefinisi dengan baik dengan output yang diinginkan yang jelas. Jika Anda dapat secara eksplisit mengatakan “Diberikan input X, correct/desired outputnya adalah Y” dan Anda dapat mengumpulkan contoh pemetaan tersebut, maka X-Y penyempurnaan yang diawasi adalah pilihan yang bagus. Beberapa skenario di mana SFT unggul meliputi:
-
Tugas klasifikasi terstruktur atau kompleks: misalnya mengklasifikasikan dokumen internal atau kontrak ke dalam banyak kategori khusus. Dengan SFT, model dapat mempelajari kategori spesifik ini jauh lebih baik daripada meminta sendiri.
-
Question-answering atau tugas transformasi dengan jawaban yang diketahui: misalnya menyempurnakan model untuk menjawab pertanyaan dari basis pengetahuan perusahaan, atau untuk mengonversi data antar format, di mana setiap input memiliki respons yang benar.
-
Konsistensi pemformatan dan gaya: Jika Anda membutuhkan model untuk selalu merespons dalam format atau nada tertentu, Anda dapat menyempurnakan contoh yang benar format/tone. Misalnya, pelatihan pada pasangan respon cepat yang menunjukkan suara atau gaya merek tertentu dapat mengajarkan model dengan gaya itu dalam outputnya. Instruction-following perilaku awalnya sering diajarkan melalui SFT pada contoh yang dikuratori dari perilaku asisten yang baik.
SFT adalah cara paling langsung untuk mengajarkan LLM keterampilan atau perilaku baru ketika Anda dapat menentukan seperti apa perilaku yang tepat. Ini memanfaatkan pemahaman bahasa model yang ada dan memfokuskannya pada tugas Anda. Jangan gunakan SFT ketika kesenjangan adalah pengetahuan daripada perilaku; itu tidak akan membuat model mempelajari fakta baru, jargon, atau peristiwa baru-baru ini. Dalam kasus tersebut, lebih suka pra-pelatihan lanjutan pada korpus dalam domain besar atau generasi yang diperbesar untuk membawa pengetahuan eksternal pada kesimpulan. Ketika Anda dapat mengukur kualitas tetapi tidak dapat memberi label satu jawaban yang benar, penyesuaian penguatan dengan hadiah yang dapat diverifikasi atau LLM-as-judge mungkin lebih disukai daripada SFT.
Bergantung pada kompleksitas tugas dan kinerja model Nova tanpa penyetelan, rencanakan ribuan hingga puluhan ribu demonstrasi per tugas, dengan kualitas data, konsistensi, dan keragaman yang lebih penting daripada volume mentah.
Kapan menggunakan parameter efisien dan kapan full rank SFT?
Resep kustomisasi Nova memungkinkan Anda melakukan parameter yang efisien, khususnya LoRa, atau SFT peringkat penuh. Jika Anda menginginkan pembaruan model yang mudah dan hemat biaya, atau memiliki data yang sangat sedikit, pilih metode hemat parameter sehingga Anda melatih adaptor kecil sambil membiarkan sebagian besar tulang punggung tidak tersentuh (SFT peringkat penuh memperbarui semua parameter model).
Pencampuran Data untuk SFT
Pencampuran data memungkinkan Anda menggabungkan kumpulan data pelatihan khusus Anda dengan data pelatihan eksklusif Nova. Fitur ini tersedia untuk model Nova 1.0 dan Nova 2.0.
Tipe Data Kepemil ikan Nova: Nova mendukung tipe data SFT teks dan multimodal. Ini diatur ke dalam beberapa kategori data masing-masing berisi campuran tugas yang relevan untuk kategori yang sesuai.
Kategori Data Kepemilikan Nova: Kumpulan data teks mencakup beberapa kategori termasuk: pengambilan keputusan otonom, penyelesaian tugas, kumpulan data berorientasi tujuan (agen), kumpulan data eksekusi tugas yang tepat penalaran dan non-penalaran (penalaran-instruksi-mengikuti, mengikuti instruksi), urutan yang menunjukkan pemikiran strategis dan rincian tugas langkah demi langkah (perencanaan), AI yang bertanggung jawab (rai), konteks panjang, faktualitas, matematika, batang, dan banyak lagi. Demikian pula, kumpulan data multimodal termasuk video, tangkapan layar, bagan, dan banyak lagi.
Fitur pencampuran data memungkinkan Anda untuk memadukan sampel pelatihan penyempurnaan Anda sendiri dengan sampel dari kumpulan data Nova yang digunakan untuk menyempurnakan Nova. Ini dapat mencegah pelatihan khusus Anda yang berlebihan dan “melupakan” kemampuan Nova secara dahsyat, atau membantu Anda membangun kemampuan saat berlatih dari pos pemeriksaan baru yang telah dilatih sebelumnya.
Untuk mencampur data Nova, Anda hanya perlu menambahkan blok data_mixing ke file YAML resep Anda, di bawah bagian training_config. Blok pencampuran data teks dan multi-modal memiliki konten yang berbeda, dan blok pencampuran data agak berbeda untuk Nova 1.0 dan Nova 2.0. Silakan merujuk ke resep yang sesuai.
Model yang Didukung
Nova 1.0 (Mikro, Lite, Pro)
Nova 2.0 Lite
Modalitas yang Didukung
Teks
Multimodal
Contoh Konfigurasi YAML
Contoh Blok Pencampuran Data untuk Pencampuran Teks Nova 1.0
## Run config run: name: "my-lora-run" # A descriptive name for your training job model_type: "amazon.nova-lite-v1:0:300k" # Model variant specification, do not change model_name_or_path: "nova-lite/prod" # Base model path, do not change replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16 data_s3_path: "" # Customer data path output_s3_path: "" # Output artifact path, SageMaker HyperPod job-specific configuration - not compatible with standard SageMaker Training jobs ## MLFlow configs mlflow_tracking_uri: "" # Required for MLFlow mlflow_experiment_name: "my-lora-experiment" # Optional for MLFlow. Note: leave this field non-empty mlflow_run_name: "my-lora-run" # Optional for MLFlow. Note: leave this field non-empty ## Training specific configs training_config: max_length: 32768 # Maximum context window size (tokens). global_batch_size: 64 # Global batch size, allowed values are 16, 32, 64 trainer: max_epochs: 2 # Number of training epochs model: hidden_dropout: 0.0 # Dropout for hidden states, must be between 0.0 and 1.0 attention_dropout: 0.0 # Dropout for attention weights, must be between 0.0 and 1.0 ffn_dropout: 0.0 # Dropout for feed-forward networks, must be between 0.0 and 1.0 optim: lr: 1e-5 # Learning rate name: distributed_fused_adam # Optimizer algorithm, do not change adam_w_mode: true # Enable AdamW mode eps: 1e-06 # Epsilon for numerical stability weight_decay: 0.0 # L2 regularization strength, must be between 0.0 and 1.0 betas: # Adam optimizer betas, must be between 0.0 and 1.0 - 0.9 - 0.999 sched: warmup_steps: 10 # Learning rate warmup steps constant_steps: 0 # Steps at constant learning rate min_lr: 1e-6 # Minimum learning rate peft: peft_scheme: "lora" # Enable LoRA for parameter-efficient fine-tuning lora_tuning: loraplus_lr_ratio: 8.0 # LoRA+ learning rate scaling factor, must be between 0.0 and 100.0 alpha: 32 # Scaling factor for LoRA weights. Allowed values are 32, 64, 96, 128, 160 and 192 adapter_dropout: 0.01 # Regularization for LoRA parameters. Must be between 0.0 and 1.0 data_mixing: dataset_catalog: sft_text # Nova text dataset catalog sources: customer_data: percent: 50 # Percent of overall mix to draw from customer data nova_data: # The remainder will be drawn from Nova data. The categories below must add to 100 agents: 1 # autonomous decision-making, task completion, goal-oriented behavior in AI systems chat: 51 # Conversational exchanges demonstrating natural dialogue flow code: 8 # Programming examples and solutions spanning multiple languages rai: 1 # ethical AI principles, safety considerations, and responsible technology deployment instruction-following: 13 # precise task execution based on varying levels of user prompts and directives stem: 6 # science, technology, engineering, and mathematics content planning: 2 # sequences demonstrating strategic thinking and step-by-step task breakdown reasoning: 8 # logical problem-solving and analytical thinking demonstrations rag: 1 # retrieval-augmented generation examples translation: 9 # language translation tasks
Contoh Konfigurasi Nova 2.0
run: name: my-lora-sft-run model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: nova-lite-2/prod data_s3_path: s3://my-bucket-name/train.jsonl replicas: 4 output_s3_path: s3://my-bucket-name/outputs/ mlflow_tracking_uri: "" mlflow_experiment_name: "my-lora-sft-experiment" mlflow_run_name: "my-lora-sft-run" training_config: max_steps: 100 save_steps: 10 save_top_k: 5 max_length: 32768 global_batch_size: 32 reasoning_enabled: true lr_scheduler: warmup_steps: 15 min_lr: 1e-6 optim_config: lr: 1e-5 weight_decay: 0.0 adam_beta1: 0.9 adam_beta2: 0.95 peft: peft_scheme: "lora" lora_tuning: alpha: 64 lora_plus_lr_ratio: 64.0
Pencampuran Data Teks Nova 2.0
data_mixing: dataset_catalog: sft_1p5_text_chat sources: customer_data: percent: 50 nova_data: agents: 1 baseline: 10 chat: 0.5 code: 10 factuality: 0.1 identity: 1 long-context: 1 math: 2 rai: 1 instruction-following: 13 stem: 0.5 planning: 10 reasoning-chat: 0.5 reasoning-code: 0.5 reasoning-factuality: 0.5 reasoning-instruction-following: 45 reasoning-math: 0.5 reasoning-planning: 0.5 reasoning-rag: 0.4 reasoning-rai: 0.5 reasoning-stem: 0.4 rag: 1 translation: 0.1
Nova 1.0 Pencampuran Data Multimodal
data_mixing: dataset_catalog: sft_mm sources: customer_data: percent: 50 nova_data: agents: 11 docs: 17 perception: 10 rag: 4 rai: 3 reasoning: 10 stem: 17 text: 10 video: 18
Pencampuran Data Multimodal Nova 2.0
data_mixing: dataset_catalog: sft_1p5_mm_chat sources: customer_data: percent: 50 nova_data: charts: 1 chat: 38 code: 20 docs: 3 general: 2 grounding: 1 rag: 4 screenshot: 4 text: 8 translation: 4 video: 15
Model Pos Pemeriksaan
Nova 1.0 Pos Pemeriksaan
-
PRE-TRAINED[
nova-<micro/lite/pro>/pretraining-text-partial]: Pos pemeriksaan setelah tahap laju pembelajaran konstan pra-pelatihan Nova di mana model dilatih pada triliunan token teks. [Hasil Tahap 1] -
MID-TRAINED[
nova-<micro/lite/pro>/pretraining-text-full]: Text-only pos pemeriksaan setelah semua tahap pra-pelatihan Nova dan pelatihan tengah dengan triliunan token teks. Gunakan jika Anda tidak ingin model melihat data multi-modal apa pun. [Hasil Tahap 3] -
MID-TRAINED[
nova-<lite/pro>/pretraining-mm-full]: Pos pemeriksaan setelah semua tahap pra-pelatihan Nova dan pelatihan tengah, termasuk data multi-modal, dengan triliunan token. [Hasil Tahap 3 dengan data multimodal] -
FINAL [
nova-<micro/lite/pro>/prod]: Pos pemeriksaan akhir yang sepenuhnya selaras yang telah melalui semua langkah pra-pelatihan dan pasca pelatihan. [Hasil dari Tahap 4]
Nova 2.0 Pos Pemeriksaan
-
PRE-TRAINED[
nova-lite-2/pretraining-text-RD]: Pos pemeriksaan setelah tingkat pembelajaran konstan dan tahap ramp-down di mana model dilatih pada triliunan token. [Hasil Tahap 2] -
MID-TRAINED[
nova-lite-2/pretraining-text-CE]: Memungkinkan pelanggan dengan volume menengah data tidak terstruktur untuk memperkenalkan data mereka dengan tingkat pembelajaran yang lebih konservatif daripada pra-pelatihan, menyerap pengetahuan khusus domain sambil menghindari kelupaan bencana. [Hasil dari Tahap 3] -
FINAL [
nova-lite-2/prod]: Pos pemeriksaan akhir yang sepenuhnya selaras yang telah melalui semua langkah pra-pelatihan dan pasca pelatihan. [Hasil dari Tahap 4]
Tahapan Pelatihan:
Tahap 1: PT Ckpt, pra-pelatihan awal dengan tingkat pembelajaran konstan
Tahap 2: PT Ckpt, tingkat pembelajaran menurun
Tahap 3: PT Ckpt, pelatihan ekstensi konteks
Tahap 4: pelatihan penyelarasan dan keselamatan mengikuti instruksi
Pendekatan Pelatihan
| Tipe data | Volume data | Melakukan | Dengan Checkpoint |
|---|---|---|---|
| Large-scale data domain mentah tidak terstruktur (dokumen, log, artikel, kode, dll.) | 1T+ Token | Lanjutan Pre-Training | Akhir Tingkat Pembelajaran Konstan (CLR) |
| Large-scale data domain mentah tidak terstruktur | 100B+ Token | Mid-Training | Akhir CLR |
| Volume data mentah tidak terstruktur yang lebih kecil; Jejak penalaran terstruktur/data CoT | 1B+ Token | Mid-Training | Model dasar Nova |
| Demonstrasi terstruktur (pasangan input-output berkualitas tinggi, instruksi tugas yang dikuratori, dialog multi-turn) | 1K+ Contoh | Diawasi Fine-Tuning (SFT) | Model dasar Nova |
Pre-Requisites sebelum Anda mulai
-
Kami berasumsi bahwa Anda telah menyiapkan cluster SMHP dengan grup instance terbatas (RIG) yang memiliki kapasitas aktif. Jika tidak, silakan lihat di sini untuk menyelesaikan pengaturan SMHP Cluster dan RIG Anda [Tautan Dokumen, Tautan Lok akarya]
-
Anda akan memerlukan instans EC2 p5.48xlarge untuk menjalankan resep ini. Jumlah minimum instance yang diperlukan untuk menjalankan resep ini secara efisien adalah sebagai berikut:
Nova Lite 2.0 - 4 p5.48xbesar
Nova Lite 1.0 — 4 p5.48xbesar
Nova Mikro 1.0 — 4 p5.48xbesar
Nova Pro 1.0 — 6 p5.48xbesar
-
Instal Forge Specific SageMaker HyperPod CLI menggunakan instruksi yang disediakan di sini https://catalog.us-east-1.prod.workshops.aws/workshops/dcac6f7a-3c61-4978-8344-7535526bf743/en-US
-
Konfirmasikan bahwa Anda dapat terhubung ke cluster Anda menggunakan
hyperpod get-clustersPerhatikan bahwa perintah ini akan mencantumkan semua cluster SMHP di akun Anda
-
Konfirmasikan bahwa pelatihan Anda, dan data validasi opsional, tersedia dalam bucket S3 yang dapat diakses oleh peran eksekusi cluster SMHP Anda. Untuk persiapan data, lihat bagian selanjutnya.
-
Sudah selesai AWS CLI penyiapan. Jika Anda belum menyelesaikan pengaturan, silakan ikuti panduan di bawah ini.
-
Verifikasi: Setelah menyelesaikan pengaturan, konfirmasikan Anda dapat berhasil menjalankan perintah di bawah ini
aws sagemaker describe-cluster --cluster-name <cluster-name> --region <region> hyperpod connect-cluster --cluster-name cluster-name
Pendekatan Sistematis untuk Mencapai SFT yang Sukses
-
Persiapan Data: Ikuti pedoman yang ditetapkan untuk membuat, membersihkan, atau memformat ulang kumpulan data ke dalam struktur yang diperlukan. Pastikan input, output, dan informasi tambahan (seperti jejak penalaran atau metadata) disejajarkan dan diformat dengan benar.
-
Konfigurasi Pelatihan: Tentukan bagaimana model akan dilatih. Saat menggunakan Amazon SageMaker HyperPod, konfigurasi ini ditulis dalam file resep YAML yang mencakup:
Jalur sumber data (kumpulan data pelatihan dan validasi)
Hyperparameter utama (jumlah langkah pelatihan, tingkat pembelajaran, ukuran batch)
Komponen opsional (parameter pelatihan terdistribusi, dll)
Pengaturan Pencampuran Data (mendefinisikan proporsi kategori data pelanggan dan Nova)
-
Optimalkan Parameter SFT Hyper: Nilai parameter resep SFT yang kami rekomendasikan adalah titik awal yang bagus dan pilihan yang kuat. Jika Anda ingin mengoptimalkannya lebih lanjut untuk kasus penggunaan Anda, lakukan beberapa proses SFT dengan kombinasi parameter yang berbeda dan pilih yang terbaik. Anda dapat memilih kombinasi parameter mengikuti metode Hyper-Parameter Optimasi pilihan Anda. Pendekatan sederhana adalah memvariasikan nilai satu parameter (default* 0.5, default, default* 2) sambil mempertahankan nilai default lainnya untuk parameter lain, ulangi ini untuk setiap parameter yang ingin Anda optimalkan, dan ulangi jika perlu. Parameter yang paling relevan untuk LoRa adalah tingkat pembelajaran, alfa (parameter penskalaan), jumlah zaman untuk melatih dan langkah-langkah pemanasan; untuk peringkat penuh itu terutama tingkat pembelajaran, jumlah zaman, dan langkah pemanasan.
Pengurutan Eksperimen dan Pencampuran Data
-
Jika Anda hanya memiliki data SFT (train/dev/test) untuk serangkaian tugas dan hanya peduli tentang kinerja pengujian pada tugas-tugas ini
Lakukan SFT tanpa pencampuran pada pos pemeriksaan Nova [FINAL]. Gunakan hiper-parameter SFT default dan secara opsional mengoptimalkannya untuk kasus penggunaan Anda. Metrik validasi monitor and/or mengevaluasi pos pemeriksaan menengah untuk kumpulan data yang lebih besar.
-
Jika Anda hanya memiliki data SFT (train/dev/test) untuk serangkaian tugas dan peduli dengan kinerja pengujian pada tugas-tugas ini dan tolok ukur umum dalam domain yang diminati
Mulailah dengan melakukan SFT dengan pencampuran data Nova pada pos pemeriksaan pra-pelatihan (PRE-TRAINED atau pos MID-TRAINED pemeriksaan, bukan FINAL). Menggunakan pos pemeriksaan menengah memungkinkan model untuk mengintegrasikan data khusus Anda dengan data eksklusif Nova dengan tetap mempertahankan kemampuan umum yang kuat.
Jalankan pelatihan SFT yang lebih pendek dengan berbagai jumlah data Nova dalam campuran (misalnya, 10%, 25%, 50%, 75%) dan pilihan kategori data Nova yang melengkapi kasus penggunaan Anda (misalnya, pilih instruksi berikut kategori jika Anda peduli dengan kemampuan mengikuti instruksi umum). Pantau metrik validasi dan evaluasi apakah pencampuran membantu kinerja pada tolok ukur umum. Pilih campuran pelatihan dan pos pemeriksaan yang mengarah ke kombinasi kinerja terbaik pada tugas Anda dan kinerja umum. Tergantung pada kasus penggunaan, kinerja tugas dan umum dapat ditingkatkan lebih lanjut menggunakan penguatan fine tuning (RFT).
Siapkan Dataset untuk SFT
Nova 1.0: Persiapan data dijelaskan di https://docs.aws.amazon.com/sagemaker/latest/dg/nova-fine-tune.html
Nova 2.0: Gunakan format API Converse seperti untuk Nova 1.0 https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-call.html. Format data Nova 2.0 dapat berisi bidang penalaran tambahan: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ReasoningContentBlock.html
Konten penalaran menangkap langkah-langkah berpikir menengah model sebelum menghasilkan jawaban akhir. Pada assistant gilirannya, gunakan reasoningContent bidang untuk memasukkan jejak penalaran. Gunakan teks biasa untuk konten penalaran, hindari tag markup seperti <thinking> dan </thinking> kecuali secara khusus diminta oleh tugas Anda, dan pastikan konten penalaran jelas dan relevan dengan proses pemecahan masalah.
Toolkit AI yang Bertanggung Jawab dan Moderasi Konten
Pengaturan moderasi konten: Pelanggan Nova Forge memiliki akses ke Pengaturan Moderasi Konten yang Dapat Disesuaikan (CCMS) untuk model Nova Lite 1.0 dan Pro 1.0. CCMS memungkinkan Anda menyesuaikan kontrol moderasi konten agar selaras dengan persyaratan bisnis spesifik Anda sambil mempertahankan perlindungan AI yang bertanggung jawab yang penting. Untuk menentukan apakah kasus penggunaan bisnis Anda memenuhi syarat untuk CCMS, hubungi manajer akun Amazon Web Services Anda.
Nova Forge menyediakan Toolkit AI yang Bertanggung Jawab yang mencakup data pelatihan, tolok ukur evaluasi, dan kontrol runtime untuk membantu Anda menyelaraskan model Anda dengan pedoman AI Nova yang bertanggung jawab.
Data pelatihan: Kategori “RAI” dalam pencampuran data berisi kasus dan skenario yang menekankan prinsip-prinsip AI yang bertanggung jawab, pertimbangan keselamatan, dan penyebaran teknologi yang bertanggung jawab. Gunakan ini untuk menyelaraskan model Anda secara bertanggung jawab selama pra-pelatihan lanjutan.
Evaluasi: Tugas benchmark tersedia untuk menguji kemampuan model Anda mendeteksi dan menolak konten yang tidak pantas, berbahaya, atau salah. Gunakan evaluasi ini untuk mengukur perbedaan antara kinerja model dasar dan kinerja model kustom Anda.
Kontrol runtime: Secara default, runtime Nova mengontrol respons model moderat selama inferensi. Untuk mengubah kontrol ini untuk kasus bisnis spesifik Anda, minta Pengaturan Moderasi Konten yang Dapat Disesuaikan (CCMS) dengan menghubungi manajer akun Amazon Web Services Anda.
Tanggung Jawab Bersama untuk Keselamatan
Keselamatan adalah tanggung jawab bersama antara Amazon Web Services dan pelanggan kami. Mengubah model dasar atau menggunakan pra-pelatihan berkelanjutan untuk meningkatkan kinerja pada kasus penggunaan tertentu dapat berdampak pada keamanan, keadilan, dan properti lain dari model baru.
Kami menggunakan metode adaptasi yang kuat untuk meminimalkan perubahan keamanan, keadilan, dan perlindungan lain yang dibangun ke dalam model dasar kami sambil meminimalkan dampak pada kinerja model untuk tugas-tugas yang tidak disesuaikan dengan model.
Anda bertanggung jawab untuk:
End-to-end pengujian aplikasi mereka pada kumpulan data yang mewakili kasus penggunaan mereka
Memutuskan apakah hasil tes memenuhi harapan spesifik mereka tentang keamanan, keadilan, dan properti lainnya, serta efektivitas keseluruhan
Untuk informasi selengkapnya, lihat Panduan Penggunaan AI yang Bertanggung Jawab Amazon Web Services, Kebijakan AI yang Bertanggung Jawab Amazon Web Services, Kebijakan AWS Penggunaan yang Dapat Diterima, dan Ketentuan AWS Layanan untuk layanan yang Anda rencanakan untuk digunakan.
Pengaturan Moderasi Konten yang Dapat Disesuaikan (CCMS)
CCMS memungkinkan Anda menyesuaikan kontrol yang relevan dengan kebutuhan bisnis Anda sambil mempertahankan kontrol penting yang tidak dapat dikonfigurasi yang memastikan penggunaan AI yang bertanggung jawab.
Pengaturan ini memungkinkan pembuatan konten melalui tiga konfigurasi yang tersedia:
Hanya keamanan
Keselamatan, konten sensitif, dan keadilan digabungkan
Semua kategori digabungkan
Empat kategori moderasi konten adalah:
Keselamatan — Meliputi aktivitas berbahaya, senjata, dan zat yang dikendalikan
Konten sensitif — Termasuk kata-kata kotor, ketelanjangan, dan intimidasi
Keadilan — Mengatasi bias dan pertimbangan budaya
Keamanan — Melibatkan kejahatan dunia maya, malware, dan konten berbahaya
Terlepas dari konfigurasi CCMS Anda, Amazon Nova memberlakukan kontrol penting yang tidak dapat dikonfigurasi untuk memastikan penggunaan AI yang bertanggung jawab, seperti kontrol untuk mencegah kerusakan pada anak-anak dan menjaga privasi.
Rekomendasi untuk Menggunakan CCMS
Saat menggunakan CCMS, sebaiknya gunakan Continuous Pre Training (CPT) dan mulai dari pos pemeriksaan penyelarasan pra-RAI (PRE-TRAINING-Early, PRE-TRAINING-Mid, atau PRE-TRAINING-Final) daripada pos pemeriksaan. GA/FINAL Pos pemeriksaan ini belum menjalani pelatihan keselamatan atau diarahkan ke perilaku RAI tertentu, memungkinkan Anda untuk menyesuaikannya dengan lebih efisien dengan persyaratan moderasi konten Anda.
Tip: Saat menggunakan CCMS dengan pencampuran data, pertimbangkan untuk menyesuaikan persentase kategori “rai” dalam konfigurasi nova_data agar sesuai dengan persyaratan moderasi konten spesifik Anda.
Ketersediaan
CCMS saat ini tersedia untuk pelanggan yang disetujui menggunakan:
Model Nova Lite 1.0 dan Pro 1.0
Inferensi batuan dasar On-Demand Amazon
Wilayah us-timur-1 (Virginia Utara)
Untuk mengaktifkan CCMS untuk model Forge Anda, hubungi manajer akun Amazon Web Services Anda.
Metode Evaluasi
Prasyarat
Checkpoint S3 URI dari
manifest.jsonfile pekerjaan pelatihan Anda (untuk model terlatih)Dataset evaluasi diunggah ke S3 dalam format yang benar
Jalur keluaran S3 untuk hasil evaluasi
Tolok ukur di luar kotak: Gunakan tolok ukur di luar kotak untuk memvalidasi kinerja pada tugas umum. Untuk lebih jelasnya periksa di sini: https://docs.aws.amazon.com/sagemaker/latest/dg/nova-hp-evaluate.html
Bawa Data Anda Sendiri
Anda juga dapat menyediakan data kustom Anda dengan memformatnya dalam format di bawah ini dan kemudian menggunakan wadah yang disebutkan di bawah ini untuk mendapatkan hasil inferensi bersama dengan probabilitas log untuk kalibrasi jika diperlukan.
Buat jsonl per tugas dengan struktur berikut:
{ "metadata": "{key:4, category:'apple'}", "system": "arithmetic-patterns, please answer the following with no other words: ", "query": "What is the next number in this series? 1, 2, 4, 8, 16, ?", "response": "32" }
Output yang dihasilkan selama fase inferensi pekerjaan evaluasi akan memiliki struktur sebagai berikut:
{ "prompt": "[{'role': 'system', 'content': 'arithmetic-patterns, please answer the following with no other words: '}, {'role': 'user', 'content': 'What is the next number in this series? 1, 2, 4, 8, 16, ?'}]", "inference": "['32']", "gold": "32", "metadata": "{key:4, category:'apple'}" }
Deskripsi bidang:
prompt: Input yang diformat dikirim ke modelinference: Respon yang dihasilkan modelgold: Diharapkan jawaban benar dari kumpulan data input, bidang respons dari inputmetadata: Metadata opsional dilewatkan dari input
Siapkan Konfigurasi Evaluasi
Perintah untuk meluncurkan pekerjaan evaluasi. Gunakan "--override-parameters" untuk memodifikasi entri apa pun dari resep.
hyperpod start-job -n kubeflow \ --recipe evaluation/nova/nova_micro_p5_48xl_bring_your_own_dataset_eval \ --override-parameters '{ "instance_type": "p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-evaluation-repo:SM-HP-Eval-latest", "recipes.run.name": "<your-eval-job-name>", "recipes.run.model_name_or_path": "<checkpoint-s3-uri>", "recipes.run.output_s3_path": "s3://<your-bucket>/eval-results/", "recipes.run.data_s3_path": "s3://<your-bucket>/eval-data.jsonl" }'
Praktik Terbaik
-
Prioritaskan kualitas data daripada volume: High-quality, data pelatihan yang beragam, dan representatif lebih berharga daripada data berkualitas rendah dalam jumlah besar.
-
Sertakan kategori penalaran-instruksi-berikut: Saat menggunakan pencampuran data, sertakan kategori “penalaran-instruksi-mengikuti” untuk mempertahankan kinerja generik yang kuat di seluruh tugas.
-
Gunakan tingkat pembelajaran default: Mulailah dengan tingkat pembelajaran default (1e-5 untuk LoRa, 5e-6 untuk SFT peringkat penuh) dan sesuaikan hanya jika diperlukan berdasarkan metrik validasi.
-
Pencampuran data Balance Nova: Campurkan maksimum 50% data Nova untuk keseimbangan kinerja latensi yang optimal. Persentase yang lebih tinggi dapat meningkatkan kemampuan umum tetapi dapat meningkatkan waktu pelatihan.
-
Pantau metrik validasi: Evaluasi pos pemeriksaan menengah secara teratur selama pelatihan untuk mendeteksi kelebihan pemasangan atau penurunan kinerja lebih awal.
-
Uji pada kumpulan data represent atif: Pastikan kumpulan data evaluasi Anda secara akurat mewakili kasus penggunaan produksi Anda untuk penilaian kinerja yang berarti.
Siapkan Konfigurasi Pekerjaan Pelatihan
Parameter Hyper
Set lengkap hiper-parameter selain pencampuran data:
## Run config run: name: my-lora-sft-run model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: nova-lite-2/prod data_s3_path: s3://my-bucket-name/train.jsonl # SageMaker HyperPod (SMHP) only and not compatible with SageMaker Training jobs. Note replace my-bucket-name with your real bucket name for SMHP job replicas: 4 # Number of compute instances for training, allowed values are 4, 8, 16, 32 output_s3_path: s3://my-bucket-name/outputs/ # Output artifact path (Hyperpod job-specific; not compatible with standard SageMaker Training jobs). Note replace my-bucket-name with your real bucket name for SMHP job ## MLFlow configs mlflow_tracking_uri: "" # Required for MLFlow mlflow_experiment_name: "my-lora-sft-experiment" # Optional for MLFlow. Note: leave this field non-empty mlflow_run_name: "my-lora-sft-run" # Optional for MLFlow. Note: leave this field non-empty training_config: max_steps: 100 # Maximum training steps. Minimal is 4. save_steps: 10 # This parameter suggests after how many training steps the checkpoints will be saved. Should be less than or equal to max_steps(please override this value with a numerical value equal or less than max_steps value; min: 4) save_top_k: 5 # Keep top K best checkpoints. Note supported only for SageMaker HyperPod jobs. Minimal is 1. max_length: 32768 # Sequence length (options: 8192, 16384, 32768 [default], 65536) global_batch_size: 32 # Golbal batch size (options: 32, 64, 128) reasoning_enabled: true # If data has reasoningContent, set to true; otherwise False lr_scheduler: warmup_steps: 15 # Learning rate warmup steps. Recommend 15% of max_steps min_lr: 1e-6 # Minimum learning rate, must be between 0.0 and 1.0 optim_config: # Optimizer settings lr: 1e-5 # Learning rate, must be between 0.0 and 1.0 weight_decay: 0.0 # L2 regularization strength, must be between 0.0 and 1.0 adam_beta1: 0.9 # Exponential decay rate for first-moment estimates, must be between 0.0 and 1.0 adam_beta2: 0.95 # Exponential decay rate for second-moment estimates, must be between 0.0 and 1.0 peft: # Parameter-efficient fine-tuning (LoRA) peft_scheme: "lora" # Enable LoRA for PEFT lora_tuning: alpha: 64 # Scaling factor for LoRA weights ( options: 32, 64, 96, 128, 160, 192), lora_plus_lr_ratio: 64.0 # LoRA+ learning rate scaling factor (0.0–100.0)
Parameter yang paling relevan untuk LoRa adalah tingkat pembelajaran, alfa (parameter penskalaan), jumlah zaman untuk melatih dan langkah-langkah pemanasan; untuk peringkat penuh itu terutama tingkat pembelajaran, jumlah zaman, dan langkah pemanasan. Resep sudah diisi sebelumnya dengan default yang disarankan.
Siapkan Blok Pencampuran Data
Tambahkan bagian data_mixing ke resep Anda dengan distribusi persentase yang sesuai di seluruh kategori dataset.
Di bawah ini kami menjelaskan setiap kategori data Nova yang tersedia.
Konfigurasi Nova 1.0 dengan pencampuran Data
data_mixing: dataset_catalog: sft_text # Nova text dataset catalog sources: customer_data: percent: 50 # Percent of overall mix to draw from customer data nova_data: # The remainder will be drawn from Nova data. The categories below must add to 100 agents: 1 # autonomous decision-making, task completion, goal-oriented behavior in AI systems chat: 51 # Conversational exchanges demonstrating natural dialogue flow code: 8 # Programming examples and solutions spanning multiple languages rai: 1 # ethical AI principles, safety considerations, and responsible technology deployment instruction-following: 13 # precise task execution based on varying levels of user prompts and directives stem: 6 # Technical content covering science, technology, engineering, and mathematics planning: 2 # Sequences demonstrating strategic thinking and step-by-step task breakdown reasoning: 8 # Logical deduction, critical thinking, and analytical problem-solving scenarios rag: 1 # combining retrieved external knowledge with generated responses translation: 9 # Multi-language content pairs showing accurate translation
Apa arti kategori ini?
| Nama Kategori | Detail info |
|---|---|
| pelaku | Data pelatihan berfokus pada pengambilan keputusan otonom, penyelesaian tugas, dan perilaku berorientasi tujuan dalam sistem AI |
| ngobrol | Pertukaran percakapan menunjukkan aliran dialog alami, pemeliharaan konteks, dan interaksi sosial yang sesuai |
| code | Contoh pemrograman dan solusi yang mencakup berbagai bahasa, skenario debugging, dan praktik terbaik pengembangan perangkat lunak |
| Rai | Kasus dan skenario yang menekankan prinsip-prinsip AI etis, pertimbangan keselamatan, dan penyebaran teknologi yang bertanggung jawab |
| mengikuti instruksi | Contoh eksekusi tugas yang tepat berdasarkan berbagai tingkat petunjuk dan arahan pengguna |
| asal | Konten teknis yang mencakup sains, teknologi, teknik, dan matematika, termasuk pemecahan masalah dan konsep teoritis |
| perencanaan | Urutan yang menunjukkan pemikiran strategis, rincian tugas langkah demi langkah, dan alokasi sumber daya yang efisien |
| pemikiran | Skenario deduksi logis, pemikiran kritis, dan pemecahan masalah analitis dengan rantai penalaran yang jelas |
| lap | Contoh penggabungan pengetahuan eksternal yang diambil secara efektif dengan respons yang dihasilkan untuk memberikan informasi kontekstual yang akurat |
| terjemahan | Multi-language pasangan konten yang menunjukkan terjemahan yang akurat sambil mempertahankan konteks, nada, dan nuansa budaya |
Pencampuran Data Multimodal (Nova 1.0)
data_mixing: dataset_catalog: sft_mm # Nova multi-modal dataset catalog sources: customer_data: percent: 50 # Percent of overall mix to draw from customer data nova_data: # The remainder will be drawn from Nova data. The categories below must add to 100 agents: 11 # Combining visual and textual inputs docs: 17 # Document-centric data combining text, images, layouts, and formatting perception: 10 # Visual-linguistic pairs t rag: 4 # Combining retrieved external knowledge with generated responses rai: 3 # Ethical AI principles, safety considerations, and responsible technology deployment reasoning: 10 # Logical analysis, problem-solving, and drawing conclusions stem: 17 # Technical content pairing visual elements (diagrams, charts, equations) with text text: 10 # A balanced pool of contextual text data create from the text-only SFT datasets video: 18 # Video datasets
Apa arti kategori ini?
| Nama Kategori | Detail info |
|---|---|
| pelaku | Pasangan pelatihan menggabungkan input visual dan tekstual yang menunjukkan bagaimana sistem AI harus menafsirkan, bertindak, dan berinteraksi dengan informasi lingkungan multi-sensorik |
| docs | Document-centric data menggabungkan teks, gambar, tata letak, dan pemformatan untuk melatih model dalam memahami dan memproses berbagai jenis dokumen dan struktur untuk membantu konsep seperti pengenalan konten PDF |
| persepsi | Visual-linguistic memasangkan model pengajaran untuk secara akurat menggambarkan, menafsirkan, dan bernalar tentang gambar, video, dan input visual lainnya dalam bahasa alami |
| lap | Contoh pengambilan multimodal yang menunjukkan cara menggabungkan dan mereferensikan pengetahuan eksternal visual dan tekstual secara efektif untuk menghasilkan respons kontekstual yang akurat |
| pemikiran | Kasus yang menggabungkan elemen visual dan tekstual yang menunjukkan analisis logis, pemecahan masalah, dan menarik kesimpulan di berbagai modalitas |
| asal | Konten teknis memasangkan elemen visual (diagram, bagan, persamaan) dengan teks untuk mengajarkan konsep ilmiah, matematika, dan teknis serta pemecahan masalah |
| text | Kumpulan data teks kontekstual yang seimbang dibuat dari kategori dataset SFT Nova hanya teks untuk memberikan kemampuan generalis |
| video | Motion-based konten visual berfokus pada pemahaman temporal dan pemahaman naratif visual berurutan |
Konfigurasi Nova 2.0 dengan pencampuran data
data_mixing: dataset_catalog: sft_1p5_text_chat # Nova text dataset catalog sources: customer_data: percent: 50 # Percent of overall mix to draw from customer data nova_data: # The remainder will be drawn from Nova data. The categories below must add to 100 agents: 1 # autonomous decision-making, task completion, goal-oriented behavior in AI systems baseline: 10 # [New in Nova 1.5] chat: 0.5 # Conversational exchanges demonstrating natural dialogue flow code: 10 # Programming examples and solutions spanning multiple languages factuality: 0.1 # [New in Nova 1.5] identity: 1 # [New in Nova 1.5] long-context: 1 # [New in Nova 1.5] math: 2 # [New in Nova 1.5] rai: 1 # ethical AI principles, safety considerations, and responsible technology deployment instruction-following: 13 # precise task execution based on varying levels of user prompts and directives stem: 0.5 # Technical content covering science, technology, engineering, and mathematics planning: 10 # Sequences demonstrating strategic thinking and step-by-step task breakdown reasoning-chat: 0.5 reasoning-code: 0.5 reasoning-factuality: 0.5 reasoning-instruction-following: 45 reasoning-math: 0.5 reasoning-planning: 0.5 reasoning-rag: 0.4 reasoning-rai: 0.5 reasoning-stem: 0.4 rag: 1 # combining retrieved external knowledge with generated responses translation: 0.1
Apa arti kategori ini?
| Nama Kategori | Detail info |
|---|---|
| pelaku | Data pelatihan berfokus pada pengambilan keputusan otonom, penyelesaian tugas, dan perilaku berorientasi tujuan dalam sistem AI |
| garis dasar | Data bahasa fundamental berfokus pada pemahaman umum, komunikasi dasar, dan kemampuan linguistik inti |
| ngobrol | Pertukaran percakapan menunjukkan aliran dialog alami, pemeliharaan konteks, dan interaksi sosial yang sesuai |
| code | Pemrograman kode sumber, dokumentasi, dan diskusi teknis dari berbagai bahasa pemrograman dan platform. |
| faktualitas | Materi referensi dan informasi terverifikasi berfokus pada akurasi, validasi sumber, dan penilaian kebenaran |
| identitas | Kerangka kepribadian dan pola perilaku berfokus pada ciri-ciri karakter, nilai, dan gaya interaksi yang konsisten |
| konteks panjang | Teks yang diperluas dan narasi kompleks berfokus pada menjaga koherensi dan relevansi di seluruh pertukaran yang panjang |
| matematika | Konten matematika termasuk buku teks, masalah, solusi, dan diskusi matematika. |
| Rai | Kasus dan skenario yang menekankan prinsip-prinsip AI etis, pertimbangan keselamatan, dan penyebaran teknologi yang bertanggung jawab |
| mengikuti instruksi | Contoh eksekusi tugas yang tepat berdasarkan berbagai tingkat petunjuk dan arahan pengguna |
| asal | Konten teknis yang mencakup sains, teknologi, teknik, dan matematika, termasuk pemecahan masalah dan konsep teoritis |
| perencanaan | Urutan yang menunjukkan pemikiran strategis, rincian tugas langkah demi langkah, dan alokasi sumber daya yang efisien |
| obrolan penalaran | Skenario dialog analitis berfokus pada diskusi logis dan aliran percakapan terstruktur |
| kode penalaran | Tantangan pemrograman dan masalah algoritmik berfokus pada pengembangan solusi sistematis |
| penalaran-faktualitas | Skenario evaluasi informasi berfokus pada proses penilaian dan verifikasi kritis |
| penalaran-instruksi-mengikuti | Analisis tugas kompleks berfokus pada interpretasi sistematis dan eksekusi metodis |
| penalaran-matematika | Skenario pemecahan masalah matematika berfokus pada perkembangan logis dan strategi solusi |
| perencanaan penalaran | Skenario pengambilan keputusan strategis berfokus pada pendekatan sistematis untuk pencapaian tujuan |
| kain penalaran | Skenario pengambilan dan sintesis informasi berfokus pada pemahaman kontekstual dan aplikasi yang relevan |
| resoning-rai | Skenario pengambilan keputusan etis berfokus pada evaluasi sistematis keamanan dan keadilan AI |
| batang penalaran | Skenario pemecahan masalah ilmiah berfokus pada analisis metodis dan pengembangan solusi |
| lap | Contoh penggabungan pengetahuan eksternal yang diambil secara efektif dengan respons yang dihasilkan untuk memberikan informasi kontekstual yang akurat |
| terjemahan | Multi-language pasangan konten yang menunjukkan terjemahan yang akurat sambil mempertahankan konteks, nada, dan nuansa budaya |
Pencampuran Data Multimodal (Nova 2.0)
data_mixing: dataset_catalog: sft_1p5_mm_chat # Nova text dataset catalog sources: customer_data: percent: 50 # Percent of overall mix to draw from customer data nova_data: # The remainder will be drawn from Nova data. The categories below must add to 100 charts: 1 chat: 38 code: 20 docs: 3 general: 2 grounding: 1 rag: 4 screenshot: 4 text: 8 translation: 4 video: 15
Catatan: Nova 2.0 menyertakan dukungan kategori data video yang tidak tersedia di Nova 1.0.
Apa arti kategori ini?
| Nama Kategori | Detail info |
|---|---|
| grafik | Representasi visual dan deskripsi grafik, diagram lingkaran, diagram batang, plot garis, dan visualisasi statistik lainnya untuk membantu model memahami dan mengkomunikasikan informasi kuantitatif secara efektif |
| ngobrol | Data percakapan dipasangkan dengan elemen visual yang berfokus pada pemahaman dialog kontekstual dan interaksi berbasis gambar |
| code | Antarmuka pemrograman dan lingkungan pengembangan berfokus pada interpretasi kode visual, tangkapan layar IDE, dan diagram teknis |
| docs | Document-centric data menggabungkan teks, gambar, tata letak, dan pemformatan untuk melatih model dalam memahami dan memproses berbagai jenis dokumen dan struktur untuk membantu konsep seperti pengenalan konten PDF |
| umum | Beragam konten visual-tekstual berfokus pada pemahaman luas gambar, grafik, dan teks deskriptif yang menyertainya |
| mendasari | Bahan referensi visual dan citra berlabel berfokus pada menghubungkan konsep bahasa dengan representasi visual dunia nyata |
| lap | Contoh pengambilan multimodal yang menunjukkan cara menggabungkan dan mereferensikan pengetahuan eksternal visual dan tekstual secara efektif untuk menghasilkan respons kontekstual yang akurat |
| tangkapan layar | Tangkapan antarmuka aplikasi dan gambar tampilan digital berfokus pada pemahaman antarmuka perangkat lunak dan interaksi digital |
| text | Kumpulan data teks kontekstual yang seimbang dibuat dari kategori dataset SFT Nova hanya teks untuk memberikan kemampuan generalis |
| terjemahan | Cross-language konten visual berfokus pada interpretasi multibahasa teks dalam gambar dan elemen visual budaya |
| video | Motion-based konten visual berfokus pada pemahaman temporal dan pemahaman naratif visual berurutan |
Cara Meluncurkan Pekerjaan
Anda juga dapat merujuk ke README, jika Anda hanya perlu mendapatkan detail penting untuk memulai menjalankan SFT pertama.
Informasi kontainer:
| Model | Teknik | Subkategori | URI citra | Perintah Peluncur Hyperpod |
|---|---|---|---|---|
| Nova 1.0 | Fine-tuning | SFT/PEFT | 708977205387.dkr.ecr.us-east-1.amazonaws. com/nova-fine-tune-repo: SM-HP-SFT-latest | hyperpod start-job\ -n kubeflow\ --resep fine-tuning/nova/nova_1_0/nova_micro/SFT/nova_micro_1_0_p5_gpu_sft\ --override-parameters '{“instance_type”: “ml.p5.48xlarge”, “wadah”: “708977205387.dkr.ecr.us-east-1.amazonaws. com/nova-fine-tune-repo: "} 'SM-HP-SFT-latest |
| Nova 1.0 | Fine-tuning | SFT dengan Pencampuran Data | 708977205387.dkr.ecr.us-east-1.amazonaws. com/nova-fine-tune-repo: HP-SFT-DATAMIX | hyperpod start-job\ -n kubeflow\ --resep fine-tuning/nova/forge/nova_1_0/nova_micro/SFT/nova_micro_1_0_p5_gpu_sft_text_with_datamix\ --override-parameter '{“instance_type”: “ml.p5.48xlarge”, “wadah”: “708977205387.dkr.ecr.us-east-1.amazonaws. com/nova-fine-tune-repo: "} 'HP-SFT-DATAMIX |
| Nova 2.0 | Fine-tuning | Teks SFT (dengan atau tanpa pencampuran data) | 708977205387.dkr.ecr.us-east-1.amazonaws. com/nova-fine-tune-repo: SM-HP-SFT-V2-latest | hyperpod start-job\ -n kubeflow\ --resep fine-tuning/nova/forge/nova_2_0/nova_lite/SFT/nova_lite_2_0_p5_gpu_sft_text_with_datamix\ --override-parameter '{“instance_type”: “ml.p5.48xlarge”, “wadah”: “708977205387.dkr.ecr.us-east-1.amazonaws. com/nova-fine-tune-repo: "} 'SM-HP-SFT-V2-latest |
| Nova 2.0 | Fine-tuning | SFT MM (dengan atau tanpa pencampuran data) | 708977205387.dkr.ecr.us-east-1.amazonaws. com/nova-fine-tune-repo: SM-HP-SFT-V2-latest | hyperpod start-job\ -n kubeflow\ --resep fine-tuning/nova/forge/nova_2_0/nova_lite/SFT/nova_lite_2_0_p5_gpu_sft_mm_with_datamix\ --override-parameter '{“instance_type”: “ml.p5.48xlarge”, “wadah”: “708977205387.dkr.ecr.us-east-1.amazonaws. com/nova-fine-tune-repo: "} 'SM-HP-SFT-V2-latest |
Setelah Anda semua menyiapkan, mulai dari root repositori sagemaker-hyperpod-cli, arahkan ke folder resep nova sft default
cd//src/hyperpod_clisagemaker_hyperpod_recipes/recipes_collection/recipes/fine- tuning/nova /forge/
Di sini Anda dapat memilih apakah Anda ingin menjalankan resep nova 1 atau nova 2 berdasarkan pilihan model dasar.
Untuk Nova 1.0 sft:
-
Jika Anda ingin menggunakan pekerjaan sft biasa, Anda harus dapat melihat satu resep di bawah folder ini
cd///recipes/fine- src/hyperpod_cli sagemaker_hyperpod_recipes/recipes_collectiontuning/nova_1_0/nova_lite/SFT dan kemudian Anda harus dapat melihat satu resep di bawah folder ini bernama nova_lite_1_0_p5x8_gpu_sft.yaml
-
Jika Anda ingin menggunakan datamixing sft Job, Anda dapat menavigasi ke folder resep sft Forge
cd//recipes/fine-/src/hyperpod_clisagemaker_hyperpod_recipes/recipes_collectiontuning/novaforge/nova_1_0/nova_lite/SFT dan Anda harus dapat melihat satu resep di bawah folder ini bernama: nova_lite_1_0_p5x8_gpu_sft_with_datamix.yaml
Edit bagian dalam resep yang diperlukan oleh pekerjaan seperti name, data_s3_path, validation_s3_path, output_s3_path, dan max_steps.Karena kami melakukan sft, gagasan epochs tidak berlaku di sini.
Untuk Nova 2.0 sft:
-
Jika Anda ingin menggunakan pekerjaan sft biasa, Anda harus dapat melihat satu resep di bawah folder ini
cd///recipes/fine- src/hyperpod_cli sagemaker_hyperpod_recipes/recipes_collectiontuning/nova_2_0/nova_lite/SFT dan kemudian Anda harus dapat melihat satu resep di bawah folder ini bernama nova_lite_2_0_p5x8_gpu_sft.yaml
-
Jika Anda ingin menggunakan datamixing sft Job, Anda dapat menavigasi ke folder resep sft Forge
cd//recipes/fine-/src/hyperpod_clisagemaker_hyperpod_recipes/recipes_collectiontuning/novaforge/nova_2_0/nova_lite/SFT dan Anda harus dapat melihat satu resep di bawah folder ini bernama: nova_lite_2_0_p5x8_gpu_sft_with_datamix.yaml
Edit bagian dalam resep yang diperlukan oleh pekerjaan seperti nama, data_s3_path, validation_s3_path, output_s3_path, dan max_steps. Karena kami melakukan sft, gagasan zaman tidak berlaku di sini.
Konfigurasi pencampuran data akan terlihat sama, tetapi dengan bagian pencampuran data tambahan di bagian bawah yang mirip dengan ini
data_mixing: dataset_catalog: sft_text_lite sources: nova_data: # percent inputs for Nova data must sum to 100%; use 0% if you want to exclude a data grouping agents: 20 business-and-finance: 20 scientific: 20 code: 20 factual-and-news: 20 longform-text: 0 health-and-medicine: 0 humanities-and-education: 0 legal: 0 math: 0 additional-languages: 0 social-and-personal-interest: 0 entertainment: 0 reasoning: 0 other: 0 tables: 0 customer_data: # percent input of customer data. 100 = use only customer data, 0 = use only the nova_data mix above percent: 25
Ada dua kategori data tingkat atas di sini:
-
nova_data: Ini adalah pencampuran data aktual dan dibagi lagi menjadi lebih banyak kategori. Sangat penting bahwa mereka menjumlahkan hingga 100%
Rincian lengkap kategori ini termasuk jumlah token dapat ditemukan di bawah ini
customer_data: Ini adalah data pelatihan Anda yang dirujuk dalam kunci data_s3_path di bagian atas yaml Anda. Persentase yang diberikan di sini menentukan berapa persentase yang dihasilkan untuk nova_data. Misalnya, dalam pemilihan persen di atas, selama pelatihan kami akan menggunakan 25% dari customer_data dan 75% dari nova_data di mana 15% akan menjadi agen, 15% akan menjadi bisnis dan keuangan, 15% akan ilmiah, 15% akan menjadi kode, dan 15% akan menjadi faktual-dan-berita
Tip: Jalankan pip install -e. sekali lagi dan Anda siap untuk mengirimkan pekerjaan Anda!
Kami akan mengganti beberapa parameter di sini untuk menggunakan pencampuran data:
hyperpod start-job \ -n kubeflow \ --recipe fine-tuning/nova/forge/nova_2_0/nova_lite/SFT/nova_lite_2_0_p5_gpu_sft_text_with_datamix \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "recipes.run.name": "nova-sft-datamixing", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-HP-SFT-V2-latest", "recipes.run.data_s3_path": "s3://sft-data/sft_train_data.jsonl", "recipes.run.validation_data_s3_path": "s3://sft-data/sft_val_data.jsonl", "recipes.run.output_s3_path": "s3://sft-data/output/" }'
Output Anda harus berisi nama pekerjaan sebagai berikut:
⚡ MY Desktop ⚡ % hyperpod start-job \ -n kubeflow \ --recipe fine-tuning/nova/forge/nova_2_0/nova_lite/SFT/nova_lite_2_0_p5_gpu_sft_text_with_datamix \ --override-parameters '{ "instance_type": "ml.p5.48xlarge", "recipes.run.name": "nova-sft-datamixing", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-HP-SFT-V2-latest", "recipes.run.data_s3_path": "s3://sft-data/sft_train_data.jsonl", "recipes.run.validation_data_s3_path": "s3://sft-data/sft_val_data.jsonl", "recipes.run.output_s3_path": "s3://sft-data/output/" }'
Output akan seperti ini:
Final command: python3 /local/home/my/Downloads/sagemaker-hyperpod-cli/src/hyperpod_cli/sagemaker_hyperpod_recipes/main.py recipes=fine-tuning/nova/forge/nova_2_0/nova_lite/SFT/nova_lite_2_0_p5_gpu_sft_text_with_datamix cluster_type=k8s cluster=k8s base_results_dir=/local/home/my/Downloads/sagemaker-hyperpod-cli/results cluster.pullPolicy="IfNotPresent" cluster.restartPolicy="OnFailure" cluster.namespace="kubeflow" instance_type="ml.p5.48xlarge" container="708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-HP-SFT-V2-latest" Prepared output directory at /local/home/my/Downloads/sagemaker-hyperpod-cli/results/my-sft-run-wzdyn/k8s_templates Found credentials in shared credentials file: ~/.aws/credentials Helm script created at /local/home/my/Downloads/sagemaker-hyperpod-cli/results/my-sft-run-wzdyn/my-sft-run-wzdyn_launch.sh Running Helm script: /local/home/my/Downloads/sagemaker-hyperpod-cli/results/my-sft-run-wzdyn/my-sft-run-wzdyn_launch.sh NAME: my-sft-run-wzdyn LAST DEPLOYED: Tue Aug 26 16:21:06 2025 NAMESPACE: kubeflow STATUS: deployed REVISION: 1 TEST SUITE: None Launcher successfully generated: /local/home/my/Downloads/sagemaker-hyperpod-cli/src/hyperpod_cli/sagemaker_hyperpod_recipes/launcher/nova/k8s_templates/SFT { "Console URL": "https://us-east-1.console.aws.amazon.com/sagemaker/home?region=us-east-1#/cluster-management/hyperpod-eks-ga-0703" }
Anda dapat melihat status pekerjaan Anda menggunakan hyperpod list-pods -n kubeflow --job-name my-sft-run-wzdyn
hyperpod list-pods -n kubeflow --job-name my-sft-run-wzdyn { "pods": [ { "PodName": "my-sft-run-wzdyn-master-0", "Namespace": "kubeflow", "Status": "Pending", "CreationTime": "2025-08-26 16:21:06+00:00" }, { "PodName": "my-sft-run-wzdyn-worker-0", "Namespace": "kubeflow", "Status": "Pending", "CreationTime": "2025-08-26 16:21:06+00:00" } ] }
atau langsung gunakan perintah kubectl untuk menemukannya.
Misalnya,
kubectl get pods -o wide -w -n kubeflow | (head -n1 ; grep my-sft-run) NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES my-sft-run-5suc8-master-0 0/1 Completed 0 3h23m 172.31.32.132 hyperpod-i-00b3d8a1bf25714e4 <none> <none> my-sft-run-5suc8-worker-0 0/1 Completed 0 3h23m 172.31.44.196 hyperpod-i-0aa7ccfc2bd26b2a0 <none> <none> my-sft-run-5suc8-worker-1 0/1 Completed 0 3h23m 172.31.46.84 hyperpod-i-026df6406a7b7e55c <none> <none> my-sft-run-5suc8-worker-2 0/1 Completed 0 3h23m 172.31.28.68 hyperpod-i-0802e850f903f28f1 <none> <none>
Kiat pro: Pastikan untuk selalu menggunakan flag -o wide karena node EKS tempat pekerjaan berjalan akan membantu Anda menemukan log Anda lebih cepat di AWS UI
Cara Memantau Pekerjaan
Anda dapat melihat log Anda salah satu dari tiga cara:
a) Menggunakan CloudWatch
Log Anda tersedia di akun Amazon Web Services Anda yang berisi cluster hyperpod di bawah CloudWatch. Untuk melihatnya di browser Anda, navigasikan ke CloudWatch beranda di akun Anda dan cari nama cluster Anda. Misalnya, jika cluster Anda disebut my-hyperpod-rig grup log akan memiliki awalan:
-
Grup log:/aws/sagemakerClusters/my-hyperpod-rig/{UUID}
-
Setelah Anda berada di grup log, Anda dapat menemukan log spesifik Anda menggunakan ID instance node seperti - hyperpod-i-00b3d8a1bf25714e4.
i-00b3d8a1bf25714e4 di sini mewakili nama mesin ramah hyperpod tempat pekerjaan pelatihan Anda berjalan. Ingat bagaimana pada perintah sebelumnya kubectl get pods -o wide -w -n kubeflow | (head -n1; grep my-cpt-run) output kita menangkap kolom bernama NODE.
Node “master” yang dijalankan dalam hal ini berjalan pada hyperpod-i-00b3d8a1bf25714e4 dan dengan demikian kita akan menggunakan string itu untuk memilih grup log untuk dilihat. Pilih salah satu yang mengatakan SagemakerHyperPodTrainingJob/rig-group/[NODE]
Log Anda akan terlihat seperti ini:
b) Menggunakan CloudWatch Wawasan
Jika Anda memiliki nama pekerjaan Anda dan tidak ingin melalui semua langkah di atas, Anda cukup menanyakan semua log di bawah//aws/sagemakerClusters/my-hyperpod-rig/{UUID} untuk menemukan log individu.
CPT
fields @timestamp, @message, @logStream, @log | filter @message like /(?i)Starting CPT Job/ | sort @timestamp desc | limit 100
Untuk penyelesaian pekerjaan ganti Pekerjaan Memulai SFT dengan Pekerjaan SFT selesai
Kemudian Anda dapat mengklik hasil dan memilih salah satu yang mengatakan “Epoch 0" karena itu akan menjadi node master Anda.
C) Menggunakan AWS CLI
Anda dapat memilih untuk mengekor log Anda menggunakan AWS CLI. Sebelum melakukannya, silakan periksa AWS CLI versi Anda menggunakanaws --version. Disarankan juga untuk menggunakan skrip utilitas ini yang membantu dalam pelacakan log langsung di terminal Anda
untuk V1:
aws logs get-log-events \ --log-group-name /aws/sagemaker/YourLogGroupName \ --log-stream-name YourLogStream \ --start-from-head | jq -r '.events[].message'
untuk V2:
aws logs tail /aws/sagemaker/YourLogGroupName \ --log-stream-name YourLogStream \ --since 10m \ --follow
D) Siapkan Aliran ML:
Anda dapat melacak metrik melalui MLFlow.
Membuat aplikasi MLFlow
Menggunakan UI Studio: Jika Anda membuat pekerjaan pelatihan melalui UI Studio, aplikasi MLFlow default dibuat secara otomatis dan dipilih secara default di bawah Opsi Lanjutan.
Menggunakan CLI: Jika Anda menggunakan CLI, Anda harus membuat aplikasi MLFlow dan meneruskannya sebagai masukan ke permintaan API pekerjaan pelatihan.
mlflow_app_name="<enter your MLflow app name>" role_arn="<enter your role ARN>" bucket_name="<enter your bucket name>" region="<enter your region>" mlflow_app_arn=$(aws sagemaker create-mlflow-app \ --name $mlflow_app_name \ --artifact-store-uri "s3://$bucket_name" \ --role-arn $role_arn \ --region $region)
Akses aplikasi MLFlow
Menggunakan CLI: Buat URL yang ditandatangani sebelumnya untuk mengakses UI aplikasi MLFlow:
aws sagemaker create-presigned-mlflow-app-url \ --arn $mlflow_app_arn \ --region $region \ --output text
Setelah ML Flow diatur, Anda dapat meneruskan URI dalam resep Anda atau menggunakan override saat memulai pekerjaan. Salah satu contoh cara melakukannya dapat ditemukan di README.
Bagaimana cara mengevaluasi model Anda setelah SFT?
Prasyarat
Checkpoint S3 URI dari file manifest.json pekerjaan pelatihan Anda (untuk model terlatih)
Dataset evaluasi diunggah ke S3 dalam format yang benar
Jalur keluaran S3 untuk hasil evaluasi
Tolok ukur di luar kotak: Gunakan tolok ukur di luar kotak untuk memvalidasi kinerja pada tugas umum. Untuk detail lebih lanjut, periksa di sini.
Bawa data Anda sendiri:
Anda juga dapat menyediakan data kustom Anda dengan memformatnya dalam format di bawah ini dan kemudian menggunakan wadah yang disebutkan di bawah ini untuk mendapatkan hasil inferensi bersama dengan probabilitas log untuk kalibrasi jika diperlukan.
Crate jsonl per tugas dengan struktur berikut:
{ "metadata": "{key:4, category:'apple'}", "system": "arithmetic-patterns, please answer the following with no other words: ", "query": "What is the next number in this series? 1, 2, 4, 8, 16, ?", "response": "32" }
Output yang dihasilkan selama fase inferensi pekerjaan evaluasi akan memiliki struktur sebagai berikut:
{ "prompt": "[{'role': 'system', 'content': 'arithmetic-patterns, please answer the following with no other words: '}, {'role': 'user', 'content': 'What is the next number in this series? 1, 2, 4, 8, 16, ?'}]", "inference": "['32']", "gold": "32", "metadata": "{key:4, category:'apple'}" }
Deskripsi bidang:
prompt: Input yang diformat dikirim ke model
inferensi: Respons yang dihasilkan model
emas: Diharapkan jawaban benar dari kumpulan data input, bidang respons dari input
metadata: Metadata opsional dilewatkan dari input
Siapkan Konfigurasi Evaluasi
Perintah untuk meluncurkan pekerjaan evaluasi. Gunakan “--override-parameters” untuk memodifikasi entri apa pun dari resep.
hyperpod start-job -n kubeflow \ --recipe evaluation/nova/nova_micro_p5_48xl_bring_your_own_dataset_eval \ --override-parameters '{ "instance_type": "p5.48xlarge", "container": "708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-evaluation-repo:SM-HP-Eval-latest", "recipes.run.name": "<your-eval-job-name>", "recipes.run.model_name_or_path": "<checkpoint-s3-uri>", "recipes.run.output_s3_path": "s3://<your-bucket>/eval-results/", "recipes.run.data_s3_path": "s3://<your-bucket>/eval-data.jsonl" }'
Luncurkan Pekerjaan Evaluasi Anda
Perintah peluncuran pekerjaan untuk resep yang berbeda dengan gambar yang sesuai.
| Model | Teknik | Subkategori | URI citra | Perintah |
|---|---|---|---|---|
| Nova 1.0 | Evaluasi | Evaluasi | 708977205387.dkr.ecr.us-east-1.amazonaws. com/nova-evaluasi-repo: SM-HP-Eval-latest | hyperpod start-job\ -n kubeflow\ --resep evaluation/nova/nova_1_0/nova_lite/nova_lite_2_0_p5_48xl_gpu_ft_eval\ --override-parameter '{“instance_type”: “ml.p5.48xlarge”, “wadah”: “708977205387.dkr.ecr.us-east-1.amazonaws. com/nova-evaluation-repo: "} 'SM-HP-Eval-latest |
| Nova 2.0 | Evaluasi | Evaluasi | 708977205387.dkr.ecr.us-east-1.amazonaws. com/nova-evaluasi-repo: SM-HP-Eval-latest | hyperpod start-job -n kubeflow\ --resep evaluation/nova/nova_2_0/nova_lite/nova_lite_2_0_p5_48xl_gpu_ft_eval\ --override-parameters '{“instance_type”: “ml.p5.48xlarge”, “wadah”: “708977205387.dkr.ecr.us-east-1.amazonaws. com/nova-evaluation-repo: "} 'SM-HP-Eval-latest |
Pelajaran dan Kiat yang Dipetik
Kualitas dataset SFT sangat penting. Anda harus melakukan segala upaya untuk menyaring data berkualitas rendah. Jika Anda memiliki sebagian kecil data berkualitas sangat tinggi—dalam hal kompleksitas dan akurasi—Anda dapat mempertimbangkan untuk menempatkannya menjelang akhir pelatihan untuk membantu model menyatu dengan lebih baik.
Kami memanfaatkan kumpulan data teks dan multimodal (MM) untuk pencampuran data. Eksperimen kami dengan dataset teks menunjukkan bahwa menambahkan kategori “penalaran-instruksi-mengikuti” milik Nova secara signifikan meningkatkan kinerja di seluruh tolok ukur generik. Sebaiknya sertakan kategori ini dalam strategi pencampuran data Anda jika Anda peduli dengan benchmark generik yang mengalami kemunduran setelah Anda melakukan SFT dengan kumpulan data Anda.
Untuk kumpulan data MM, eksperimen kami menunjukkan bahwa memasukkan lebih dari 20% kategori video ke dalam campuran bermanfaat untuk mempertahankan kinerja benchmark generik.
Selanjutnya, SFT dengan pencampuran data cukup sensitif terhadap tingkat pembelajaran sehingga temuan kami menyarankan untuk menyempurnakan dengan tingkat pembelajaran default yaitu 1e-5 untuk LoRa dan 5e-6 untuk FR.
Akhirnya, ada pertukaran antara latensi dan kinerja jika Anda mencampur kumpulan data eksklusif Nova sehingga temuan kami menyarankan untuk mencampur 50% secara maksimal sebagai keseimbangan yang baik.