Mixture of Experts (MoE)
Le Mixture of Experts (MoE) est une architecture de réseau de neurones dans laquelle un LLM contient de nombreux sous-réseaux « experts » spécialisés et, pour chaque token d'entrée, un mécanisme de routage n'active qu'un petit sous-ensemble, typiquement 2 sur 8 ou 8 sur 256, tout en laissant les autres inactifs. Le modèle se comporte comme s'il avait un nombre de paramètres gigantesque (capacité) tout en supportant le coût d'inférence d'un modèle bien plus petit.
Le Mixture of Experts (MoE) est une architecture de réseau de neurones dans laquelle un LLM contient de nombreux sous-réseaux « experts » spécialisés et, pour chaque token d'entrée, un mécanisme de routage n'active qu'un petit sous-ensemble, typiquement 2 sur 8 ou 8 sur 256, tout en laissant les autres inactifs. Le modèle se comporte comme s'il avait un nombre de paramètres gigantesque (capacité) tout en supportant le coût d'inférence d'un modèle bien plus petit.
Pourquoi c'est important
Le MoE est ce qui permet aux LLM modernes de devenir toujours plus intelligents sans faire exploser le coût d'inférence. Mixtral 8×7B, DeepSeek-V3, Grok-2 et, selon les rapports, GPT-4 utilisent tous le MoE pour empiler la capacité à moindre coût. Un modèle dense de 400 milliards de paramètres doit exécuter l'ensemble de ses 400 milliards de poids pour chaque token. Un modèle MoE comptant 400 milliards de paramètres au total mais seulement 40 milliards actifs à la fois s'exécute environ 10 fois plus vite et à moindre coût, tout en conservant l'essentiel des connaissances encodées par les paramètres supplémentaires. Pour les développeurs, le MoE change la donne quant aux modèles de pointe réellement abordables à servir et aux options open source viables à grande échelle.
Comment cela fonctionne
Experts : à l'intérieur de chaque bloc transformer, la couche feed-forward est remplacée par N réseaux feed-forward parallèles (les « experts »). Typiquement : 8, 16, 64 ou 256 experts par couche.
Réseau de routage : un petit routeur appris décide quels k meilleurs experts traiteront chaque token. k vaut généralement 1 ou 2.
Activation parcimonieuse : seuls les experts sélectionnés exécutent leurs poids pour ce token. Les autres ne contribuent pas, de sorte que le calcul évolue avec k × la taille de l'expert, et non avec le nombre total d'experts.
Équilibrage de charge : une fonction de perte appliquée à l'entraînement encourage le routeur à répartir les tokens uniformément afin qu'aucun expert ne soit privé de données. Sinon, le modèle se replie sur l'utilisation de quelques experts et gaspille les autres.
Agrégation : les sorties des experts sélectionnés sont pondérées par les scores de routage et additionnées.
Paramètres totaux vs paramètres actifs
Chaque spécification MoE comporte deux chiffres :
- Paramètres totaux : le nombre total de poids du modèle (détermine la mémoire).
- Paramètres actifs : le calcul par token (détermine le coût d'inférence).
Exemple : Mixtral 8×7B compte environ 47 milliards de paramètres au total mais seulement environ 13 milliards actifs par token. DeepSeek-V3 compte 671 milliards au total et 37 milliards actifs. C'est dans cet écart que réside la magie du MoE.
Pourquoi cela fonctionne
Différents experts se spécialisent implicitement durant l'entraînement. Un expert peut devenir l'expert « code », un autre l'expert « mathématiques », un autre encore l'expert « langues européennes ». Le routeur apprend à envoyer les bons tokens aux bons experts. Cela s'apparente, dans l'esprit, à la manière dont les humains utilisent différentes régions du cerveau pour différentes tâches : un routage efficace du signal, plutôt qu'un processus monolithique.
Compromis
Mémoire : même si seuls certains experts s'exécutent par token, tous les experts résident en VRAM. Un MoE de 671 milliards nécessite toujours suffisamment de mémoire GPU pour 671 milliards de paramètres.
Complexité de service : router les tokens vers des experts spécifiques est plus difficile à paralléliser que l'inférence dense. Des moteurs d'inférence spécialisés (vLLM, TensorRT, DeepSpeed) sont généralement requis.
Instabilité de l'entraînement : l'équilibrage de charge, l'effondrement des experts et le bruit du routeur rendent l'entraînement MoE plus délicat que l'entraînement dense.
Surcoût de communication : dans l'entraînement distribué, le routage token-vers-expert nécessite une communication GPU de type all-to-all. Le réseau devient un goulot d'étranglement.
Difficulté du fine-tuning : les modèles MoE sont plus difficiles à affiner efficacement : la dynamique du routeur dérive avec de nouvelles données.
MoE vs dense
| Aspect | Dense | MoE |
|---|---|---|
| Calcul par token | Tous les paramètres | k experts sur N |
| Empreinte mémoire | Faible pour la taille | Élevée pour la taille |
| Coût d'inférence | Proportionnel aux paramètres totaux | Proportionnel aux paramètres actifs |
| Difficulté d'entraînement | Standard | Plus difficile (équilibrage, routage) |
| Spécialisation | Implicite dans les couches | Explicite dans les experts |
Règle générale : le MoE l'emporte sur le coût par token et l'utilisation du calcul ; le dense l'emporte sur l'efficacité mémoire et l'ergonomie du fine-tuning.
Modèles MoE notables
- Mixtral 8×7B (Mistral, 2023) : premier MoE ouvert largement utilisé. 47 milliards au total, 13 milliards actifs.
- Mixtral 8×22B (Mistral, 2024) : variante plus grande.
- DeepSeek-V3 / V3.1 / R1 (DeepSeek, 2024-2025) : 671 milliards au total, 37 milliards actifs. MoE extrême avec 256 experts par couche, 8 actifs.
- Grok-2 (xAI, 2024) : architecture MoE.
- GPT-4 et Claude Opus : largement présumés utiliser le MoE en interne (non officiellement confirmé pour tous).
Sources :