PPO (Proximal Policy Optimization)
PPO (Proximal Policy Optimization) est un algorithme de reinforcement learning de la famille actor-critic qui optimise la politique de l’agent en limitant la taille de chaque mise à jour via un mécanisme de clipping, garantissant des améliorations stables sans effondrement de performance. C’est l’algorithme qui a propulsé ChatGPT et qui reste le standard industriel pour l’alignement des LLM via RLHF.
Publié en 2017 par John Schulman et al. (OpenAI), PPO résout un problème fondamental des policy gradient : comment faire la plus grande amélioration possible de la politique avec les données disponibles, sans risquer un effondrement catastrophique ? TRPO (Trust Region Policy Optimization) répondait à cette question avec une méthode complexe du second ordre (contrainte KL). PPO obtient des résultats comparables avec une méthode du premier ordre bien plus simple : le clipping de l’objectif surrogate. Cette simplicité, combinée à sa stabilité et sa polyvalence, a fait de PPO l’algorithme RL par défaut chez OpenAI, puis dans l’ensemble de l’industrie.
- Catégorie
- Algorithme RL (policy gradient, actor-critic, on-policy)
- Auteurs
- John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, Oleg Klimov (OpenAI, 2017)
- Innovation clé
- Objectif surrogate clippé : limiter les mises à jour de politique sans optimisation du second ordre
- Variantes
- PPO-Clip (standard), PPO-Penalty (avec pénalité KL adaptative)
- Usage majeur
- RLHF pour LLM (ChatGPT, InstructGPT, Claude), jeux, robotique, contrôle
- Alternatives 2026
- GRPO (DeepSeek), DPO, REINFORCE-style (RLOO), DAPO
- Outils
- Stable Baselines3, TRL (HuggingFace), OpenRLHF, veRL, CleanRL
Le problème que PPO résout
Les algorithmes policy gradient mettent à jour la politique en montant le gradient de la récompense attendue. Le problème : la taille du pas de mise à jour (step size) est critique. Un pas trop grand envoie la politique dans une direction sous-optimale avec peu de chances de récupération. Un pas trop petit rend l’apprentissage inutilement lent.
TRPO (Schulman et al., 2015) a montré qu’on pouvait garantir des améliorations monotones en contraignant la divergence KL entre l’ancienne et la nouvelle politique. Mais TRPO est complexe : il nécessite le calcul de la matrice de Fisher et une optimisation sous contrainte du second ordre. PPO atteint un résultat similaire avec une technique beaucoup plus simple : le clipping.
Le mécanisme de clipping
L’idée centrale de PPO est l’objectif surrogate clippé. Au lieu de maximiser directement l’avantage pondéré par le ratio de probabilités (ce qui permettrait des mises à jour arbitrairement grandes), PPO limite ce ratio dans un intervalle [1-ε, 1+ε], où ε est un hyperparamètre (typiquement 0,2).
Concrètement, on calcule le ratio r(θ) = π_new(a|s) / π_old(a|s), c’est-à-dire le rapport entre la probabilité de l’action sous la nouvelle politique et sous l’ancienne politique. L’objectif clippé est :
L_CLIP = min( r(θ) × A, clip(r(θ), 1-ε, 1+ε) × A )
Où A est l’avantage estimé (via GAE). Le min entre les deux termes crée un plancher pessimiste :
Quand l’avantage est positif (bonne action) : si le ratio dépasse 1+ε (la nouvelle politique donne beaucoup plus de probabilité à cette action), le clipping empêche d’accorder trop de crédit à la nouvelle politique. On ne récompense pas au-delà de la limite.
Quand l’avantage est négatif (mauvaise action) : si le ratio descend en dessous de 1-ε (la nouvelle politique réduit beaucoup la probabilité), le clipping empêche de trop pénaliser. On ne punit pas au-delà de la limite.
Le résultat : la politique ne peut jamais changer trop d’un coup, ce qui prévient les effondrements catastrophiques. C’est une forme de conservatisme contrôlé. PPO peut utiliser des pas d’apprentissage plus grands que les policy gradient classiques tout en restant stable.
L’algorithme PPO étape par étape
1. Collecte de données : l’agent interagit avec l’environnement en suivant la politique courante π_old pendant un nombre fixe d’étapes (par exemple, 2048 étapes). Les transitions (s, a, r, s’) sont stockées dans un buffer.
2. Calcul des avantages : le critique estime V(s) pour chaque état, et le GAE (Generalized Advantage Estimation) calcule l’avantage A pour chaque transition. Le GAE offre un compromis réglable entre biais et variance via le paramètre λ (typiquement 0,95).
3. Optimisation multi-epoch : les données collectées sont divisées en mini-batchs et utilisées pour plusieurs epochs d’optimisation (typiquement 3 à 10). À chaque epoch, le gradient de l’objectif clippé est calculé et les paramètres de l’acteur et du critique sont mis à jour.
4. Mise à jour du critique : le critique est mis à jour en minimisant l’erreur quadratique entre ses prédictions V(s) et les retours estimés (via TD ou GAE).
5. Bonus d’entropie (optionnel) : un terme d’entropie est ajouté à l’objectif pour encourager l’exploration. La politique est pénalisée si elle devient trop déterministe trop vite.
6. Répéter : retour à l’étape 1 avec la politique mise à jour.
La réutilisation des données sur plusieurs epochs est un avantage majeur de PPO par rapport à REINFORCE (qui utilise chaque donnée une seule fois). Cela améliore la sample efficiency. Le clipping garantit que les mises à jour multi-epoch restent dans la « zone de confiance » de l’ancienne politique.
PPO dans le RLHF des LLM
L’application la plus emblématique de PPO en 2026 est l’alignement des LLM via RLHF. Dans ce contexte :
L’acteur est le LLM (la politique qui génère des tokens). Le critique est un réseau séparé (souvent de même taille que le LLM) qui estime la valeur par token. Le modèle de récompense score les complétions générées. Le modèle de référence (copie gelée du modèle SFT) sert de point d’ancrage pour la pénalité KL.
Le pipeline complet nécessite quatre modèles en mémoire simultanément : acteur + critique + modèle de récompense + modèle de référence. Pour un LLM de 70B paramètres, cela représente 8 à 16 GPU H100 juste pour les poids des modèles, avant les états d’optimisation et les activations. 80% du temps de calcul est consacré à la génération d’échantillons (rollouts), pas à l’optimisation.
La pénalité KL empêche la politique de dériver trop loin du modèle SFT. Sans elle, le LLM pourrait « hacker » le modèle de récompense en produisant des réponses qui obtiennent un score élevé mais sont incohérentes ou dégénérées. PPO implémente cette pénalité soit dans la récompense (per-token KL penalty), soit comme terme additionnel dans la loss.
Alternatives à PPO en 2026
PPO reste le standard, mais ses limitations à l’échelle LLM ont motivé le développement d’alternatives :
GRPO (Group Relative Policy Optimization)
Introduit par DeepSeek, GRPO élimine le critique séparé en utilisant la moyenne du groupe comme baseline. Pour un même prompt, G complétions sont générées, scorées, et l’avantage de chaque complétion est calculé par rapport à la moyenne du groupe. Cela économise la mémoire du critique (une copie de LLM en moins), simplifie le credit assignment (pas de GAE token-level) et supporte l’entraînement multi-epoch (off-policy léger avec clipping PPO). GRPO est le moteur de DeepSeek-R1 et domine les benchmarks de raisonnement LLM.
DPO (Direct Preference Optimization)
DPO élimine à la fois le modèle de récompense et l’optimisation RL en optimisant directement la politique contre les données de préférence en une seule étape supervisée. C’est la solution la plus simple (une seule passe de fine-tuning) mais potentiellement moins expressive que les méthodes on-policy. DPO est populaire pour les déploiements à ressources limitées.
REINFORCE-style (RLOO, bARLOO)
Les variantes modernes de REINFORCE éliminent le critique en utilisant un estimateur Leave-One-Out comme baseline. Plus simples que PPO (pas de GAE, pas de critique séparé), elles offrent des performances comparables sur de nombreuses tâches RLHF tout en consommant moins de mémoire GPU. C’est le meilleur point de départ pour les équipes avec des ressources compute limitées.
DAPO
Variante de GRPO avec clipping asymétrique (ε_low plus petit que ε_high) pour encourager le renforcement des actions correctes de faible probabilité. Particulièrement efficace pour les tâches de raisonnement où les solutions créatives sont rares mais importantes. Publié à ICLR 2026.
| Algorithme | Critique séparé ? | Modèle de récompense ? | On/Off-policy | Coût mémoire | Cas d’usage principal |
|---|---|---|---|---|---|
| PPO | Oui | Oui | On-policy | Élevé (4 modèles) | RLHF standard, grand labs |
| GRPO | Non (baseline groupe) | Oui ou vérificateur | Off-policy léger | Modéré (3 modèles) | Raisonnement LLM (DeepSeek-R1) |
| DPO | Non | Non (préférences directes) | Off-policy | Faible (2 modèles) | Alignement léger, ressources limitées |
| RLOO | Non (baseline LOO) | Oui ou vérificateur | On-policy | Modéré (3 modèles) | RLHF/RLVR, alternative simple à PPO |
| DAPO | Non | Oui ou vérificateur | Off-policy léger | Modéré | Raisonnement, clipping asymétrique |
Forces et limites de PPO
Forces
Stabilité : le clipping prévient les effondrements catastrophiques. PPO est le plus stable des algorithmes policy gradient en pratique.
Simplicité relative : par rapport à TRPO (second ordre, matrice de Fisher), PPO est une méthode du premier ordre standard, implémentable avec n’importe quel framework de deep learning.
Polyvalence : PPO fonctionne pour les actions discrètes (jeux, LLM) et continues (robotique, contrôle). Il s’adapte à une grande variété de problèmes.
Peu d’hyperparamètres critiques : ε = 0,2 fonctionne presque toujours. Le learning rate et le nombre d’epochs sont les principaux paramètres à tuner.
Sample efficiency améliorée : la réutilisation des données sur plusieurs epochs (grâce au clipping qui maintient la validité des données) améliore l’efficacité par rapport à REINFORCE (une seule passe).
Limites
Coût mémoire pour LLM : quatre modèles en mémoire simultanément. Pour un LLM de 70B, c’est un coût prohibitif pour la plupart des équipes.
Complexité d’implémentation RLHF : malgré la simplicité théorique, PPO pour LLM nécessite des dizaines de choix d’implémentation (initialisation critique, reward shaping, normalisation d’avantage, KL scheduling) qui influencent considérablement les résultats.
On-policy : PPO ne peut pas réutiliser des données générées par une ancienne politique (sauf sur quelques epochs avec clipping). Cela signifie que 80% du compute est dépensé en génération d’échantillons.
Clipping comme « instrument grossier » : le clipping peut sous-mettre à jour (gaspillage de données) ou sur-mettre à jour (déstabilisation) selon les cas, et il devient de plus en plus difficile à calibrer à mesure que les séquences s’allongent (raisonnement long).
Implémentation pratique
Pour le RL classique : Stable Baselines3 fournit une implémentation de référence de PPO, prête à l’emploi sur Gymnasium. C’est le point d’entrée recommandé. CleanRL offre une implémentation minimaliste et lisible (~200 lignes) pour comprendre les détails.
Pour le RLHF des LLM : TRL (Transformer Reinforcement Learning, HuggingFace) est la bibliothèque la plus accessible, avec PPOTrainer intégré. OpenRLHF est le premier framework haute performance pour le RLHF de modèles 70B+. veRL (VolcEngine) distribue efficacement les quatre modèles PPO sur des clusters multi-GPU.
Checklist d’implémentation PPO : normaliser les avantages (zéro-mean, unit variance), clipper la value function loss (optionnel mais recommandé), utiliser le GAE avec λ = 0,95, commencer avec ε = 0,2 et un learning rate de 3e-4, monitorer la divergence KL entre anciennes et nouvelles politiques (early stopping si KL > seuil).
Verdict
PPO est l’algorithme RL le plus influent de la dernière décennie. Il a rendu possible l’alignement des LLM via RLHF (InstructGPT → ChatGPT) et reste le standard de référence en 2026 pour le RL classique (jeux, robotique, contrôle). Sa combinaison unique de stabilité (clipping), simplicité (premier ordre, peu d’hyperparamètres) et polyvalence (discret + continu) en fait le choix par défaut pour tout nouveau projet RL.
Cependant, à l’échelle des LLM de 70B+ paramètres, les limitations de PPO (coût mémoire, complexité d’implémentation, goulot de génération) poussent vers des alternatives plus légères. GRPO domine pour le raisonnement, DPO pour l’alignement simple, et RLOO pour le RLHF à ressources modestes. La tendance 2026 est claire : simplifier le pipeline en éliminant le critique séparé et en réduisant le nombre de modèles en mémoire.
Pour les praticiens : maîtrisez PPO (via Stable Baselines3 ou CleanRL), comprenez le clipping et le GAE en profondeur, puis explorez les alternatives selon votre cas d’usage. PPO est le « couteau suisse » du RL. Ce n’est jamais le meilleur algorithme pour un problème spécifique, mais c’est presque toujours un bon choix par défaut.
Questions fréquentes sur PPO
Pourquoi PPO a-t-il été choisi pour entraîner ChatGPT ?
PPO offrait en 2022 le meilleur compromis entre stabilité, efficacité et simplicité d’implémentation pour le RLHF. Son mécanisme de clipping empêche les mises à jour catastrophiques qui pourraient détruire les capacités du LLM. Il est on-policy (important pour la fraîcheur des données en RLHF), polyvalent et relativement facile à tuner (ε = 0,2 convient dans la plupart des cas). OpenAI l’utilisait déjà comme algorithme RL par défaut, et il s’est naturellement imposé pour InstructGPT puis ChatGPT. Depuis, il est resté le standard de l’industrie, même si des alternatives comme GRPO et DPO gagnent du terrain.
Comment fonctionne le clipping dans PPO ?
Le clipping limite le ratio entre la probabilité d’une action sous la nouvelle politique et sous l’ancienne politique dans un intervalle [1-ε, 1+ε] (typiquement [0,8 ; 1,2]). Si la nouvelle politique augmente trop la probabilité d’une bonne action (ratio > 1,2), le crédit est plafonné. Si elle réduit trop la probabilité d’une mauvaise action (ratio < 0,8), la pénalité est plafonnée. Cela empêche la politique de changer trop d'un coup, évitant les effondrements de performance tout en permettant des pas d'apprentissage plus grands que les policy gradient classiques.
Quelle est la différence entre PPO et GRPO ?
PPO utilise un réseau critique séparé pour estimer la valeur par état et calcule l’avantage via GAE. GRPO (DeepSeek) élimine le critique en générant plusieurs complétions pour le même prompt et en utilisant la moyenne du groupe comme baseline. GRPO économise la mémoire d’un modèle entier (le critique), simplifie le credit assignment et supporte l’entraînement multi-epoch. GRPO est particulièrement efficace pour le raisonnement (RLVR), tandis que PPO reste plus général. En pratique, GRPO est en train de remplacer PPO pour l’entraînement au raisonnement des LLM.
Combien de GPU faut-il pour faire du PPO RLHF ?
PPO RLHF nécessite quatre modèles en mémoire simultanément : acteur (le LLM), critique, modèle de récompense et modèle de référence. Pour un LLM de 7B paramètres, 4 GPU A100/H100 suffisent. Pour un LLM de 70B, comptez 8 à 16 GPU H100 minimum. Les alternatives comme DPO (2 modèles) ou GRPO (3 modèles) réduisent ce coût. Pour les équipes avec des ressources limitées, DPO ou RLOO via TRL (HuggingFace) sont les meilleures options.
PPO est-il toujours le meilleur algorithme pour le RLHF en 2026 ?
PPO reste le standard le plus éprouvé et le plus polyvalent. Mais en 2026, GRPO le surpasse pour l’entraînement au raisonnement (DeepSeek-R1, modèles o1-style), DPO est préféré pour l’alignement simple à faible coût, et RLOO offre des performances comparables à PPO avec moins de mémoire. Le choix dépend du contexte : PPO si vous avez les ressources et la maturité d’implémentation, GRPO pour le raisonnement à grande échelle, DPO pour le déploiement rapide, RLOO comme compromis entre simplicité et performance.