Comprendre les mécanismes derrière le modèle DeepSeek-R1 (Partie 1)

1. Start with a why

1.a. L'annonce de la sortie du modèle DeepSeek-R1 par DeepSeek

Le 20 janvier 2025, la société chinoise DeepSeek a dévoilé via le papier DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning (https://arxiv.org/pdf/2501.12948) son nouveau modèle d'intelligence artificielle : DeepSeek-R1. Ce lancement a rapidement suscité un vif intérêt mondial, notamment en raison de sa méthode d'entraînement innovante qui est très peu coûteuse. Cette annonce a provoqué une onde de choc sur les marchés financiers américains, entraînant une baisse significative des actions de grandes entreprises technologiques telles que Nvidia (l’action de Nvidia a baissé de 17% le lundi 27 janvier 2025 soit une perte d’environ 600 milliards en valeur de marché).

Cet article a pour but d’expliquer et de vulgariser les différents mécanismes qui rendent ce modèle et son entraînement uniques. C'est pourquoi nous allons notamment nous intéresser aux notions de Reinforcement Learning et à l'algorithme GRPO, à la notion de Chain-of-Thought ou encore à la Knowledge Distillation. Dans cet article nous étudierons aussi les limites, les problématiques ainsi que les résultats du modèle DeepSeek-R1 et de ses modèles distillés en essayant de les comparer aux autres modèles présents actuellement sur le marché.

L’article sera divisé en 2 parties. La première partie, qui est celle que vous lisez actuellement, s'intéressera au modèle DeepSeek-R1-Zero ainsi qu’à son entraînement. La deuxième partie détaillera quant à elle les mécanismes derrière l’entraînement du modèle DeepSeek-R1 et ses modèles distillés tout en essayant de comprendre les changements qu’ils ont apportés au monde de l’IA.

logo deepseek blue whale

1.b L’entreprise DeepSeek

Fondée en 2023 et basée à Hangzhou (Chine), DeepSeek est une entreprise chinoise spécialisée dans le développement de LLM (Large Language Models). Elle est soutenue par le fonds High-Flyer Capital Management dont les bureaux sont situés à Hangzhou dans le même bâtiment que ceux de DeepSeek. Il faut aussi noter que l’actionnaire majoritaire de DeepSeek est Liang Wenfeng, cofondateur du fonds spéculatif quantitatif High-Flyer. Ce fonds d'investissements a un lien étroit avec l'IA vu qu'il est notamment réputé pour son utilisation de l'IA dans ses stratégies d'investissement.

En peu de temps, DeepSeek a conçu plusieurs modèles d'IA puissants, dont DeepSeek V3, démontrant ainsi sa capacité à innover rapidement dans le domaine de l'intelligence artificielle.

1.c. Le modèle DeepSeek V3

DeepSeek V3 est le modèle de DeepSeek qui concurrence des modèles tels que GPT-4o et Claude 3.5 Sonnet. Il a été lancé en décembre 2024 et il se distingue par ses 671 milliards de paramètres, surpassant ainsi de nombreux modèles existants en termes de complexité et de capacité. Il est important de noter que ce modèle est Open Weights.

DeepSeek V3 possède une architecture MoE ("Mixture of Experts"). Ceci implique qu’il existe différents experts / différentes parties de l’architecture qui ne sont pas toutes activées à chaque génération de token. Il existe un “router” interne au réseau de neurones qui décide en fonction de l’entrée d’activer seulement un ou plusieurs experts pour générer le token suivant. Les paramètres ne sont donc pas tous activés en même temps lors de la génération de chaque token. "Seulement” 37 milliards de paramètres sont activés à la fois ce qui permet d'optimiser l'efficacité du modèle grâce à un routage innovant. Cette architecture de type MoE permet de réduire les coûts lors de l’entraînement du modèle et de l’inférence malgré un nombre de paramètres extrêmement élevé. Voici un article permettant de plonger plus en profondeur dans la notion de Mixture of Experts : Mixture of Experts Explained - HuggingFace (https://huggingface.co/blog/moe).

Le modèle avait déjà impressionné en affichant des résultats exceptionnels sur divers benchmarks (MMLU -> 87,1%, BBH -> 87,5%) et, d'après certains témoignages que j’ai vus sur X et les différentes expérimentations que j’ai réalisées avec le modèle, excellait déjà dans les tâches de raisonnement mathématique et de programmation.

Une des autres particularités du modèle DeepSeek V3 est la manière dont il a été entraîné. En effet, malgré sa taille, il aurait été entraîné avec "seulement" 2,788 millions d'heures GPU (cela correspond à 4000 GPUS qui tournent simultanément pendant une période de un mois) H800 soit un coût total d'environ 5,5 millions de dollars. À titre de comparaison l'entraînement de GPT 4 aurait coûté environ 70 millions de dollars d’après les recherches effectuées par l’institut de recherche Epoch AI :

hardware and energy cost to train AI models over time
Il est aussi intéressant de noter que l’entraînement de GPT 4 aurait nécessité
60 millions d’heures GPU soit 20 fois plus que celui du modèle DeepSeek V3 (DeepSeek-R1 : Le modèle IA gratuit qui défie les leaders du marché - Anthem Creation, https://anthemcreation.com/intelligence-artificielle/deepseek-r1-llm-ia-gratuit).

2. DeepSeek-R1-Zero

2.a. Présentation rapide du modèle et de ces grands principes

Avant de sortir DeepSeek-R1, il faut savoir que DeepSeek a créé un modèle appelé DeepSeek-R1-Zero qui se basait sur le modèle DeepSeek V3. Le modèle de base (= DeepSeek V3) a été ré-entrainé grâce un algorithme de Reinforcement Learning appelé GRPO et des données spécifiques. Le choix de l’algorithme de ré-entraînement ainsi que les tâches sur lesquelles il a été ré-entraîné (des tâches liées aux mathématiques, aux sciences, à la programmation informatique ou encore au raisonnement logique) ont permis au modèle de développer des capacités de raisonnement.

Cette approche d'entraînement basée uniquement sur du Reinforcement Learning se distingue des approches SFT et RLHF par l’absence d’utilisation préalable de données supervisées ce qui est généralement fait lors du ré-entraînement ou du fine-tuning d'un modèle existant. Des articles présentant les approches SFT et RLHF ont été joints dans la partie 6. Bibliographie.

2.b. GRPO : Un entraînement basé uniquement sur le Reinforcement Learning

Le Reinforcement Learning est un domaine de l'intelligence artificielle dans lequel un modèle apprend à prendre des décisions en interagissant avec son environnement. Il effectue des actions et reçoit des récompenses ou des pénalités en fonction des résultats obtenus. Grâce à ce processus d'essais et d'erreurs, le modèle améliore progressivement ses stratégies dans le but de maximiser l'obtention des récompenses.

Comme expliqué précédemment, l'algorithme GRPO (Group Relative Policy Optimization) qui est un algorithme de Reinforcement Learning, a été l'élément principal de ré-entraînement du modèle DeepSeek V3 pour obtenir le modèle DeepSeek-R1-Zero. Cet algorithme qui est une variante de l'algorithme PPO (Proximal Policy Optimization) a été conçu pour améliorer de manière itérative les performances des modèles de langage tout au long du ré-entraînement sur les tâches de raisonnement représentées dans les données d’entraînement. J’ai mis dans la partie 6. Bibliographie des articles liés aux algorithmes GRPO et PPO pour appuyer mes propos.

Lors de l'utilisation de cet algorithme, des politiques initiales sont définies pour le modèle afin de déterminer comment il doit générer ses outputs et comment il doit "se comporter". Ces politiques peuvent être liées au format des réponses, à la manière dont les réponses sont formulées ... Chaque politique sera ensuite représentée de manière mathématique par une récompense pour que le modèle puisse comprendre s'il la respecte ou pas. Dans le cas de DeepSeek-R1-Zero il y a deux politiques initiales :

- La première, qui paraît évidente, est que l'on veut que le modèle donne des réponses justes et exactes aux questions de l'utilisateur. Cette politique sera représentée par la récompense d'exactitude (accuracy reward).

- La deuxième politique initiale veut que le modèle "raisonne" et exprime son schéma de pensées dans des balises xml think. Cette politique sera quant à elle représentée mathématiquement par la récompense de format (format reward). Voici ci-dessous un exemple qui respecte cette politique définie initialement :

exemple d'inférence Ollama avec le modèle deepseek-r1:8b

Dans cet exemple, on voit bien que le modèle explicite son raisonnement entre les balises think. Si une réponse similaire avait été générée par le modèle dans le cadre de l'entraînement avec l'algorithme GRPO le modèle aurait eu une récompense maximale en lien avec la deuxième politique initiale.

Une fois les politiques initiales définies, on peut diviser l'algorithme GRPO en 3 étapes :

- génération d'un groupe de réponses pour chaque prompt présent dans le dataset d'entraînement ;

- comparaison des réponses générées par rapport aux autres réponses générées pour le même prompt ;

- ajustement des paramètres du modèle.

Première étape :

La première étape consiste à demander au modèle de générer plusieurs réponses aux prompts composant les données d'entraînement. L'intérêt de générer plusieurs réponses pour chaque prompt est d’assurer une bonne exploration des réponses possibles du modèle pour ensuite favoriser celles qui se rapprochent des politiques que l'on a initialement définies. Voici un schéma représentant l'étape numéro 1 :

schéma prompts - completions algorithme GRPO

Deuxième étape :

Après avoir généré différentes réponses pour un même prompt, il faut calculer un score appelé "avantage" lors de la deuxième étape pour chacune des réponses générées. Ce score mesure à quel point une réponse est meilleure ou moins bonne que les autres réponses à un même prompt. Ce score se base sur des récompenses obtenues par chaque réponse du groupe. Cette notion de récompenses est, comme indiqué auparavant, un des piliers du Reinforcement Learning.

Voici les différents récompenses définies par DeepSeek lors de l'entraînement de son modèle DeepSeek-R1-Zero via l'algorithme GRPO dans le but de matérialiser mathématiquement les politiques initiales :

- accuracy rewards / récompenses d'exactitude : Permet de représenter si la réponse générée est correcte. Un algorithme compare cette dernière au résultat attendu (= le résultat au prompt qui est présent dans les données d'entraînement) puis lui attribue une récompense. Par exemple, pour les problèmes mathématiques, pour calculer la récompense associée à une réponse générée, une vérification algorithmique est appliquée permettant ainsi de générer un score de récompense.

- format rewards / récompenses de format : Permet de représenter si la réponse adhère au format imposé par DeepSeek pour le raisonnement (= le raisonnement doit être entre les balises think). Cette récompense contraint le modèle avec une structure de raisonnement lisible et transparente. Elle est calculée grâce à un algorithme qui vérifie si le raisonnement dans la réponse générée est bien compris entre les balises think.

Les algorithmes qui calculent et associent les récompenses aux réponses générées ne sont pas basés sur des LLMs comme on pourrait le penser. Cela permet à l'entraînement d'être beaucoup moins coûteux en termes de temps et de puissance de calcul. C'est notamment une des spécificités qui permet à DeepSeek-R1-Zero de se démarquer des autres modèles.

Les récompenses associées à chaque réponse générée sont ensuite additionnées pour permettre, pour chaque génération, de calculer un score d'avantage. Ce dernier utilise la formule ci-dessous :

formule avantage algorithme GRPO

Ce score d'avantage servira ensuite à prioriser les meilleures réponses générées pour un même prompt dans un groupe et de pénaliser celles qui sont moins bonnes. Les meilleures réponses (= celles qui ont un bon score d'avantage) auront donc plus d'influence dans la dernière étape qui a pour but de mettre à jour les poids du modèles via la rétro-propagation du gradient.

Troisième étape :

Lors de la dernière étape, l'algorithme GRPO va mettre à jour les poids du modèle grâce à la technique de rétro-propagation du gradient tout en contrôlant la divergence entre la politique actuelle (= comment le modèle agit actuellement) et la politique de référence (= la politique qui a été définie initialement et qui définie le comportement désiré du modèle). Pour éviter des changements trop brusques, l'algorithme GRPO va utiliser la divergence KL.

Pour faire simple, la divergence de Kullback-Leibler (KL) est une mesure qui quantifie la différence entre deux distributions de probabilité. Elle évalue la perte d'information lorsqu'une distribution approximative est utilisée à la place de la distribution réelle. Voici comment elle est calculée dans l'algorithme GRPO :

formule divergence KL algorithme GRPO

où :

- 𝜋𝜃 est la politique du modèle à optimiser,

- 𝜋𝑟𝑒f est la politique de référence,

- {𝑜1, 𝑜2, · · · , 𝑜𝐺} est un ensemble de réponse générées pour un même prompt,

- 𝑞 est une question.

Pour mettre à jour le modèle, il faut calculer la fonction de perte totale qui combine les éléments suivants dans l'optique d'ajuster les paramètres du modèle :

- la loss policy basée sur l'avantage calculé permet de maximiser l'influence des réponses générées qui ont des scores d'avantage élevés (= les réponses qui respectent le plus les politique initialement définies),

- la KL penalty qui introduit une pénalité si la divergence entre la politique actuelle et les politiques initiales devient trop grande.

Pour les plus courageux d'entre vous voici la formule du calcul de la fonction de perte totale dans l'algorithme du GRPO :

formule fonction loss algorithme GRPO

où :

- 𝜋𝜃𝑜𝑙d est l'ancienne politique,

- 𝜋𝜃 est la politique du modèle à optimiser,

- 𝜋𝑟𝑒f est la politique de référence,

- θ Symbolise les paramètres de la politique 𝜋𝜃 (= les poids du réseau de neurones),

- {𝑜1, 𝑜2, · · · , 𝑜𝐺} est un ensemble de réponse générées pour un même prompt,

- 𝑞 est une question,

- 𝐺 est le nombre de réponses générées pour une question 𝑞,

- Ai est le score d'avantage calculé,

- 𝜀 et 𝛽 sont des hyper-paramètres.

Il faut savoir qu'une politique est représentée par une distribution de probabilité. Par exemple, π(a∣s) indique la probabilité que l'agent choisisse l'action a lorsqu'il se trouve dans l'état s.

Les avantages de l’algorithme GRPO :

L'algorithme GRPO propose différents avantages. Tout d'abord, il ne nécessite pas l'intervention d'un évaluateur externe tel qu'un LLM ou un humain grâce à ces récompenses bien définies ainsi qu'aux données d'entrées (prompts + résultats attendus) extrêmement claires et lisibles. Cela lui permet d’être beaucoup moins coûteux en termes de temps et de puissance de calcul. C’est un des points principaux qui lui permet de se démarquer des autres modèles présents sur le marché actuellement. On pourrait aussi noter que l'apprentissage est stable grâce à la régularisation qui utilise la divergence KL. Enfin le GRPO, couplé à des tâches et des données d’entraînement bien choisies, est particulièrement efficace pour développer les capacités de raisonnement d’un modèle grâce au fait qu’il se base sur le Reinforcement Learning. Cette technique d’apprentissage se montre redoutable pour atteindre des bonnes performances dans ce domaine.

2.c. Chain-of-Thought ou comment apprendre aux modèles à raisonner

La notion de “Chain-of-Thought" (CoT) regroupe l'ensemble des techniques d'amélioration du raisonnement d'un modèle de langage. Elle repose sur la décomposition d'une tâche complexe en une série d'étapes intermédiaires plus petites, que le modèle suit pour arriver à une réponse. Ce processus a pour but d'imiter la manière dont les humains décomposent les problèmes complexes pour les résoudre.

Lors de son entraînement basé sur l'algorithme GRPO, le modèle DeepSeek-R1-Zero avait pour but de répliquer cette méthode de raisonnement pour faire face aux problèmes auxquels il allait être confronté. Il est donc intéressant de comprendre ce mécanisme ainsi que les différentes techniques permettant d'arriver à de tels résultats.

La première méthode pour appliquer le CoT est d'inciter un modèle à décomposer une tâche complexe en des sous-tâches via le prompting sans ré-entraîner le modèle. Pour cela il faut expliciter dans le prompt que l'on veut que le modèle décompose le problème en sous-problèmes et si possible lui donner des exemples de CoT. Voici un exemple d'un prompt standard et d'un prompt incitant au CoT :

exemple de Chain-of-Thought prompting

On remarque une différence de performance flagrante entre les deux méthodes à l'avantage du Chain-of-Thought Prompting.

La seconde méthode pour utiliser le CoT est de modifier l'entraînement d'un modèle ou bien le ré-entraîner pour l'inciter à "raisonner". Pour cela différentes techniques peuvent être utilisées :

- Supervised Fine-Tuning (SFT) avec annotations CoT : le modèle est entraîné sur un ensemble de données où les solutions sont accompagnées d'explications détaillées étape par étape ;

- Reinforcement Learning with Human Feedback (RLHF) : le modèle est entraîné à préférer des réponses explicatives et logiques via une boucle de feedback humain et du Reinforcement Learning. Cette technique est aussi utilisée pour aligner les LLMs aux préférences humaines ;

- Self-Consistency Training (CoT-SC) : au lieu de se limiter à une seule réponse, le modèle génère plusieurs chemins de raisonnement pour une même question. Un vote est ensuite réalisé pour pouvoir déterminer quelle réponse a été la plus trouvée. Une réponse finale parmi celles qui arrivent à la réponse votée est choisie puis synthétisée. Voici un schéma représentant cette technique :

schéma CoT-SC

- Tree of Thoughts (ToT) : cette technique est une extension de CoT dans laquelle le raisonnement suit une structure arborescente plutôt qu'une séquence linéaire. À chaque étape, plusieurs options sont explorées (y compris la possibilité de revenir en arrière et d'abandonner son raisonnement actuel) et évaluées par le modèle pour déterminer le chemin optimal. Voici un schéma représentant différentes techniques évoquées précédemment et permettant de mieux comprendre le raisonnement des Tree of Thoughts :

schéma ToT, CoT-SC, CoT

- Pure Reinforcement Learning : l'algorithme du GRPO via son système de récompenses et notamment sa récompense liée au format de la réponse (le raisonnement du modèle doit être entre des balises xml think) est un parfait exemple de cette technique. Il incite le modèle qui est en train d'être entraîné à "raisonner" et à décomposer le problème en sous-tâches à l'intérieur des balises think lors de sa génération de la réponse grâce à des techniques de Reinforcement Learning.

2.d. Des résultats impressionnants malgré des limites certaines

DeepSeek-R1-Zero et son entraînement basé uniquement sur du Reinforcement Learning ont démontré des progrès significatifs par rapport au modèle de base (le modèle DeepSeek V3) se rapprochant même des modèles d'OpenAI :

résultats OpenAI o1 vs DeepSeek R1 Zero

Sur le benchmark AIME 2024, son score pass@1 est passé de 15,6 % au début de l’entraînement à 71 %, atteignant ainsi des performances comparables à celles de OpenAI-o1-0912. Grâce à la technique du majority voting, ce score peut même augmenter et surpasser les scores des modèles d’OpenAI. D’autres benchmarks (MATH-500 et GPQA Diamond) nous montrent que DeepSeek-R1-Zero excelle en mathématiques et dans les tâches nécessitant un raisonnement complexe en atteignant encore une fois des scores équivalents à ceux du modèle o1-0912 d'OpenAI.

Lors de l'étude des résultats de DeepSeek-R1-Zero dans les différents benchmarks il faut tout de même noter que ce dernier est moins bon dans les tâches de coding que les modèles d'OpenAI comme en témoignent ses scores dans les benchmarks CodeForces et LiveCodeBench même si la différence n’est pas significative.

L’une des particularités de ce modèle est sa capacité d’auto-évolution. Un phénomène dit de “ahah moment” a même été observé lors de l’entraînement (= le modèle revient sur ses pas lors de son raisonnement car il juge qu'il n'est pas parti dans la meilleure direction). Cela illustre la capacité du modèle à ré-ajuster son approche lorsqu’il détecte des erreurs dans ses calculs.

Cependant, malgré ses performances impressionnantes, DeepSeek-R1-Zero souffre encore de certaines limites. Il est confronté à des problèmes de lisibilité et de language mixing (il mélange les langues dans la génération de ses réponses), rendant certaines de ses réponses confuses ou difficilement exploitables.

3. Ouverture

Le modèle DeepSeek-R1-Zero se distingue des autres modèles par son entraînement innovant basé uniquement sur du Reinforcement Learning. Ce dernier, couplé aux choix des tâches et des données sur lesquelles il a été entraîné lui a permis de développer des capacité de raisonnement rarement voire jamais vues jusqu’ici en utilisant beaucoup de moins de ressources que ces concurrents.

Cependant, malgré ses performances impressionnantes, DeepSeek-R1-Zero souffre encore de certaines limites. Il est confronté à des problèmes de lisibilité et de language mixing (il mélange les langues dans la génération de ses réponses), rendant certaines de ses réponses confuses ou difficilement exploitables.

Nous verrons dans la seconde partie de cet article comment DeepSeek a adressé ces problématiques avec le modèle DeepSeek-R1. Nous nous intéresserons aussi aux modèles distillés à partir de ce dernier et nous analyserons leurs performances tout en essayant de comprendre comment tout cela a impacté le domaine des LLMs.

Bibliographie