Présentation
Le projet DAPO, publié sur GitHub par la collaboration ByteDance Seed et Tsinghua AIR, propose un système complet de reinforcement learning (RL) appliqué aux grands modèles de langage (LLM). Le dépôt, comptant 89 fourches et plus de 1,9 k étoiles, inclut l’algorithme, l’infrastructure de code et le jeu de données nécessaire à la reproduction d’expériences à grande échelle. La version la plus récente (mai 2025) ajoute les enregistrements wandb du modèle complet et un checkpoint qui dépasse les 50 % de performance sur le benchmark AIME 2024.
Architecture et algorithme DAPO
DAPO repose sur le framework verl, qui fournit une couche d’abstraction pour le parallélisme et la gestion de la mémoire lors de l’entraînement de modèles de plusieurs dizaines de milliards de paramètres. L’algorithme, nommé Decoupled Clip and Dynamic Sampling Policy Optimization (DAPO), introduit deux innovations majeures : une perte de type Token‑level Policy Gradient découpée du clipping traditionnel, et une politique d’échantillonnage dynamique qui ajuste la probabilité de sélection des trajectoires en fonction de la variance du gradient. Cette combinaison vise à stabiliser le signal de récompense tout en conservant une exploration suffisante.
conda create -n dapo python=3.10
conda activate dapo
pip3 install -r requirements.txtL’infrastructure inclut également un wrapper autour de vllm pour l’inférence, comme le montre l’extrait suivant :
import torch
from transformers import AutoTokenizer
from vllm import SamplingParams, LLM
examples = [{"question": "Solve ...", "answer": "540"}, ...]
Résultats et métriques
Sur le benchmark AIME 2024, DAPO atteint un score de 50 points en utilisant le modèle de base Qwen2.5‑32B, surpassant le précédent état‑de‑l’art DeepSeek‑R1‑Zero‑Qwen‑32B qui nécessitait 50 % d’étapes d’entraînement supplémentaires. Les auteurs soulignent trois tendances observées pendant l’entraînement : (1) une croissance stable de la longueur de réponse, indiquant une exploration progressive de raisonnements plus complexes ; (2) une stabilité du score de récompense, preuve d’un ajustement robuste du modèle à la distribution d’entraînement ; (3) une évolution contrôlée de l’entropie, avec une légère hausse après une première diminution, ce qui maintient un équilibre entre exploitation et exploration et évite le sur‑apprentissage.
Limites et perspectives
Bien que les performances soient impressionnantes, le dépôt ne fournit pas de comparaison détaillée des coûts de calcul (GPU‑heures, consommation énergétique) entre DAPO et les approches concurrentes. De plus, l’algorithme repose sur le modèle Qwen2.5‑32B, dont les exigences matérielles restent élevées, limitant l’accès aux équipes disposant d’infrastructures de type GPU A100 ou supérieures. L’absence de benchmarks sur des tâches hors‑AIME rend difficile l’évaluation de la généralisation du système. Enfin, la documentation indique que le code est compatible uniquement avec Python 3.10 et le framework verl, ce qui peut freiner l’adoption par des projets utilisant d’autres environnements.