Certains modèles d'intelligence artificielle comptent des centaines de milliards de paramètres, mais n'en mobilisent qu'une fraction pour traiter chaque token. Une particularité des architectures MoE, qui permet d'augmenter leur capacité sans multiplier les calculs dans les mêmes proportions.

Quand on tombe sur un modèle d'IA annonçant mille milliards de paramètres (impressionnant !), puis qu'on apprend qu'il n'en mobilise en réalité que cinquante milliards par token (bonjour la déception), on aurait quand même toutes les bonnes raisons du monde de se demander si on ne nous prendrait pas pour des dindons, par hasard. Et les 950 milliards restants, ils servent à faire joli ? Pas du tout. Ils sont bien là, mais le modèle n'a pas besoin de tous les solliciter pour traiter chaque token. C'est le principe des architectures Mixture of Experts (MoE), littéralement « mélange d'experts », qui répartissent le travail entre différents groupes de paramètres selon les informations à traiter.
Une armée de paramètres, mais pas toujours de mobilisation générale
Quand on soumet une requête à un modèle de langage, il commence par découper le texte en tokens, de petites unités pouvant correspondre à des mots, des morceaux de mots ou des caractères. Il convertit ensuite chaque token en une représentation numérique, que les calculs successifs du modèle font évoluer à l'aide de ses paramètres, qui s'apparentent à des coefficients ajustés pendant l'entraînement pour donner plus ou moins de poids aux informations traitées.
Ces opérations permettent de tenir compte du contexte de la requête et, à terme, de déterminer les probabilités des tokens susceptibles de venir ensuite. Le modèle finit par en sélectionner un, puis procède de la même façon pour les suivants.
Pour effectuer ce travail, le modèle peut soit s'appuyer sur le même ensemble de paramètres d'un token à l'autre, quel que soit le texte traité, soit sélectionner, pour chaque token, quelques groupes ciblés de paramètres appelés « experts ». Dans le premier cas, on parle d'architecture dense ; dans le second, d’architecture MoE.
Des experts sans spécialité attitrée
Avec un nom pareil, on aurait tôt fait d’imaginer une IA composée de plusieurs petits modèles, chacun excellent dans un domaine bien précis : les maths pour l'un, la traduction pour l'autre, la programmation pour un troisième, etc.
Sauf que les experts d'un MoE ne sont pas des mini-modèles autonomes, mais des sous-réseaux de neurones dotés de leurs propres paramètres. Leurs éventuelles spécialisations dépendent de ce qu'ils apprennent pendant l'entraînement, et non d'une discipline qu'on leur aurait attribuée à l'avance.
Ces sous-réseaux prennent place dans certaines couches du modèle, c'est-à-dire dans les étapes successives au fil desquelles évolue la représentation numérique des tokens. Là où une architecture dense ferait intervenir un seul sous-réseau de ce type, un MoE peut en réunir plusieurs dans une même couche, sans qu'ils soient tous sollicités pour chaque token.
Ce choix revient à un routeur. À partir de la représentation du token, qui tient déjà compte de son contexte, ce système d'aiguillage propre à chaque couche MoE attribue un score aux experts disponibles et retient les mieux notés pour la traiter. La sélection peut ainsi changer d'un token à l'autre, mais aussi d'une couche à la suivante. Lorsque plusieurs experts interviennent, le modèle combine leurs contributions avant de poursuivre ses calculs.
Les experts ne prennent cependant pas tous les calculs en charge. Dans les architectures MoE courantes, les opérations qui analysent les relations entre les tokens, par exemple, utilisent les mêmes paramètres, quels que soient les experts sélectionnés. Les 50 milliards de paramètres actifs évoqués au départ comprennent donc à la fois ceux des experts retenus et ceux utilisés pour ces opérations communes.
Un neurone artificiel, qu'est-ce que c'est ?
Un neurone artificiel est une petite unité de calcul qui reçoit plusieurs valeurs issues de la représentation numérique d'un token. Il multiplie chacune par un coefficient, additionne les résultats, applique une fonction mathématique à la somme obtenue, puis transmet une nouvelle valeur aux neurones suivants. Reliés entre eux, ces neurones forment un réseau capable d'effectuer des calculs complexes. Dans un MoE, chaque expert constitue donc un sous-réseau de ce type, doté de ses propres paramètres.
Pourquoi posséder autant de paramètres si seuls quelques-uns travaillent ?
Parce que les experts écartés pour un token peuvent avoir un rôle à jouer dans le traitement des suivants. Le modèle dispose ainsi d'un vaste ensemble de paramètres dans lequel puiser selon les besoins, sans avoir à tous les mobiliser en même temps. C'est là tout l'intérêt du MoE : augmenter sa capacité sans faire grimper dans les mêmes proportions la quantité de calculs nécessaire à son entraînement comme à la génération de ses réponses.
Pour autant, cette organisation n’est pas garante de meilleurs résultats. La qualité d'un modèle dépend aussi de son entraînement, de son architecture et de la manière dont ses paramètres sont utilisés. Un MoE doté de centaines de milliards de paramètres n'est donc pas obligatoirement plus performant qu'un modèle dense plus petit, ni plus facile à faire fonctionner.
Moins de calculs, mais pas forcément moins de ressources
Car même lorsqu'ils ne participent pas aux calculs d'un token, les paramètres doivent bien être stockés quelque part et rester accessibles pour les suivants. Les cinquante milliards de paramètres actifs ne correspondent donc pas aux besoins en mémoire d'un modèle qui en compte mille milliards. C'est l'ensemble de ses paramètres qu'il faut pouvoir héberger, même s'ils ne travaillent pas tous en même temps.
Pour les modèles les plus volumineux, les experts peuvent aussi être répartis entre plusieurs GPU, parfois installés sur des machines différentes. Le modèle doit alors transmettre les données du token aux processeurs qui hébergent les experts sélectionnés, puis récupérer leurs résultats. Des échanges qui prennent du temps et mobilisent des ressources supplémentaires.
Il faut enfin compter les calculs effectués par les routeurs, chargés d'évaluer les experts disponibles pour chaque token et de déterminer lesquels solliciter.
Bref, tout ça pour dire qu’un MoE peut effectuer moins de calculs qu'un modèle dense comptant autant de paramètres, sans être nécessairement plus rapide, plus léger ou moins coûteux à faire tourner.