- Publié le
Démystifier DeepSeek-V3 : Décomposer son architecture IA révolutionnaire
Introduction
DeepSeek-V3 représente un bond en avant significatif dans le domaine des grands modèles de langage (LLMs). Développé par DeepSeek-AI, ce modèle exploite l'architecture Mixture-of-Experts (MoE) pour offrir des performances sans précédent tout en maintenant l'efficacité tant dans l'entraînement que dans l'inférence. Avec un total de 671 milliards de paramètres et 37 milliards activés par token, DeepSeek-V3 est conçu pour gérer des tâches complexes avec une précision remarquable.
Cet article fournit une explication détaillée de l'architecture de DeepSeek-V3, expliquant ses composants clés étape par étape. Chaque section décompose les mécanismes sous-jacents et présente les formulations mathématiques qui définissent leur fonctionnalité. Les explications sont basées sur le rapport technique officiel de DeepSeek-V3, qui sert de source principale d'information fournie par les auteurs du modèle. Vous pouvez consulter l'article complet ici : DeepSeek-V3 Technical Report. À la fin, vous aurez une compréhension claire de la manière dont DeepSeek-V3 atteint l'efficacité, la scalabilité et l'optimisation de l'inférence.
Architecture et Innovations
DeepSeek-V3 introduit plusieurs innovations qui améliorent l'efficacité, la scalabilité et la précision. Les avancées architecturales clés incluent :
- Multi-head Latent Attention – Réduit les coûts d'inférence et améliore l'efficacité de l'attention.
- DeepSeekMoE – Une architecture Mixture-of-Experts (MoE) affinée qui améliore la spécialisation des experts et l'équilibrage de charge.
- Load Balancing sans perte auxiliaire – Une nouvelle stratégie de sélection d'experts qui élimine le besoin de perte auxiliaire, garantissant une utilisation stable et efficace des experts.
- Perte auxiliaire complémentaire par séquence – Une fonction de perte légère qui empêche les déséquilibres locaux au sein d'une seule séquence.
- Routage limité par nœud – Optimise la distribution des experts à travers les nœuds de calcul pour réduire les frais de communication.
- Stratégie sans perte de token – Garantit la rétention stable des tokens pendant l'entraînement et l'inférence.
- Prédiction multi-token – Améliore les représentations des tokens pendant l'entraînement et peut être utilisée pour le décodage spéculatif lors de l'inférence.
Chacun de ces composants contribue à la performance de pointe de DeepSeek-V3 tout en maintenant l'efficacité computationnelle.

Architecture du modèle DeepSeek-V3. Source DeepSeek-V3 Technical Report
Multi-head Latent Attention
Multi-head Latent Attention (MLA) est une pierre angulaire de l'architecture de DeepSeek-V3. Ce mécanisme permet au modèle de traiter l'information plus efficacement en se concentrant sur les parties les plus pertinentes des données d'entrée. MLA réduit la surcharge computationnelle tout en maintenant une haute précision, ce qui le rend idéal pour les modèles de langage à grande échelle.
Explication étape par étape
(a) Projection du token d'entrée vers le vecteur latent
- Le token d'entrée au moment est noté . Ici, a la même dimension que l'état caché du modèle.
- Il est projeté dans un vecteur latent avec une dimension beaucoup plus petite (où ) :
- Ici, est une matrice de projection apprise qui réduit la dimensionnalité de .
- Le vecteur latent stocke des informations compressées utilisées pour calculer les représentations de clé et de valeur dans le mécanisme d'attention.
(b) Calcul du vecteur clé par agrandissement à partir du vecteur latent
- Le vecteur clé est calculé par agrandissement de la dimension du vecteur latent à la dimension d'attention complète :
- Ici, est une matrice de projection apprise qui étend dans la représentation clé complète .
- Cela garantit que a la même dimensionnalité que les clés dans Multi-Head Attention (MHA).
(c) Projection et encodage RoPE du token d'entrée
- Le token d'entrée est d'abord projeté de la dimension à en utilisant une matrice de projection apprise :
- Ici, est une matrice de projection apprise de taille .
- Le vecteur projeté est ensuite encodé en utilisant des Encodages Positifs Rotatifs (RoPE) à la position du token :
- La clé encodée RoPE est concaténée aux vecteurs clés de chaque tête, garantissant que la même clé encodée positionnellement est partagée entre toutes les têtes.
- Après concaténation, nous obtenons le vecteur clé par tête final pour chaque tête d'attention avec une dimensionnalité :
(d) Calcul du vecteur valeur par agrandissement à partir du vecteur latent
- Le vecteur valeur est calculé par agrandissement à partir du vecteur latent avec dimension à la dimension d'attention complète :
- Ici, est une matrice de projection apprise.
- Cela garantit que a la même dimensionnalité que les valeurs dans Multi-Head Attention (MHA).
(e) Calcul du vecteur de requête avec compression à faible rang
- La requête d'attention est calculée en utilisant une compression à faible rang, d'abord en projetant dans un espace latent avec dimension (où ) :
- Ici, est une matrice de projection apprise de réduction, et le vecteur latent a la dimension :
- La requête est ensuite agrandie de nouveau à l'espace d'attention complet en utilisant une matrice de projection apprise :
- Ici, est une matrice de projection apprise spécifique aux requêtes, distincte de celles utilisées pour les clés et les valeurs.
- L'encodage RoPE est appliqué au vecteur de requête projeté à la position du token :
- Ici, est une matrice de projection apprise de taille .
- Enfin, la requête encodée RoPE est concaténée avec le vecteur de requête agrandi, formant le vecteur de requête par tête final :
- La dimension résultante de chaque vecteur de requête par tête est :
(f) Calcul de la sortie d'attention
- La sortie d'attention finale est calculée en utilisant les requêtes, les clés et les valeurs :
- Ici, pour chaque tête :
- La requête .
- La clé .
- La valeur .
- La sortie .
- La similarité requête-clé est mise à l'échelle par le facteur (la dimension de et ) avant d'appliquer le softmax.
- Les sorties de toutes les têtes sont concaténées en un seul vecteur colonne : qui a entrées.
- L'état caché de sortie final est calculé comme :
- Ici, est la matrice de projection de sortie apprise.
- La sortie finale est un vecteur à une colonne avec entrées, c'est-à-dire, .
DeepSeekMoE
DeepSeekMoE est une architecture Mixture of Experts (MoE) spécialisée utilisée dans DeepSeek-V3 pour les réseaux de neurones à propagation avant (FFNs). Comparé aux architectures MoE traditionnelles comme GShard, DeepSeekMoE introduit une allocation d'experts plus fine, où certains experts fonctionnent comme des experts partagés.
Explication étape par étape
(a) Calcul FFN pour chaque token
- Soit l'entrée FFN du -ième token , où est la dimension cachée.
- La sortie est calculée comme :
- Ici :
- et désignent le nombre d'experts partagés et routés, respectivement.
- représente le -ème expert partagé.
- représente le -ème expert routé.
- est la valeur de gating pour le -ème expert.
- Les deux et ont la même dimension cachée .
(b) Normalisation de la valeur de gating
- Les valeurs de gating sont normalisées à travers les experts activés :
- où est le score de gating initial.
(c) Sélection des experts Top-K
- Chaque token est assigné aux experts avec les scores d'affinité les plus élevés :
- Le score d'affinité détermine la probabilité de routage.
(d) Calcul de l'affinité token-expert
- Le score d'affinité token-expert est donné par : La fonction sigmoïde est une fonction mathématique définie comme , qui mappe tout nombre réel à une plage entre 0 et 1, couramment utilisée pour l'estimation de probabilité et l'activation dans les réseaux de neurones.
- Le centroïde est calculé comme :
- Ici :
- est le vecteur centroïde du -ème expert routé.
- est l'ensemble des tokens routés vers l'expert dans un lot donné.
- est le nombre de tokens assignés à l'expert .
- Le centroïde est appris pendant l'entraînement pour spécialiser les experts pour différents types de tokens.
- Pendant l'inférence, reste fixe et est utilisé uniquement pour les décisions de routage.
Load Balancing sans perte auxiliaire
Pour les modèles Mixture of Experts (MoE), une charge d'expert déséquilibrée peut conduire à un effondrement de routage, réduisant l'efficacité computationnelle dans les architectures parallèles d'experts. Les solutions conventionnelles utilisent des pertes auxiliaires pour équilibrer la distribution des tokens, mais de grandes pertes auxiliaires peuvent dégrader la performance du modèle. Pour éviter ces compromis, DeepSeek-V3 introduit une stratégie d'équilibrage de charge sans perte auxiliaire qui ajuste dynamiquement un terme de biais pour chaque expert. Ce biais est ajouté aux scores d'affinité pour déterminer la sélection des experts.
Explication étape par étape
(a) Sélection des experts avec ajustement de biais
- Chaque expert a un terme de biais , qui est ajouté au score d'affinité original avant le routage :
- Ici :
- est le score d'affinité token-expert original.
- est un terme de biais assigné à l'expert .
- est appris pendant l'entraînement pour équilibrer l'utilisation des experts.
- Pendant l'inférence, reste fixe et est uniquement utilisé pour les décisions de routage.
- La fonction Top- sélectionne les experts avec les scores ajustés les plus élevés.
(b) Le terme de biais est uniquement utilisé pour le routage
- Le terme de biais n'affecte pas le calcul FFN.
- Il est uniquement utilisé pour ajuster les probabilités de sélection des experts.
(c) Mise à jour dynamique du biais pour équilibrer la charge
- À la fin de chaque étape d'entraînement, le terme de biais est mis à jour en fonction de la charge des experts :
- Si l'expert est surchargé, est diminué par un facteur de .
- Si l'expert est sous-chargé, est augmenté par un facteur de .
- Ici :
- est un hyperparamètre de vitesse de mise à jour du biais qui contrôle la rapidité d'ajustement de .
- À la fin de chaque étape d'entraînement, le terme de biais est mis à jour en fonction de la charge des experts :
Perte auxiliaire complémentaire par séquence
Bien que DeepSeek-V3 s'appuie principalement sur une stratégie sans perte auxiliaire pour l'équilibrage de charge, il introduit une perte d'équilibre par séquence complémentaire pour prévenir les déséquilibres extrêmes au sein d'une seule séquence. Cela garantit que l'utilisation des experts reste équilibrée à travers les tokens dans une séquence.
La perte d'équilibre par séquence est définie comme :
où est un hyperparamètre de facteur d'équilibre, assigné une valeur extrêmement petite dans DeepSeek-V3.
Explication étape par étape
(a) Calcul de la fraction de charge des experts
- La fraction de tokens assignés à l'expert au sein d'une séquence est calculée comme :
- Ici :
- est le nombre d'experts routés.
- est le nombre d'experts activés par token.
- est la longueur de la séquence, représentant le nombre de tokens.
- est la fonction indicatrice, retournant 1 si l'expert est parmi les experts sélectionnés dans le top- pour le token .
(b) Probabilité d'expert normalisée
- La valeur de gating token-expert normalisée est calculée comme :
- Ici :
- est la valeur de gating token-expert originale.
- Le dénominateur garantit que les valeurs de gating s'additionnent à 1 à travers tous les experts routés.
(c) Calcul de l'utilisation moyenne des experts
- La probabilité moyenne que l'expert soit sélectionné à travers la séquence est :
- Cela représente la valeur de gating normalisée moyenne pour l'expert sur tous les tokens de la séquence.
(d) Comment la perte d'équilibre par séquence est utilisée
- pénalise les déséquilibres dans l'utilisation des experts au sein d'une séquence.
- Elle est appliquée uniquement pendant l'entraînement et non utilisée lors de l'inférence.
- Elle ajuste doucement le routage pour prévenir la surcharge à court terme des experts.
- L'hyperparamètre garantit une interférence minimale avec la perte principale.
Routage limité par nœud
DeepSeek-V3 utilise le Routage Limité par Nœud pendant l'entraînement pour réduire les coûts de communication dans les modèles MoE. Chaque token est routé vers au maximum nœuds, sélectionnés en fonction de la somme des scores d'affinité les plus élevés parmi les experts sur chaque nœud. Cette contrainte garantit un équilibrage de charge efficace tout en maintenant un recouvrement computationnel-communication presque complet, optimisant l'efficacité de l'entraînement.
Stratégie sans perte de token
En raison de son équilibrage de charge efficace, DeepSeek-V3 ne perd aucun token pendant l'entraînement ou l'inférence. Le modèle maintient une utilisation stable des experts, et les stratégies de déploiement spécifiques à l'inférence garantissent un routage équilibré des tokens.
Prédiction multi-token
DeepSeek-V3 introduit la Prédiction Multi-Token (MTP), un objectif d'entraînement qui étend la portée de la prédiction à plusieurs tokens futurs par position. Cette approche améliore l'efficacité de l'entraînement tout en améliorant les représentations des tokens pour une meilleure prédiction des tokens futurs.

Implémentation de la Prédiction Multi-Token (MTP) de DeepSeek-V3. Source DeepSeek-V3 Technical Report
Explication étape par étape
(a) Modules MTP
- MTP est implémenté en utilisant modules séquentiels, chacun prédisant un token supplémentaire.
- Chaque module MTP -ième se compose de :
- Une tête de sortie partagée .
- Un bloc Transformer .
- Une matrice de projection .
- À la profondeur de prédiction , la représentation du token est calculée en combinant la représentation de profondeur précédente du -ème token avec l'embedding du -ième token :
- Ici :
- est une matrice de projection apprise.
- est la représentation cachée de la profondeur précédente.
- est l'embedding du token futur à la position .
- RMSNorm est utilisé pour la normalisation, stabilisant les activations sans soustraction de la moyenne.
- La représentation transformée est traitée à travers un bloc Transformer : où représente la longueur de la séquence d'entrée, et désigne l'opération de découpage (inclusif des deux limites gauche et droite).
- Enfin, en prenant comme entrée, la tête de sortie partagée calcule la distribution de probabilité pour le token de prédiction supplémentaire -ième : où , avec étant la taille du vocabulaire. La tête de sortie mappe linéairement la représentation aux logits et applique ensuite la fonction Softmax pour calculer les probabilités de prédiction du token supplémentaire -ième.
(b) Objectif d'entraînement MTP
- Pour chaque profondeur de prédiction, une perte d'entropie croisée est calculée :
- où désigne la longueur de la séquence d'entrée, représente le token de vérité de terrain à la position , et est la probabilité prédite de donnée par le module MTP -ième.
- Les pertes MTP sont moyennées à travers toutes les profondeurs et mises à l'échelle par un facteur de pondération pour obtenir la perte MTP globale , qui sert d'objectif d'entraînement supplémentaire :
(c) MTP en inférence
- MTP est utilisé pendant l'entraînement pour améliorer les représentations des tokens.
- Lors de l'inférence, les modules MTP sont désactivés, et seul le modèle principal est utilisé pour la prédiction des tokens.
- MTP peut également être réutilisé pour la spéculation de tokens, améliorant l'efficacité du décodage.
Points clés à retenir
- Attention efficace avec MLA : Réduit l'utilisation de la mémoire en utilisant des projections dans l'espace latent pour réduire les dimensions des clés et des valeurs, avec des économies computationnelles potentielles en opérant sur des représentations plus petites.
- Routage d'expert stable avec DeepSeekMoE : Met en œuvre un équilibrage de charge sans perte auxiliaire, prévenant l'effondrement du routage et garantissant une spécialisation efficace des experts. Utilise un mécanisme de sélection ajusté par biais pour maintenir une distribution équilibrée token-expert, améliorant la stabilité du modèle sans introduire de surcharge computationnelle supplémentaire.
- Pas de perte de token : Maintient une rétention stable des tokens pendant l'entraînement et l'inférence, évitant la dégradation du traitement des séquences.
- La prédiction multi-token améliore l'entraînement : Améliore les représentations des tokens et l'efficacité de l'apprentissage en étendant l'objectif de prédiction au-delà du prochain token.
DeepSeek-V3 représente un bond majeur tant en efficacité d'entraînement qu'en scalabilité d'inférence, établissant une nouvelle norme pour les modèles de langage de prochaine génération.
Source(s)
Vous avez apprécié cet article? Vous l'avez trouvée instructive ? 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.
Si vous avez trouvé l'analyse mathématique des architectures LLM précieuse et que vous souhaitez voir plus d'articles explorant leurs rouages en profondeur, faites-le nous savoir.