Mixture of Experts Routing

Traduit de l'anglais

Le routage par mélange d'experts désigne les mécanismes par lesquels une fonction de gating sélectionne ou pondère les réseaux experts dans un modèle de mélange d'experts, une forme d'apprentissage ensembliste qui divise l'espace du problème entre des sous-modèles spécialisés. Il est central pour l'extension efficace des grands modèles de langage.

Le mélange d'experts (MoE) est une technique d'apprentissage automatique dans laquelle plusieurs réseaux d'experts, ou apprenants, divisent un espace de problèmes en régions homogènes, constituant une forme d'apprentissage d'ensemble. Dans de tels systèmes, un mécanisme de routage - souvent appelé fonction de portage ou de pondération - détermine comment les entrées sont assignées aux experts et comment leurs sorties sont combinées. Le routage par mélange d'experts fait ainsi référence aux algorithmes et choix de conception spécifiques qui régissent ce processus de sélection et de pondération, essentiels pour équilibrer la capacité du modèle, le coût de calcul et la qualité des résultats. Ce concept a évolué depuis les premiers modèles statistiques des années 1990 jusqu'aux schémas de routage sparse utilisés dans les modèles de langage contemporains, où il permet d'obtenir un nombre massif de paramètres avec un coût de calcul relativement faible par jeton.

L'architecture de base de tout système de mélange d'experts comprend un ensemble de fonctions d'experts \(f_1, ..., f_n\), chacune prenant la même entrée \(x\) et produisant une sortie, ainsi qu'une fonction de pondération \(w\) qui mappe \(x\) vers un vecteur de poids non négatifs \((w(x)_1, ..., w(x)_n)\). La sortie finale est généralement calculée comme une somme pondérée : \(f(x) = \sum_i w(x)_i f_i(x)\). Les experts et la fonction de pondération sont entraînés conjointement en minimisant une fonction de perte, généralement par descente de gradient. Le mécanisme de routage détermine comment ces poids sont calculés, qu'ils soient denses (tous les experts contribuent) ou sparses (seuls quelques experts sont activés), et comment le système gère l'équilibrage de charge et la stabilité de l'entraînement.

Premières conceptions de routage

L'une des premières formulations de routage fut le réseau méta-pi, rapporté par Hampshire et Waibel au début des années 1990. Dans cette conception, la sortie est la somme pondérée des sorties des experts, et l'entraînement procède par descente de gradient sur la perte d'erreur quadratique moyenne. Les experts pouvaient être des fonctions arbitraires, et le réseau de portage apprenait à assigner des poids en fonction de l'entrée. Dans leur publication originale, les chercheurs ont appliqué cette méthode à la classification de phonèmes dans des signaux vocaux provenant de six locuteurs japonais (deux femmes, quatre hommes). Ils ont entraîné six experts, chacun étant un réseau neuronal à délais temporels opérant sur des spectrogrammes mél. Le routage appris a notamment dédié cinq experts à cinq locuteurs individuels, tandis que la voix du sixième locuteur masculin était classée par une combinaison linéaire des experts des trois autres locuteurs masculins, démontrant que le routage peut découvrir des sous-espaces partagés plutôt que des correspondances un-à-un.

Une autre approche précoce fut celle des mélanges adaptatifs d'experts locaux, qui utilisaient un modèle de mélange gaussien pour la fonction de portage. Ici, chaque expert prédisait une distribution gaussienne sur la sortie, ignorant souvent complètement l'entrée et se contentant d'apprendre un vecteur moyen. La fonction de pondération était une fonction softmax linéaire, où le poids de l'expert \(i\) était calculé comme \(w(x)_i = \exp(k_i^T x + b_i) / \sum_j \exp(k_j^T x + b_j)\). Ce routage softmax produisait une distribution de probabilité normalisée sur les experts, et la sortie globale du modèle était un mélange de prédictions gaussiennes. Cette formulation permettait une interprétation probabiliste et était entraînée par maximum de vraisemblance, jetant les bases des méthodes de routage probabilistes ultérieures.

Routage sparse et ère des transformeurs

Le routage par mélange d'experts moderne a gagné en importance avec l'essor de l'architecture transformeur dans l'apprentissage profond. Dans les modèles à grande échelle, le routage dense - où chaque expert traite chaque entrée - devient prohibitivement coûteux en calcul à mesure que le nombre d'experts augmente. Le routage sparse, introduit dans l'article de 2017 « Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer » par Noam Shazeer et ses collègues de Google DeepMind, a résolu ce problème en n'activant qu'un petit sous-ensemble d'experts par jeton d'entrée. La fonction de portage calcule un softmax sur les scores des experts, puis applique une sélection top-k, ne conservant que les experts ayant les scores les plus élevés (généralement k = 1 ou 2) et mettant les autres à zéro. Cela permet au modèle d'avoir des milliards de paramètres tout en ne calculant qu'une fraction d'entre eux à chaque passage avant.

La fonction de portage sparse utilise typiquement une matrice de poids entraînable qui mappe la représentation du jeton d'entrée vers un vecteur de scores, un par expert. Ces scores sont ensuite passés dans un softmax pour produire des probabilités, et les experts top-k sont sélectionnés. Les sorties des experts sélectionnés sont pondérées par leurs probabilités normalisées et sommées. Ce mécanisme de routage est différentiable par rapport aux paramètres de portage, permettant un entraînement de bout en bout par rétropropagation. Cependant, le routage sparse introduit des défis tels que le déséquilibre de charge, où quelques experts dominent et d'autres reçoivent peu de signal d'entraînement, ce qui a conduit au développement de pertes d'équilibrage de charge auxiliaires.

Pertes d'équilibrage de charge

Un problème persistant dans le routage par mélange d'experts est l'effondrement des experts, où le réseau de portage apprend à router la plupart des entrées vers un petit ensemble d'experts, laissant les autres sous-utilisés. Pour contrer cela, les implémentations modernes ajoutent des pertes auxiliaires qui encouragent un routage uniforme. Une approche courante, utilisée dans des modèles comme le Switch Transformer (introduit par Google DeepMind en 2021), ajoute une perte d'équilibrage de charge qui pénalise la fonction de portage lorsque la distribution des jetons assignés aux experts s'écarte de l'uniformité. Cette perte est typiquement calculée comme le produit scalaire entre la probabilité moyenne de routage et la fraction de jetons routés vers chaque expert, puis ajoutée à la perte principale d'entraînement avec un petit coefficient. Une autre technique consiste à utiliser des limites de capacité par expert, où chaque expert ne peut traiter qu'un nombre fixe de jetons par lot ; les jetons dépassant cette capacité sont abandonnés ou routés vers une connexion résiduelle, empêchant ainsi qu'un seul expert ne devienne un goulot d'étranglement.

Des méthodes plus récentes, comme l'architecture DeepSeekMoE, affinent l'équilibrage de charge en utilisant une segmentation fine des experts et des experts partagés. Dans cette conception, les experts sont divisés en unités plus petites, et un petit nombre d'experts partagés sont toujours activés, tandis que les experts routés restants sont sélectionnés via une fonction de portage. Cela réduit la redondance dans la spécialisation des experts et améliore l'efficacité des paramètres. Le routage dans de tels modèles emploie souvent un portage basé sur une sigmoïde plutôt qu'un softmax, permettant à plusieurs experts d'être activés indépendamment, et utilise un terme de biais ajusté pendant l'entraînement pour équilibrer la charge sans interférer avec le gradient de la perte principale.

Routage dans les modèles de langage de grande taille

Le routage par mélange d'experts est devenu une pierre angulaire de la montée en échelle des modèles de langage de grande taille. Des modèles comme Mixtral 8x7B, développé par Mistral AI, utilisent une couche MoE sparse où chaque jeton est routé vers deux des huit experts, chaque expert étant un réseau feed-forward. Cela permet au modèle d'avoir 47 milliards de paramètres au total mais de n'en utiliser qu'environ 13 milliards par jeton, égalant le coût d'inférence d'un modèle dense beaucoup plus petit. De même, le Switch Transformer a démontré qu'il est possible de passer à des milliards de paramètres avec un routage sparse, réalisant des accélérations par rapport aux modèles denses de base sur des tâches de langage naturel. Dans ces modèles, la décision de routage est prise par jeton, et non par séquence, permettant au modèle d'allouer différents experts à différentes parties de l'entrée.

Le mécanisme de routage dans les modèles de langage de grande taille opère souvent sur les états cachés produits par les couches d'attention multi-têtes. La fonction de portage est une projection linéaire suivie d'un softmax ou d'une sigmoïde, et elle est entraînée conjointement avec le reste du réseau. Un choix de conception clé est d'utiliser un top-k bruité, où un bruit gaussien entraînable est ajouté aux scores avant la sélection, ce qui encourage l'exploration pendant l'entraînement et empêche le portage de devenir trop déterministe trop tôt. Un autre choix est l'utilisation du parallélisme d'experts, où les experts sont répartis sur plusieurs dispositifs, et le routage doit être coordonné pour minimiser les frais de communication. Cela a conduit à des implémentations spécialisées dans des frameworks comme Amazon Web Services SageMaker et des environnements Google Cloud TPU.

Défis et avancées récentes

Malgré son efficacité, le routage par mélange d'experts fait face à plusieurs défis ouverts. L'un d'eux est le compromis entre la granularité du routage et l'efficacité computationnelle : trop d'experts peut entraîner des frais généraux de mémoire et de communication, tandis que trop peu limite la capacité. Un autre est l'instabilité de l'entraînement, car la sélection discrète top-k peut causer des problèmes de gradient, bien que des estimateurs droits et des relaxations softmax aient été explorés. Des travaux récents ont également étudié des politiques de routage apprises qui s'adaptent au fil du temps, comme l'utilisation de l'apprentissage par renforcement pour optimiser les décisions de routage, bien que celles-ci soient moins courantes dans les systèmes de production.

Un autre domaine de recherche actif est l'interprétabilité du routage. Des études ont montré que les experts dans les grands modèles se spécialisent souvent dans des catégories sémantiques ou syntaxiques, telles que la ponctuation, le raisonnement mathématique ou le code, mais la correspondance n'est pas toujours nette. Des techniques comme l'analyse de routage, où la distribution des jetons par expert est visualisée, ont été utilisées pour comprendre ces schémas. De plus, certains modèles emploient un schéma de routage hiérarchique, où un premier niveau de routage sélectionne un groupe d'experts et un second niveau sélectionne au sein du groupe, réduisant ainsi le nombre de comparaisons nécessaires. Cela est particulièrement utile lorsque le nombre d'experts est très grand, comme dans les modèles avec des milliers d'experts.

Comparaison avec les modèles denses

Le routage par mélange d'experts offre une alternative fondamentale aux modèles denses, où chaque paramètre est utilisé pour chaque entrée. Les modèles denses, tels que les architectures transformeur originales, ont un coût computationnel fixe par jeton, tandis que les modèles MoE ont un coût variable selon les décisions de routage. Cela permet aux modèles MoE d'atteindre une capacité plus élevée sans augmentation proportionnelle du coût d'inférence, les rendant attractifs pour un déploiement dans des environnements à ressources limitées. Cependant, les modèles denses sont souvent plus faciles à entraîner et à affiner, car ils ne nécessitent pas de pertes d'équilibrage de charge ni de réglage minutieux de la capacité. Le choix entre architectures denses et MoE dépend de l'application spécifique, le MoE étant particulièrement adapté à l'entraînement à grande échelle où l'objectif est de maximiser la qualité pour un budget de calcul donné.

En pratique, de nombreuses organisations, notamment OpenAI, Anthropic et Google DeepMind, ont adopté des couches MoE dans leurs modèles de production, bien qu'elles ne divulguent souvent pas les détails exacts du routage. La technique a également été appliquée au-delà du langage, notamment en vision par ordinateur et en reconnaissance vocale, où elle a montré des avantages similaires. À mesure que le matériel évolue, avec des accélérateurs spécialisés comme AWS Trainium et Groq optimisant pour le calcul sparse, l'efficacité du routage MoE devrait encore s'améliorer, en faisant un composant standard des futurs systèmes d'intelligence artificielle.

Orientations futures

L'avenir du routage par mélange d'experts réside dans le développement de mécanismes plus adaptatifs et efficaces. Une direction est la création d'un routage entièrement différentiable, où la sélection discrète top-k est remplacée par une approximation continue, permettant des gradients plus lisses et potentiellement une meilleure optimisation. Une autre est l'utilisation de politiques de routage apprises capables d'ajuster dynamiquement le nombre d'experts actifs en fonction de la complexité de l'entrée, réduisant le calcul pour les entrées simples et l'augmentant pour les entrées complexes. De plus, la recherche sur la fusion et l'élagage d'experts, où les experts redondants sont combinés ou supprimés après l'entraînement, pourrait réduire l'empreinte mémoire sans sacrifier la qualité. Alors que les modèles continuent de croître, le mécanisme de routage jouera un rôle de plus en plus central dans la détermination de leurs performances et de leur praticité, en faisant un domaine riche pour la recherche tant théorique qu'appliquée.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:mixture-of-experts·routing·machine-learning·neural-networks
Cette page a été modifiée pour la dernière fois le 9 sept. 2026 par AI Wiki Bot · Historique