Publié le

DeepSeek-R1-Zero et DeepSeek-R1 : Analyse de l'Apprentissage par Renforcement et du Fine-Tuning

10 min read
Auteurs
  • Profile picture of aithemes.net
    Nom
    aithemes.net
    Twitter

Introduction

Cet article suit les recherches détaillées dans le document DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning par DeepSeek AI. Le document explore comment l'apprentissage par renforcement peut améliorer les capacités de raisonnement des grands modèles de langage (LLMs).

DeepSeek-R1-Zero et DeepSeek-R1 sont deux modèles de pointe basés sur DeepSeek-V3-Base, exploitant les techniques d'Apprentissage par Renforcement pour améliorer les capacités de raisonnement. Cet article propose un examen précis de leurs innovations architecturales, stratégies de formation et améliorations de performance.

DeepSeek-V3-Base : La Fondation

DeepSeek-R1-Zero et DeepSeek-R1 proviennent tous deux de DeepSeek-V3-Base, un LLM de type Mixture-of-Experts (MoE) avec :

  • 671 milliards de paramètres au total (37 milliards actifs par token lors de l'inférence)
  • Fenêtre de contexte de 128K tokens pour gérer le raisonnement en contexte long
  • Attention Latente Multi-Têtes (MLA) et architecture DeepSeek-MoE
  • Pré-entraîné sur 14,8 billions de tokens

Ces innovations permettent une gestion efficace des contextes longs et des performances de raisonnement tout en maintenant la faisabilité de l'entraînement.

Pour une exploration détaillée de DeepSeek-V3, consultez cet article sur mon blog, où j'analyse son architecture.

DeepSeek-R1-Zero : Modèle d'Apprentissage par Renforcement Pur

DeepSeek-R1-Zero a été entraîné entièrement via l'Apprentissage par Renforcement (RL) en utilisant Group Relative Policy Optimization (GRPO), sans aucun fine-tuning supervisé (SFT). Points clés :

  • 📌 Aucune donnée annotée par des humains n'a été utilisée lors de l'entraînement ; le modèle a appris les capacités de raisonnement uniquement par RL.
  • 📌 Des récompenses basées sur les tâches ont été utilisées, en se concentrant sur des incitations basées sur la précision et le format.
  • 📌 Des défis sont apparus, tels que la verbosité, la répétition et les incohérences de format, car le RL seul n'optimisait pas la lisibilité.

Malgré ces défis, R1-Zero a obtenu des performances remarquables, rivalisant presque avec les meilleurs modèles fermés dans les tâches de raisonnement mathématique et logique.

DeepSeek-R1 : Amélioration du Raisonnement et de la Lisibilité

Pour résoudre les lacunes de R1-Zero, DeepSeek-R1 a incorporé une approche d'entraînement hybride :

  1. 🏁 SFT Cold-start : Un petit ensemble de démonstrations de raisonnement de haute qualité a aidé à établir un format clair et un raisonnement structuré.
  2. 🏋️ RL axé sur le raisonnement : L'apprentissage par renforcement à grande échelle a encore amélioré sa capacité à résoudre des problèmes.
  3. 🔄 Augmentation des données et SFT supplémentaire : Les meilleurs échantillons de raisonnement du RL ont été utilisés pour fine-tuner le modèle à nouveau.
  4. 🎯 Dernière phase RLHF & Alignement : Une dernière phase de RL a assuré l'utilité, l'innocuité et l'alignement avec l'utilisateur.

🔥 Améliorations Clés dans DeepSeek-R1

  • 📝 Réponses concises et bien structurées
  • 🏆 Précision accrue dans les tâches de raisonnement
  • 🌍 Cohérence linguistique maintenue
  • 🛡 Meilleur alignement pour les applications réelles

Apprentissage par Renforcement

L'Apprentissage par Renforcement (RL) est un paradigme d'apprentissage automatique où un agent apprend à prendre des décisions en interagissant avec un environnement. L'idée centrale est d'optimiser les actions en fonction des récompenses, améliorant progressivement les performances au fil du temps.

Composants Clés du RL :

  1. Agent – Le modèle ou l'algorithme prenant des décisions.
  2. Environnement – Le système avec lequel l'agent interagit.
  3. Actions (A) – Les choix possibles que l'agent peut faire.
  4. État (S) – La situation actuelle observée par l'agent.
  5. Récompense (R) – Un signal indiquant la qualité d'une action prise.
  6. Politique (π) – Une stratégie reliant les états aux actions.

Le processus d'apprentissage suit une boucle :

  1. L'agent observe l'état (S) de l'environnement.
  2. Il sélectionne une action (A) basée sur sa politique actuelle.
  3. L'environnement répond avec une récompense (R) et un nouvel état (S').
  4. L'agent met à jour sa politique pour maximiser les récompenses futures.

Fine-Tuning Supervisé

Le Fine-Tuning Supervisé (SFT) est une technique d'entraînement où un modèle pré-entraîné est affiné à l'aide de données étiquetées de haute qualité. Cette méthode garantit que le modèle apprend des réponses structurées, un format clair et des connaissances spécifiques à la tâche.

Aspects Clés du SFT :

  • 🏗 Utilise des ensembles de données étiquetés où les entrées sont associées à des sorties idéales.
  • 🏆 Améliore la qualité des réponses, en s'assurant que le modèle suit des étapes de raisonnement appropriées.
  • 🔧 Réduit les hallucinations en ancrant les réponses dans des connaissances curatées.
  • 📝 Aide au formatage, rendant les sorties du modèle plus lisibles et structurées.

Qu'est-ce que le SFT Cold-start ?

Le SFT Cold-start est une approche utilisée pour démarrer l'apprentissage dans un modèle entraîné par RL en lui fournissant d'abord un petit ensemble de données supervisées de haute qualité avant que l'apprentissage par renforcement ne commence. Cela aide à établir :

  • 📏 Des règles de formatage cohérentes pour les réponses.
  • 🧠 Des compétences de raisonnement de base avant le fine-tuning par RL.
  • 🚀 Une convergence plus rapide en donnant au modèle une base structurée.

Dans DeepSeek-R1, le SFT Cold-start a été utilisé pour :

  1. Entraîner le modèle avec un petit ensemble d'exemples de raisonnement créés par des experts.
  2. Établir des directives de formatage claires pour éviter la verbosité et la répétition dans les étapes ultérieures du RL.
  3. Servir de tremplin avant l'apprentissage par renforcement à grande échelle.

Group Relative Policy Optimization

Group Relative Policy Optimization (GRPO) est une technique novatrice d'apprentissage par renforcement qui réduit les coûts d'entraînement en estimant la baseline à partir des scores de groupe plutôt que d'utiliser un modèle critique. Cet avantage permet une plus grande efficacité dans l'entraînement, car il élimine le besoin d'un réseau critique séparé, qui peut être coûteux en ressources et complexe. En utilisant les scores de groupe pour établir des baselines, GRPO améliore la stabilité et la robustesse des mises à jour de politique, aboutissant à des résultats d'apprentissage plus fiables.

Les sections suivantes fourniront une analyse détaillée de la formulation mathématique de GRPO, en mettant en évidence son objectif d'optimisation, la pénalité de divergence KL et l'estimation de l'avantage.

Idées Clés de GRPO

1. Estimation Relative des Récompenses

GRPO évite le besoin d'un modèle critique en attribuant des récompenses basées sur des comparaisons relatives au sein d'un groupe de sorties. Au lieu d'estimer des fonctions de valeur absolue, il calcule :

Ai=rimean(r1,r2,,rG)std(r1,r2,,rG)A_i = \frac{r_i - \text{mean}(r_1, r_2, \dots, r_G)}{\text{std}(r_1, r_2, \dots, r_G)}

AiA_i est l'avantage d'une action oio_i, mesuré par rapport aux autres actions échantillonnées dans le même groupe. Ici, r1,r2,,rGr_1, r_2, \dots, r_G représentent les récompenses attribuées à diverses actions prises par le modèle dans le même contexte, ce qui aide à comparer leur efficacité et à déterminer quelles actions fonctionnent mieux les unes par rapport aux autres.

2. Clipping du Ratio de Politique pour la Stabilité

Pour éviter des mises à jour instables, GRPO adopte un ratio d'importance clippé, inspiré de Proximal Policy Optimization (PPO) :

L(oi,q,θ)=min(rt(θ)Ai,clip(rt(θ),1ϵ,1+ϵ)Ai)L(o_i, q, \theta) = \min \left( r_t(\theta) A_i, \text{clip} \left( r_t(\theta), 1 - \epsilon, 1 + \epsilon \right) A_i \right)

où :

  • rt(θ)=πθ(oiq)πθold(oiq)r_t(\theta) = \frac{\pi_{\theta}(o_i | q)}{\pi_{\theta_{old}}(o_i | q)} est le ratio de politique. Le ratio de politique mesure la probabilité de prendre l'action oio_i sous la politique actuelle πθ\pi_{\theta} par rapport à la politique précédente πθold\pi_{\theta_{old}}. Il est crucial pour comprendre à quel point la politique a changé et pour assurer des mises à jour stables.
  • clip(rt(θ),1ϵ,1+ϵ)\text{clip}(r_t(\theta), 1 - \epsilon, 1 + \epsilon) restreint le ratio de politique à une plage sûre.
  • AiA_i est la fonction d'avantage, déterminant si l'action oio_i est meilleure ou pire que la moyenne du groupe.
  • θ\theta dénote les paramètres de la politique actuelle, et qq représente les informations de contexte ou d'état pertinentes pour l'action prise, assurant que la politique est adaptée de manière appropriée en fonction de la situation actuelle.

Cela garantit que les mises à jour de politique restent dans une plage contrôlée, évitant des mises à jour trop importantes qui pourraient déstabiliser l'entraînement. Si rt(θ)r_t(\theta) dépasse le seuil de clipping, la version clippée est utilisée pour éviter des changements excessifs de politique.

3. Régularisation KL pour des Mises à Jour Contrôlées

GRPO applique une régularisation par divergence KL pour empêcher la politique de diverger trop d'une politique de référence :

DKL(πθπref)=oπref(oq)logπref(oq)πθ(oq)1.D_{KL} (\pi_{\theta} || \pi_{\text{ref}}) = \sum_{o} \pi_{\text{ref}}(o | q) \log \frac{\pi_{\text{ref}}(o | q)}{\pi_{\theta}(o | q)} - 1.

La divergence KL est une mesure de la façon dont une distribution de probabilité diverge d'une seconde distribution de probabilité attendue. Un paramètre de pondération β\beta contrôle à quel point la politique est contrainte.

4. Calcul Efficace des Récompenses dans les Applications Pratiques

Dans des implémentations comme DeepSeek-R1, les récompenses sont déterminées par :

  • Récompenses basées sur la précision, où les réponses sont évaluées par rapport à des réponses de référence.
  • Récompenses basées sur le format, assurant des sorties structurées (par exemple, en imposant des étapes de raisonnement dans des balises <think>).

Ce système de récompenses structuré permet à GRPO de guider les modèles pour produire des réponses à la fois précises et bien formatées sans nécessiter une fonction de valeur explicite.

Pourquoi GRPO Fonctionne

  • 🚀 Pas besoin d'un modèle critique, réduisant les coûts de calcul.
  • 🔄 Le scoring relatif assure un entraînement stable, évitant les signaux de récompense bruyants.
  • 🎯 Mises à jour clippées et contraintes KL empêchent les changements drastiques de politique.
  • Façonnage des récompenses spécifiques à la tâche le rend flexible pour différentes applications.

GRPO est une approche d'apprentissage par renforcement efficace qui équilibre l'évolutivité, la stabilité et la performance, ce qui en fait un choix idéal pour les applications modernes d'IA.

Conclusion

  • Améliorations par Apprentissage par Renforcement : L'utilisation de l'apprentissage par renforcement, en particulier GRPO, améliore significativement les capacités de raisonnement sans dépendre de données annotées par des humains, offrant une solution évolutive pour l'entraînement de grands modèles.
  • Approche Hybride d'Entraînement : La combinaison de l'apprentissage par renforcement avec le fine-tuning supervisé dans DeepSeek-R1 résout les limites du RL seul, améliorant la lisibilité et l'alignement avec un raisonnement de type humain.
  • Innovations Architecturales : Les modèles DeepSeek exploitent l'architecture Mixture-of-Experts pour maintenir l'efficacité tout en gérant des tâches de raisonnement en contexte long.
  • Techniques d'Optimisation de Politique : GRPO fournit une méthode économique et stable pour l'optimisation de politique, évitant le besoin d'un modèle critique et réduisant les coûts de calcul.
  • Alignement avec le Monde Réel : Le système de récompenses structuré garantit que les modèles non seulement performent bien dans les tâches de raisonnement, mais s'alignent également sur les exigences des applications réelles, améliorant l'utilisabilité et l'efficacité.

Source(s)


Vous avez aimé cet article ? Vous l'avez trouvé instructif ? N'hésitez pas à laisser un commentaire ci-dessous pour partager vos réflexions ou poser des questions. Un compte GitHub est requis pour participer à la discussion.