Cursus
L'optimisation de la politique relative du groupe (GRPO) est une technique d'apprentissage par renforcement (RL) de pointe qui permet d'obtenir les performances impressionnantes des derniers grands modèles de langage (LLM). Bien qu'il ait attiré l'attention après la publication de DeepSeek-R1, le GRPO a été introduit pour la première fois dans DeepSeekMath, un LLM affiné pour le raisonnement mathématique avancé. Le GRPO a été conçu à l'origine pour améliorer l'efficacité de la mise au point, et il s'est avéré être une méthode rentable et polyvalente adoptée par la communauté.
Dans cet article, nous allons nous plonger dans le GRPO. Nous examinerons ce qu'il est, comment il fonctionne, les éléments essentiels nécessaires à sa mise en œuvre et le moment le plus approprié pour l'utiliser. L'objectif de ce guide est de vous faire découvrir les principales caractéristiques du GRPO, qui justifient sa popularité croissante.
Si vous souhaitez en savoir plus sur DeepSeek, n'hésitez pas à consulter notre cours, Travailler avec DeepSeek en Python.
Introduction à l'apprentissage par renforcement
Comme nous l'explorons dans notre guide sur le réglage fin des LLM, le réglage fin supervisé (SFT) est la technique d'entraînement traditionnelle qui consiste à entraîner un modèle à l'aide de données étiquetées. C'est-à-dire en utilisant des exemples qui montrent les résultats attendus pour des données données d'entrée..
L'une des limites du SFT est qu'il s'appuie fortement sur de grands ensembles de données étiquetées, dont la production peut être coûteuse et prendre du temps. En outre, les modèles formés par SFT risquent d'être surajoutés aux exemples de formation, ce qui signifie qu'ils donnent de bons résultats sur des données connues mais peinent à s'adapter à des situations nouvelles ou inattendues.
Une alternative à l'apprentissage par renforcement est l'apprentissage par renforcement, par lequel, au lieu d'apprendre à partir d'exemples fixes, un agent apprend en interagissant avec son environnement et en essayant différentes actions pour accomplir une tâche. Après chaque action, l'agent reçoit un retour d'information sous forme de récompenses ou de pénalités. L'objectif est de maximiser la récompense totale au fil du temps en découvrant les stratégies les plus efficaces.
Nous pouvons décrire un flux de travail simple de NR comme suit :
Diagramme d'un flux de travail simple de NR.
Si vous souhaitez vous initier à l'apprentissage par renforcement en Python, le tutoriel Reinforcement Learning : Une introduction avec des exemples en Python est pour vous !
L'apprentissage par renforcement en toute simplicité
Pour illustrer le concept d'apprentissage par renforcement, imaginez que vous apprenez à votre cousin à faire du vélo. Au début, elle a du mal à pédaler et à se tenir en équilibre, et il lui arrive souvent de vaciller ou de tomber.
Chaque fois qu'elle roule un peu plus loin, vous l'encouragez. Ce retour d'information positif l'encourage à continuer. Mais lorsqu'elle tente de descendre les escaliers, vous l'arrêtez rapidement et lui expliquez les risques. Il s'agit d'un signal négatif qui décourage de telles actions.
De même, l'apprentissage par renforcement permet aux modèles d'explorer différentes actions. Les récompenses positives renforcent les résultats souhaitables, tandis que les récompenses négatives découragent les comportements indésirables. Au fil du temps, le modèle apprend à prendre de meilleures décisions grâce à ce retour d'information.
Approches de l'apprentissage par renforcement
Il existe différentes techniques pour appliquer l'apprentissage par renforcement à un modèle. Concrètement, le GRPO est considéré comme une évolution de l'optimisation proximale des politiques (PPO) et de l'optimisation directe des politiques (DPO).
Avez-vous déjà entendu parler de PPO et de DPO ?
Optimisation de la politique proximale
PPO est un algorithme RL largement utilisé, conçu pour optimiser le comportement d'un modèle en maximisant ses récompenses à l'aide d'un modèle de récompense distinct. Un excellent exemple de PPO en action est l'apprentissage par renforcement à partir du feedback humain (RLHF) d'OpenAI( ). Dans le cadre de la RLHF, le retour d'information humain est d'abord recueilli sur les résultats du modèle, et ces données sont ensuite utilisées pour former un modèle de récompense permettant de prédire le retour d'information. L'existence d'un modèle de récompense est un moyen de mettre à l'échelle le retour d'information humain, sans qu'il soit nécessaire d'avoir recours à des humains.
Enfin, PPO utilise le modèle de récompense pendant la formation pour ajuster les paramètres du modèle, l'encourageant ainsi à générer des réponses qui s'alignent mieux sur les préférences humaines. Le diagramme suivant illustre le flux de travail de l'OPP :
Diagramme du flux de travail de l'OPP.
Si vous souhaitez mettre en œuvre le flux de travail PPO en Python, envisagez le tutoriel suivant Optimisation de la politique proximale avec PyTorch et Gymnasium.
Optimisation directe des politiques
La formation d'un modèle de récompense distinct peut s'avérer complexe et gourmande en ressources. Pour simplifier ce processus, la DPO a été introduite, modifiant la manière dont le retour d'information humain est recueilli.
Plutôt que de demander à des humains d'évaluer des réponses à l'aide de notes numériques, DPO s'appuie sur la comparaison des préférencess. Les annotateurs humains voient deux réponses et doivent choisir celle qu'ils préfèrent. Cela permet de créer un ensemble de données d'exemples préférés et d'exemples moins préférés.
Le modèle est ensuite affiné directement sur ces paires de préférences, au lieu de s'appuyer sur le modèle de récompense. Grâce à cette approche, le modèle apprend à augmenter la probabilité de générer la réponse préférée tout en réduisant la probabilité de générer la réponse moins préférée.
Cette approche permet au modèle de s'aligner sur les préférences humaines sans avoir besoin d'un modèle de récompense distinct. Jetons un coup d'œil à ce nouveau flux de travail :
Diagramme du flux de travail du DPD.
Le tutoriel Preference Fine-Tuning d'OpenAI : Un guide avec des exemples vous aidera à mettre en œuvre le DPD dans la pratique.
Les défis de l'OPP et de l'OPD
Le DPO présente de nombreux avantages par rapport au PPO. En partant des données nécessaires, l'OPP doit d'abord collecter les données pour entraîner le modèle de récompense, puis procéder à l'entraînement proprement dit de ce modèle auxiliaire (avec tous les défis techniques liés à l'entraînement d'un nouveau modèle), avant même de commencer l'entraînement de votre modèle cible. Le DPO simplifie le processus en supprimant la nécessité d'avoir un modèle de récompense distinct. Néanmoins, cette approche nécessite une quantité importante de données sur les préférences.
À ce stade, prévoyez-vous un moyen d'éliminer ces limitations ?
Et si, au lieu de dépendre d'un retour d'information externe, nous pouvions trouver un moyen automatique de valider et d'évaluer les réponses du modèle ?
C'est exactement ce que le GRPO apporte au tableau !
Qu'est-ce que le GRPO ?
L'optimisation de la politique relative du groupe est une technique RL qui ne nécessite pas de données étiquetées, mais seulement un moyen de "vérifier" l'exactitude des données et d'ordonner les réponses en conséquence. La vérification est normalement effectuée par desfonctions de récompense programmables( ), c'est-à-dire des fonctions qui peuvent prendre la réponse du modèle en entrée et délivrer une note d'évaluation sur un aspect de la fonction.
Certaines approches de GRPO utilisent un LLM comme juge pour vérifier et évaluer les réponses, mais l'idée centrale de GRPO peut être exploitée sans la nécessité d'un modèle externe dans des domaines tels que le développement de logiciels, puisque différents aspects du code généré peuvent être vérifiés par des outils externes. Par exemple,
- Le code est-il compilé ? Ici, il suffit d'utiliser le compilateur.
- Y a-t-il une erreur d'exécution ? Ici, il suffit d'exécuter le code.
- Passe-t-il les tests unitaires ? Ici, nous n'avons besoin que de tests unitaires.
- Le résultat de l'analyseur de code est-il propre ? Ici, nous avons juste besoin d'une doublure.
Comme vous pouvez le constater, aucun humain ni aucune donnée de préférence n'est nécessaire !
Fonctions de récompense
Dans l'article original de DeepSeek-Mathles fonctions de récompense ont été conçues pour évaluer l'exactitude et le formatage des solutions mathématiques. Si vous avez déjà demandé une sortie structurée à un LLM, vous vous êtes rendu compte que le modèle avait peut-être suivi le format de sortie souhaité pour la majeure partie de l'achèvement, , mais qu'il y avait toujours un cas particulier qui brisait votre pipeline, n'est-ce pas ?
Dans le cas de DeepSeek-Mathles fonctions de récompense étaient axées sur l'exactitude et le formatage :
- Les récompenses pour la précision évaluent si la réponse finale du modèle est correcte. Pour les problèmes mathématiques déterministes, le modèle doit présenter la réponse finale dans un format spécifique (par exemple, dans une boîte), ce qui permet une vérification automatisée par rapport à la vérité de terrain.
- Les récompenses liées au format garantissent que les réponses du modèle respectent une structure prédéfinie. Plus précisément, le modèle est encouragé à enfermer son processus de raisonnement dans des balises désignées (par exemple,
et
). Ce formatage facilite l'extraction et l'analyse du processus de réflexion du modèle, en favorisant la clarté et la cohérence de ses résultats.
Flux de travail du GRPO
À ce stade, vous vous demandez peut-être quelle est la place du GRPO dans le processus de formation d'un modèle.
Passons en revue le processus étape par étape !
- Envoyez un message au LLM et échantillonnez les réponses de plusieurs candidats.
- Écrivez une ou plusieurs fonctions programmables qui prennent les paires d'invites et de réponses et attribuent un score à chacune d'entre elles.
- Utilisez ces scores pour mettre à jour les pondérations LLM, en augmentant la probabilité de produire des réponses avec des scores supérieurs à la moyenne et en la diminuant pour celles avec des scores inférieurs à la moyenne.
En suivant cette boucle, le GRPO affine le modèle directement sur la base des résultats des fonctions de récompense, sans qu'il soit nécessaire de collecter des données sur les préférences.
Diagramme du flux de travail du GRPO avec des récompenses calculées par un acteur externe.
Enfin, il est intéressant de noter que le GRPO présente également l'avantage d'enseigner au modèle de nouvelles tâches, au lieu de l'orienter uniquement vers une préférence, comme c'est le cas pour le PPO ou le DPO.
Avantages du GRPO
Comme le montre le diagramme ci-dessus, le principal avantage du GRPO est qu'il ne nécessite pas de données étiquetées, mais seulement un moyen de "vérifier" l'exactitude des données, grâce à l'utilisation de fonctions de récompense programmables.
Un autre avantage est qu'elle nécessite beaucoup moins d'exemples que le réglage fin, ce qui fait de cette technique une alternative rentable.
En outre, le modèle apprend activement à partir du retour d'information plutôt qu'à partir d'exemples étiquetés fixes, ce qui réduit le risque de surajustement. La formation de modèles avec GRPO leur permet de découvrir organiquement de meilleures stratégies et d'améliorer leur chaîne de pensée.
Cas d'utilisation du GRPO
Comme nous l'avons vu précédemment, le principal cas d'utilisation du GRPO se présente lorsque vous ne disposez pas de données étiquetées mais que vous êtes en mesure de vérifier l'exactitude de la sortie. Elle est également très efficace lorsque vous disposez d'un nombre limité de données étiquetées, mais pas suffisamment pour effectuer un réglage fin supervisé traditionnel. Le GRPO est donc particulièrement utile dans les cas où l'étiquetage est coûteux ou peu pratique.
Parmi les domaines dans lesquels le GRPO a démontré des avantages significatifs, on peut citer
- Compétences en mathématiques : Par exemple, dans le cas du modèleDeepSeek-Math ( ), le GRPO a effectivement amélioré la capacité du modèle à résoudre des problèmes mathématiques complexes sans disposer de vastes ensembles de données étiquetées.
- Génération de codes : GRPO contribue à améliorer la précision et la fiabilité du code généré en permettant au système d'auto-vérifier les résultats et de les affiner de manière itérative.
- Raisonnement en plusieurs étapes : Il a été démontré que le GRPO améliore les performances des modèles dans les tâches nécessitant un raisonnement séquentiel et l'intégration de plusieurs étapes logiques.
GRPO avancé
Il existe quelques conseils et astuces avancés pour la mise en œuvre du GRPO dans la pratique, que vous devez connaître.
Fonctions avancées de récompense
Les fonctions de récompense fournissent au modèle un retour d'information sur la manière dont il atteint son objectif. Ce processus comporte des éléments essentiels :
- Diversité des réponses : La production d'un large éventail de résultats candidats augmente les chances de découvrir des solutions ou des stratégies de meilleure qualité.
- Diversité des récompenses : Concevoir des fonctions de récompense capables de différencier différents niveaux de réussite ou d'accomplissement partiel, plutôt qu'un simple signal binaire de réussite ou d'échec. C'est ce que l'on appelle les récompenses partielles, qui donnent un retour d'information plus nuancé en attribuant des crédits partiels pour différents aspects de la réponse. Il s'agit par exemple de vérifier que le format de sortie est correct, que le code généré se compile correctement ou que le code passe avec succès un sous-ensemble de tests unitaires. Ce type de récompense graduelle encourage le modèle à s'améliorer progressivement, même si la réponse n'est pas entièrement correcte.
En outre, l'établissement d'une base de référence pour l'ensemble du groupe peut jouer un rôle important dans la stabilisation et l'amélioration du processus de formation. En soustrayant cette base des récompenses individuelles, le modèle reçoit un retour d'information relatif à la performance globale du groupe, ce qui réduit la variance dans les estimations des récompenses et encourage les améliorations progressives par rapport à la moyenne.
Température
Dans les LLM, le paramètre de température contrôle le caractère aléatoire du processus d'échantillonnage lors de la génération de la sortie. En fixant la température à 0, on obtient un échantillonnage déterministedéterministe, ce qui signifie que le modèle choisit toujours le prochain jeton le plus probable.
Bien que cela garantisse la cohérence, cela conduit souvent à générer les mêmes résultats de manière répétée.ce qui limite la diversité des réponses.
D'autre part, l'augmentation de la température introduit plus d'aléa, ce qui permet au modèle d'explorer un plus large éventail de possibilités. Cette diversité peut être bénéfique pour découvrir des solutions différentes ou inattendues.
Cependant, les températures plus élevées s'accompagnent d'un compromis : la qualité de chaque supposition individuelle tend à diminuer car le modèle échantillonne plus fréquemment des jetons moins probables. De ce fait, le processus d'apprentissage global peut être ralenti.
Choisir la bonne température relève parfois de l'art !
Récompenser le piratage
Les modèles sont sournois et exploitent parfois les fonctions de récompense de manière involontaire afin de maximiser les récompenses sans vraiment atteindre l'objectif.
Par exemple, disons que le modèle est récompensé pour la production de tests pour un extrait de code donné. Il se peut que le modèle fournisse une fonction de test, mais sans réellement tester quoi que ce soit, contournant ainsi l'objectif réel de vérification de l'exactitude du code et obtenant tout de même la récompense.
Vous devez être conscient de ces astuces lorsque vous écrivez les fonctions de récompense. Par exemple, dans le cas de la génération de tests, il est normalement exigé que le modèle génère au moins une déclaration "assert " à l'intérieur du test. Sinon, il est pénalisé.
Conclusion
Pour conclure, j'aimerais appliquer le GRPO à un scénario réel afin de m'assurer que tous les concepts sont bien compris.
Imaginez que vous et vos amis participiez à une compétition de fitness où les récompenses sont attribuées en fonction des performances en course à pied, en pompes et en aviron. Dans un premier temps, la salle de sport ne récompense que la personne qui obtient les meilleurs résultats absolus.
Ainsi, si Alice court plus loin et fait plus de pompes que Ben, elle gagne toujours, même si Ben a fait des progrès significatifs.
Cela semble injuste pour Ben, n'est-ce pas ?
Pour y remédier, la salle de sport tente une approche différente : des objectifs personnels basés sur les performances passées.
Désormais, vous ne gagnez des récompenses que si vous battez vos propres records. Bien que cette solution semble plus équitable, elle introduit de nouveaux problèmes. Les nouveaux membres, comme Charlie, n'ont pas de données antérieures auxquelles se comparer, ce qui rend leur participation difficile. En outre, les curseurs doivent constamment suivre les progrès de chacun, ce qui devient inefficace.
Enfin, la salle de sport offre une meilleure solution : GRPO.
Avant le début de la séance d'entraînement, le moniteur active un système qui analyse les caractéristiques des participants et les regroupe en fonction de conditions similaires. Pendant la séance d'entraînement, le système suit les performances de chaque participant et calcule un score moyen au sein de chaque groupe, qui servira de référence. Ensuite, des récompenses sont attribuées en fonction du dépassement par chaque personne de la performance moyenne de son groupe au cours de la même journée.
Ainsi, si Ben obtient des résultats nettement supérieurs à ceux des autres membres de son groupe, il reçoit une récompense, même si Alice a toujours le meilleur score global. Cette méthode est également équitable pour les nouveaux venus comme Charlie, puisqu'ils sont évalués par rapport à leurs pairs de la même session, et non en fonction de leurs antécédents.
Un facteur important dans ce processus est la température, qui contrôle la rigueur avec laquelle les améliorations sont récompensées. Si la température est trop basse, seules les améliorations importantes par rapport à la ligne de base comptent. Si la température est trop élevée, même les petites améliorations sont récompensées, ce qui encourage l'expérimentation mais peut conduire à des progrès irréguliers.
Le GRPO vise à trouver le bon équilibre, en assurant une amélioration constante tout en permettant l'exploration.
Enfin, il y a le risque de piratage des récompenses. Cela signifierait que les participants trouvent des moyens de jouer avec le système sans vraiment l'améliorer. Par exemple, Ben pourrait se concentrer uniquement sur les exercices les plus faciles afin de gonfler son score sans effort réel.
Pour éviter cela, la salle de sport ajoute des garde-fous, comme l'exigence d'un mélange équilibré d'exercices ou la pénalisation des exercices répétitifs à faible effort. Ces contraintes garantissent que les récompenses reflètent les progrès réels.
Si vous souhaitez en savoir plus sur le fonctionnement des LLM et sur la manière de développer les vôtres, consultez notre cours, Développer de grands modèles linguistiques.
Introduction aux agents d'intelligence artificielle
FAQ du GRPO
Combien de données sont nécessaires pour le GRPO ?
Généralement moins de 1000 exemples étiquetés.
Le GRPO exige-t-il un cursus des performances passées ?
Non. Le GRPO n'utilise que les informations de l'étape de formation en cours.
Qu'est-ce qu'un groupe dans le GRPO ?
Un groupe est un ensemble de modèles de réponses à une même question.
Comment le GRPO empêche-t-il le piratage des récompenses ?
En incorporant des contraintes, GRPO décourage les modèles d'exploiter des voies faciles pour obtenir des récompenses exagérées.
Comment les récompenses sont-elles attribuées dans le cadre du GRPO ?
Chaque réponse est récompensée en fonction de sa performance par rapport à la référence du groupe, et non en fonction de la récompense absolue.

Andrea Valenzuela travaille actuellement sur l'expérience CMS à l'accélérateur de particules (CERN) à Genève, en Suisse. Experte en ingénierie et analyse de données depuis six ans, ses fonctions comprennent l'analyse de données et le développement de logiciels. Elle travaille actuellement à la démocratisation de l'apprentissage des technologies liées aux données par le biais de la publication ForCode'Sake sur Medium.
Elle est titulaire d'une licence en ingénierie physique de l'Université polytechnique de Catalogne, ainsi que d'une maîtrise en systèmes interactifs intelligents de l'Université Pompeu Fabra. Son expérience en matière de recherche comprend des travaux professionnels avec des algorithmes OpenAI antérieurs pour la génération d'images, tels que Normalizing Flows.