Imaginez un cabinet de consultants : face à une question, vous ne convoquez pas les 100 spécialistes du cabinet, mais seulement les 2 ou 3 dont l'expertise correspond au problème. C'est exactement le principe du Mélange d'experts (Mixture of Experts, MoE) : au lieu d'activer tout un réseau de neurones géant pour chaque entrée, on n'active qu'une petite fraction de sous-réseaux spécialisés, appelés experts.
Comment ça marche
Un bloc MoE remplace une couche dense classique par deux composants :
- un ensemble de $N$ experts (de petits réseaux indépendants) ;
- un routeur (gating network) qui, pour chaque jeton, choisit les $k$ experts les plus pertinents (typiquement $k=1$ ou $k=2$).
La sortie est une combinaison pondérée des experts retenus :
$$ y = \sum_{i \in \text{Top-}k} g_i(x)\, E_i(x) $$
où $g_i(x)$ est le poids attribué par le routeur à l'expert $E_i$. Les experts non sélectionnés ne calculent rien : c'est l'activation parcimonieuse (sparse activation).
Pourquoi c'est puissant
| Réseau dense | Réseau MoE |
|---|---|
| Tous les paramètres actifs | Seuls $k$ experts actifs |
| Calcul ∝ taille totale | Calcul quasi constant |
| Coûteux à scaler | Capacité énorme, coût maîtrisé |
On peut ainsi entraîner des modèles à centaines de milliards de paramètres tout en gardant un coût de calcul par jeton proche d'un modèle bien plus petit. C'est la clé de plusieurs grands modèles récents (Mixtral, les architectures de pointe de Google et d'autres laboratoires).
Le défi de l'équilibrage
Le risque : le routeur prend l'habitude de toujours appeler les mêmes experts. On ajoute donc une perte d'équilibrage de charge (load balancing loss) pour répartir le travail entre tous les experts.
Le MoE découple la capacité d'un modèle de son coût d'inférence : grandir sans tout payer à chaque fois.