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

Introduction

Dans la première partie de l’article, nous nous sommes intéressés à la première itération de l’entraînement du modèle DeepSeek-R1 qui a donné vie au modèle DeepSeek-R1-Zero. Nous avons vu que ce modèle offrait des perspectives très positives pour une deuxième itération grâce à son entraînement basé sur du Reinforcement Learning et ses données d’entraînement orientées pour des tâches de raisonnement. Nous avons aussi vu que ce modèle présentait des limites certaines telles que le “language mixing” et la lisibilité de ses réponses.

Dans cette deuxième partie nous verrons donc ce que DeepSeek a mis en place pour arriver à pallier les problèmes du premier modèle en proposant DeepSeek-R1 et nous nous intéresserons aux modèles distillés à partir de ce dernier. Comme lors de la première partie, nous nous attarderons sur les mécanismes et les techniques qui ont permis à l’entreprise chinoise d’arriver à ces résultats tout en essayant de les vulgariser. Le but ici va être de rendre plus accessible et plus compréhensible tout ce qui se cache derrière l’entraînement et la distillation du modèle DeepSeek-R1.


1. DeepSeek-R1

1.a. Une amélioration du modèle DeepSeek-R1-Zero via un processus d'entraînement complexe en 4 étapes

Pour adresser les limites de DeepSeek-R1-Zero, DeepSeek-R1 introduit une phase de fine-tuning supervisé dite phase de "cold start" avec des données d'entraînement initiales que DeepSeek qualifie de "très bonne qualité" dans une pipeline d'entraînement complexe de 4 étapes. Cette pipeline reprend notamment la méthode d'entraînement du modèle DeepSeek-R1-Zero basée sur le Reinforcement Learning et l'algorithme GRPO à laquelle a été ajouté d'autres phases. Ce processus en 4 étapes a pour objectif de régler les problèmes qui ont été détectés avec DeepSeek-R1-Zero à savoir le "language mixing" et le manque de lisibilité.

Première étape : La phase de “cold start” :

La première phase de l'entraînement du modèle DeepSeek-R1 est cette fameuse phase dite de "cold start" qui sert à fine-tuner le modèle DeepSeek-V3-Base via du Supervised Fine Tuning. Dans le but d'apprendre au modèle à raisonner, cette phase de "cold start" utilise des données annotées comprenant :

- Des exemples de longues Chain of Thoughts (CoTs) qui utilisent du few shot prompting (j’ai mis un lien dans la partie Bibliographie permettant de comprendre cette notion) ;

- Des réponses détaillées avec réflexion et vérification générées par d’autres modèles de langage ;

- Des réponses lisibles générées par le modèle DeepSeek-R1-Zero.

Toutes ces données ont été traitées et annotées par des humains pour augmenter leur qualité. Cette phase a grandement permis d'améliorer la lisibilité des outputs du modèle ce qui était une des principales faiblesses de DeepSeek-R1-Zero.

Deuxième étape : GRPO

La deuxième étape du processus d'entraînement est une phase qui reprend exactement la même approche que celle utilisée pour entraîner DeepSeek-R1-Zero en se basant sur l'algorithme du GRPO. La seule différence est que lors de cette phase, une récompense a été rajoutée. Cette dernière a pour objectif de diminuer, pour une réponse générée, lorsque plusieurs langues sont détectées dans le raisonnement du modèle (= la génération comprise entre les balises think). Cela permet de limiter et d'atténuer le problème "mixing-languages" qu'avait DeepSeek-R1-Zero. Pour réaliser cela, chaque mot présent entre les balises think se voit attribuer un label représentant la langue à laquelle il appartient. Un algorithme calcule ensuite un score qui sera plus élevé lorsqu'il y a une grande cohérence linguistique dans le raisonnement généré. Cette récompense est ensuite additionnée, pour chaque réponse générée, aux récompenses initialement présentes (récompenses d'exactitude et de format) pour obtenir le score d'avantage qui, je le rappelle, sera ensuite utilisé pour maximiser l'influence des meilleures réponses lors de l'ajustement des poids du modèle.

Si vous voulez plus de précisions sur cette deuxième étape, je vous conseille d’aller lire la première partie de cet article qui rentre plus dans les détails de l’algorithme GRPO.

Troisième étape : Rejection Sampling and Supervised Fine-Tuning

La troisième étape du processus d'entraînement de DeepSeek-R1 utilise du Rejection Sampling et du Fine-Tuning Supervisé en utilisant notamment des données générées par le modèle entraîné à la fin de l'étape précédente et des données présentes dans le dataset d'entraînement du modèle DeepSeek V3. On peut diviser les données d'entraînement utilisées lors de cette phase en deux catégories :

- Reasoning data (environ 600k données) : des données contenant des prompts et des exemples de raisonnement qui ont été récupérées ou générées via du Rejection Sampling en utilisant le modèle obtenu à la fin de l'étape précédente. Le Rejection Sampling est le fait de générer plusieurs outputs pour un même input, puis de sélectionner uniquement celles qui satisfont des critères spécifiques ou des contraintes prédéfinies ;

- Non-Reasoning data (environ 200k données) : des données issues du dataset d'entraînement du modèle DeepSeek V3 liées à des tâches plus générales telles que l'écriture, les QA factuelles ou encore la traduction.

Quatrième et dernière étape : L’alignement

Enfin, la dernière étape est, tout comme la deuxième étape, une étape basée sur du Reinforcement Learning. Elle est appliquée pour aligner les capacités du modèle sur des préférences humaines tout en préservant les capacités de raisonnement.

1.b. Des problématiques adressées

DeepSeek-R1 se distingue par ses excellentes performances sur les benchmarks de raisonnement et de compréhension du langage. Il dépasse largement DeepSeek V3 sur des tâches éducatives comme le montrent les résultats sur les benchmarks MMLU, MMLU-Pro et GPQA Diamond. On peut penser que cela est dû à son apprentissage par Reinforcement Learning à grande échelle. Sur des tâches de suivi d'instructions et de génération de texte, il excelle également, surpassant largement DeepSeek V3 sur IF-Eval, AlpacaEval2.0 et ArenaHard, confirmant ainsi ses capacités en analyse documentaire et en génération de contenu cohérent.

DeepSeek-R1 affiche également des résultats solides en mathématiques et en programmation, rivalisant avec OpenAI-o1-1217 sur MATH-500 et obtenant de très bons scores sur LiveCodeBench et Codeforces, où il dépasse la plupart des modèles concurrents.

résultats LLMs sur différents benchmarks

Par rapport à DeepSeek-R1-Zero, il a en grande partie corrigé les problèmes de mélange linguistique dans les réponses générées et de lisibilité, bien que ces défauts persistent légèrement dans certaines situations.

Toutefois, certains utilisateurs ont noté un problème majeur de censure affectant DeepSeek-R1 : il refuse de répondre à certaines questions sensibles, notamment sur des sujets controversés liés à la Chine, comme le traitement des Ouïghours ou la répression de la place Tiananmen. Cette restriction, probablement imposée par des filtres de sécurité lors de l’entraînement ou sur l'interface du site de DeepSeek, limite son application dans certains contextes d’analyse historique et politique.

Personnellement lorsque j'ai demandé au modèle DeepSeek-R1-Distill-Qwen-14b via OLlama de me parler de la situation actuelle des Ouïghours en Chine ou de la répression de la place Tienanmen en 1989 il avait l'air plutôt honnête et m'a présenté les faits comme un média occidental pourrait les présenter, de manière factuelle.

Il faut toutefois noter que lorsque j'ai posé des questions "sensibles" à DeepSeek-R1 sur le site de DeepSeek le modèle n'a même pas réfléchi et m'a donné une réponse en moins de 2 secondes. On pourrait alors penser que c'est une réponse par défaut que DeepSeek renvoie lorsque l'on touche à des sujets jugés "sensibles". Voici un exemple de réponse que j'ai eue sur le site de DeepSeek :

exemple de réponse de DeepSeek R1 où le modèle ne répond pas

2. Les modèles distillés

2.a. Une volonté de rendre les avancées de DeepSeek-R1 accessibles

Le modèle DeepSeek-R1 est un modèle extrêmement lourd au vue de ses 671 Milliards de paramètres. Sur la documentation officielle de Ollama on peut voir que le modèle pèse 404 GB ce qui est colossal :

Doc de ollama montrant le poids de DeepSeek R1

DeepSeek, désireux de rendre ses avancées accessibles au plus grand nombre, a décidé de sortir des modèles distillés à partir du modèle DeepSeek-R1. Ces différents modèles distillés se basent sur des architectures Qwen (ALibaba Group - Chine) et Llama (Meta - USA) et sont beaucoup plus légers. Ils ont quand même tendance à garder les capacités de raisonnement qui ont été observées avec le modèle DeepSeek-R1. Voici les différents modèles distillés proposés par DeepSeek accompagnés de leurs architectures et de leurs poids en GB (d'après OLlama) :

- DeepSeek-R1-Distill-Qwen-1.5B - 1,1GB

- DeepSeek-R1-Distill-Qwen-7B - 4,7GB

- DeepSeek-R1-Distill-Qwen-14B - 9GB

- DeepSeek-R1-Distill-Qwen-32B - 20GB

- DeepSeek-R1-Distill-Llama-8B - 4,9GB

- DeepSeek-R1-Distill-Llama-70B - 43GB

2.b. Compresser des LLMs via la Knowledge Distillation

Pour comprendre comment les modèles distillés ont été créés par DeepSeek, il faut s'intéresser à la notion de Knowledge Distillation. Dans le Machine Learning, cette approche qui comporte différentes techniques permet de transférer les capacités / les connaissances d'un grand modèle (le modèle Teacher) vers un modèle beaucoup plus petit (le modèle Student). Dans notre cas, nous allons nous concentrer sur les réseaux de neurones et notamment les LLMs avec leur architecture Transformers. La knowledge d'un modèle représente l'information contenue dans le modèle teacher. C'est cette information que l'on cherche à transférer vers le modèle Student.

Dans le cas d'un réseau de neurones il existe 3 types de knowledge. On peut associer un type de distillation à chaque type de knowledge. Voici un schéma représentant ces différents types de knowledge :

les différents types de knowledge dans un réseau de neurones

La Response-Based Knowledge Distillation :

La response-based knowledge est le type de knowledge qui désigne les logits du modèle Teacher (= les sorties directes de la dernière couche du modèle avant l'application d'une fonction d'activation comme la softmax). Ces logits contiennent des informations riches, comme la distribution des probabilités sur toutes les classes. Même si une classe est la prédiction correcte, les autres logits peuvent indiquer des relations ou des similarités entre les classes. Dans cette technique, le Student cherche à reproduire les logits générés par la dernière couche de neurones du Teacher. Une fonction de loss est ensuite utilisée pour comparer ces logits avant de rétro-propager les gradients dans le réseau de neurones Student. Le schéma suivant permet de se faire une idée du fonctionnement de cette méthode de distillation :

exemple d'architecture Teacher-Student pour de la Response-Based Knowledge Distillation

La Feature-Based Knowledge Distillation :

La feature-based knowledge distillation est une technique qui utilise le même fonctionnement que le response-based knowledge distillation, mais ici la fonction de loss permet de comparer les activations des hidden layers qui servent à capturer des features spécifiques présentes dans les inputs plutôt que l'activation de l'output layer. Voici un schéma permettant de mieux comprendre cette technique :

exemple d'architecture Teacher-Student pour de la Feature-Based Knowledge Distillation

La Relation-Based Knowledge Distillation :

Les connaissances capturant la relation entre les feature maps peuvent également être utilisées pour entraîner un modèle étudiant. C'est ce qu'on appelle la relation-based knowledge distillation. Cette relation peut être modélisée sous forme de corrélations entre les feature maps, de graphes, de matrices de similarité, d'embeddings de caractéristiques ou de distributions probabilistes basées sur les représentations des caractéristiques.

2.c. Comparaison des performances par rapport aux modèles équivalents sur le marché

Les résultats des benchmarks montrent que la distillation de DeepSeek-R1 permet d'obtenir des modèles plus compacts et pourtant très efficaces. DeepSeek-R1-Distill-Qwen-7B surpasse des modèles généralistes comme GPT-4o sur l’ensemble des tâches de raisonnement, tandis que DeepSeek-R1-Distill-Qwen-14B dépasse aussi QwQ-32B-Preview sur tous les critères de raisonnement. DeepSeek-R1-Distill-Qwen-32B et DeepSeek-R1-Distill-Llama-70B offrent même des performances comparables ou supérieures à OpenAI-o1-mini qui est une référence lorsque l'on parle des modèles capables de raisonner, démontrant ainsi la puissance des avancées proposées par DeepSeek.

Résultats de différents LLMs sur des benchmarks

Par ailleurs, la comparaison entre DeepSeek-R1-Zero-Qwen-32B (un modèle entraîné à partir du modèle Qwen-32B-Base grâce à du Reinforcement Learning) et DeepSeek-R1-Distill-Qwen-32B (un modèle distillé dans l’architecture Qwen-32B à partir du modèle DeepSeek-R1) indique que les capacités de raisonnement des modèles distillés à partir de DeepSeek-R1 sont bien supérieures. DeepSeek énonce la conclusion suivante : il est préférable d’entraîner des gros modèles avec du Reinforcement Learning et ensuite de distiller leurs connaissances dans des plus petits modèles que d’entraîner directement des petits modèles avec du Reinforcement Learning. Il faudrait donc accepter les coûts d’entraînement des gros modèles pour obtenir des performances optimales.

Résultats de différents LLMs sur des benchmaks

Conclusion

DeepSeek-R1 marque une avancée majeure pour la Chine dans le domaine des modèles de langage car elle peut désormais rivaliser avec les géants américains tels que Meta, OpenAI et Google. Avec des performances parfois supérieures aux meilleurs modèles existants, cette innovation chinoise a fait trembler les États-Unis quelques jours après l'annonce du projet Stargate, comme en témoigne la réaction des marchés financiers et la chute du cours de l'action de Nvidia.

Pendant ce temps, l'Europe qui tente de réguler la technologie de l'IA via des lois telles que l'IA Act n'a pas encore de projet (commun ou relatif à un pays) ambitieux en matière d'IA pour essayer de concurrencer les grandes puissances mondiales dans ce domaine. Nous sommes en effet en avance sur la gestion et la régulation des technologies d'IA grâce aux différentes initiatives que nous avons commencé à lancer ce qui est un point positif mais nous n'arrivons pas encore à vraiment en tirer un avantage concurrentiel. Les développements et les actualités autour de Lucie, le LLM français, illustrent ce retard par rapport aux grandes puissances.

Ce qui rend DeepSeek-R1 particulièrement impressionnant, c'est son efficacité et le "peu" de ressources utilisées pour atteindre ce niveau. Grâce à un entraînement basé sur le Reinforcement Learning, les ressources nécessaires (temps et puissance de calcul) ont été considérablement réduites par rapport à des modèles comme les meilleurs modèles d'OpenAI qui affichent des performances similaires voire inférieures.

Cette avancée chinoise est porteuse d'espoir pour le domaine de l'IA : elle redessine le paysage de l'IA et propose un nouveau paradigme. Jusqu'à présent, on pensait que pour améliorer un modèle, il fallait plus de données et de GPUs, mais DeepSeek-R1 prouve qu'une meilleure approche de l'entraînement peut mener à des résultats tout aussi concluants. Personnellement je suis convaincu que cette avancée offre une perspective pleine d'optimisme pour l'intégration de l'avenir des modèles de langage dans les problématiques actuelles.

Bibliographie