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

Méthode

Le GRPO, étape par étape

Le Group Relative Policy Optimization évalue plusieurs réponses au même prompt et renforce celles qui se situent au-dessus de la moyenne du groupe. Il remplace le modèle de valeur distinct du PPO par cette simple comparaison.

Chapitre 77 min de lecture5 références

Les origines du GRPO

Le GRPO a été introduit en 2024 dans l'article DeepSeekMath comme une version allégée du PPO (Proximal Policy Optimization, 2017), l'algorithme à l'origine de la plupart des premiers ajustements fins par apprentissage par renforcement (RL) des modèles de langage, y compris le RLHF utilisé pour InstructGPT. Il s'est largement fait connaître lorsque DeepSeek-R1 l'a utilisé à grande échelle, et il constitue désormais la méthode RL par défaut dans les entraîneurs open source tels que Hugging Face TRL et dans la plupart des services RFT.

PPO · référence apprise
prompt→le modèle rédige 1 réponse→le modèle de récompense l'évalue→modèle de valeurprédit le score attendu, token par token→avantage = score − prédiction

Le modèle de valeur est généralement de taille comparable à celle du modèle en cours d'entraînement, et est entraîné en parallèle.

GRPO · référence du groupe
prompt→le modèle rédige N réponses→l'évaluateur note chacune→moyenne et écart du groupecalculé, non appris→avantage = (score − moyenne) ÷ écart

Aucun modèle de valeur à entraîner ou à conserver en mémoire. La contrepartie est de générer N réponses par invite au lieu d'une seule.

PPO nécessite un second réseau, le modèle de valeur, pour estimer la qualité attendue d'une réponse. GRPO s'en affranchit : il échantillonne plusieurs réponses à la même invite et utilise leur score moyen comme référence.

Le PPO a besoin d'une référence pour transformer les scores bruts en avantages, et il en apprend une : un modèle de valeur (le « critique ») qui prédit, token par token, le score vers lequel se dirige la réponse. Les auteurs de DeepSeekMath soulignent que ce modèle de valeur est généralement aussi volumineux que le modèle entraîné, ce qui représente une lourde charge en mémoire et en calcul, et que prédire une valeur à chaque token est difficile lorsque la récompense n'arrive qu'à la fin. Le GRPO le supprime. Il échantillonne un groupe de réponses pour chaque prompt et utilise le score moyen de ce groupe comme référence.

L'algorithme

  1. Échantillonner les prompts. Prenez un lot de prompts à partir de vos données.
  2. Générer un groupe. Pour chaque prompt, le modèle actuel rédige N réponses, en échantillonnant avec une part d'aléatoire pour qu'elles diffèrent. Les groupes de 4 à 16 sont courants ; DeepSeekMath en a utilisé 64.
  3. Évaluer. L'évaluateur attribue une récompense à chaque réponse, ici de 0 à 1.
  4. Normaliser au sein du groupe. L'avantage de chaque réponse correspond à son score moins la moyenne du groupe, divisé par l'écart type du groupe. Chaque token de la réponse obtient ce même avantage.
  5. Mettre à jour avec un objectif écrêté. Rendez les réponses à avantage positif plus probables et celles à avantage négatif moins probables, mais jamais au-delà d'un ratio défini en une seule étape (voir ci-dessous).
  6. Facultativement, pénaliser la dérive. Soustrayez β × la divergence KL d'une copie figée du modèle de départ.
promptMOYENNE DU GROUPE 0,50.8réponse 1+0.30.3réponse 2−0.20.6réponse 3+0.10.3réponse 4−0.2avantage = (score − moyenne du groupe) ÷ dispersion du groupe
Le GRPO en une étape. Le modèle répond au même prompt quatre fois ; l'évaluateur note chaque réponse ; chaque réponse est comparée à la moyenne de son propre groupe. Une note supérieure à la moyenne est renforcée, une note inférieure est découragée.
Avantage relatif au groupe, pour le groupe de la figure
advantage_i = (score_i − mean(group)) / std(group)

answer      1      2      3      4
score      0.8    0.3    0.6    0.3
− mean     +0.3   −0.2   +0.1   −0.2      mean = 0.5
÷ std      +1.41  −0.94  +0.47  −0.94     std ≈ 0.21
Calcul des avantages pour un groupe de quatre
  1. L'évaluateur note quatre réponses à un prompt : 0,8, 0,3, 0,6 et 0,3.
  2. Moyenne du groupe = (0,8 + 0,3 + 0,6 + 0,3) ÷ 4 = 0,5. Écarts par rapport à la moyenne : +0,3, −0,2, +0,1, −0,2.
  3. Dispersion (écart-type des quatre) = √((0,09 + 0,04 + 0,01 + 0,04) ÷ 4) = √0,045 ≈ 0,21.
  4. Avantages = écarts ÷ 0,21 ≈ +1,41, −0,94, +0,47, −0,94. La réponse 1 est la plus valorisée, la réponse 3 l'est légèrement ; les réponses 2 et 4 sont pénalisées de manière égale.
  5. Certaines bibliothèques divisent par n − 1 lors du calcul de la dispersion (≈ 0,24 ici, ce qui donne +1,22, −0,82, +0,41, −0,82). Les signes et le classement, qui sont ce qui oriente le modèle, restent identiques.
Deux groupes aux apports d'apprentissage très différents
  1. Le groupe A obtient 0, 0, 0, 0 : toutes les réponses ont échoué. Moyenne 0, dispersion 0, donc chaque avantage est de 0 et ce prompt n'apporte rien. (Les implémentations ajoutent une infime constante à la dispersion pour éviter toute division par zéro.)
  2. Le groupe B obtient 0,61, 0,60, 0,60, 0,59 : des scores pratiquement identiques. Cependant, la dispersion est infime (≈ 0,007), les avantages s'élèvent donc à +1,41, 0, 0, −1,41, soit des valeurs aussi importantes que dans un groupe présentant de réelles différences.
  3. Diviser par la dispersion accorde un poids démesuré aux prompts à faible dispersion et transforme le bruit de l'évaluateur en un signal à part entière. C'est l'une des raisons pour lesquelles la variante Dr. GRPO abandonne la division, et pourquoi un évaluateur aux scores bruts mais cohérents surpasse un évaluateur produisant un bruit d'apparence précise.

L'objectif écrêté, en termes simples

Une fois les avantages connus, le modèle est mis à jour, souvent sur quelques mini-lots pour les mêmes réponses. À chaque fois, l'entraîneur compare la probabilité que le modèle actuel attribue à une réponse avec la probabilité que le modèle qui l'a rédigée lui attribuait. Ce ratio est de 1,0 au début de l'étape. L'idée du PPO, que le GRPO conserve, est de cesser d'accorder du crédit une fois que le ratio s'est suffisamment éloigné : avec le ε = 0,2 habituel, une réponse supérieure à la moyenne ne gagne rien de plus en devenant plus de 1,2 fois plus probable, et une réponse inférieure à la moyenne ne gagne rien de plus en tombant en dessous de 0,8 fois.

RÉGION DE CONFIANCE 0,8–1,20.51,0 · inchangé1.5supérieur à la moyenne : plafonnéinférieur à la moyenne : planchernouvelle ÷ ancienne probabilité de la réponse
L'objectif tronqué, pour une réponse. Les réponses supérieures à la moyenne (en vert) gagnent du crédit en devenant plus probables uniquement jusqu'à 1,2× leur ancienne probabilité ; celles inférieures à la moyenne (en rose) gagnent du crédit en devenant moins probables uniquement jusqu'à 0,8×. Au-delà de ces limites, le gradient est nul, de sorte qu'un lot chanceux ne peut pas entraîner le modèle trop loin.

Le résultat est une région de confiance : chaque étape ne peut éloigner le modèle que d'une distance limitée par rapport au modèle qui a généré les données, ce qui évite qu'un lot chanceux ou malchanceux ne provoque une embardée. TRL enregistre la fréquence à laquelle la limite intervient sous clip_ratio ; des valeurs qui restent élevées signifient que les mises à jour continuent d'atteindre la limite, ce qui est souvent le signe que le taux d'apprentissage est trop élevé.

L'objectif GRPO, simplifié
ratio      r = P_new(answer) / P_old(answer)        # 1.0 when the step starts

objective  min( r × A ,  clip(r, 1 − ε, 1 + ε) × A )  −  β × KL(new ‖ reference)

           A = the answer's advantage
           ε = 0.2   (how far one step may move an answer's probability)
           β = 0 … 0.04   (pull back toward the starting model; 0 = none)

La pénalité KL

Le GRPO d'origine ajoute un terme supplémentaire : β fois la divergence KL entre le modèle en cours d'entraînement et une copie figée de son état initial, la référence. La divergence KL mesure la différence entre deux distributions de probabilité ; ici, elle augmente à mesure que les choix de mots du modèle s'éloignent de ceux de la référence. Avec un β supérieur à 0, la dérive coûte des récompenses, de sorte que le modèle s'améliore dans sa tâche tout en restant proche de son langage et de son style d'origine. DeepSeekMath a utilisé β = 0,04 et a ajouté la pénalité directement à la perte plutôt que de la soustraire de la récompense.

Des travaux ultérieurs ont révélé que la pénalité est souvent inutile pour les tâches dont les réponses sont vérifiables, et TRL utilise désormais par défaut β = 0, ce qui permet également d'économiser de la mémoire puisqu'aucune copie de référence ne doit être chargée. Une pénalité reste utile lorsqu'un modèle juge fait office d'évaluateur et que les réponses commencent à se dégrader (tournures étranges, formatage cassé, changement de langue) : une dérive qu'un juge pourrait ne pas sanctionner. Les paramètres RFT expliquent comment la configurer.

Particularités connues

  • Biais de longueur. Dans la formule d'origine, la perte de chaque réponse est moyennée sur sa propre longueur, de sorte qu'une réponse longue et incorrecte est moins pénalisée par token qu'une réponse courte et incorrecte. L'article Dr. GRPO a montré que cela gonfle la longueur des réponses, en particulier pour les réponses incorrectes. Le type de perte par défaut de TRL, dapo, effectue plutôt la moyenne sur tous les tokens du lot.
  • Groupes sans signal. Les prompts faciles (toutes les réponses sont correctes) et ceux sans espoir (toutes sont fausses) ne produisent aucune mise à jour. TRL enregistre leur proportion sous frac_reward_zero_std ; la recette DAPO filtre ces groupes et en échantillonne davantage.
  • La génération domine les coûts. Rédiger N réponses token par token prend la majeure partie du temps de chaque étape, ce qui fait de la taille du groupe et de la longueur de la réponse les principaux leviers sur la vitesse et le prix.

Erreurs courantes

  • Interpréter un score unique de manière isolée. Dans le GRPO, le score d'une réponse n'a d'importance que par rapport aux autres réponses au même prompt.
  • Utiliser des groupes de deux pour gagner du temps. Avec deux réponses, la moindre différence, même le bruit de l'évaluateur, devient un signal complet de +1 / −1.
  • Fournir des prompts beaucoup trop faciles ou beaucoup trop difficiles. Les deux produisent des scores identiques au sein d'un groupe et ne fournissent aucun signal.
  • Supposer que la pénalité KL est activée. Dans de nombreuses bibliothèques actuelles, la valeur par défaut est β = 0.
  • Se fier à un évaluateur d'apparence précise. De petites différences de score bruitées sont amplifiées en avantages à part entière.

Références et lectures complémentaires

Les sources externes s'ouvrent dans un nouvel onglet.

  1. 01DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language ModelsShao et al., 2024 · arXiv · arxiv.orgIntroduit le GRPO ; son étape RL a fait passer GSM8K de 82,9 % à 88,2 % et MATH de 46,8 % à 51,7 %.
  2. 02Proximal Policy Optimization AlgorithmsSchulman et al., 2017 · arXiv · arxiv.orgL'objectif écrêté et l'idée de région de confiance dont hérite le GRPO.
  3. 03Understanding R1-Zero-Like Training: A Critical PerspectiveLiu et al., 2025 · arXiv · arxiv.orgIdentifie le biais de longueur du GRPO et propose Dr. GRPO, une variante sans biais.
  4. 04DAPO: An Open-Source LLM Reinforcement Learning System at ScaleYu et al., 2025 · arXiv · arxiv.orgCorrectifs pratiques pour le GRPO : perte au niveau du token, écrêtage asymétrique, filtrage des groupes sans signal.
  5. 05GRPO TrainerHugging Face TRL docs · huggingface.coVariantes de perte, valeurs par défaut et métriques enregistrées par une exécution GRPO.

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