Ressources/Entraînement du modèle/Méthodes d'entraînement

Méthode

Ajustement des préférences (DPO)

L'optimisation directe des préférences (DPO) entraîne un modèle sur des paires de réponses, l'une meilleure et l'autre moins bonne, afin qu'il apprenne à privilégier la meilleure, sans nécessiter le modèle de récompense ni la boucle d'apprentissage par renforcement propres au RLHF classique.

Chapitre 77 min de lecture5 références

Ce que c'est

Beaucoup d'attentes envers un modèle sont plus faciles à juger qu'à formuler. Laquelle de deux réponses est la plus claire, la plus précise, la plus fidèle à la marque, la moins susceptible d'inventer une fonctionnalité ? Un évaluateur peut y répondre en quelques secondes, même si aucune des réponses n'est parfaite. L'ajustement des préférences transforme ces jugements en données d'entraînement : chaque enregistrement est une paire, une invite avec une réponse préférée et une réponse non préférée.

L'Optimisation Directe des Préférences (DPO), introduite par Rafailov et ses collègues en 2023, est la méthode la plus utilisée pour s'entraîner sur de telles paires. Le sous-titre de leur article résume l'idée : « votre modèle de langage est secrètement un modèle de récompense ».

userComment réinitialiser mon mot de passe ?
préféréeOuvrez Paramètres → Sécurité et choisissez Réinitialiser le mot de passe. Vous recevrez un lien par e-mail valable 30 minutes.
non préféréeVeuillez contacter le support pour réinitialiser votre mot de passe.
Probabilité que le modèle génère chaque réponse
préférée
non préférée
référence (état initial figé)après DPO
Le DPO compare le modèle entraîné (trait plein) avec une copie figée de son état initial (contour). Il pousse la réponse préférée vers le haut et la réponse non préférée vers le bas, par rapport à cette référence, jamais en termes absolus.

D'où il vient : le RLHF

Pour comprendre ce que le DPO simplifie, commençons par l'apprentissage par renforcement à partir de rétroactions humaines (RLHF), la recette derrière InstructGPT et la première vague d'assistants conversationnels. Après le pré-entraînement, il comporte trois étapes :

  1. Ajustement fin supervisé sur des démonstrations, pour obtenir un modèle qui répond dans le bon format.
  2. Entraînement d'un modèle de récompense : un réseau distinct qui lit un prompt et une réponse et produit un score, ajusté pour que les réponses préférées obtiennent un score plus élevé que les autres.
  3. Apprentissage par renforcement, généralement PPO : le modèle rédige des réponses, le modèle de récompense les évalue, et le modèle est mis à jour pour obtenir un meilleur score, avec une pénalité s'il s'éloigne trop du modèle supervisé.

Cela fonctionne : dans l'article sur InstructGPT, les utilisateurs ont préféré les résultats d'un modèle de 1,3 milliard de paramètres entraîné de cette manière à ceux de GPT-3 avec ses 175 milliards de paramètres. Mais c'est un processus lourd. L'étape de renforcement génère du texte dans la boucle d'entraînement, conserve plusieurs modèles en mémoire simultanément et est sensible à ses paramètres.

RLHF classique · deux étapes supplémentaires
paires de préférences→entraîner un modèle de récompenseréponse → score→boucle RL (PPO)écriture · évaluation · mise à jour · pénalité KL→modèle affiné

Plusieurs modèles en jeu simultanément (le modèle en cours d'entraînement, sa référence, le modèle de récompense et un modèle de valeur), et le texte est généré à l'intérieur de la boucle d'entraînement. Puissant, mais lent et sensible aux paramètres.

DPO · une étape
paires de préférences+référence figéele modèle de départ→une perte de type classification−log σ(β × marge)→modèle affiné

Aucun modèle de récompense et aucun échantillonnage pendant l'entraînement. Il s'exécute comme une tâche supervisée sur des paires, ce qui le rend moins coûteux et beaucoup plus stable.

Mêmes données, même objectif, mécanique différente. Le RLHF classique ajuste un modèle de récompense distinct, puis exécute une boucle d'apprentissage par renforcement qui génère et évalue le texte. Le DPO combine les deux en une seule perte calculée directement sur les paires.

Comment fonctionne le DPO

Le modèle de récompense du RLHF et le DPO reposent tous deux sur le même modèle de choix humain, le modèle de Bradley-Terry. Il stipule que si deux réponses ont des scores de qualité cachés, la probabilité qu'une personne préfère la première est la sigmoïde de la différence entre les scores :

Le modèle de préférence de Bradley-Terry
P(A preferred over B) = σ(r_A − r_B) = 1 / (1 + e^−(r_A − r_B))

r_A − r_B = 0  →  0.50
r_A − r_B = 1  →  0.73
r_A − r_B = 2  →  0.88

Seules les différences comptent : ajoutez le même montant aux deux scores et la probabilité ne change pas. Un écart de 0 équivaut à un tirage à pile ou face ; un écart de 2 signifie que la première réponse l'emporte dans 88 % des cas.

L'étape de renforcement du RLHF maximise la récompense tout en payant une pénalité, pondérée par β, pour s'être éloigné d'un modèle de référence (la pénalité est la divergence KL entre les deux). Les auteurs du DPO ont montré que cet objectif a une solution exacte : le meilleur modèle possible est la référence repondérée par l'exponentielle de la récompense ÷ β. Autrement dit, chaque modèle définit une récompense implicite : β fois le logarithme de la probabilité supplémentaire qu'il accorde à une réponse par rapport à la référence. Intégrez cela dans Bradley-Terry et les parties difficiles à calculer s'annulent, laissant une perte qui ne nécessite que quatre nombres par paire :

La perte DPO pour une paire
loss = −ln σ( β × [ (log π(chosen)   − log π_ref(chosen))
                  − (log π(rejected) − log π_ref(rejected)) ] )

implicit reward of an answer  =  β × (log π(answer) − log π_ref(answer))
  • log π(chosen) et log π(rejected) : la probabilité que le modèle en cours d'entraînement génère chaque réponse complète, exprimée comme la somme des log-probabilités de ses tokens.
  • log π_ref(…) : les mêmes valeurs issues du modèle de référence, une copie figée du modèle tel qu'il était au début de l'entraînement.
  • β : la force avec laquelle le modèle est maintenu à cette référence. Une valeur plus faible lui permet de s'en éloigner davantage.
  • σ : la sigmoïde. Son résultat s'interprète comme « la probabilité que la récompense implicite du modèle corresponde à la préférence humaine ». La perte correspond à l'opposé de son logarithme ; elle est donc élevée lorsque le modèle est en désaccord et proche de 0 lorsqu'il est manifestement en accord.

L'entraînement réduit la perte en augmentant la vraisemblance de la réponse choisie par rapport à la référence, en diminuant celle de la réponse rejetée, ou les deux. Le gradient pondère également chaque paire en fonction de l'erreur actuelle du modèle : les paires déjà classées correctement avec une large marge ne contribuent presque pas, les paires mal classées contribuent le plus. L'article indique que sans cette pondération, le modèle peut dégénérer.

Une paire, une perte
  1. Les log-probabilités du modèle : choisie −42,0, rejetée −51,0. Celles du modèle de référence : choisie −45,0, rejetée −50,0.
  2. Log-ratios par rapport à la référence : choisie −42,0 − (−45,0) = +3,0 ; rejetée −51,0 − (−50,0) = −1,0.
  3. Marge : 3,0 − (−1,0) = 4,0. Multipliée par β = 0,1, on obtient 0,4. Réparties de la même manière, les récompenses implicites sont de +0,30 pour la choisie et de −0,10 pour la rejetée.
  4. σ(0,4) ≈ 0,60, la perte est donc de −ln 0,60 ≈ 0,51, en baisse par rapport à 0,69 au départ, lorsque les deux log-ratios étaient de 0.

Ce que cela signifie en pratique

  • Moins cher et plus stable que le RLHF. Aucun modèle de récompense à entraîner et aucun texte généré pendant l'entraînement. Il s'exécute comme une tâche supervisée sur des paires, avec une copie figée du modèle de départ en parallèle.
  • Hors ligne. Il apprend à partir d'un ensemble fixe de paires. Les réponses n'ont pas besoin de provenir du modèle en cours d'entraînement, mais les paires proches de ce qu'il écrit réellement lui en apprennent le plus.
  • Relatif, et non absolu. Il creuse l'écart entre les réponses. La recherche a montré que la vraisemblance propre de la réponse choisie chute souvent pendant l'entraînement (« déplacement de vraisemblance »), tant que celle de la réponse rejetée chute plus rapidement.
  • Il ne peut pas ajouter de connaissances. Le DPO re-classe les comportements que le modèle peut déjà produire. Si aucune des réponses n'est quelque chose que le modèle pourrait écrire, il y a peu à apprendre, c'est pourquoi il suit normalement un ajustement fin supervisé.

Formats de données

Les fournisseurs nomment les champs différemment, mais chaque format stocke les trois mêmes éléments : l'invite, la meilleure réponse et la moins bonne réponse. Un format hébergé :

Format hébergé : input, preferred_output, non_preferred_output
{
  "input": {"messages": [
    {"role": "system", "content": "You are Scalata's support assistant."},
    {"role": "user", "content": "How do I reset my password?"}
  ]},
  "preferred_output": [
    {"role": "assistant", "content": "Open Settings → Security and choose Reset password. You'll get an email link valid for 30 minutes."}
  ],
  "non_preferred_output": [
    {"role": "assistant", "content": "Please contact support to reset your password."}
  ]
}

Les modules d'entraînement open source tels que Hugging Face TRL utilisent prompt, chosen et rejected, et acceptent l'ensemble de la conversation précédente comme invite :

Format open source : prompt, chosen, rejected
{"prompt": [
   {"role": "user", "content": "I uploaded a CSV yesterday."},
   {"role": "assistant", "content": "Thanks — it's in Local Storage."},
   {"role": "user", "content": "Can I use it in a dashboard?"}],
 "chosen":   [{"role": "assistant", "content": "Yes: open Dashboards → Add widget → pick the file."}],
 "rejected": [{"role": "assistant", "content": "Maybe."}]}

Certaines implémentations hébergées s'entraînent sur un seul tour, les tours précédents doivent donc être intégrés au dernier message de l'utilisateur en tant que contexte. D'autres conservent la conversation sous forme de messages distincts.

Erreurs courantes

  • Exécuter le DPO sur un modèle de base simple qui ne connaît rien de votre produit. Les deux réponses de chaque paire sont souvent tout aussi mal informées, le signal est donc faible.
  • « Confiant mais erroné » : avec peu de paires, le modèle copie le style des réponses préférées (noms spécifiques, étapes numérotées, plus de longueur) sans les connaissances sous-jacentes, et invente des détails.
  • Des paires dont les réponses ne diffèrent que par la formulation. Le modèle apprend du bruit, ou apprend que vous préférez la longueur.
  • Considérer une baisse de la perte DPO comme la preuve de meilleures réponses. Cela montre que le modèle sépare vos paires ; seule une évaluation permet de savoir si les réponses se sont améliorées.
  • Trop d'époques ou un taux d'apprentissage trop élevé. L'ajustement des préférences nécessite généralement 1 à 2 époques et un taux d'apprentissage plus faible que l'entraînement supervisé.

Références et lectures complémentaires

Les sources externes s'ouvrent dans un nouvel onglet.

  1. 01Direct Preference Optimization: Your Language Model is Secretly a Reward ModelRafailov et al., 2023 · arXiv · arxiv.orgL'article original : la dérivation à partir du RLHF, la perte et les expériences par rapport au PPO.
  2. 02Training language models to follow instructions with human feedbackOuyang et al., 2022 · arXiv · arxiv.orgInstructGPT : le pipeline RLHF en trois étapes que le DPO simplifie.
  3. 03Deep reinforcement learning from human preferencesChristiano et al., 2017 · arXiv · arxiv.orgL'article qui a introduit l'apprentissage d'une récompense à partir de comparaisons humaines, d'abord pour les jeux et la robotique.
  4. 04Bradley–Terry modelWikipedia · en.wikipedia.orgLe modèle statistique de comparaisons par paires qui sous-tend à la fois les modèles de récompense et le DPO.
  5. 05DPO TrainerHugging Face TRL docs · huggingface.coUne implémentation open source largement utilisée : format des données, variantes de la fonction de perte et métriques enregistrées.

Transformez des semaines de travail d'expert en quelques minutes

Découvrez comment Scalata s'adapte à votre équipe, à vos données et à vos contrôles.

Contacter le service commercial