Comment fonctionne un LLM (bonus 2) : le mélange d’experts

Une grande salle à huit portes pastel, dont seulement deux s'éclairent sous un faisceau doux (illustration pixel art). Nov 8, 2026

Comment fonctionne un LLM (bonus 2) : le mélange d’experts

Qui a écrit cette série ?

Cette série a été pilotée, critiquée et validée par Alex, qui en a fixé le plan, les règles de sources et le ton. Les textes ont été rédigés en co-écriture avec Claude (Anthropic) : Claude a proposé des plans, des calculs, des sources et des formulations, qu’Alex a relus, corrigés ou refusés. Alex est responsable du contenu publié.

Dans l’épisode 5, un modèle de langage est décrit comme une pile de blocs. Chaque bloc contient une attention (épisode 3) et un réseau à deux couches, appliqué à chaque position séparément (épisode 5). Ce bonus pose une question simple : et si ce réseau était remplacé par plusieurs réseaux, dont quelques-uns seulement serviraient à chaque token ?

Cette architecture s’appelle le mélange d’experts (en anglais, mixture of experts, abrégé MoE). Le mot « expert » est trompeur : il désigne ici un sous-réseau appris pendant l’entraînement, sans étiquette humaine. Le texte parle donc de sous-réseaux. Un exemple fictif vient d’abord, puis un modèle ouvert publié, Mixtral 8x7B.

Ce bonus se lit après le sixième épisode. Il ne redéfinit pas les notions déjà posées (token, probabilité, paramètre, vecteur, attention, neurone, couche, température). Le piège du total de paramètres a été annoncé à la section 9 de l’épisode 5 ; ce bonus en fait le calcul.

Ce que vous saurez à la fin

  • Dire ce qu’est une couche à mélange d’experts : une couche de réseau remplacée par plusieurs sous-réseaux et un routeur.
  • Expliquer le routage : pour chaque token, le routeur choisit quelques sous-réseaux (2 sur 8 dans l’exemple) et combine leurs sorties avec des poids.
  • Calculer la part des paramètres utilisée par token, sur un réseau fictif puis sur Mixtral.
  • Distinguer paramètres totaux (mémoire) et paramètres actifs (calcul par token).
  • Dire pourquoi les sous-réseaux ne sont pas des spécialistes humains, et pourquoi il faut équilibrer la charge.
  • Savoir qu’un modèle fermé, comme Claude ou GPT-4, n’a pas d’architecture publiée.

1. Une idée ancienne : des sous-réseaux et un aiguilleur

L’idée n’est pas née avec les grands modèles. En 1991, Jacobs, Jordan, Nowlan et Hinton décrivent un mélange adaptatif de réseaux locaux : plusieurs réseaux, et un aiguilleur (en anglais, gating) qui décide, pour chaque cas, quel réseau le traite (Neural Computation 3, p. 79-87, DOI 10.1162/neco.1991.3.1.79).

Le message est simple : répartir le travail entre plusieurs réseaux, et n’en activer qu’une partie, est une vieille idée. Ce qui change avec les LLM, c’est l’échelle, et le fait de placer ce mécanisme dans un Transformer.

2. Le routeur et les sous-réseaux, pas à pas

Reprenons le bloc de l’épisode 5. Dans sa version classique, un réseau à deux couches transforme le vecteur de chaque position. Dans un bloc à mélange d’experts, ce réseau est remplacé par huit sous-réseaux, appris séparément, et par un routeur.

Routage vers deux sous-réseaux sur huitUn token passe par un routeur, qui retient deux sous-réseaux sur huit ; leurs sorties, pondérées, forment la sortie du bloc. Les six autres sous-réseaux ne sont pas calculés.Tokenet son vecteurRouteurgarde 2 sur 8S1S2S3actifS4S5S6actifS7S8Somme pondérée de deux sortiesSchéma simplifié : 2 sous-réseaux actifs sur 8 (exemple illustratif).
Figure 1. Un token, un routeur, huit sous-réseaux dont deux actifs, puis une somme pondérée. Schéma simplifié.

Pour un token, la suite se déroule en quatre temps :

  • Le token arrive avec son vecteur, tel que l’attention l’a déjà mis à jour (épisodes 2 et 3).
  • Le routeur calcule un score pour chacun des huit sous-réseaux. Il garde les deux meilleurs (top-2) et normalise leurs poids, pour que leur somme vaille 1.
  • Les deux sous-réseaux choisis calculent chacun leur sortie. La sortie du bloc est la somme de ces deux sorties, pondérées par leurs poids.
  • Les six autres sous-réseaux ne sont pas calculés pour ce token.

Le choix dépend du token. Il peut aussi changer d’une couche à l’autre : le routeur est appliqué à chaque position et à chaque bloc. Un même mot n’emprunte donc pas toujours les mêmes sous-réseaux.

3. Ce qu’on gagne et ce qu’on paie

Le gain. Le total de paramètres peut être grand, alors que le calcul par token ne porte que sur les sous-réseaux choisis et sur la partie partagée (attention et embeddings, qui servent à tous les tokens).

Le coût. Tous les sous-réseaux doivent tenir en mémoire, même ceux qui ne servent pas au token courant. La mémoire dépend donc du total ; le calcul par token dépend de la part active.

Le lien avec l’épisode 5. Llama 3 et GPT-3, présentés à la section 9 de l’épisode 5 comme des modèles « décodeur seul », sont des modèles denses : tous leurs paramètres servent à chaque token. Ils n’ont ni sous-réseaux ni routeur. Pour un modèle dense, le total et la part active sont donc le même nombre ; avec un mélange d’experts, ce n’est plus le cas, et le total ne mesure plus le calcul par mot.

4. Exemple fictif : 8 sous-réseaux, 2 actifs

Hypothèse fictive : huit sous-réseaux de 100 000 paramètres chacun, soit 800 000 dans la couche à mélange d’experts. La partie partagée (attention et embeddings) pèse 200 000 paramètres. Ces nombres sont inventés pour le calcul.

  • Total : 800 000 + 200 000 = 1 000 000 paramètres.
  • Par token : 2 × 100 000 + 200 000 = 400 000 paramètres.

Il y a donc deux pourcentages, et il faut les nommer. Par token, 40 % du total sont utilisés. Mais seulement 25 % des paramètres des sous-réseaux (2 sur 8) servent à ce token. La part de 40 % tient compte de la partie partagée, qui sert toujours.

Paramètres totaux et actifs, exemple fictifDeux barres empilées : un total de 1 000 000 paramètres dont 800 000 dans des sous-réseaux, et une barre de 400 000 paramètres utilisés par token. Exemple fictif.800 000sous-réseaux200 000 partagés200 000 actifs200 000 partagésTotal : 1 000 000Par token : 400 000TotalUtilisé pour un tokenValeurs fictives. Les 600 000 paramètres des sous-réseaux inactifs ne sont pas calculéspour ce token : ils restent tout de même en mémoire.
Figure 2. Exemple fictif : 1 000 000 paramètres au total, 400 000 utilisés par token. Les nombres sont inventés pour le calcul.

5. Référence publiée : Mixtral 8x7B

Mixtral of Experts, publié par Jiang et al. en 2024 (arXiv 2401.04088), est un modèle ouvert à mélange d’experts. Chaque couche compte 8 sous-réseaux, et 2 sont actifs par token et par couche. Mixtral compte environ 47 milliards de paramètres au total, dont environ 13 milliards actifs par token (arXiv 2401.04088).

Le nom « 8x7B » suggère huit fois 7 milliards, soit 56 milliards. Le total publié est pourtant d’environ 47 milliards. L’explication la plus simple : la partie partagée (attention et embeddings) n’est pas dupliquée. Seule la partie sous-réseaux est répétée huit fois ; la partie partagée est comptée une seule fois, pour tous les tokens. Le total reste donc inférieur à 56 milliards.

Avec ces chiffres, la part utilisée par token est d’environ 13 / 47, soit environ 28 % : un peu plus d’un quart du total. Le calcul par token porte sur deux sous-réseaux sur huit, plus la partie partagée.

Mixtral 8x7B : total et paramètres actifsDeux barres à la même échelle : environ 47 milliards de paramètres au total, environ 13 milliards actifs par token.environ 47 milliardsenviron 13 milliardsTotal publiéActifs par tokenSource : arXiv 2401.04088. Part active : environ 28 % du total.
Figure 3. Mixtral 8x7B : environ 47 milliards de paramètres au total, environ 13 milliards actifs par token (arXiv 2401.04088).

6. Les sous-réseaux ne sont pas des spécialistes humains

Un sous-réseau n’est pas un spécialiste humain ; aucune source citée n’établit de spécialisation par sujet. Le mot « expert » peut suggérer un spécialiste de biologie ou de droit, sans que cela corresponde au mécanisme.

Les sous-réseaux sont appris pendant l’entraînement, sans étiquette humaine. Le routeur choisit ce qui réduit la perte, pas ce qui rangerait les sujets. Le mot « expert » reste dans le titre et le glossaire, avec ce sens seul : un sous-réseau que le routeur choisit.

7. Équilibrer la charge

Le routeur peut envoyer presque tous les tokens vers quelques sous-réseaux, pendant que les autres restent inutilisés. Le modèle perd alors une part de sa capacité, et le calcul se concentre sur peu d’éléments.

Une réponse, dans le papier Switch Transformer (Fedus, Zoph et Shazeer, 2021, arXiv 2101.03961), est une perte auxiliaire : un terme ajouté à la perte principale, qui pénalise une répartition déséquilibrée. Sa forme est α · N · Σ fᵢ · Pᵢ, où N est le nombre de sous-réseaux, fᵢ la part des tokens reçus par le sous-réseau i, Pᵢ la part de probabilité que le routeur lui attribue, et α un coefficient, fixé à 10⁻² (0,01) dans cet article.

Charge par sous-réseau, fictifHuit barres par série : sans perte auxiliaire, un sous-réseau reçoit 42 % des tokens et les autres peu ; avec perte auxiliaire, la répartition est proche de 12,5 % chacun. Valeurs fictives.Sans perte auxiliaireAvec perte auxiliaire10 %20 %30 %40 %S1S2S3S4S5S6S7S8Fictif : part des tokens reçus par chaque sous-réseau, en %.
Figure 4. Histogramme fictif : part des tokens reçus par chaque sous-réseau, sans et avec perte auxiliaire. Valeurs inventées pour l’illustration.

La figure est un histogramme fictif. Sans perte auxiliaire, un sous-réseau reçoit 42 % des tokens et les autres reçoivent peu. Avec elle, la répartition se rapproche de 12,5 % chacun. Ces valeurs sont inventées pour l’illustration.

8. Mémoire : tous les sous-réseaux doivent tenir

Le calcul par token est petit, mais tout sous-réseau peut être choisi par le routeur, donc chacun doit être chargé. Ordre de grandeur, avec 2 octets par paramètre (poids en 16 bits) : 47 milliards de paramètres font environ 94 Go de poids, sans compter le cache ni les activations. Une carte de 80 Go ne suffit pas ; il en faut au moins deux (hypothèse : poids seuls).

Un modèle dense de 13 milliards de paramètres ferait environ 26 Go en 16 bits. Mixtral, pour un token, fait un calcul proche de celui de ce modèle, mais il garde environ 94 Go en mémoire. C’est la différence entre mémoire (le total) et calcul par token (la part active).

Mémoire et part active de MixtralUne barre de poids en 16 bits, environ 94 Go, dont la part utilisée par token, environ 26 Go, est en couleur plus soutenue. Ordre de grandeur.Total : environ 94 Goenviron 47 milliards × 2 octetsPart active : environ 26 Goenviron 13 milliards × 2 octetsPoids à stockerUne seule échelle. Poids seuls : sans cache ni activations. Ordre de grandeur.
Figure 5. Poids en 16 bits d’un modèle à mélange d’experts : tout le total doit être en mémoire, seule une part sert à chaque token. Ordre de grandeur, poids seuls.

9. Des étapes historiques

  • 1991 : Jacobs, Jordan, Nowlan et Hinton décrivent le mélange adaptatif de réseaux locaux, avec un aiguilleur (DOI 10.1162/neco.1991.3.1.79).
  • 2017 : Shazeer et al. introduisent une couche « clairsemée » (sparsely-gated) : des milliers de sous-réseaux, dont quelques-uns seulement sont actifs. Leur résumé annonce jusqu’à 137 milliards de paramètres (arXiv 1701.06538).
  • 2021 : Fedus, Zoph et Shazeer simplifient le routage à un seul sous-réseau par token (top-1, « Switch layer »). Le papier annonce un entraînement « jusqu’à 7 fois » plus rapide, à ressources de calcul égales. Ce facteur concerne l’entraînement, pas l’utilisation du modèle (arXiv 2101.03961).
  • 2024 : Mixtral 8x7B, modèle ouvert à 8 sous-réseaux, dont 2 actifs par token (arXiv 2401.04088).

10. Ce qu’on ne sait pas

Les modèles fermés, comme Claude ou GPT-4, ne publient pas leur architecture. Aucune source publique ne dit s’ils utilisent un mélange d’experts, ni avec combien de sous-réseaux. Une phrase comme « tel modèle est un mélange d’experts », sans article ni fiche technique à l’appui, est une supposition. Les chiffres de ce bonus valent pour les modèles ouverts cités, et pour eux seuls.

11. Deux exercices, avec corrigés

Exercice 1 (fictif). Un réseau a 4 couches à mélange d’experts. Chaque couche compte 16 sous-réseaux de 50 000 paramètres, routage top-2. La partie partagée fait 1 000 000 de paramètres. Combien de paramètres au total, combien par token, et quelle part du total est utilisée par token ? Corrigé : 16 × 50 000 = 800 000 par couche, soit 3 200 000 sur 4 couches. Total : 3 200 000 + 1 000 000 = 4 200 000. Par token : 4 × 2 × 50 000 = 400 000, plus 1 000 000, soit 1 400 000. Part : 1 400 000 / 4 200 000 ≈ 33,3 %.

Exercice 2 (Mixtral). Un serveur a 2 cartes de 80 Go. Avec les chiffres publiés (environ 47 milliards au total, environ 13 milliards actifs), répondre : (a) quelle part des paramètres sert à un token ? (b) les poids en 16 bits tiennent-ils sur les deux cartes ? (c) pourquoi un modèle plus petit en calcul par token n’est pas forcément plus petit en mémoire ? Corrigé : (a) 13 / 47 ≈ 28 %. (b) 47 × 2 = 94 Go, inférieur à 160 Go : oui, avec de la marge, pour les poids seuls ; le cache n’est pas compté ici. (c) La mémoire dépend du total, car tous les sous-réseaux doivent être chargés ; le calcul par token dépend du nombre de sous-réseaux actifs.

12. À retenir

  • Un mélange d’experts remplace le réseau d’un bloc par plusieurs sous-réseaux et un routeur.
  • Le routeur choisit quelques sous-réseaux par token (2 sur 8 dans Mixtral).
  • Le total (mémoire) et la part active (calcul par token) sont deux nombres différents. Un chiffre annoncé doit toujours dire lequel il mesure.
  • Les sous-réseaux ne sont pas des spécialistes humains. Une perte auxiliaire sert à équilibrer la charge.
  • Les modèles denses, comme Llama 3 ou GPT-3, utilisent tous leurs paramètres pour chaque token.

Un mélange d’experts n’est pas un meilleur modèle par défaut. C’est un compromis : on paie en mémoire pour gagner en calcul par token. Devant un chiffre de taille, la première question est donc la même : mesure-t-il le total ou la part utilisée à chaque mot ?

Bonus suivant : pourquoi des petits modèles, ou ce que l’on gagne, et ce que l’on perd, à viser plus petit.

Mini-glossaire

  • Mélange d’experts (MoE) : architecture où une couche est remplacée par plusieurs sous-réseaux et un routeur ; seule une partie des sous-réseaux sert à chaque token.
  • Sous-réseau (« expert ») : réseau de la couche MoE, appris pendant l’entraînement. Le mot « expert » ne signifie pas une spécialisation humaine (section 6).
  • Routeur : partie qui calcule un score pour chaque sous-réseau et choisit les meilleurs.
  • Top-2 : le routeur ne garde que les deux sous-réseaux au score le plus élevé.
  • Paramètres totaux, paramètres actifs : le total est ce qu’il faut stocker ; les actifs sont ceux qui servent à un token.
  • Partie partagée : attention et embeddings, utilisés par tous les tokens.
  • Modèle dense : modèle où tous les paramètres servent à chaque token.
  • Perte auxiliaire : terme ajouté à la perte principale pour équilibrer la charge entre sous-réseaux.

Termes déjà posés, repris sans redéfinition : token, probabilité, paramètre, vecteur, attention, neurone, couche, bloc, perte, température.

Pour aller plus loin

  • Jacobs, Jordan, Nowlan et Hinton, « Adaptive Mixtures of Local Experts », 1991 (DOI 10.1162/neco.1991.3.1.79), en anglais.
  • Shazeer et al., « Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer », 2017 (arXiv 1701.06538), en anglais.
  • Fedus, Zoph et Shazeer, « Switch Transformers », 2021 (arXiv 2101.03961), en anglais.
  • Jiang et al., « Mixtral of Experts », 2024 (arXiv 2401.04088), en anglais.
  • Grattafiori et al., « The Llama 3 Herd of Models », 2024 (arXiv 2407.21783), en anglais, déjà cité à l’épisode 5.
  • Brown et al., « Language Models are Few-Shot Learners », 2020 (arXiv 2005.14165), en anglais, déjà cité à l’épisode 5.

ByAlexandre MODESTO

J'ai passé plus de vingt ans à connecter la Maurienne au monde : fibre, webcams, faisceaux hertziens. Je suis ses laves torrentielles et ses éboulements sur le long terme, et j'écris toutes les deux semaines environ la lettre « L'Univers n'est pas la limite ».

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *