Le routage MoE sparse est un mécanisme dans les réseaux de neurones Mixture of experts qui détermine quels sous-réseaux experts traitent chaque jeton d'entrée. Dans une couche de mélange d'experts sparse, un routeur ou une fonction de gating évalue l'entrée et sélectionne seulement un petit nombre d'experts, généralement un ou deux, parmi un pool plus large. Cela contraste avec le mélange d'experts dense, où tous les experts contribuent à chaque sortie. La décision de routage est prise par jeton, permettant à différentes parties d'une séquence d'entrée d'être traitées par différents experts. Cette conception augmente le nombre total de paramètres d'un modèle tout en maintenant le coût computationnel par jeton approximativement constant, car seuls les experts sélectionnés sont activés pendant les passages avant et arrière.
Le concept est issu de travaux antérieurs sur le mélange d'experts dans les années 1990, mais le routage sparse est devenu pratiquement important dans les années 2010 et 2020 comme moyen de faire évoluer les grands modèles de langage au-delà des limites des architectures Transformer (architecture) denses. En routant les jetons vers des experts spécialisés, les modèles peuvent capturer des motifs diversifiés dans les données sans exiger que tous les paramètres soient actifs pour chaque entrée. Le routage MoE sparse est désormais un composant central de plusieurs modèles de production notables, y compris ceux développés par Google DeepMind, OpenAI et d'autres organisations de recherche.
Origines Historiques
L'idée fondamentale du mélange d'experts remonte au début des années 1990. Des chercheurs tels que Robert A. Jacobs, Michael I. Jordan, Steven J. Nowlan et Geoffrey E. Hinton ont introduit l'architecture des mélanges adaptatifs d'experts locaux en 1991, où un réseau de gating pondérait les sorties de plusieurs réseaux experts. À peu près à la même époque, le réseau meta-pi de John Hampshire et Alex Waibel a appliqué un schéma de pondération similaire à la classification des phonèmes de la parole, entraînant six réseaux de neurones à délais sur des données de six locuteurs japonais. Ces premiers systèmes utilisaient une pondération dense, ce qui signifie que tous les experts contribuaient à chaque sortie, mais ils ont établi les composants de base : les fonctions experts, une fonction de gating et une combinaison pondérée.
Le routage sparse, où seulement un sous-ensemble d'experts est activé, a été exploré à la fin des années 1990 et au début des années 2000, mais il a gagné du terrain avec l'essor de l'apprentissage profond. En 2017, des chercheurs de Google DeepMind ont publié la couche de mélange d'experts à gating sparse, qui a introduit un réseau de gating entraînable sélectionnant les top-k experts pour chaque entrée. Ce travail a démontré que l'activation sparse pouvait augmenter considérablement la capacité du modèle sans augmentation proportionnelle du calcul, ouvrant la voie à des applications à grande échelle ultérieures.
Mécanisme de Routage
Dans une couche MoE sparse, le mécanisme de routage consiste en une fonction de gating, généralement une couche linéaire suivie d'un softmax sur la dimension des experts. Pour une représentation de jeton d'entrée \(x\), le routeur calcule un score pour chacun des \(n\) experts, souvent comme \(w(x)_i = \text{softmax}(W_g x)_i\), où \(W_g\) est une matrice de poids apprenable. Le routeur sélectionne ensuite les top-k experts avec les scores les plus élevés, où k est un hyperparamètre, généralement fixé à 1 ou 2. La sortie de la couche est une somme pondérée des sorties des experts sélectionnés, avec des poids normalisés parmi les experts sélectionnés.
Cette sélection par jeton permet au modèle de se spécialiser : différents experts peuvent apprendre à gérer différents types d'entrées, comme différentes langues, domaines ou motifs syntaxiques. La décision de routage est déterministe pendant l'inférence, mais pendant l'entraînement, le routeur doit être entraîné conjointement avec les experts. Comme la sélection top-k n'est pas différentiable, les chercheurs utilisent des techniques telles que l'estimateur à passage direct ou le gating top-k bruité, qui ajoute un bruit apprenable aux logits pendant l'entraînement pour encourager l'exploration et l'équilibrage de charge.
Équilibrage de Charge et Pertes Auxiliaires
Un défi majeur dans le routage MoE sparse est de garantir que les experts sont utilisés à peu près également. Sans intervention, le routeur peut converger vers un état où quelques experts reçoivent la plupart des jetons, tandis que d'autres restent sous-utilisés, réduisant la capacité effective. Pour y remédier, les modèles intègrent des pertes auxiliaires d'équilibrage de charge qui pénalisent la distribution déséquilibrée des jetons entre les experts. Une approche courante, introduite dans le Switch Transformer (2021) par des chercheurs de Google (AI), ajoute un terme de perte proportionnel à la fraction de jetons routés vers chaque expert multipliée par la probabilité moyenne du routeur pour cet expert. Cela encourage le routeur à distribuer les jetons plus uniformément.
Une autre technique est la capacité des experts, qui limite le nombre de jetons que chaque expert peut traiter dans un lot donné. Si un expert atteint sa capacité, les jetons excédentaires sont soit abandonnés, soit routés vers une connexion résiduelle. Cela empêche tout expert de devenir un goulot d'étranglement et assure un calcul prévisible. Des méthodes plus récentes, comme le routage sans perte auxiliaire utilisé dans DeepSeek-V3 (2024), utilisent des ajustements de biais dynamiques pour équilibrer la charge sans pertes auxiliaires explicites.
Mise à l'Échelle et Efficacité
Le routage MoE sparse permet de faire évoluer les paramètres du modèle bien au-delà de ce que les modèles denses permettent. Par exemple, le Switch Transformer a introduit des modèles avec jusqu'à 1,6 billion de paramètres, mais chaque jeton n'activait qu'une petite fraction d'entre eux. De même, Mixtral 8x7B, publié par Mistral AI en 2023, utilise huit experts par couche avec deux actifs par jeton, atteignant des performances comparables à des modèles denses plus grands tout en utilisant moins de calcul par jeton. GShard de Google (2020) a appliqué le MoE sparse à la traduction automatique, et des modèles ultérieurs comme GLaM (2021) et PaLM (2022) ont intégré des couches MoE pour l'efficacité.
Les gains d'efficacité proviennent du fait que le coût computationnel par jeton évolue avec le nombre d'experts actifs, et non avec le nombre total de paramètres. Cela permet aux modèles d'avoir plus de paramètres, ce qui peut améliorer la précision, tout en maintenant les coûts d'inférence et d'entraînement gérables. Cependant, les modèles MoE sparse nécessitent plus de mémoire pour stocker tous les paramètres des experts, et ils introduisent un surcoût de communication dans l'entraînement distribué, car les jetons doivent être routés vers des experts qui peuvent résider sur différents appareils.
Applications dans les Grands Modèles de Langage
Le routage MoE sparse est devenu une technique standard dans les grands modèles de langage. De nombreux modèles à poids ouverts et propriétaires utilisent des couches MoE pour équilibrer qualité et coût. Par exemple, Mixtral 8x7B et Mixtral 8x22B de Mistral AI, Qwen1.5-MoE d'Alibaba, et DeepSeek-V2 et V3 de DeepSeek utilisent tous un routage sparse. Dans le domaine propriétaire, le GPT-4 de OpenAI est largement rapporté comme utilisant une architecture de mélange d'experts, bien que l'entreprise n'ait pas confirmé les détails. Les modèles Claude de Anthropic et les modèles Gemini de Google intègrent probablement aussi des couches MoE, selon des déclarations publiques et des brevets.
Ces modèles utilisent le routage pour spécialiser les experts à travers les domaines, les langues ou les tâches de raisonnement. Par exemple, certains experts peuvent gérer le raisonnement mathématique, tandis que d'autres se concentrent sur la génération de code ou le texte multilingue. Le routeur apprend à diriger les jetons vers les experts appropriés en fonction du contexte d'entrée, améliorant les performances globales sans exiger que tous les experts traitent chaque jeton.
Défis d'Entraînement
L'entraînement des modèles MoE sparse présente des défis uniques au-delà de l'équilibrage de charge. Le routeur peut souffrir d'instabilité, où de petits changements dans les paramètres entraînent de grands décalages dans les décisions de routage, provoquant une divergence d'entraînement. Des techniques telles que le gating top-k bruité et l'abandon sur le routeur aident à stabiliser l'entraînement. De plus, les experts peuvent se spécialiser trop tôt, conduisant à une forme d'effondrement de mode où le modèle échoue à généraliser. Les chercheurs ont proposé des méthodes comme l'abandon d'experts et la régularisation de routage pour atténuer cela.
Un autre défi est le surcoût de communication dans l'entraînement distribué. Dans une configuration typique, chaque expert est placé sur un appareil différent, et les jetons doivent être envoyés de leur appareil d'origine à l'appareil hébergeant l'expert sélectionné. Cette communication de tous à tous peut devenir un goulot d'étranglement, surtout pour de grandes tailles de lots. Des implémentations efficaces, comme celles des bibliothèques Megatron et DeepSpeed, utilisent des schémas de communication optimisés pour réduire ce surcoût.
Développements Récents
La recherche récente s'est concentrée sur l'amélioration de la qualité du routage et la réduction du coût des modèles MoE. L'approche Mixture-of-Depths (2024) étend l'idée de la parcimonie à la dimension de profondeur, routant les jetons non seulement vers différents experts mais aussi en sautant des couches entières. Une autre direction est la segmentation fine des experts, où les experts sont plus petits et plus nombreux, permettant une spécialisation plus fine. DeepSeek-V3, par exemple, utilise 256 experts par couche avec seulement 8 actifs, atteignant des performances de pointe à un coût d'entraînement réduit.
La co-conception matérielle et logicielle a également progressé. Des entreprises comme NVIDIA et AMD ont optimisé leurs accélérateurs pour l'inférence MoE, et des frameworks comme vLLM et TensorRT-LLM prennent en charge un service MoE efficace. L'intérêt croissant pour le déploiement en périphérie a conduit à des recherches sur la compression des modèles MoE, comme l'élagage et la quantification des experts, pour les adapter à des appareils avec une mémoire limitée.
Directions Futures
Le routage MoE sparse reste un domaine de recherche actif. Les questions ouvertes incluent comment déterminer automatiquement le nombre optimal d'experts et la granularité de routage, comment rendre le routage plus interprétable, et comment combiner le MoE avec d'autres techniques d'efficacité comme le Model Pruning et la quantification. Alors que les modèles continuent de croître, le routage sparse jouera probablement un rôle central dans l'équilibre entre capacité et coût computationnel, permettant des systèmes d'IA plus puissants sans demandes de ressources prohibitives.