

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Réglage fin des renforts (RFT) sur Nova 2.0 sur SageMaker HyperPod
<a name="nova-hp-rft-nova2"></a>

Cette section présente un exemple de recette, le démarrage d'une tâche de réglage, les conseils relatifs aux hyperparamètres et la surveillance de l'entraînement pour RFT sur Nova 2.0 Lite et versions ultérieures. SageMaker HyperPod Pour plus d'informations sur le format des données, les fonctionnalités prises en charge, les contraintes et les meilleures pratiques pour la préparation des données d'entraînement RFT, consultez[Préparation des données pour la RFT sur Amazon Nova 2](nova-data-prep-rft-2.md).

Pour déterminer si la technologie RFT convient à votre cas d'utilisation, consultez[Réglage fin des renforts (RFT)](nova-hp-rft.md).

**Topics**
+ [Commencer un travail de réglage sur SageMaker HyperPod](#nova-rft-2-starting-job)
+ [Guidage des hyperparamètres](#nova-hp-rft-monitoring-hyperparams)
+ [Suivi de la formation RFT](nova-hp-rft-monitoring.md)

## Exemple de recette RFT
<a name="nova-rft-2-sample-recipe"></a>

```
# 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).
```

## Commencer un travail de réglage sur SageMaker HyperPod
<a name="nova-rft-2-starting-job"></a>

### Préparation de vos données
<a name="nova-rft-2-preparing-data"></a>

Pour plus d'informations sur le format des données, les fonctionnalités prises en charge, les contraintes et les meilleures pratiques pour la préparation des données d'entraînement RFT, consultez[Préparation des données pour la RFT sur Amazon Nova 2](nova-data-prep-rft-2.md).

### Téléchargement de vos données
<a name="nova-rft-2-data-upload"></a>

Téléchargez votre ensemble de données d'entraînement dans un compartiment S3. Indiquez son emplacement dans le `run` bloc de la recette :

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

**Note**  
Remplacez `<bucket-name>``<training-directory>`, et `<training-file>` par des chemins S3 réels.

### Définition de votre configuration
<a name="nova-rft-2-defining-config"></a>

Définissez le modèle de base à l'aide `model_name_or_path` des champs `model_type` et du `run` bloc :

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

## Guidage des hyperparamètres
<a name="nova-hp-rft-monitoring-hyperparams"></a>

Utilisez les hyperparamètres recommandés suivants en fonction de votre approche d'entraînement :

**Général : **
+ Époques : 1
+ Taux d'apprentissage (LR) : 1e-7
+ Nombre de générations : 8
+ Nombre maximum de nouveaux jetons : 8192
+ Taille du lot : 256

**LoRa (Low-Rank adaptation) : **
+ Rang LoRa : 32

**Note**  
Ajustez ces valeurs en fonction de la taille de votre jeu de données et des performances de validation. Surveillez les indicateurs d'entraînement pour éviter les surajustements.