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.
DPO
Description
L'optimisation des préférences directes (DPO) aligne un modèle sur les préférences humaines en s'entraînant sur des paires de réponses choisies (préférées) et rejetées (non préférées) à la même invite.
Quand l’utiliser
Vous disposez de données sur vos préférences indiquant quelles réponses sont les meilleures
Améliorez la qualité de réponse au-delà de ce que permet la SFT
Le modèle doit éviter des comportements indésirables spécifiques
Ce qu'il réalise
Le modèle apprend à préférer générer des réponses similaires aux exemples choisis et à éviter les exemples rejetés, sans avoir besoin d'un modèle de récompense distinct.
Format du jeu de données
DPO exige des paires de réponses choisies (préférées) et rejetées (non préférées) pour la même invite. DPO prend en charge deux formats de jeu de données. Tous les ensembles de données doivent être au format JSONL (un objet JSON par ligne). Un system message est facultatif dans les deux formats.
Format 1 : messages
Fournissez chosen et rejected sous forme de listes de messages complètes. S'il est inclus, le system message doit être le premier élément et doit être identique à la fois dans chosen etrejected.
{ "chosen": [ {"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."} ], "rejected": [ {"role": "system", "content": "..."}, {"role": "user", "content": "..."}, {"role": "assistant", "content": "..."} ] }
Format 2 : prompt/choisi/rejeté
Fournissez l'invite et les deux réponses sous forme de champs de chaîne distincts, avec un system champ de niveau supérieur facultatif.
{ "system": "...", "prompt": "...", "chosen": "...", "rejected": "..." }
Conseils
Les réponses choisies et rejetées devraient différer de manière significative en termes de qualité
Utilisez la même invite pour les options sélectionnées et rejetées
Le
systemmessage est facultatif
Hyperparamètres - DPO LoRa
Note
Les tableaux ci-dessous présentent les hyperparamètres disponibles lorsque vous utilisez la personnalisation des modèles sans serveur. Les autres hyperparamètres sont prédéfinis par Amazon SageMaker AI à l'aide de valeurs par défaut optimisées. Lorsque vous utilisez SageMaker AI Training Jobs ou HyperPod, vous pouvez accéder à la liste complète des hyperparamètres disponibles dans les recettes. Consultez le référentiel SageMaker AI Recipes
| Paramètre | Type | Obligatoire ? | Échelle/Valeurs | Description |
|---|---|---|---|---|
max_epochs | integer | Obligatoire | 1–100 | Nombre de passages complets dans l'ensemble de données d'entraînement. |
global_batch_size | entier | Obligatoire | 16, 32, 64 et 128 | Nombre total d'échantillons traités par étape de l'optimiseur sur toutes les instances. |
learning_rate | float | Obligatoire | 5e-07—1e-04 | Taille du pas pour les mises à jour du poids lors de l'optimisation. |
lr_scheduler | chaîne | Obligatoire | cosinus, constante | Calendrier de baisse du taux d'apprentissage au fil de l'entraînement. |
lr_warmup_steps_ratio | float | Obligatoire | 0—1 | Fraction du nombre total d'étapes passées à augmenter le taux d'apprentissage à partir de 0. |
weight_decay | float | Obligatoire | 0.0-1.0 | Coefficient de régularisation L2. Aide à prévenir le surajustement. |
gradient_clipping | boolean | Obligatoire | true, false | Réduisez les gradients si la norme dépasse le seuil. |
gradient_clipping_threshold | float | Obligatoire | 0,0-5,0 | Norme de pente maximale autorisée. |
dataset_max_len | entier | Obligatoire | 256—131072 | Longueur de séquence maximale en jetons. Les séquences plus longues sont tronquées. |
seed | entier | Obligatoire | 0–2147483647 | Semence aléatoire pour la reproductibilité. |
logging_steps | entier | Obligatoire | 1–100 | Fréquence d'enregistrement des métriques dans les étapes de l'optimiseur. |
lora_rank | entier | Obligatoire | 8, 16, 32, 64 et 128 | Dimensionnalité des matrices de bas rang. Inférieur = moins de paramètres pouvant être entraînés. |
lora_dropout | float | Obligatoire | 0.0-1.0 | Probabilité d'abandon pour les couches LoRA adaptatrices. |
lora_alpha | entier | Obligatoire | 16, 32, 64, 128 et 256 | LoRAfacteur d'échelle. Le LR efficace s'échelonne comme suit alpha/rank : |
merge_weights | boolean | Obligatoire | true, false | Fusionnez LoRA les poids dans le modèle de base après l'entraînement. |
train_val_split_ratio | float | Facultatif | 0.0-1.0 | Fraction allouée à la formation par rapport à la validation. |
temperature | float | Obligatoire | 0,0-2,0 | Température d'échantillonnage pour évaluation. |
adam_beta | float | Obligatoire | 1e-03—0,1 | Température inverse DPO. Contrôle la force avec laquelle le modèle applique le classement des préférences. |
Hyperparamètres - DPO FFT
| Paramètre | Type | Obligatoire ? | Échelle/Valeurs | Description |
|---|---|---|---|---|
max_epochs | integer | Obligatoire | 1–100 | Nombre de passages complets dans l'ensemble de données d'entraînement. |
global_batch_size | entier | Obligatoire | 16, 32, 64 et 128 | Nombre total d'échantillons traités par étape de l'optimiseur. |
learning_rate | float | Obligatoire | 5e-07—1e-04 | Taille du pas pour les mises à jour du poids. |
lr_scheduler | chaîne | Obligatoire | cosinus, constante | Calendrier de décroissance du taux d'apprentissage. |
lr_warmup_steps_ratio | float | Obligatoire | 0—1 | Fraction d'étapes pour l'échauffement du LR. |
weight_decay | float | Obligatoire | 0.0-1.0 | Coefficient de régularisation L2. |
gradient_clipping | boolean | Obligatoire | true, false | Réduisez les gradients si la norme dépasse le seuil. |
gradient_clipping_threshold | float | Obligatoire | 0,0-5,0 | Norme de pente maximale autorisée. |
dataset_max_len | entier | Obligatoire | 256—131072 | Longueur de séquence maximale en jetons. |
max_response_length | entier | Obligatoire | 100 à 200 000 | Nombre maximum de jetons pour la réponse générée. |
seed | entier | Obligatoire | 0–2147483647 | Semence aléatoire pour la reproductibilité. |
logging_steps | entier | Obligatoire | 1–100 | Fréquence de l'enregistrement métrique. |
train_val_split_ratio | float | Facultatif | 0.0-1.0 | Fraction allouée à la formation par rapport à la validation. |
temperature | float | Obligatoire | 0,0-2,0 | Température d'échantillonnage pour évaluation. |
adam_beta | float | Obligatoire | 1e-03—0,1 | Température inverse DPO. Contrôle la force avec laquelle le modèle applique le classement des préférences. |