La vidéo du jour passe en revue les différentes étapes et méthodes de machine learning que l’on mobilise pour entrainer un LLM, et on se demande ce qu’a bien pu faire l’entreprise chinoise DeepSeek pour prendre tout le monde de vitesse.
Si la vidéo vous a intéressé et que vous souhaitez aller plus loin, commençons par deux sources qui m’ont été très utiles :
- L’article sur le modèle Tülü 3, un modèle véritablement open-source dans lequel absolument tous les détails de la procédure de fine-tuning ont été documentés : Tulu 3: Pushing Frontiers in Open Language Model Post-Training
- Les vidéos de la chaîne Youtube de Julia Turc, une chaîne toute récente mais dont les contenus sont remarquables de pédagogie et de précision.
Vous avez sans doute remarqué que j’ai plusieurs fois utilisé la plateforme hyperbolic.xyz. Je n’ai pas de lien avec eux évidemment, mais j’ai connu son existence grâce à une vidéo d’Andrej Karpathy (autre super source !). C’est une plateforme qui permet (moyennant quelques euros sur un compte) d’avoir accès en inférence à un grand nombre de modèles open-source, notamment LLAMA 3.1 BASE, un des modèles pré-entrainés les plus récents parmi les modèles de grande taille les plus en vogue.
Un peu de vocabulaire
Quelques précisions de vocabulaire pour commencer. Pour faire simple, j’ai fait exprès de m’en tenir à parler de « mot » plutôt que de « token ». Si vous êtes arrivés jusque là j’imagine que vous l’avez noté et que vous me pardonnerez cette simplification !
Autre terme que j’ai utilisé un peu abusivement, c’est celui d’open-source. La plupart des modèles « open » sont en réalité surtout open-weights, cela signifie que l’architecture exacte (nombre de couches, de neurones, etc.) est publique, et que les valeurs des paramètres (les poids) sont également publiques et librement téléchargeables. Pour autant cela ne signifie pas toujours que l’usage du modèle soit rattaché à une licence open-source ou une autre. De surcroit, ça ne veut pas dire non plus que la démarche soit totalement reproductible puisque les détails des données et des procédures d’entrainement sont en général gardés secrets. A cet égard, Tülü3 dont je parle au-dessus est probablement le meilleur modèle véritablement open-source disponible : tout est parfaitement documenté.
Les modèles préentrainés
J’ai parlé plusieurs fois du fait que les modèles pré-entrainés semblaient atteindre une limite avec l’utilisation de l’ensemble des données déjà disponibles. Il existe une loi empirique appelée Loi de Chinchilla et mise au point par les chercheurs de DeepMind à l’aide de la famille de LLM qui porte ce nom. Ils ont montré que pour une taille de modèle donnée, il existe une taille optimale de l’ensemble d’entrainement, que l’on peut en gros résumer par une règle simple du genre « 20 fois plus de tokens que de paramètres »

A l’époque de la publication du papier (mars 2022), leur argument était que les modèles de l’époque étaient bien trop gros pour la quantité de données qu’on leur servait en guise de pré-entrainement.

On voit que 3 ans plus tard, les auteurs avaient certainement raison puisque les modèles ont grossi moins vite que les données d’entrainement : un modèle comme DeepSeek n’a que 600 milliards de paramètres, pour 15000 milliards de tokens pour le prétraining.
Une des conclusions que l’on pourrait tirer de l’histoire de DeepSeek et de l’émergence du RLVR, c’est que les modèles de fondation sont probablement proches de leur taille maximale. A-t-on vraiment besoin d’un GPT-5 ? Peut-être, mais on ne parierait pas forcément sur un GPT-6.
Et le RLHF alors ?
Vous avez peut-être remarqué que dans la vidéo, j’esquive soigneusement le terme de Reinforcement Learning with Human Feedback. Je réserve la notion de renforcement au raisonnement, et j’ai escamoté le fait que le fine-tuning par les préférences pratiqué par OpenAI faisait intervenir du Reinforcement Learning (RL). J’ai ainsi surtout insisté sur la méthode DPO qui est permet de faire du fine-tuning par les préférences mais qui n’est pas une méthode de RL !
Alors pourquoi ne pas parler du RLHF ? La raison est qu’avec le recul, ce type de RL était vraiment une version minimale de RL, assez éloignée de ce qu’on avait connu avec le Go. Il n’y a pas que moi qui le dit, Andrej Karpathy déclare aussi « RLHF is barely RL ».

Un autre argument du même genre a été donné récemment par David Silver (un des auteurs d’AlphaGo) dans le podcast d’Hannah Fry. Il dit en gros que le RLHF n’est pas aussi bien enraciné (grounded) que le vrai RL. Il dit que faire du RLHF, c’est comme demander à un humain s’il pense qu’une recette de tarte aux pommes semble correcte, alors que le RL c’est cuisiner vraiment la tarte et la goûter.
Le fait de passer sous silence le RL dans la mise au point d’InstructGPT et ChatGPT fait que je n’ai pas complètement détaillé l’idée de PPO, la Proximal Policy Optimisation. Il s’agit en fait d’une méthode de RL de type policy gradient (le LLM est vu comme un générateur de politique, et on essaye d’apprendre la politique, c’est-à-dire la distribution de probabilité des meilleurs coups à jouer en fonction d’une situation donnée) tout en essayant de ne pas s’éloigner trop de la politique initiale, de façon à ce que l’étape de RL ne se transforme pas en une réécriture complète (d’où le terme de proximal).
La méthode GRPO fait ça aussi (je vous renvoie à l’excellente vidéo de Julia Turc) mais sa principale différence réside dans le fait que PPO était une méthode de RL de type actor/critic, alors que GRPO n’a pas besoin de critic. Sans entrer dans les détails (faudra que je fasse un épisode spécial RL un jour), le critic est un modèle auxiliaire chargé d’attribué une évaluation à une position donnée (par exemple dans un jeu), pour quantifier à quel point cette position semble intéressante. C’est une méthode qui permet de mesurer si un choix donné a permis d’obtenir un résultat meilleur que ce que l’on pensait avant (on dit qu’il a conféré un avantage). C’est une façon de faire qui a donné plein de succès en RL mais qui nécessite l’entrainement d’un modèle auxiliaire chargé de faire le critic, ce qui peut s’avérer très lourd. Dans le cas des LLMs, c’est en gros un second LLM de taille comparable au premier. La méthode GRPO de DeepSeek a court-circuité cette étape en disant qu’un coup confère un avantage s’il permet d’obtenir un résultat meilleur que la moyenne du groupe. Malin !
DeepSeek et le RLVR
Bien qu’on en parle moins, je trouve vraiment remarquable ce qu’a fait DeepSeek avec DeepSeek-R1-Zero, le modèle qui n’a subit que du RLVR. Cela peut sembler étonnant qu’il n’ait même pas subi de fine-tuning supervisé, mais une chose explique cela : dans le modèle de récompense vérifiable, il n’y a pas que la réponse finale qui compte, mais aussi la qualité de la mise en forme. Donc le RLVR récompense les réponses qui se présente sous la forme structurée d’un dialogue entre un utilisateur et un assistant. C’est ça qui permet d’apprendre au modèle à se comporter en assistant, sans lui avoir montré explicitement d’exemple. Je n’ai pas eu l’occasion d’essayer ce modèle là (je crois qu’il est aussi open-source), mais il y a fort à parier qu’il est probablement assez mal aligné du point de vue éthique et sécurité.
Un point amusant du papier de DeepSeek que je n’ai pas mentionné, c’est que plus on entraine le modèle avec du RLVR, plus les temps de réflexion s’allongent naturellement. Le modèle découvre par le RL qu’augmenter la longueur du raisonnement conduit à de meilleurs résultats.

Enfin pour finir, dernier point que je n’ai pas évoqué, c’est la distillation. Cela mériterait un traitement particulier mais DeepSeek a évidemment distillé une partie de ses modèles, et (si j’ai bien suivi) a même utilisé son modèle R1 pour distiller des petits modèles « concurrents » (Qwen et Llama !).