smallbard

Articles · Smallem, après le pré-entraînement : apprendre à répondre

Apprendre par essais et erreurs

Cinquième article de la série Smallem, après le pré-entraînement : apprendre à répondre. Précédent : Apprendre d'une préférence.

Le fine-tuning supervisé montre au modèle la bonne réponse. DPO lui montre laquelle de deux réponses est la meilleure. Reste la méthode qui a fait parler d'elle avec DeepSeek-R1 (2025) : ne rien lui montrer du tout. Le modèle cherche seul, un programme note ses réponses, et ce qui réussit est renforcé.

C'est de l'apprentissage par renforcement, et nos tâches s'y prêtent parfaitement : leur vérificateur est une récompense exacte, 1 si la réponse est juste, 0 sinon.

REINFORCE

La forme la plus simple date de 1992 (Williams). Le modèle tire une réponse y à une consigne, on la rend d'autant plus probable que sa récompense est haute :

gradient = A × ∇ ln π(y)          A : l'avantage de la réponse

Si A était la récompense elle-même, toutes les réponses justes seraient poussées, et aucune fausse ne serait retenue : le gradient serait très bruité. On compare donc la récompense à une ligne de base, ce qu'on attendait : l'avantage est la récompense moins la moyenne. Une réponse meilleure que prévu monte, une moins bonne descend.

Pour avoir cette moyenne, on tire plusieurs réponses à chaque consigne, un groupe, et la moyenne du groupe sert de ligne de base. Il faut générer beaucoup : G réponses pour chacune des consignes d'un pas, G étant la taille du groupe, 8 ou 16 dans nos mesures. C'est le Batch de la série sur l'inférence qui le fait, toutes les réponses d'un pas en même temps.

GRPO

GRPO (Shao et al., 2024, DeepSeekMath) ajoute trois choses à cette base.

L'avantage normalisé. La récompense moins la moyenne du groupe, divisée par son écart-type. Un groupe où toutes les réponses se valent n'apprend rien : tous ses avantages sont nuls.

Un rapport borné, comme PPO. Le gradient porte sur r = π / π_old, le rapport des probabilités d'un token sous le modèle actuel et sous celui qui a tiré la réponse, il est borné à [1 − ε, 1 + ε], avec ε = 0,2. La borne sert quand on fait plusieurs pas sur les mêmes réponses : le modèle change d'un pas à l'autre, et elle l'empêche de trop s'éloigner de celui qui les a produites.

Ici, on ne fait qu'un pas par lot. Au moment du calcul, le modèle actuel est donc celui qui a tiré les réponses, et r vaut exactement 1 : la borne, de 0,8 à 1,2, n'intervient jamais. Et le gradient de r × A en r = 1 est A × ∇ ln π, la formule de REINFORCE. Sans la pénalité qui suit, GRPO revient donc à REINFORCE avec l'avantage normalisé, ce qu'un test vérifie.

Une laisse. Une pénalité qui mesure combien le modèle s'est éloigné du modèle de départ π_ref : la divergence de Kullback-Leibler, ou KL, de poids β = 0,04. Elle s'estime token par token, avec l'estimateur de DeepSeekMath, toujours positif et nul quand les deux modèles donnent au token la même probabilité :

π_ref / π − ln(π_ref / π) − 1
let ratio = tape.exp(tape.sub(log_probs, constant(old.to_vec())));
let surrogate = …;                         // min(r × A, borné(r) × A)
let gap = tape.sub(constant(reference.to_vec()), log_probs);
let kl = tape.sub(tape.sub(tape.exp(gap), gap), tape.scalar(B::Scalar::ONE));

Le code travaille sur des logarithmes de probabilités : ratio est r, gap est ln(π_ref / π), et kl est la formule ci-dessus, exp(gap) − gap − 1.

PPO (Schulman et al., 2017) entraîne en plus un modèle de valeur, qui estime la ligne de base de chaque token. GRPO s'en passe : c'est le groupe qui sert de référence.

Enfin, la moyenne. DeepSeekMath moyenne chaque réponse sur ses tokens, puis les réponses entre elles : une réponse courte pèse autant qu'une longue, et chacun de ses tokens pèse donc plus. Liu et al. (2025, Dr. GRPO) ont montré que cette division par la longueur pousse les réponses fausses à s'allonger, puisqu'une réponse fausse longue est moins pénalisée par token, et proposent de moyenner tous les tokens ensemble.

Un problème plus difficile

L'objectif était d'avoir un problème plus difficile que ceux du fine-tuning, pour qu'il y ait quelque chose à chercher. Les additions de 4 chiffres ne conviennent pas : le modèle de l'article 2 n'en réussit aucune, et une méthode qui apprend de ses réussites n'a alors rien à apprendre. Nous avons pris le tri long : de 6 à 8 nombres, quand le fine-tuning n'en montrait que de 3 à 5. Le modèle en réussit 2,5 %, et ses échecs sont parlants : il s'arrête au cinquième nombre, comme toujours à l'entraînement.

Sort from smallest to largest: 37 68 60 2 48 47 78 → 2 37 48 60 68   (attendu 2 37 47 48 60 68 78)

Chaque pas tire des réponses à température 1 pour 16 consignes, trois sur quatre de tri long, une de tri ordinaire, et en déduit un pas d'AdamW. On suit la récompense moyenne, la longueur des réponses, la divergence avec le modèle de départ, et, tous les 50 pas, l'exactitude gloutonne sur des questions jamais vues.

EssaiPasTri longTriDivergenceFineWeb-Edu
départ2,5 %57,0 %00,8932
REINFORCE, taux 10⁻⁵, groupes de 8500,0 %13,0 %0,500,8941
GRPO, taux 2 × 10⁻⁶, groupes de 83003,0 %56,5 %0,030,8934
GRPO, taux 5 × 10⁻⁶, groupes de 164003,5 %48,0 %0,100,8936
REINFORCE, taux 5 × 10⁻⁶, groupes de 164003,5 %43,5 %0,420,8943

Rien ne marche. REINFORCE à 10⁻⁵ détruit le modèle en 50 pas : avec 4 % de réponses justes, son gradient est presque tout entier du bruit, et Adam, qui normalise chaque pas, transforme ce bruit en pas de taille pleine. À 2 × 10⁻⁶, GRPO ne détruit rien, et n'apprend rien. Des groupes de 16 au lieu de 8 donnent plus de groupes qui contiennent une réussite, sans plus de progrès. Sans pénalité de divergence, REINFORCE s'éloigne quatre fois plus du modèle de départ, et abîme le tri ordinaire.

Était-ce le code ? Un test le vérifie de bout en bout, sur un problème trivial : la réponse est récompensée si son premier token est 5. En 20 pas, GRPO rend ce token plus de trois fois plus probable. Le code apprend ; c'est la tâche qui ne donne pas prise. Pour trier une liste de 7 nombres, il faut en écrire 7, et le modèle ne le fait presque jamais. Ses rares réussites, que nous n'avons pas examinées une à une, ne suffisent pas à le pousser plus loin en quelques centaines de pas.

Un problème où le signal abonde

Le tri ordinaire, que le modèle réussit à moitié : là, presque chaque groupe contient des réponses justes et fausses. GRPO, taux de 5 × 10⁻⁶, groupes de 8, 1 000 pas.

PasRécompenseTriTri longDivergenceFineWeb-Edu
057,0 %2,5 %00,8932
1000,31152,0 %2,5 %0,080,8934
3000,44261,5 %4,5 %0,220,8936
6000,51765,5 %4,0 %0,260,8939
1 0000,59171,0 %6,5 %0,310,8941

La récompense des réponses tirées monte régulièrement, de 0,29 à 0,59, et l'exactitude gloutonne avec elle, de 57 à 71 %, sur des questions jamais vues. Le tri long en profite un peu, de 2,5 à 6,5 %, sans avoir été entraîné directement.

Et l'oubli est nul : +0,0009 nat par octet sur FineWeb-Edu. C'est la comparaison la plus frappante de la série. Le fine-tuning supervisé qui atteignait 71 % sur le tri faisait perdre 0,05 nat par octet, GRPO atteint le même score en perdant cinquante fois moins. Il n'apprend que de ses propres réponses, qui restent proches de ce que le modèle sait déjà dire, au lieu de le tirer vers des textes écrits par d'autres.

Les réponses ne s'allongent pas, contrairement à ce que rapporte DeepSeek-R1 : de 7,5 à 8,5 tokens. Il n'y a rien à gagner à allonger un tri : pas de raisonnement à écrire avant la réponse. La validation du plan demandait une exactitude supérieure à celle du fine-tuning et de DPO, sur des problèmes jamais vus : c'est tenu pour le tri (71 % contre 57 % et 53,5 %), pas pour le problème plus dur qu'il visait.

Ce qu'il faut retenir

  • REINFORCE rend plus probables les réponses meilleures que leur groupe. GRPO y ajoute un avantage normalisé, un rapport borné et une laisse vers le modèle de départ.
  • Une méthode qui apprend de ses réussites ne peut rien sans réussites : sur le tri long, rien n'a bougé, et un taux trop fort détruit le modèle.
  • Quand le signal abonde, GRPO apprend : de 57 à 71 % sur le tri, sans rien oublier.
  • Apprendre de ses propres réponses fait bien moins oublier qu'apprendre de celles des autres.

Article suivant : Ce qu'un petit modèle peut apprendre.