Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penyetelan halus yang diawasi (SFT) di Nova 2.0 pada Pekerjaan Pelatihan SageMaker
Prasyarat
Sebelum Anda memulai pekerjaan pelatihan, perhatikan hal berikut.
-
Bucket Amazon S3 untuk menyimpan data input dan output pekerjaan pelatihan Anda. Anda dapat menggunakan satu bucket untuk keduanya atau bucket terpisah untuk setiap jenis data. Pastikan bucket Anda berada di tempat yang sama Wilayah AWS di mana Anda membuat semua sumber daya lain untuk pelatihan. Untuk informasi selengkapnya, lihat Membuat bucket tujuan umum.
-
Peran IAM dengan izin untuk menjalankan pekerjaan pelatihan. Pastikan Anda melampirkan kebijakan IAM dengan
AmazonSageMakerFullAccess. Untuk informasi selengkapnya, lihat Cara menggunakan peran eksekusi SageMaker AI. -
Resep dasar Amazon Nova, lihatMendapatkan resep Amazon Nova.
Apa itu SFT?
Pengawasan fine tuning (SFT) melatih model bahasa menggunakan pasangan input-output berlabel. Model belajar dari contoh demonstrasi yang terdiri dari petunjuk dan tanggapan, menyempurnakan kemampuannya untuk menyelaraskan dengan tugas, instruksi, atau perilaku yang diinginkan tertentu.
Untuk menentukan apakah SFT cocok untuk kasus penggunaan Anda, lihatPenyetelan halus yang diawasi (SFT).
Memulai pekerjaan pelatihan
Mempersiapkan data Anda
Untuk informasi tentang format data, fitur yang didukung, batasan, dan praktik terbaik untuk menyiapkan data pelatihan SFT, lihatMempersiapkan data untuk SFT di Amazon Nova 2.
Mengunggah data Anda
Kumpulan data harus diunggah ke bucket yang dapat diakses oleh pekerjaan SageMaker pelatihan. Untuk informasi tentang menyetel izin yang tepat, lihat Pr asyarat.
Memilih hyperparameter dan memperbarui resep
Pengaturan untuk Nova 2.0 sebagian besar sama dengan Nova 1.0. Setelah data input diunggah ke S3, gunakan resep dari SageMaker HyperPod Resep 708977205387.dkr.ecr.us-east-1.amazonaws.com/nova-fine-tune-repo:SM-TJ-SFT-V2-latest untuk menjalankan tugas fintuning SFT.
Sampel Masukan
run: name: {peft_recipe_job_name} model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: {peft_model_name_or_path} data_s3_path: {train_dataset_s3_path} # 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: "" # 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 training_config: max_steps: 10 # Maximum training steps. Minimal is 4. save_steps: 10 # How many training steps the checkpoint will be saved. Should be less than or equal to max_steps save_top_k: 1 # 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 # Global 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
Resepnya juga mengandung sebagian besar hyperparameter yang sama dengan Nova 1.0. Hyperparameter penting adalah:
-
max_steps— Jumlah langkah yang ingin Anda jalankan untuk pekerjaan. Umumnya, untuk satu zaman (satu kali berjalan melalui seluruh dataset Anda), jumlah langkah = jumlah sampel data/ukuran batch global. Semakin besar jumlah langkah dan semakin kecil ukuran batch global Anda, semakin lama pekerjaan akan berjalan. -
reasoning_enabled— Mengontrol mode penalaran untuk dataset Anda. Opsi:-
true: Mengaktifkan mode penalaran (setara dengan penalaran tinggi) -
false: Menonaktifkan mode penalaran
Catatan: Untuk SFT, tidak ada kontrol terperinci atas tingkat upaya penalaran. Pengaturan
reasoning_enabled: truememungkinkan kemampuan penalaran penuh. -
-
peft.peft_scheme— Mengatur ini ke “lora” memungkinkan penyetelan PEFT-based halus. Mengaturnya ke null (tanpa tanda kutip) memungkinkan penyetelan Full-Rank halus.
Mulai pekerjaan pelatihan
from sagemaker.pytorch import PyTorch # define OutputDataConfig path if default_prefix: output_path = f"s3://{bucket_name}/{default_prefix}/{sm_training_job_name}" else: output_path = f"s3://{bucket_name}/{sm_training_job_name}" output_kms_key = "<KMS key arn to encrypt trained model in Amazon-owned S3 bucket>" # optional, leave blank for Amazon managed encryption recipe_overrides = { "run": { "replicas": instance_count, # Required "output_s3_path": output_path }, } estimator = PyTorch( output_path=output_path, base_job_name=sm_training_job_name, role=role, disable_profiler=True, debugger_hook_config=False, instance_count=instance_count, instance_type=instance_type, training_recipe=training_recipe, recipe_overrides=recipe_overrides, max_run=432000, sagemaker_session=sagemaker_session, image_uri=image_uri, output_kms_key=output_kms_key, tags=[ {'Key': 'model_name_or_path', 'Value': model_name_or_path}, ] ) print(f"\nsm_training_job_name:\n{sm_training_job_name}\n") print(f"output_path:\n{output_path}")
from sagemaker.inputs import TrainingInput train_input = TrainingInput( s3_data=train_dataset_s3_path, distribution="FullyReplicated", s3_data_type="Converse", ) estimator.fit(inputs={"validation": val_input}, wait=False)
catatan
Melewati kumpulan data validasi tidak didukung untuk penyetelan halus Nova 2.0 Lite yang diawasi.
Untuk memulai pekerjaan:
-
Perbarui resep dengan jalur dataset dan hyperparameter Anda
-
Jalankan sel yang ditentukan di buku catatan untuk mengirimkan pekerjaan pelatihan
Notebook menangani pengiriman pekerjaan dan menyediakan pelacakan status.