Accueil / Factory / Algos ML / Mixture of Experts — factory / algos ML / architecture des modèles de langage

MIXTURE OF EXPERTS.

Dans un modèle Mixture of Experts (MoE), certaines couches sont dupliquées en plusieurs « experts », et un routeur choisit pour chaque token les quelques experts à solliciter. Le modèle stocke beaucoup de paramètres mais n'en calcule qu'une petite partie par token. C'est ainsi que Mixtral ou DeepSeek-V3 allient grande taille et coût de calcul modéré.

LLMArchitectureCoût d'inférenceTransformerNiveau : avancé

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceQualité d'un grand modèle pour le calcul d'un plus petit
InterprétabilitéLes experts ne correspondent pas à des thèmes lisibles
VitessePeu de calcul par token, mais tous les experts en mémoire
Facilité de réglageEntraînement délicat : il faut équilibrer la charge
Tolérance aux données brutesComme tout LLM : texte brut accepté après tokenisation
EN 30 SECONDES

Un cabinet de 8 spécialistes avec un standardiste. Chaque question est transmise aux 2 spécialistes les plus pertinents : le cabinet réunit le savoir de 8 personnes, mais chaque question ne mobilise que 2 agendas.

1. Le routeur note les experts

Pour chaque token, une petite couche calcule un score par expert. Ce routeur apprend en même temps que le reste du modèle.

2. Seuls les mieux notés calculent

On garde les k experts aux meilleurs scores, 2 sur 8 dans Mixtral. Leurs sorties sont combinées, pondérées par ces scores ; les autres experts ne calculent rien pour ce token.

3. On équilibre la charge

Pendant l'entraînement, un mécanisme d'équilibrage évite que le routeur envoie tout aux mêmes experts. Sans lui, quelques experts saturent et les autres ne servent à rien.

LE CAS MÉTIER

choix d'un LLM open source · DSI / équipe data
EN ENTRÉE

Un modèle à héberger soi-même

Une DSI compare des LLM ouverts pour un usage interne. Deux contraintes : la mémoire des GPU, qui doit contenir tous les paramètres, et le calcul par token, qui fixe la vitesse et le coût.

EN SORTIE

Paramètres stockés et paramètres actifs

Le code simule une couche à 8 experts dont 2 actifs : chaque token ne mobilise qu'un quart des paramètres des experts. Mixtral 8x7B suit ce schéma : 46,7 milliards de paramètres au total, environ 12,9 milliards utilisés par token.

CE QU'ON MESURE

Mémoire, débit et qualité

On dimensionne les GPU sur les paramètres totaux, on estime le débit sur les paramètres actifs, puis on compare la qualité sur ses propres cas d'usage. La part de tokens reçue par chaque expert vérifie que la charge est équilibrée.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Choisir un LLM à héberger : comprendre pourquoi un MoE est rapide mais gourmand en mémoire
  • Servir beaucoup d'utilisateurs avec un calcul par token modéré
  • Entraîner un très grand modèle avec un budget de calcul fixé
  • Lire les fiches techniques : paramètres actifs contre paramètres totaux

NON

  • Serveur à mémoire limitée : un modèle dense plus petit y tient mieux
  • Faible volume de requêtes : la complexité de déploiement ne se rentabilise pas
  • Premier projet d'affinage sur un seul GPU : un modèle dense est plus simple à adapter
  • Espérer des experts thématiques (juridique, finance) : la spécialisation apprise n'a pas ce sens
LES 4 RÉGLAGES QUI COMPTENT

Ces choix se font à la conception du modèle. Ils expliquent les différences entre les MoE du marché. Noms donnés pour le code de la fiche.

n_experts

Nombre d'experts par couche : 8 dans Mixtral, 256 experts routés dans DeepSeek-V3. Plus d'experts, c'est plus de connaissances stockées pour le même calcul par token.

top_k

Nombre d'experts sollicités par token : 2 dans Mixtral, 8 dans DeepSeek-V3. C'est lui qui fixe le coût de calcul.

Équilibrage de charge

Une perte auxiliaire, ou un ajustement des scores du routeur, répartit les tokens entre experts. Sans elle, quelques experts captent tout le trafic.

Capacité par expert

Nombre maximal de tokens qu'un expert traite par lot. Trop basse, des tokens sautent l'expert ; trop haute, on gaspille de la mémoire.

LE CODE MINIMAL

données simulées dans le code
# Choisir un LLM open source : couche Mixture of Experts en Python
import numpy as np

rng = np.random.default_rng(42)
d, d_cachee, n_experts, top_k = 64, 256, 8, 2
# 8 experts = 8 petits réseaux à 2 couches (poids aléatoires pour l'exemple)
W1 = rng.normal(0, 0.1, (n_experts, d, d_cachee))
W2 = rng.normal(0, 0.1, (n_experts, d_cachee, d))
routeur = rng.normal(0, 0.1, (d, n_experts))
tokens = rng.normal(0, 1, (1000, d))  # 1 000 tokens déjà transformés en vecteurs

scores = tokens @ routeur  # le routeur note chaque expert pour chaque token
choisis = np.argsort(scores, axis=1)[:, -top_k:]  # on garde les 2 mieux notés
sortie = np.zeros_like(tokens)
for i, x in enumerate(tokens):
    s = scores[i, choisis[i]]
    poids = np.exp(s - s.max()) / np.exp(s - s.max()).sum()  # softmax sur les 2 retenus
    for p, e in zip(poids, choisis[i]):
        sortie[i] += p * (np.maximum(x @ W1[e], 0) @ W2[e])  # seuls 2 experts calculent

charge = np.bincount(choisis.ravel(), minlength=n_experts) / len(tokens)
print("Part des tokens traités par chaque expert :", charge.round(2))
par_expert = W1[0].size + W2[0].size
print("Paramètres des experts :", n_experts * par_expert, "| utilisés par token :", top_k * par_expert)
print("Sortie de la couche :", sortie.shape)

Les Mixture of Experts se pratiquent en Python (PyTorch, transformers) : pas d'équivalent R courant.

QUESTIONS FRÉQUENTES

Que signifie 8x7B dans Mixtral 8x7B ?

8 experts construits sur la base d'un modèle de 7 milliards de paramètres. Seules les couches denses sont dupliquées, l'attention est partagée : le total est d'environ 46,7 milliards de paramètres, et non 56.

Un modèle MoE est-il plus rapide qu'un modèle dense ?

À taille totale égale, oui : il calcule beaucoup moins par token. Mais il occupe autant de mémoire qu'un modèle dense de même taille totale, et la répartition des experts entre GPU ajoute des échanges. Le gain réel dépend de l'infrastructure.

Les experts sont-ils spécialisés par sujet ?

Pas au sens métier. L'analyse publiée par Mistral AI sur Mixtral ne trouve pas d'expert attitré à un domaine ; le routage suit plutôt la syntaxe et la forme du texte. Il n'existe pas d'expert « juridique » ou « médical » identifiable.

LES ALGOS VOISINS

à comparer avant de choisir
l'architecture de base

Transformer

Le MoE remplace la couche dense de chaque bloc Transformer par un groupe d'experts ; l'attention reste partagée.

Voir la fiche →
ce que le MoE fait tourner

GPT et LLM

Un MoE reste un LLM qui prédit le token suivant. Seule l'organisation interne du calcul change.

Voir la fiche →
l'autre façon de combiner

Stacking

Le stacking consulte tous ses modèles pour chaque prédiction ; le MoE n'en consulte que quelques-uns, choisis par le routeur.

Voir la fiche →
— formation

Passer de la fiche à la pratique

Dataistudio forme les équipes au machine learning et à l'IA, sur des cas concrets.

Voir les formations →