Aller au contenu

DPO (Direct Preference Optimization)

Ce que vous saurez dans 3 minutes

Le DPO est la “sauce secrète” qui a permis l’explosion des modèles Open Source performants (comme Mistral ou Zephyr) en 2024-2025. Avant DPO, l’alignement (RLHF) était une alchimie complexe réservée aux géants comme OpenAI. DPO a démocratisé l’alignement de haute qualité en le rendant aussi simple qu’un Fine-Tuning classique.


1. Comprendre

Définition

Le Problème du RLHF Classique

Pour comprendre DPO, il faut voir ce qu’il remplace : le RLHF (utilisé pour GPT-4). Le RLHF est une usine à gaz en 3 étapes :

  1. SFT : Supervised Fine-Tuning (apprendre à parler).
  2. Reward Model : Entraîner un second modèle pour noter les réponses (le “professeur”).
  3. PPO : Utiliser l’apprentissage par renforcement pour optimiser le modèle principal via les notes du professeur.

C’est instable, lent et difficile à régler.

La Solution DPO

DPO simplifie tout :

  • Il prend un jeu de données de préférences : {Prompt, Réponse Gagnante, Réponse Perdante}.
  • Il modifie directement les poids du modèle pour augmenter la probabilité de la “Gagnante” et baisser celle de la “Perdante”.
  • Résultat : 1 étape au lieu de 2 (après le SFT), pas de modèle séparé, stabilité mathématique.

2. Appliquer

Quand utiliser DPO ?

C’est la technique standard actuelle pour raffiner un modèle instruct (Chatbot).

ScénarioMéthodePourquoi ?
Apprendre un nouveau savoirSFT (Fine-Tuning)Le modèle a besoin d’exemples directs de la connaissance.
Changer le ton/comportementDPOOn veut qu’il préfère le style “pro” au style “familier”.
Réduire les hallucinationsDPO / RLHFOn pénalise les réponses fausses par rapport aux vraies.

Fonctionnement Simplifié

graph LR
    Dataset[Dataset Préférences<br/>(Prompt, A > B)] --> DPO_Algo[Algorithme DPO]
    Base[Modèle SFT<br/>(Déjà entraîné)] --> DPO_Algo
    DPO_Algo --> Aligned[Modèle Aligné<br/>(Preferes A)]
    
    style DPO_Algo fill:#22c55e,stroke:#333

Exemples de Modèles DPO

  • Zephyr (Hugging Face) : Un des premiers modèles à prouver que DPO sur un petit modèle (7B) pouvait battre des modèles 10x plus gros alignés classiquement.
  • Mistral Instruct : Utilise des techniques similaires pour son efficacité.
  • Llama 3 Instruct : Combine souvent RLHF et DPO pour le meilleur des deux mondes.

3. Aller plus loin

Nuances Techniques

Le DPO repose sur une astuce mathématique : il prouve qu’on peut dériver implicitement la “récompense” à partir du modèle lui-même. La formule ajuste la probabilité relative :

  • Si le modèle prédisait déjà bien la réponse gagnante, on change peu.
  • S’il préférait la perdante, on le corrige fortement.

Variantes Modernes

Depuis 2024, des améliorations sont apparues :

  • KTO (Kahneman-Tversky Optimization) : N’a même plus besoin de paires (A > B), juste de savoir si une réponse est “Bonne” ou “Mauvaise” (pouce bleu/rouge). Encore plus simple pour collecter des données.
  • IPO (Identity Preference Optimization) : Variante plus robuste pour éviter le sur-apprentissage (overfitting).

Points de Vigilance


Notions Liées (Spider Web)

Ressources Externes