Partie 5
Suivre une consigne
Un assistant se fabrique en trois entraînements successifs du même modèle (Ouyang et al., 2022, InstructGPT) :
| Étape | Quoi | Données |
|---|---|---|
| 1. Pré-entraîner | deviner le token suivant | d'immenses corpus (J3) |
| 2. Affiner sur des consignes | des paires consigne-réponse | écrites par des humains |
| 3. Apprendre des préférences | des paires de réponses classées | classées par des humains |
Après l'étape 1, le modèle sait prolonger un texte mais pas répondre : devant une consigne, il continue la phrase. Les étapes 2 et 3 ne sont pas des tests : ce sont deux nouveaux entraînements.
L'étape 2 apprend au modèle à répondre
Un texte d'entraînement parmi des milliers : « Consigne : Résume en une phrase : patient de 67 ans, fièvre sans toux depuis trois jours, bilan urinaire positif. Réponse : Fièvre isolée depuis trois jours chez un patient de 67 ans, avec un bilan urinaire positif. »
On reprend le modèle de l'étape 1 et on continue de l'entraîner avec la perte de J3, sur des textes « consigne + bonne réponse humaine ». Seuls les tokens de la réponse comptent dans la perte : pour le modèle, la consigne n'est qu'un début de texte et la réponse la suite qu'il prédit. Ce que le modèle sait vient de l'étape 1 ; l'habitude de répondre vient de l'étape 2.
À toi de coder
Étape 3 : apprendre de deux réponses classées
Consigne : « Explique en une phrase ce qu'est une fièvre sans toux. » Réponse A (préférée) : « Une température du corps élevée, sans toux. » Réponse B (rejetée) : « Toujours le signe d'une infection urinaire. » Deux voies :
- RLHF : un modèle de récompense (un réseau qui note une réponse) apprend à mieux noter A que B, puis on réentraîne le modèle de langage vers les bonnes notes, sans trop s'éloigner du modèle de départ (une KL, comme dans le VAE).
- DPO : sans modèle de récompense, on augmente directement la probabilité que le modèle donne à A et on baisse celle de B, par rapport au modèle de départ.
RLHF en trois étapes (complément) : 1. comparer : des humains classent plusieurs réponses du modèle affiné ; 2. noter : la perte du modèle de récompense sur une paire est −ln σ(r(A) − r(B)) (σ, la sigmoïde de J1) : avec r(A) = 2,0 et r(B) = 0,5, elle vaut 0,20, et 1,70 avec les notes inversées ; 3. réentraîner avec un algorithme d'apprentissage par renforcement (PPO), en retirant à la note une pénalité KL. On ne détaille pas PPO.
À toi de coder
À toi de coder