Mixture of Experts (MoE)
Le Mixture of Experts (MoE) est une architecture de réseau de neurones qui divise le calcul en plusieurs sous-réseaux spécialisés (les « experts ») et n’en active qu’un sous-ensemble pour chaque entrée, permettant de multiplier la capacité d’un modèle sans augmenter proportionnellement son coût de calcul.
- Catégorie
- Architecture de réseau de neurones / Technique de sparsité
- Origine
- Jacobs, Jordan, Nowlan & Hinton (1991) ; popularisé pour les LLM par Shazeer et al. (2017)
- Principe
- Activation conditionnelle : un routeur sélectionne K experts parmi N pour chaque token
- Avantage clé
- Capacité massive (centaines de milliards de paramètres) avec un coût d’inférence équivalent à un modèle dense bien plus petit
- Modèles MoE notables
- Mixtral 8x7B, DeepSeek V3/V3.2, Mistral Large 3, Grok-1, Switch Transformer, DBRX, Qwen3
- Aussi appelé
- MoE, Sparse MoE, Sparse Mixture of Experts
Pourquoi le Mixture of Experts est devenu incontournable
Le constat est simple : plus un LLM a de paramètres, plus il est capable. Mais un modèle dense (où tous les paramètres sont activés pour chaque token) devient vite ingérable en termes de coût de calcul et de mémoire. Le MoE résout cette tension en découplant la capacité totale du modèle (nombre total de paramètres) du coût de calcul effectif (nombre de paramètres activés par token).
Concrètement, un modèle MoE comme DeepSeek V3 possède 671 milliards de paramètres au total mais n’en active que 37 milliards par token. Résultat : il offre des performances comparables à des modèles denses bien plus coûteux, tout en restant abordable à l’inférence. C’est exactement le même principe que Mistral Large 3, qui totalise environ 675 milliards de paramètres avec seulement ~40 milliards actifs par requête.
Le succès du MoE est aujourd’hui sans appel. Sur le classement Artificial Analysis, les 10 modèles open-source les plus performants utilisent tous une architecture MoE : DeepSeek-R1, Kimi K2 Thinking, gpt-oss-120B d’OpenAI, Mistral Large 3, entre autres. Les modèles Claude d’Anthropic restent, eux, denses, ce qui montre que les deux approches coexistent au plus haut niveau.
Comment fonctionne un Mixture of Experts
Les deux composants fondamentaux
Dans un Transformer classique, chaque bloc contient une couche d’attention suivie d’un réseau feed-forward (FFN). Le MoE remplace cette couche FFN unique par deux éléments :
1. Les experts. Ce sont des sous-réseaux, typiquement des FFN identiques en structure mais avec des poids distincts. Chaque expert se spécialise progressivement pendant l’entraînement sur certains types de patterns : syntaxe, raisonnement numérique, code, etc. Cette spécialisation émerge naturellement, elle n’est pas codée en dur.
2. Le routeur (gating network). C’est un petit réseau qui reçoit la représentation d’un token et produit un score de probabilité pour chaque expert. Il sélectionne ensuite les top-K experts (typiquement K=1 ou K=2) et pondère leurs sorties. Le routeur est entraîné conjointement avec le reste du modèle.
Le fonctionnement pour un token donné suit ce processus :
MoE sparse vs. MoE dense
Il existe deux variantes de MoE. Le MoE sparse (le plus courant aujourd’hui) n’active qu’un sous-ensemble d’experts par token. Le MoE dense active tous les experts mais avec des pondérations différentes. Dans la pratique, quand on dit « MoE » sans qualifier, on parle presque toujours d’un MoE sparse, car c’est lui qui offre le gain computationnel majeur.
Les stratégies de routage
Le choix du mécanisme de routage est crucial. Plusieurs approches existent :
| Stratégie | Principe | Modèle emblématique | Avantages / Limites |
|---|---|---|---|
| Top-K (K≥2) | Active les K experts les plus pertinents, combine leurs sorties | Mixtral 8x7B (top-2) | Plus de gradient pour l’apprentissage, mais coût supérieur |
| Top-1 (Switch Routing) | Un seul expert par token | Switch Transformer | Coût minimal, mais moins de signal de gradient |
| Expert Choice | Les experts choisissent leurs tokens (inversé) | Google Expert Choice (2022) | Équilibrage naturel, mais difficulté à l’inférence auto-régressive |
| Auxiliary-loss-free | Biais dynamique par expert, sans perte auxiliaire | DeepSeek V3 | Pas de compromis entre équilibrage et qualité du modèle |
Le Switch Transformer de Google (Fedus et al., 2022) a été le premier à prouver qu’un routage top-1 (un seul expert par token) fonctionne bien en pratique, contrairement à l’intuition initiale. Cette simplification a permis d’atteindre une accélération de 7× par rapport à un modèle T5-Base de taille équivalente, ouvrant la voie à des modèles de plus de 1 600 milliards de paramètres.
L’équilibrage de charge : le défi central
Le problème le plus épineux du MoE est le load balancing. Sans contrainte, le routeur tend à envoyer la majorité des tokens vers quelques experts « favoris », laissant les autres sous-utilisés. Ce déséquilibre a deux conséquences : les experts populaires débordent (tokens perdus), et les experts négligés ne s’entraînent pas correctement.
La perte auxiliaire classique
La solution historique est une perte auxiliaire ajoutée à la fonction de perte principale. Elle pénalise les distributions de routage trop déséquilibrées en encourageant une répartition uniforme des tokens entre experts. Le Switch Transformer utilise un coefficient α = 10⁻² pour cette perte, suffisamment faible pour ne pas noyer l’objectif principal d’apprentissage du langage.
L’innovation DeepSeek : équilibrage sans perte auxiliaire
DeepSeek V3 a introduit une approche radicalement différente. Au lieu d’ajouter une perte auxiliaire, le modèle maintient un terme de biais par expert, ajusté dynamiquement pendant l’entraînement en fonction de la charge observée. Si un expert est surchargé, son biais diminue pour réduire sa probabilité d’être sélectionné. Ce mécanisme maintient l’équilibre sans compromettre la qualité du routage, éliminant le compromis classique.
Le facteur de capacité
Le capacity factor définit combien de tokens un expert peut recevoir. Si un expert reçoit plus de tokens que sa capacité, les tokens excédentaires sont « droppés » (ignorés par cet expert et transmis via la connexion résiduelle). Un capacity factor de 1.0 signifie que chaque expert peut traiter exactement sa part équitable de tokens. En pratique, on utilise souvent un facteur de 1.25 ou plus pour absorber les fluctuations de routage.
Les grandes architectures MoE
Switch Transformer (Google, 2022)
Le Switch Transformer a posé les fondations du MoE moderne pour les LLM. Construit sur une base T5, il remplace les couches FFN par des couches MoE avec routage top-1. Son plus grand modèle (Switch-C) atteint 1 571 milliards de paramètres en utilisant 128 experts. Il a démontré que les modèles MoE pouvaient être entraînés en bfloat16 (en gardant uniquement le routeur en float32) et qu’ils transféraient bien vers des tâches de fine-tuning.
Mixtral (Mistral AI, 2023-2024)
Mixtral 8x7B a démocratisé le MoE dans l’écosystème open-source. Avec 46,7 milliards de paramètres totaux et seulement 12,9 milliards actifs par token (top-2 parmi 8 experts), il offrait des performances comparables à des modèles denses bien plus lourds. Sa version étendue, Mixtral 8x22B (141 milliards de paramètres totaux, 39 milliards actifs), a repoussé les limites en code et en mathématiques avec une fenêtre de contexte de 64K tokens.
DeepSeek MoE (DeepSeek, 2024-2026)
DeepSeek a introduit deux innovations majeures dans l’architecture MoE :
La segmentation fine des experts (fine-grained expert segmentation). Au lieu de N experts de taille standard, DeepSeek divise en mN experts plus petits et en active mK. Le modèle DeepSeek-MoE 16B a ainsi atteint des performances comparables à LLaMA 2 7B avec seulement 40 % du calcul.
Les experts partagés (shared experts). Certains experts sont toujours activés pour capturer les connaissances communes, libérant les experts routés pour se spécialiser davantage. DeepSeek V3 porte cette approche à l’échelle : 256 experts routés + 1 expert partagé, 8 experts activés par token, pour un total de 671 milliards de paramètres (37 milliards actifs).
La dernière itération, DeepSeek V3.2, unifie chat et raisonnement avec une tarification API particulièrement agressive (≈ 0,28 $/M tokens en input), ce qui en fait l’un des modèles MoE les plus accessibles.
Mistral Large 3 (Mistral AI, fin 2025)
Mistral Large 3 marque le retour de Mistral AI au MoE après Mixtral. C’est un modèle de 675 milliards de paramètres (environ 40 milliards actifs) sous licence Apache 2.0. Il intègre un encodeur vision et existe en variantes base, instruct et raisonnement. Son tarif API est très compétitif : environ 0,50 $/M tokens en input et 1,50 $ en output.
Autres modèles MoE notables
| Modèle | Paramètres totaux | Paramètres actifs | Experts (routés) | Top-K | Particularité |
|---|---|---|---|---|---|
| Grok-1 (xAI) | 314B | ~78B | 8 | 2 | Open-source Apache 2.0 |
| DBRX (Databricks) | 132B | 36B | 16 | 4 | Fine-grained MoE, 16 petits experts |
| Switch-C (Google) | 1 571B | Variable | 128 | 1 | Premier modèle à dépasser 1T paramètres |
| Qwen3-Next 80B (Alibaba) | 80B | 3B | Variable | Variable | Ratio actif/total extrême, très efficient |
| GLaM (Google) | 1 200B | ~97B | 64 | 2 | Surpasse GPT-3 dense avec 50 % de FLOPs en moins |
| DeepSeek-R1 | 671B | 37B | 256 + 1 partagé | 8 | Modèle de raisonnement MoE |
Avantages du MoE
Entraînement plus rapide
Un modèle MoE atteint la même qualité qu’un modèle dense équivalent en significativement moins d’étapes d’entraînement. Le Switch Transformer a démontré un facteur 7× par rapport au T5-Base. En pratique, cela signifie que pour un budget de calcul fixe, vous pouvez entraîner un modèle de bien plus grande capacité.
Inférence efficace
Puisque seuls K experts sont activés par token, le coût de calcul à l’inférence est celui d’un modèle dense de la taille des paramètres actifs, pas de la taille totale. DeepSeek V3 avec 37 milliards de paramètres actifs se comporte en termes de FLOPs comme un modèle dense de ~37B, tout en bénéficiant de la capacité d’un modèle de 671B.
Scalabilité
Le MoE permet de continuer à augmenter la capacité d’un modèle sans que le coût d’inférence explose. En ajoutant plus d’experts, on augmente la capacité avec un overhead marginal (seulement le routeur doit évaluer plus d’experts). Les lois de scaling montrent que les modèles MoE peuvent surpasser les modèles denses en efficacité mémoire, contrairement aux suppositions initiales.
Spécialisation naturelle
Les experts développent des spécialisations émergentes pendant l’entraînement. Les analyses de Mixtral montrent que cette spécialisation se fait davantage sur des patterns syntaxiques (structure de phrase, position du token) que sur des domaines sémantiques (code vs. texte). C’est une nuance importante : les experts ne sont pas des « spécialistes de domaine » au sens intuitif, mais plutôt des spécialistes de patterns de traitement.
Défis et limites du MoE
Empreinte mémoire élevée
C’est le paradoxe fondamental du MoE. Même si seuls 37 milliards de paramètres sont actifs, les 671 milliards doivent être chargés en mémoire GPU. DeepSeek V3 et Mixtral-8x22B nécessitent des centaines de gigaoctets de VRAM, imposant des déploiements multi-GPU même pour des usages basiques. Un seul GPU de 80 Go ne peut pas contenir ces modèles.
Instabilité d’entraînement
Les décisions de routage « hard » (assignation binaire d’un token à un expert) créent des discontinuités dans les gradients. Les formats basse précision comme bfloat16 aggravent ce problème. Le Switch Transformer a résolu partiellement ce point en maintenant le routeur en float32 tout en gardant le reste en bfloat16, mais la stabilité d’entraînement des MoE reste un sujet de recherche actif.
Difficulté du fine-tuning
Le fine-tuning des modèles MoE requiert des hyperparamètres différents des modèles denses. Ils bénéficient généralement de batch sizes plus petits et de learning rates plus élevés. Une approche intéressante consiste à geler les couches MoE (80 % des paramètres dans certaines architectures) et ne fine-tuner que les couches denses : la perte de qualité est minime, car les couches MoE n’interviennent que toutes les 4 couches environ et chaque token ne voit que 2 experts par couche.
Complexité de déploiement distribué
Le déploiement efficace d’un MoE requiert de l’expert parallelism : les experts sont distribués sur différents GPU. Cela introduit des communications inter-GPU à chaque couche MoE (les tokens doivent être envoyés au GPU hébergeant l’expert sélectionné). Le framework NVIDIA Dynamo orchestre cette distribution en séparant prefill et decode sur des GPU différents, optimisant le parallélisme par phase.
MoE vs. modèles denses : quel choix ?
| Critère | MoE (Sparse) | Modèle dense |
|---|---|---|
| Capacité par FLOP | Supérieure Plus de paramètres pour le même coût de calcul | Tous les paramètres actifs, coût proportionnel |
| Mémoire GPU | Élevée Tous les experts chargés même si peu activés | Proportionnelle aux paramètres actifs = totaux |
| Vitesse d’entraînement | Jusqu’à 7× plus rapide à qualité égale | Référence |
| Stabilité d’entraînement | Plus fragile (routage hard, load balancing) | Stable |
| Fine-tuning | Hyperparamètres spécifiques, plus délicat | Procédure standard bien documentée |
| Coût d’inférence (FLOPs) | Faible proportionnel aux params actifs | Proportionnel aux params totaux |
| Déploiement | Complexe (expert parallelism, communication) | Plus simple (model parallelism standard) |
| Tâches multi-domaines | Excellent spécialisation des experts | Bon mais pas de spécialisation structurelle |
Le verdict est assez net : le MoE domine pour les modèles frontier à grande échelle, là où maximiser la capacité sous contrainte de calcul est la priorité. Le modèle dense reste pertinent quand la taille est contrainte (edge, embarqué), quand la simplicité de déploiement prime, ou quand chaque paramètre doit être utilisé à 100 %. Le modèle GLaM de Google illustre bien le rapport de force : avec 1 200 milliards de paramètres MoE et 64 experts, il surpasse un modèle dense de 175 milliards sur de nombreuses tâches en zero-shot tout en utilisant la moitié des FLOPs d’inférence.
MoE et hardware : l’accélération en 2026
L’adoption massive du MoE a poussé les constructeurs à optimiser leur hardware pour cette architecture. NVIDIA a annoncé lors de GTC 2026 que son GB200 NVL72 (architecture Blackwell) accélère les modèles MoE d’un facteur 10× par rapport à la génération Hopper, réduisant le coût par token d’un facteur 10.
Des chiffres concrets : l’infrastructure provider DeepInfra a réduit le coût par million de tokens d’un modèle MoE open-source de 20 cents (sur Hopper) à 10 cents (sur Blackwell), puis à 5 cents avec le format basse précision NVFP4. C’est une réduction de 4× du coût par token en une seule génération de hardware.
Les frameworks d’inférence open-source comme vLLM, SGLang et TensorRT-LLM intègrent désormais des optimisations dédiées au MoE : expert parallelism, KV-cache optimisé, et serving désagrégé (prefill et decode sur des GPU séparés).
Compresser un MoE : distillation et quantification
L’empreinte mémoire élevée du MoE a motivé plusieurs techniques de compression :
Distillation. Le Switch Transformer a montré qu’on pouvait distiller un modèle MoE en un modèle dense en conservant 30 à 40 % des gains de sparsité. C’est une option intéressante pour le déploiement en production : entraîner en MoE (rapide et performant), puis distiller pour servir un modèle plus petit et simple à déployer.
Quantification. La quantification des poids experts en 4-bit (comme NVFP4 de NVIDIA) réduit considérablement l’empreinte mémoire tout en maintenant la précision. C’est aujourd’hui la méthode la plus répandue pour déployer des MoE à moindre coût.
Agrégation d’experts. Cette technique fusionne les poids de plusieurs experts, réduisant le nombre de paramètres à l’inférence. Elle sacrifie une partie de la spécialisation mais offre un bon compromis taille/qualité.
Chronologie du MoE
| Année | Événement | Contribution |
|---|---|---|
| 1991 | Jacobs, Jordan, Nowlan & Hinton | Article fondateur « Adaptive Mixture of Local Experts » |
| 1994 | Jordan & Jacobs | MoE hiérarchique avec algorithme EM |
| 2013 | Eigen, Ranzato & Sutskever | MoE comme composant de réseaux profonds |
| 2017 | Shazeer et al. (Google) | MoE sparse à 137B paramètres sur LSTM, première application NLP à grande échelle |
| 2021 | GShard (Google) | Pipeline distribué pour MoE à 600B paramètres |
| 2022 | Switch Transformer (Google) | Routage top-1, scaling à 1 571B paramètres, accélération 7× |
| 2022 | ST-MoE (Google) | Amélioration de la stabilité d’entraînement et du transfert |
| 2023 | Mixtral 8x7B (Mistral AI) | Démocratisation du MoE open-source |
| 2024 | DeepSeekMoE / DBRX / Grok-1 | Fine-grained MoE, experts partagés, passage à grande échelle |
| 2024 | DeepSeek V3 | 671B paramètres, équilibrage sans perte auxiliaire, 256 experts |
| 2025 | Mistral Large 3 / Qwen3 / GLM-4.5 | Généralisation du MoE comme architecture par défaut des modèles frontier |
| 2026 | NVIDIA GB200 NVL72 / Dynamo | Hardware et frameworks optimisés pour le MoE, 10× d’accélération |
Implémenter un MoE : outils et frameworks
Plusieurs frameworks facilitent l’entraînement et le déploiement de modèles MoE :
Hugging Face Transformers. Depuis une mise à jour de 2024 (avec une seconde itération en février 2026), les modèles MoE sont traités comme des « citoyens de première classe » dans la bibliothèque. Mixtral, Switch Transformer et d’autres sont directement disponibles.
DeepSpeed-MoE (Microsoft). Intègre des kernels MoE optimisés et des optimisations mémoire dans le framework DeepSpeed. Databricks a collaboré avec l’équipe PyTorch pour scaler l’entraînement MoE à plus de 3 000 GPU.
MegaBlocks. Bibliothèque pour l’entraînement MoE haute performance, utilisée dans la collaboration Databricks/PyTorch. Se concentre sur la représentation sparse des matrices d’experts pour éviter le padding inutile.
FastMoE. Framework tiers PyTorch développé par Tsinghua/Huawei, premier à permettre l’entraînement MoE sans infrastructure propriétaire Google.
Tutel (Microsoft). Kernels GPU haute performance pour MoE, avec des accélérations de plus de 8× dans certains cas.
Exemple simplifié : couche MoE en PyTorch
Voici un exemple minimaliste pour comprendre la mécanique d’une couche MoE :
import torch
import torch.nn as nn
import torch.nn.functional as F
class MoELayer(nn.Module):
def __init__(self, d_model, d_ff, num_experts, top_k=2):
super().__init__()
self.num_experts = num_experts
self.top_k = top_k
# Chaque expert est un FFN classique
self.experts = nn.ModuleList([
nn.Sequential(
nn.Linear(d_model, d_ff),
nn.GELU(),
nn.Linear(d_ff, d_model)
) for _ in range(num_experts)
])
# Le routeur : une simple projection linéaire
self.router = nn.Linear(d_model, num_experts)
def forward(self, x):
# x shape: (batch, seq_len, d_model)
router_logits = self.router(x) # (batch, seq_len, num_experts)
router_probs = F.softmax(router_logits, dim=-1)
# Sélection des top-K experts
top_k_probs, top_k_indices = torch.topk(
router_probs, self.top_k, dim=-1
)
# Normaliser les poids des experts sélectionnés
top_k_probs = top_k_probs / top_k_probs.sum(dim=-1, keepdim=True)
# Calcul pondéré des sorties experts
output = torch.zeros_like(x)
for k in range(self.top_k):
expert_idx = top_k_indices[..., k] # (batch, seq_len)
weight = top_k_probs[..., k].unsqueeze(-1) # (batch, seq_len, 1)
for i in range(self.num_experts):
mask = (expert_idx == i)
if mask.any():
expert_input = x[mask]
expert_output = self.experts[i](expert_input)
output[mask] += weight[mask] * expert_output
return outputVerdict
Le Mixture of Experts est passé du statut de curiosité académique à celui d’architecture dominante des LLM frontier en moins de trois ans. La raison est fondamentalement économique : pour un budget de calcul donné, le MoE produit des modèles plus capables. DeepSeek V3 en est la preuve la plus frappante : performances comparables aux meilleurs modèles du marché à une fraction du coût.
Les défis restent réels (mémoire, déploiement, instabilité), mais ils sont activement adressés par le hardware (Blackwell), les frameworks (Dynamo, vLLM) et les innovations architecturales (équilibrage sans perte auxiliaire, experts partagés). Si vous construisez ou évaluez des LLM aujourd’hui, comprendre le MoE n’est plus optionnel : c’est le paradigme par défaut au sommet de l’échelle.
Questions fréquentes sur le Mixture of Experts
Quelle est la différence entre Mixture of Experts et un ensemble de modèles ?
Un ensemble classique (bagging, boosting) entraîne plusieurs modèles complets et combine leurs prédictions. Le MoE, lui, partage la majeure partie de l’architecture (couches d’attention, embeddings) et ne différencie que les couches FFN en experts. Le routeur fait partie intégrante du modèle et est entraîné conjointement. De plus, seul un sous-ensemble d’experts est activé par token, là où un ensemble active tous ses modèles. Le MoE est donc fondamentalement plus efficient qu’un ensemble à capacité équivalente.
GPT-4 utilise-t-il un Mixture of Experts ?
OpenAI n’a jamais confirmé officiellement l’architecture de GPT-4. Cependant, des fuites et analyses croisées suggèrent qu’il utilise une architecture MoE avec environ 1 800 milliards de paramètres répartis sur 16 experts. Ce chiffre reste non vérifié. Ce qui est confirmé, c’est qu’OpenAI a publié gpt-oss-120B, un modèle open-source MoE, et que l’architecture MoE est clairement dans leur boîte à outils.
Peut-on exécuter un modèle MoE sur un GPU grand public ?
Cela dépend du modèle. Mixtral 8x7B (46,7B paramètres) peut fonctionner sur un GPU RTX 4090 (24 Go) en quantification 4-bit, car l’empreinte mémoire tombe à environ 25 Go. En revanche, DeepSeek V3 (671B paramètres) est hors de portée d’un setup grand public, même quantifié. La règle : c’est le nombre total de paramètres (pas les paramètres actifs) qui détermine la mémoire nécessaire.
Le MoE remplace-t-il les modèles denses ?
Non. Les modèles denses restent pertinents pour les tailles petites et moyennes (jusqu’à ~70B paramètres), où la complexité du MoE n’apporte pas de gain suffisant. LLaMA 3, les modèles Claude d’Anthropic et les petits Ministral sont tous denses. Le MoE brille surtout au-delà de 100 milliards de paramètres, là où le rapport capacité/coût devient décisif.
Qu’est-ce que le « token dropping » dans un MoE et pourquoi est-ce problématique ?
Le token dropping se produit quand un expert reçoit plus de tokens que sa capacité ne le permet (définie par le capacity factor). Les tokens excédentaires « sautent » la couche MoE et passent directement via la connexion résiduelle, sans traitement par un expert. C’est problématique car ces tokens perdent une étape de traitement, dégradant potentiellement la qualité. DeepSeek V3 a résolu ce problème grâce à son système d’équilibrage dynamique par biais, qui maintient une distribution uniforme sans jamais dropper de tokens.