Accueil / Factory / Algos ML / RLHF — factory / algos ML / alignement des modèles de langage

MÉTHODE RLHF.

Le RLHF (Reinforcement Learning from Human Feedback) apprend à un LLM à produire les réponses que des humains préfèrent. Des annotateurs comparent des paires de réponses, un modèle de récompense apprend leurs goûts, puis le LLM est ajusté pour obtenir de bonnes notes. C'est la méthode qui a fait passer GPT-3 à InstructGPT, puis à ChatGPT.

LLMAlignementPréférences humainesRenforcementNiveau : avancé

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceRéponses jugées nettement plus utiles par les utilisateurs
InterprétabilitéPréférences apprises implicitement, difficiles à auditer
VitesseMilliers de comparaisons humaines, puis entraînement coûteux
Facilité de réglageInstable : le modèle peut exploiter les failles du juge
Tolérance aux données brutesAnnotateurs incohérents, récompense incohérente
EN 30 SECONDES

Un stagiaire rédige des réponses et son chef indique, entre deux versions, laquelle il préfère. À force, le stagiaire comprend ce que le chef attend, sans qu'on lui ait jamais écrit de règle.

1. On collecte des préférences

Pour une même demande, le modèle produit plusieurs réponses. Des annotateurs indiquent laquelle est la meilleure. Comparer est plus facile et plus cohérent que noter dans l'absolu.

2. On entraîne un modèle de récompense

Il apprend à noter toute réponse, de sorte que la réponse préférée ait la note la plus haute. Le code le fait avec une régression logistique sur l'écart entre deux réponses : c'est le modèle de Bradley-Terry.

3. On ajuste le LLM

Un algorithme de renforcement, en général PPO, modifie le LLM pour qu'il produise des réponses bien notées. Une pénalité l'empêche de trop s'éloigner du modèle de départ.

LE CAS MÉTIER

assistant service client · banque / télécom / e-commerce
EN ENTRÉE

3 000 comparaisons de réponses

Des conseillers comparent deux réponses de l'assistant à la même demande et choisissent la meilleure. Dans la simulation, chaque réponse est résumée par 4 critères : exacte ou non, propose une solution ou non, politesse, longueur.

EN SORTIE

Un juge automatique

Le modèle de récompense retrouve les goûts des conseillers : l'exactitude pèse le plus, la longueur pénalise. Le code s'en sert ensuite pour choisir, parmi 4 brouillons, celui à envoyer. Le RLHF complet va plus loin : il réentraîne le LLM avec ce juge.

CE QU'ON MESURE

L'accord avec les humains

On vérifie sur des paires mises de côté que le juge choisit la même réponse que les annotateurs. Puis on contrôle que les réponses retenues satisfont vraiment mieux : dans la simulation, la satisfaction moyenne fait plus que doubler.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Assistant dont le ton et l'utilité doivent suivre des attentes difficiles à écrire en règles
  • Experts métier disponibles pour comparer des milliers de réponses
  • Modèle ouvert déjà affiné sur des exemples, qu'on veut encore améliorer
  • Besoin d'un juge automatique pour trier des brouillons : le modèle de récompense seul suffit alors

NON

  • Premier projet LLM : une bonne consigne et un RAG couvrent la plupart des besoins
  • Boucle de renforcement trop lourde à opérer : DPO exploite les mêmes préférences en un entraînement simple
  • Apprendre des faits au modèle : le RLHF règle le comportement, pas les connaissances
  • Critère vérifiable par programme (format, calcul exact) : une récompense codée suffit, sans annotateurs
LES 4 CHOIX QUI COMPTENT

Le RLHF se joue autant dans l'organisation de l'annotation que dans le code. Noms donnés pour la bibliothèque trl de Hugging Face quand ils existent.

Consignes d'annotation

Ce que « meilleure réponse » veut dire : exacte, utile, prudente, concise. Des consignes floues produisent des préférences contradictoires, que le modèle apprend telles quelles.

kl_coef / beta

Pénalité qui retient le LLM près de son point de départ. Trop faible, il exploite les failles du modèle de récompense, par exemple avec des réponses longues ou flatteuses. Trop forte, il ne change presque pas.

PPO ou DPO

PPO suit la recette d'origine : modèle de récompense, puis renforcement. DPO apprend directement sur les paires de préférences, sans modèle de récompense séparé : plus simple, plus stable, très utilisé en pratique.

Nombre de réponses comparées

Faire classer 4 à 9 réponses par demande, comme pour InstructGPT, fournit bien plus de paires qu'un simple duel pour un effort d'annotation proche.

LE CODE MINIMAL

données simulées dans le code
# Assistant service client : modèle de récompense du RLHF en Python
import numpy as np
from sklearn.linear_model import LogisticRegression

rng = np.random.default_rng(42)
criteres = ["exacte", "propose_solution", "politesse", "longueur"]
poids_humains = np.array([2.0, 1.0, 0.5, -0.8])  # goûts des annotateurs, inconnus du modèle

def reponses(n):  # n réponses résumées par 4 critères (en vrai : le texte complet)
    return np.column_stack([rng.integers(0, 2, n), rng.integers(0, 2, n),
                            rng.normal(0, 1, n), rng.normal(0, 1, n)])

# 1. Des annotateurs comparent 3 000 paires de réponses et choisissent la meilleure
A, B = reponses(3000), reponses(3000)
proba_A = 1 / (1 + np.exp(-(A - B) @ poids_humains))  # modèle de Bradley-Terry
prefere_A = rng.random(3000) < proba_A

# 2. Le modèle de récompense apprend à prédire la réponse préférée
recompense = LogisticRegression(fit_intercept=False).fit(A - B, prefere_A)
print("Poids appris :", dict(zip(criteres, recompense.coef_[0].round(2).tolist())))

# 3. Il sert ensuite de juge : parmi 4 brouillons, on garde le mieux noté
brouillons = reponses(4 * 500).reshape(500, 4, 4)
choix = (brouillons @ recompense.coef_[0]).argmax(axis=1)
satisfaction = brouillons @ poids_humains
print("Satisfaction moyenne, brouillon pris au hasard :", satisfaction[:, 0].mean().round(2))
print("Satisfaction moyenne, brouillon choisi         :", satisfaction[np.arange(500), choix].mean().round(2))

Le RLHF se pratique en Python (trl de Hugging Face, PyTorch) : pas d'équivalent R courant.

QUESTIONS FRÉQUENTES

Que veut dire RLHF ?

Reinforcement Learning from Human Feedback, apprentissage par renforcement à partir de retours humains. Le retour est une préférence entre réponses, transformée en note par un modèle de récompense. Le LLM apprend ensuite à maximiser cette note.

Quelle différence entre RLHF et DPO ?

Les deux partent des mêmes comparaisons humaines. Le RLHF classique entraîne un modèle de récompense puis ajuste le LLM par renforcement. DPO (Direct Preference Optimization, 2023) obtient un effet comparable en une seule étape d'entraînement, plus simple à mettre en œuvre.

Une entreprise doit-elle faire du RLHF ?

Rarement. Les modèles du marché sont déjà alignés par leurs éditeurs. Le RLHF ou le DPO se justifient pour un assistant à fort volume bâti sur un modèle ouvert, avec des experts capables de comparer des milliers de réponses.

LES ALGOS VOISINS

à comparer avant de choisir
l'algorithme de l'étape 3

PPO

L'algorithme de renforcement qui ajuste le LLM à partir des notes du modèle de récompense.

Voir la fiche →
l'étape d'avant

Fine-tuning et LoRA

On affine d'abord le modèle sur de bons exemples de réponses ; le RLHF affine ensuite à partir de comparaisons.

Voir la fiche →
le modèle à aligner

GPT et LLM

Un LLM pré-entraîné prédit la suite d'un texte ; le RLHF en fait un assistant qui répond utilement.

Voir la fiche →
— formation

Passer de la fiche à la pratique

Dataistudio forme les équipes au machine learning et à l'IA, sur des cas concrets.

Voir les formations →