Calculateur de paramètres actifs MoE
Données
| Experts au total | 8 |
|---|---|
| Experts actifs (top-k) | 2 |
| Paramètres par expert | 7 |
| Paramètres partagés | 1 |
Calculateur de paramètres actifs MoE
Calculez le nombre total et le nombre de paramètres actifs d'un modèle Mixture-of-Experts à partir du nombre d'experts, du routage top-k, de la taille par expert et des poids partagés, en distinguant l'empreinte mémoire du calcul par jeton.
Données
Modèle
Résultats
Saisissez une valeur pour afficher les résultats.
Détails
Les paramètres actifs MoE
Un modèle Mixture-of-Experts porte une paire de nombres frappante : un grand nombre total de paramètres qui décrit ce qu'il peut contenir, et un nombre actif bien plus petit qui décrit le travail qu'il effectue par jeton. Les deux sont souvent confondus, et pourtant ils répondent à des questions différentes — l'un fixe la facture mémoire, l'autre la facture de calcul. Ce calculateur les sépare à partir du nombre d'experts, du routage top-k, de la taille par expert et des poids partagés.
Comment se construit un Mixture of Experts
Dans un transformeur dense, chaque jeton traverse chaque poids. Un Mixture of Experts remplace le bloc feed-forward d'une couche par de nombreux experts parallèles et ajoute un petit routeur qui, pour chaque jeton, ne choisit que les top-k d'entre eux. Le reste du modèle — l'attention, le routeur, les embeddings et parfois un expert partagé qui s'exécute toujours — reste commun à tous les jetons. Ainsi, le chemin d'un jeton touche les poids partagés et seulement la poignée d'experts vers lesquels il a été routé, tandis que les experts restants demeurent inactifs pour ce jeton.
Cela découple deux quantités qui évoluent ensemble dans un modèle dense. La capacité croît avec le nombre d'experts, car davantage d'experts peuvent stocker plus de connaissances spécialisées. Le calcul ne croît qu'avec les experts actifs, car seuls ceux-ci effectuent de l'arithmétique sur un jeton donné.
Les deux nombres
Avec experts au total, actifs par jeton, paramètres par expert et paramètres partagés, les nombres total et actif valent
TAr=s+E⋅p=s+k⋅p=TAoù est le total qui détermine l'empreinte mémoire, est le nombre actif qui détermine le calcul par jeton, et est la fraction des poids touchée par chaque jeton.
Exemple chiffré
Considérons un modèle de huit experts de sept milliards de paramètres chacun, routant deux experts par jeton, par-dessus un milliard de paramètres partagés :
TAr=1+8×7=57 milliards=1+2×7=15 milliards=5715≈0,263=26,3%Le modèle contient 57 milliards de paramètres mais dépense du calcul comme s'il s'agissait d'un modèle de 15 milliards de paramètres sur chaque jeton — environ un quart des poids sont actifs à la fois. C'est là tout l'attrait : la capacité d'un modèle de 57 milliards au coût par jeton d'un modèle de 15 milliards, ou presque.
La mémoire suit toujours le total
Le hic, c'est que les économies portent sur le calcul, non sur la mémoire. Comme n'importe quel expert peut être choisi pour n'importe quel jeton, et qu'un lot de jetons se répartit sur de nombreux experts, ils doivent tous résider en même temps — le modèle ne peut pas prédire de quels experts un futur jeton aura besoin. L'empreinte mémoire dépend donc du nombre total , tandis que seul le calcul dépend du nombre actif . Un modèle Mixture-of-Experts est ainsi volumineux à héberger mais peu coûteux à exécuter, l'équilibre inverse de celui d'un modèle dense de coût par jeton équivalent.
Le nombre total qui pèse sur le côté mémoire peut être reconstruit à partir de l'architecture avec le Calculateur du nombre de paramètres d'un transformeur, et la mémoire nécessaire pour effectivement servir ces poids est traitée dans le Calculateur de VRAM pour l'inférence LLM.
Questions fréquentes (FAQ)
Pourquoi utiliser un Mixture of Experts ?
Un Mixture of Experts permet à un modèle d'augmenter son nombre de paramètres — et donc sa capacité à stocker des connaissances — sans hausse correspondante du calcul dépensé sur chaque jeton. Le routeur n'envoie chaque jeton qu'à un petit nombre d'experts, si bien que le travail en virgule flottante par jeton suit les paramètres actifs plutôt que le total.
Cela rend possible l'entraînement et le service d'un modèle comportant bien plus de paramètres qu'un modèle dense de même coût par jeton.
Quelle est la différence entre paramètres totaux et paramètres actifs ?
Les paramètres totaux comptent chaque poids du modèle : les couches partagées plus l'ensemble des experts. Les paramètres actifs ne comptent que les poids utilisés sur un seul jeton : les couches partagées plus les quelques experts que le routeur sélectionne. Le nombre total de paramètres détermine l'empreinte mémoire, car tous les experts doivent être disponibles pour pouvoir être choisis.
Le nombre actif détermine le calcul et la latence par jeton, car seuls les experts routés effectuent du travail.
Si seuls quelques experts s'exécutent par jeton, pourquoi la mémoire dépend-elle du total ?
N'importe quel expert peut être sélectionné pour n'importe quel jeton, et sur un lot de jetons de nombreux experts différents sont utilisés, si bien qu'ils doivent tous résider en mémoire en même temps.
Le modèle ne peut pas savoir à l'avance de quels experts un futur jeton aura besoin. L'empreinte mémoire dépend donc du nombre total de paramètres, même si le calcul pour un jeton donné ne dépend que du nombre actif. C'est le compromis central de l'approche : un calcul bon marché, mais les poids complets doivent quand même être conservés.
Mentions légales
Il s'agit d'une estimation de premier ordre qui suppose des experts de taille uniforme et traite les poids partagés comme toujours actifs. Elle ignore le déséquilibre du routage, le petit réseau routeur lui-même et toute duplication due au parallélisme d'experts entre appareils. Utilisez-la pour comparer des conceptions, non comme une comptabilité exacte.
Recommandations
Calculateur du nombre de paramètres d'un transformeur
Estimez le nombre total de paramètres d'un transformeur à décodeur seul à partir du nombre de couches, de la taille cachée, de l'expansion du réseau à propagation avant et de la taille du vocabulaire, grâce à une formule architecturale au premier ordre.