Last verified: 2026-10-14
Qu’est-ce que le Mixture of Experts
Dans un transformer dense standard, chaque jeton traverse chaque couche et active tous les paramètres à chaque passe avant. Un modèle dense de 70B utilise l’intégralité des 70B paramètres pour chaque jeton. Un modèle MoE remplace la sous-couche feed-forward de certaines couches transformer par plusieurs experts sous-réseaux en parallèle et un routeur (aussi appelé réseau de portes) qui décide quels experts traitent chaque jeton. La plupart des experts restent inactifs pour un jeton donné. Un modèle avec 256 experts peut n’en activer que 8 par jeton — environ 3% de sa capacité totale par étape. Le résultat :- Paramètres totaux : déterminent la mémoire nécessaire au modèle (tous les experts doivent rester chargés).
- Paramètres actifs : déterminent le coût de calcul par jeton (seuls les experts sélectionnés s’exécutent).
Comment fonctionne le routage MoE
Chaque couche MoE contient un routeur qui sélectionne quels experts traitent chaque jeton. L’approche la plus courante dans les modèles en production est le gating top-k :- Le routeur calcule un score pour chaque expert en multipliant l’état caché du jeton par une matrice de poids apprise, puis applique un softmax pour produire une distribution de probabilité sur tous les experts.
- Les k experts avec les scores les plus élevés sont sélectionnés. Leurs sorties sont combinées en utilisant les poids normalisés par softmax comme coefficients.
- Tous les autres experts ne produisent aucune sortie pour ce jeton — ils sont entièrement ignorés.
Experts partagés
Certaines architectures réservent un sous-ensemble d’experts partagés qui s’activent pour chaque jeton, indépendamment des scores de routage. Les experts partagés gèrent les patterns communs (bases de la modélisation du langage, formatage) afin que les experts routés puissent se spécialiser. Qwen3-Next utilise 1 expert partagé plus 10 experts routés. Kimi K3 utilise 2 experts partagés plus 16 experts routés. DeepSeek-V3 et le MoE Qwen3 original n’utilisent pas d’experts partagés — tous les experts actifs sont sélectionnés par le routeur.Équilibrage de charge
Un routeur qui envoie toujours les jetons aux mêmes quelques experts annule l’intérêt du MoE : ces experts deviennent des goulots d’étranglement tandis que les autres restent inactifs. Les modèles en production utilisent plusieurs stratégies pour maintenir une utilisation équilibrée des experts :- Perte auxiliaire — une pénalité à l’entraînement qui pousse le routeur vers une utilisation uniforme des experts. La plupart des premiers modèles MoE (Switch Transformer, ST-MoE) utilisent cette approche. Le coût est une légère réduction de la spécialisation : le routeur optimise l’équilibre en même temps que la qualité.
- Équilibrage de charge sans perte auxiliaire — DeepSeek-V3 a introduit une approche basée sur des biais qui ajuste les biais de routage par expert à l’inférence. Si un expert reçoit plus de jetons que sa part cible, son biais diminue, ce qui réduit sa probabilité d’être sélectionné. Cela élimine entièrement le compromis qualité des pertes auxiliaires.
- Stable LatentMoE — Kimi K3 utilise un mécanisme de routage latent appris qui produit des affectations d’experts plus stables entre les jetons, réduisant la variance qui cause le déséquilibre de charge dans le gating top-k standard.
Pourquoi la mémoire MoE évolue avec les paramètres totaux, pas les actifs
C’est le point le plus important à comprendre avant d’exécuter un modèle MoE localement. Tous les experts doivent résider en mémoire en permanence. Le routeur décide dynamiquement — par jeton, par couche — quels experts activer. Il n’y a aucun moyen de savoir à l’avance quels experts une invite donnée nécessitera, donc chaque expert doit être chargé et prêt. Swapper des experts depuis le disque à la demande est bien trop lent pour une inférence interactive. Cela signifie que la formule de mémoire de Mémoire et délestage s’applique aux paramètres totaux, pas aux actifs :Exemples détaillés
Le facteur 1.2x couvre le cache KV, les activations et la surcharge du framework pour une longueur de contexte modeste — la même formule que pour les modèles denses. Consultez Mémoire et délestage pour la dérivation complète du dimensionnement.
Ce que cela signifie en pratique
Un Qwen3-30B-A3B a 30.5B de paramètres totaux mais seulement 3.3B actifs. Il génère des jetons à peu près à la vitesse d’un modèle dense de 3.3B — mais il a besoin de mémoire pour l’ensemble des 30.5B. En 4 bits, cela fait environ 18 Go, ce qui tient dans un GPU de 24 Go. Un modèle dense de 30B en 4 bits aurait besoin d’environ la même mémoire mais générerait les jetons plus lentement, car il traite tous les 30B paramètres par jeton au lieu de 3.3B. À l’inverse, Kimi K3 a 2.8T de paramètres totaux et 104B actifs. Il génère des jetons à peu près à la vitesse d’un modèle dense de 104B — mais il a besoin d’environ 1.4 To de mémoire rien que pour les poids en 4 bits. Aucun matériel grand public ou prosumer ne peut contenir cela.MoE vs modèles denses
L’essentiel : le MoE dissocie la capacité de connaissance du calcul par jeton. Un MoE de 671B paramètres avec 37B actifs peut égaler ou dépasser un modèle dense de 70B en qualité tout en générant des jetons à peu près à la vitesse d’un 70B — mais il a besoin de 671B de mémoire.
Parallélisme d’experts : servir du MoE sur plusieurs GPUs
Quand un modèle MoE ne tient pas sur un seul GPU, vous devez le distribuer. Le parallélisme d’experts est la stratégie spécifique au MoE pour y parvenir :- Chaque GPU détient un sous-ensemble des experts totaux. Dans un modèle de 256 experts réparti sur 8 GPUs, chaque GPU détient 32 experts.
- Pendant la passe avant, les décisions du routeur déterminent quels jetons doivent être envoyés à quel GPU. Les jetons routés vers des experts sur le GPU 3 sont communiqués au GPU 3 pour traitement, puis les résultats reviennent.
- Les couches non-experts (attention, embeddings) sont généralement réparties avec le parallélisme de tenseurs standard, où chaque GPU détient une tranche des matrices de poids de chaque couche.
Quels modèles open-weight utilisent le MoE
La génération actuelle de modèles frontier open-weight s’est massivement orientée vers le MoE. Voici le paysage en octobre 2026 :Moins de 50B total (exécutables sur 1-2 GPUs grand public en 4 bits)
50B-250B total (multi-GPU ou systèmes unifiés à haute mémoire)
Plus de 250B total (matériel serveur requis)
Sources : fiches modèles sur HuggingFace et rapports techniques officiels liés ci-dessous.
Ce qu’il faut retenir pour l’inférence locale
Le MoE change la signification des chiffres sur une fiche modèle :- Paramètres actifs : indiquent la vitesse de génération du modèle. Un MoE de 671B avec 37B actifs génère à peu près à la vitesse de 37B.
- Paramètres totaux : indiquent la mémoire nécessaire au modèle. Ce même MoE de 671B a besoin de 671B de VRAM, pas 37B.
- Nombre d’experts et routage : sont des détails d’architecture qui affectent la qualité et l’efficacité de l’entraînement, mais en tant qu’utilisateur d’inférence locale, vous ne les configurez pas — vous configurez la mémoire et le parallélisme.
Approfondir
Memory and offloading
La formule complète de dimensionnement, y compris les octets par paramètre par précision et les mécanismes de délestage.
Quantization
Réduisez les octets par paramètre pour modifier l’équation mémoire des modèles MoE et denses.
How inference works
Pourquoi le décodage est limité par la bande passante mémoire et comment les paramètres actifs affectent la vitesse de génération.
Model serving and scaling
Stratégies de parallélisme, serving multi-GPU, et comment les runtimes distribuent les modèles.
Modèles utilisant le MoE
Kimi K3
2.8T total, 104B actifs, 896 experts avec routage Stable LatentMoE.
DeepSeek
V3/R1 à 671B/37B, V4.1-Flash à 552B avec activation asymétrique 8B/16B.
Qwen3
Niveaux MoE 30B-A3B et 235B-A22B, 128 experts avec routage top-8.
Qwen3.8
Flagship 2.4T avec 95B actifs, 512 experts, 10 routés + 1 partagé.
GLM-5.3
753B total, ~40B actifs, MoE avec contexte 1M.
gpt-oss
20b (32 experts) et 120b (128 experts), routage top-4, Apache 2.0.
Une fois que ça tient et que ça tourne
Charger un modèle MoE sur votre matériel est la première étape. Une fois qu’il répond aux requêtes surlocalhost, l’étape suivante est d’y accéder depuis n’importe où.
Give it a stable endpoint
Tokios ne choisit, n’héberge ni n’affine le modèle — une fois qu’il tourne localement, Tokios le transforme en un endpoint stable et authentifié que vous pouvez appeler de n’importe où.
Questions fréquentes
Why does an MoE model need memory for all experts if only a few are active?
Why does an MoE model need memory for all experts if only a few are active?
Le routeur sélectionne des experts différents pour chaque jeton, donc chaque expert doit être accessible. À tout moment, seuls k experts s’activent, mais le jeton suivant pourrait nécessiter un ensemble complètement différent. Cela signifie que tous les poids des experts doivent rester en mémoire (VRAM ou RAM) en permanence — vous dimensionnez par les paramètres totaux, pas les paramètres actifs.
How do I know if my hardware can run an MoE model?
How do I know if my hardware can run an MoE model?
Calculez : paramètres totaux × octets par poids. En 4 bits (le plancher de quantification native pour la plupart des modèles MoE), c’est
total_params × 0.5 GB. Ajoutez 20% pour le cache KV et la surcharge. Si ce nombre tient dans votre VRAM + RAM combinées, le modèle se charge. S’il ne tient pas, aucune optimisation ne change cela — il vous faut plus de mémoire ou un modèle plus petit.Can I run an MoE model on a single GPU?
Can I run an MoE model on a single GPU?
Seulement les petits. Qwen3-30B-A3B (30.5B total, ~18 Go en 4 bits) tient dans un GPU de 24 Go. gpt-oss-20b (21B total, ~13 Go en 4 bits) tient aussi. Tout ce qui dépasse ~50B de paramètres totaux nécessite soit du serving multi-GPU (vLLM, SGLang avec parallélisme d’experts), soit un système à mémoire unifiée élevée (Mac Studio, DGX Spark) avec délestage CPU.
What is expert parallelism and when do I need it?
What is expert parallelism and when do I need it?
Le parallélisme d’experts répartit les couches d’experts sur plusieurs GPUs — le GPU 0 détient les experts 0-63, le GPU 1 détient les experts 64-127, etc. Chaque GPU calcule les sorties de ses experts et elles sont combinées via une communication all-to-all. Vous en avez besoin quand les poids totaux des experts ne tiennent pas sur un seul GPU. vLLM et SGLang le supportent tous les deux ; consultez le guide d’optimisation vLLM pour la configuration.
Sources
- DeepSeek-V3 Technical Report — 671B total, 37B active, 256 experts, auxiliary-loss-free load balancing.
- Kimi K2: Open Agentic Intelligence — 1T total, 32B active, 384 experts, 8 active per token.
- Kimi K3 model card — 2.8T total, 104B active, 896 experts, Stable LatentMoE.
- Qwen3 Technical Report — 128 experts, 8 active, no shared experts in Qwen3 MoE.
- Qwen3-Next-80B-A3B — 512 experts, 10 routed + 1 shared.
- Qwen3.8-Max announcement — 2.4T total, 95B active, 512 experts.
- gpt-oss model card — 32 experts (20b) and 128 experts (120b), 4 active per token.
- GLM-5.3 model card — 753B total, ~40B active.
- Mixture of Experts Explained (localaimaster.com) — Routing mechanics and memory implications.
- Mixture-of-Experts LLMs (Cameron R. Wolfe) — Top-k gating formulation and training dynamics.
- MoE training in Qwen3-235B and Kimi-K2 — Learned routing comparison.
- vLLM MoE Playbook — Expert parallelism and mixed parallelism configuration.
- Expert Parallelism in TensorRT-LLM — Multi-GPU expert distribution strategies.