View a markdown version of this page

Ottimizzazione fine del rinforzo (RFT) su Nova 2.0 attiva SageMaker HyperPod - Amazon Nova

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ottimizzazione fine del rinforzo (RFT) su Nova 2.0 attiva SageMaker HyperPod

Questa sezione illustra la ricetta di esempio, l'avvio di un processo di messa a punto, la guida agli iperparametri e il monitoraggio della formazione per RFT su Nova 2.0 Lite in poi. SageMaker HyperPod Per informazioni sul formato dei dati, sulle funzionalità supportate, sui vincoli e sulle migliori pratiche per la preparazione dei dati di addestramento RFT, vedere. Preparazione dei dati per RFT su Amazon Nova 2

Per determinare se RFT è adatto al tuo caso d'uso, consulta. Ottimizzazione fine del rinforzo (RFT)

# Note: # This recipe can run on p5.48xlarge, p5e.48xlarge, and p5en.48xlarge instance types. run: name: "my-rft-run" # Unique run name (appears in logs and artifacts). model_type: amazon.nova-2-lite-v1:0:256k model_name_or_path: nova-lite-2/prod data_s3_path: s3://<bucket>/<data-file> # Training dataset in JSONL format. replicas: 4 # Number of total training instances. generation_replicas: 2 # Number of total instances dedicated to response generation. reward_lambda_arn: arn:aws:lambda:<region>:<account-id>:function:<function-name> ## MLFlow configs mlflow_tracking_uri: "" # Required for MLFlow mlflow_experiment_name: "my-rft-experiment" # Optional for MLFlow. Note: leave this field non-empty mlflow_run_name: "my-rft-run" # Optional for MLFlow. Note: leave this field non-empty ## SMHP RFT training configs training_config: max_length: 8192 # Context window (tokens) for inputs and prompt. global_batch_size: 32 # Total samples per optimizer step across all replicas (16/32/64/128/256). reasoning_effort: high # Reasoning mode: high, low, or null for non-reasoning. data: shuffle: true # Shuffle training data each epoch. rollout: # Controls how responses are generated for advantage calculation. rollout_strategy: type: off_policy_async # Asynchronous rollout for higher throughput. age_tolerance: 2 # Maximum policy age before regeneration. advantage_strategy: number_generation: 4 # Samples per prompt to estimate advantages (higher = lower variance but higher cost). generator: max_new_tokens: 6000 # Cap on tokens generated per sample. set_random_seed: true # Seed generation for reproducibility across runs. temperature: 1 # Softmax temperature for sampling. top_k: 1 # Sample only from top-K logits. rewards: preset_reward_function: null # Preset reward functions: exact_match or null for custom. api_endpoint: lambda_arn: arn:aws:lambda:<region>:<account-id>:function:<function-name> lambda_concurrency_limit: 12 # Max concurrent Lambda invocations (throughput vs. throttling). lambda_batch_size: 128 # Number of samples per Lambda invocation. trainer: max_steps: 2 # Steps to train for. One step = global_batch_size samples. save_steps: 5 # Save a checkpoint every N steps. test_steps: 1 # Run validation every N reference model updates. refit_freq: 4 # Frequency of reference model updates. clip_ratio_high: 0.2 # PPO clip ratio for policy updates. loss_scale: 1.0 # Scaling factor for the policy loss. # RL parameters ent_coeff: 0.0 # Entropy bonus added to the policy loss (higher = more exploration). kl_loss_coef: 0.0 # Weight on the KL penalty between the current and reference policy. optim_config: # Optimizer settings. lr: 1e-6 # Learning rate. weight_decay: 0.0 # L2 regularization strength (0.0 to 1.0). adam_beta1: 0.9 adam_beta2: 0.95 peft: # Parameter-efficient fine-tuning (LoRA). peft_scheme: "lora" # Enable LoRA for PEFT. lora_tuning: alpha: 64 # LoRA scaling factor. lora_plus_lr_ratio: 64.0 # LoRA+ learning rate scaling factor (0.0 to 100.0).

Avvio di un lavoro di messa a punto su SageMaker HyperPod

Preparazione dei dati

Per informazioni sul formato dei dati, sulle funzionalità supportate, sui vincoli e sulle best practice per la preparazione dei dati di formazione RFT, vedere. Preparazione dei dati per RFT su Amazon Nova 2

Caricamento dei dati

Carica il tuo set di dati di formazione in un bucket S3. Specificane la posizione nel blocco della ricetta: run

## Run config run: ... data_s3_path: "s3://<bucket-name>/<training-directory>/<training-file>.jsonl"
Nota

Sostituisci <bucket-name><training-directory>, e <training-file> con i percorsi S3 effettivi.

Definizione della configurazione

Definisci il modello base utilizzando i model_name_or_path campi model_type e nel run blocco:

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

Guida agli iperparametri

Utilizza i seguenti iperparametri consigliati in base al tuo approccio all'allenamento:

Generale:

  • Epoche: 1

  • Tasso di apprendimento (lr): 1e-7

  • Numero di generazioni: 8

  • Numero massimo di nuovi token: 8192

  • Dimensione del lotto: 256

LoRa (Low-Rank adattamento):

  • Grado LoRa: 32

Nota

Modifica questi valori in base alle dimensioni del set di dati e alle prestazioni di convalida. Monitora le metriche di formazione per evitare un sovradattamento.