Mixture-of-Experts (MoE) (FR)
Mixture-of-Experts (MoE) (de l'anglais : « Mélange d'experts ») est une architecture de réseaux de neurones basée sur le principe du calcul conditionnel et le paradigme « Diviser pour régner ». Au lieu d'utiliser un modèle monolithique unique (« dense »), où tous les paramètres sont mobilisés pour traiter chaque signal d'entrée, l'architecture MoE décompose la tâche en la déléguant à un sous-ensemble de sous-réseaux spécialisés, appelés « experts ». Un composant spécial, le réseau de routage (gating network ou routeur), détermine dynamiquement quels experts traiteront chaque token d'entrée spécifique[1][2].
Cette approche permet de créer des modèles avec un nombre colossal de paramètres (des centaines de milliards, voire des trillions), tout en maintenant les coûts de calcul (FLOPs) lors de l'inférence à un niveau comparable à celui de modèles denses beaucoup plus petits[3]. Grâce à cela, MoE est devenue une technologie clé pour la mise à l'échelle des grands modèles de langage (LLM) modernes et est utilisée dans des systèmes de pointe tels que Mixtral 8x7B, Grok-1 et, selon une opinion largement répandue, GPT-4[1].
Principe clé : calcul conditionnel et sparsité
Le mécanisme fondamental de MoE est le calcul conditionnel (conditional computation). Contrairement aux modèles denses, où tous les paramètres sont actifs lors du traitement de n'importe quel token, les modèles MoE n'activent qu'une petite fraction de leurs paramètres en fonction des données d'entrée. Ce processus conduit à une sparsité des activations (sparsity in activation), ce qui constitue la principale différence par rapport aux architectures traditionnelles[4].
Cette approche permet de :
- Augmenter la capacité du modèle : Le nombre total de paramètres (et donc les « connaissances » du modèle) peut être considérablement augmenté sans une croissance proportionnelle de la charge de calcul.
- Améliorer l'efficacité : Le modèle effectue moins de calculs par token, ce qui se traduit par une inférence plus rapide et une réduction des coûts d'entraînement pour un budget de calcul donné[5].
Ainsi, MoE déplace le goulot d'étranglement de la puissance de calcul vers les exigences en matière de mémoire (VRAM), car tous les paramètres de tous les experts doivent être chargés en mémoire, même si seule une petite partie d'entre eux est utilisée à un instant donné[6].
Composants de l'architecture MoE
1. Sous-réseaux experts (Experts)
Les experts sont généralement des réseaux de neurones indépendants. Dans le contexte de l'architecture Transformer, les couches MoE remplacent habituellement les blocs denses entièrement connectés (Feed-Forward Networks, FFN), et chaque expert est lui-même un FFN[1]. Au cours de l'entraînement, chaque expert peut développer une « compétence » dans des domaines spécifiques — par exemple, l'un peut se spécialiser en syntaxe, un autre sur des faits d'un domaine de connaissance particulier, et un troisième sur une langue ou un style spécifique[7].
2. Réseau de contrôle (Gating Network / Router)
Le réseau de routage est un composant petit mais essentiel qui effectue une répartition intelligente des tâches. Pour chaque token d'entrée, le routeur calcule des scores (poids) déterminant quels experts sont les plus pertinents pour son traitement. La décision de routage est dynamique et dépend du contexte[8].
La stratégie la plus courante est le routage Top-K, où les K experts ayant les scores les plus élevés sont sélectionnés pour traiter un token. La valeur de K est généralement faible (par exemple, 1 ou 2), ce qui garantit la sparsité.
3. Combinaison des sorties
Une fois que les K experts sélectionnés ont traité le token, leurs sorties individuelles sont combinées pour former le résultat final de la couche MoE. En règle générale, cela se fait par une sommation pondérée, où les poids sont les scores normalisés générés par le routeur[1].
Évolution de MoE
Le concept de MoE a été proposé pour la première fois en 1991 dans un article de Robert Jacobs, Geoffrey Hinton et Michael Jordan intitulé « Adaptive Mixtures of Local Experts »[3]. Cependant, en raison des limitations de calcul et de la complexité de l'entraînement, l'idée n'a pas été largement adoptée avant l'ère de l'apprentissage profond.
La percée a eu lieu avec l'avènement de l'architecture Transformer. Les recherches menées entre 2010 et 2015 sur le calcul conditionnel (par Yoshua Bengio et d'autres) ont jeté les bases théoriques, et les travaux de Shazeer et al. (2017) ont démontré la possibilité de mettre à l'échelle un MoE jusqu'à un modèle LSTM de 137 milliards de paramètres[8].
La renaissance moderne de MoE est liée au modèle Switch Transformer de Google (2021), qui a été mis à l'échelle jusqu'à 1,6 trillion de paramètres en utilisant un routage Top-1 simple mais efficace[9]. Le succès du modèle open-source Mixtral 8x7B de Mistral AI en 2023 a définitivement établi MoE comme l'une des architectures de premier plan pour la création de LLM haute performance[1].
Défis et méthodes d'optimisation
Équilibrage de la charge
L'un des principaux défis de MoE est le déséquilibre de la charge, où le routeur sélectionne constamment les mêmes experts « populaires », tandis que d'autres restent sous-utilisés. Cela conduit à un entraînement inefficace et à un « effondrement des experts ».
- Fonctions de perte auxiliaires (Auxiliary Loss) : Une méthode traditionnelle qui ajoute une « pénalité » pour la distribution inégale des tokens à la fonction de perte principale. Bien que cela aide à l'équilibrage, cette approche peut introduire des « gradients parasites », dégradant la performance globale[10].
- Équilibrage sans perte (Loss-Free Balancing) : Une approche plus récente qui applique dynamiquement un biais (bias) aux scores du routeur, l'incitant à prendre des décisions plus équilibrées sans interférer avec la tâche d'apprentissage principale[11].
- Routage par choix de l'expert (Expert Choice Routing) : Une approche alternative où ce ne sont pas les tokens qui choisissent les experts, mais chaque expert qui choisit les `top-k` tokens d'un lot. Cela garantit un équilibrage parfait, mais peut être plus complexe à mettre en œuvre[1].
Ajustement fin et quantification
- Ajustement fin (Fine-tuning) : Historiquement, les modèles MoE étaient sujets au surapprentissage en raison de leur grand nombre de paramètres. Pour atténuer ce problème, des techniques telles que le « dropout d'expert » sont utilisées[12].
- Quantification (Quantization) : Réduction de la précision numérique des poids pour diminuer la taille du modèle et accélérer l'inférence. Pour les MoE, c'est une tâche complexe en raison du déséquilibre entre les experts. Des méthodes comme MoEQuant proposent des solutions basées sur un calibrage équilibré pour chaque expert[13].
Optimisation système
Le déploiement efficace de MoE nécessite une approche système holistique, incluant :
- Stratégies de parallélisme : Le parallélisme d'expert (répartition des experts sur différents GPU), le parallélisme de modèle et le parallélisme de données[14].
- Noyaux (kernels) spécialisés : Par exemple, Megablocks pour Mixtral, qui optimisent les multiplications matricielles pour les opérations creuses[15].
- Co-conception matérielle (Hardware Co-design) : Le développement de solutions matérielles spécifiquement optimisées pour les charges de travail MoE.
Modèles MoE emblématiques
| Modèle | Développeur | Nb total de paramètres |
Paramètres actifs |
Nb d'experts |
Experts sélectionnés (k) |
|---|---|---|---|---|---|
| Switch Transformer C-2048 | 1,6 trillion | Dépend de la taille de l'expert | 2048 | 1 | |
| Mixtral 8x7B | Mistral AI | ~47 milliards | ~13 milliards | 8 | 2 |
| Grok-1 | xAI | 314 milliards | 86 milliards | 8 | 2 |
| GPT-4 (supposément) | OpenAI | >1 trillion | - | 16 (supp.) | 2 (supp.) |
| Qwen 2 MoE | Alibaba | 57-90 milliards | 14 milliards | 64 | 4 ou 8 |
| DeepSeekMoE 16B | DeepSeek-AI | 16,4 milliards | ~2,8 milliards | 64 (2 actifs) | 2 (sur 6)[16] |
Application dans divers domaines
Bien que les MoE soient surtout connus dans le contexte des LLM, leur application ne se limite pas au traitement du langage naturel :
- Prévision de séries temporelles : Le modèle Time-MoE présente une architecture évolutive pour le pré-entraînement de modèles de prévision[17].
- Détection de vulnérabilités : MoEVD utilise MoE pour décomposer la tâche de détection de vulnérabilités en une classification par types de CWE, où chaque expert se spécialise dans son propre type[18].
- Intégration avec les technologies blockchain : MoE trouve des applications dans l'optimisation des contrats intelligents et la détection de fraudes, où les experts analysent différents modèles de transactions[19].
- Modèles multimodaux : MoE est utilisé pour combiner des experts spécialisés dans différentes modalités (texte, image, audio), créant ainsi des systèmes plus polyvalents[20].
Références
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 «Applying Mixture of Experts in LLM Architectures». NVIDIA Technical Blog. [1]
- ↑ «Mixture of Experts (MoE): A Big Data Perspective». arXiv. [2]
- ↑ 3.0 3.1 «Mixture-of-Experts (MoE): что это такое и как работает». LLM Studio. [3]
- ↑ «Serving Mixtral MoE Model». Friendli.ai Blog. [4]
- ↑ «What is Mixture of Experts (MoE)? How it Works and Use Cases». Zilliz Learn. [5]
- ↑ «Mixture of Experts (MoE) vs Dense LLMs». Maximilian Schwarzmüller's Blog. [6]
- ↑ «Understanding Mixture of Experts in Deep Learning». VE3. [7]
- ↑ 8.0 8.1 «Mixture of Experts Explained». Hugging Face Blog. [8]
- ↑ «Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity». arXiv. [9]
- ↑ «Auxiliary-Loss-Free Load Balancing Strategy for Mixture-of-Experts». OpenReview. [10]
- ↑ «DeepSeek-V3 Explained: 3. Auxiliary-Loss-Free Load-Balancing». gopubby.com. [11]
- ↑ «Switch Transformers: Scaling to Trillion Parameter Models with...». cse.ust.hk. [12]
- ↑ «MoEQuant: Enhancing Quantization for Mixture-of-Experts...». arXiv. [13]
- ↑ «A Survey of Mixture of Experts Models: Architectures and Applications in Business and Finance». Preprints.org. [14]
- ↑ «Mixtral of Experts». arXiv. [15]
- ↑ «A Survey on Inference Optimization Techniques for Mixture of Experts Models». arXiv. [16]
- ↑ «Time-MoE: A Scalable and Unified Framework for Pre-training Time Series Foundation Models». arXiv. [17]
- ↑ «MoEVD: A Mixture of Experts-based Framework for Vulnerability Detection». Semantic Scholar. [18]
- ↑ «What a Decentralized Mixture-of-Experts (MoE) Is and How It Works». Gate.io Learn. [19]
- ↑ «LLaMA-MoE: Building Mixture-of-Experts from Open-source LLMs». arXiv. [20]