Un modèle d’IA peut compter dix fois plus de paramètres qu’un autre sans produire de meilleures réponses. Ces petits coefficients influencent ses calculs, mobilisent parfois une mémoire considérable et disent finalement moins de ses capacités qu’on pourrait le croire.

7 milliards, 70 milliards, 400 milliards… En quelques années, le nombre de paramètres des modèles d’IA a explosé, et dépasse aujourd’hui le millier de milliards pour les plus imposants. Cet indicateur renseigne d’abord sur la taille du modèle et sert volontiers de point de comparaison, mais il nourrit aussi parfois des raccourcis un peu faciles sur ses capacités. Alors, que compte-t-on exactement quand on parle d’un modèle à X milliards de paramètres ? Ni des mots appris, ni des faits enregistrés, ni même des neurones artificiels, mais des valeurs numériques ajustées au cours de l’entraînement du modèle. Bien. Et concrètement ?
70 milliards de paramètres, mais 70 milliards de quoi ?
Un paramètre est avant tout un nombre. Plus exactement, un coefficient interne et persistant du modèle, qui influence la manière dont il traite les données et calcule ses prédictions.
Qu’il soit fixé à 0,018, -0,42 ou 1,27 importe peu en soi : extraire un paramètre du modèle ne permet pas d’en déduire grand-chose. En revanche, la place qu’il occupe dans les calculs et ses interactions avec des milliards d’autres paramètres déterminent ce qui sera renforcé, atténué ou combiné dans les séries de nombres qui représentent les tokens à l’intérieur du modèle.
Dans un modèle de langage générant du texte token par token, cette succession de calculs attribue finalement un score à chacun des tokens de son vocabulaire. Ces scores sont convertis en probabilités, puis l’un des tokens est sélectionné. Après « Paris est la capitale de la », par exemple, l’action conjointe de milliards de paramètres donnera une probabilité élevée au token susceptible d’amorcer une suite comme « France », et bien plus faible à ceux qui cadrent mal avec le contexte. Le token retenu rejoint alors le texte déjà généré, et les calculs recommencent pour prédire le suivant, jusqu’à la fin de la génération.
Impossible, donc, d’isoler le paramètre qui contient « Paris », la conjugaison d’un verbe ou la date d’un événement : aucun ne renferme une information que l’on pourrait lire ou extraire telle quelle. Ce que le modèle a appris dépend des effets combinés d’un très grand nombre de ces coefficients. Une même connaissance peut ainsi mobiliser quantité de paramètres, et un même paramètre participer à des calculs utiles dans des contextes très différents.
Un paramètre n’est pas non plus un neurone artificiel, mais une valeur numérique utilisée dans les calculs du réseau, dont les neurones peuvent faire intervenir de nombreux paramètres. Compter les paramètres ne revient donc pas à compter les neurones du réseau.
Tenseurs, poids, biais… où et comment sont organisés les paramètres ?
Techniquement, ces milliards de paramètres sont regroupés dans des tableaux de nombres appelés tenseurs. De tailles différentes, ils sont répartis dans le modèle selon les opérations auxquelles ils participent.
Une grande partie de ces tableaux contient des poids, utilisés dans les calculs du modèle. Selon l'architecture, on trouve également des biais qui, contrairement aux poids, ajoutent une valeur au résultat d'un calcul plutôt que de multiplier les valeurs reçues. Ils permettent ainsi de décaler ce résultat indépendamment des entrées.
D'autres tableaux remplissent des fonctions particulières. La table d'embeddings, par exemple, contient les représentations numériques initiales des tokens du vocabulaire. Chaque token y possède sa propre série de nombres, apprise pendant l'entraînement.
Enfin, certaines opérations de normalisation disposent de paramètres qui permettent d'ajuster l'échelle des valeurs intermédiaires, afin de stabiliser les calculs.
L’apprentissage du modèle, une affaire de milliards de paramètres à régler
Lorsque vous utilisez un modèle, les valeurs de ses paramètres sont déjà fixées : elles ne changent pas à chaque nouvelle requête. Mais avant d’arriver à ces milliards de coefficients qui lui permettront de produire de bonnes prédictions, il a fallu trouver leurs valeurs. C’est le rôle de l’entraînement.
Pour éviter de plonger tout de suite dans des considérations trop techniques, on peut se représenter le processus comme un gigantesque égaliseur doté de milliards de curseurs. Au départ, aucun n’est encore réglé comme il le sera dans le modèle final. Au fil de l’entraînement, leurs positions sont affinées par une multitude de micro-ajustements, calculés à partir de l’écart entre ce que produit le modèle et ce qu’il aurait dû produire, pour corriger progressivement ses erreurs.
Ces réglages ne sont pas repris un par un. Chaque prédiction dépend d’un très grand nombre de paramètres, et l’erreur mesurée permet de calculer comment ajuster simultanément leurs valeurs. Une fois l’entraînement terminé, les réglages obtenus sont figés et constituent une sorte d’immense « preset » numérique que le modèle utilisera ensuite pour générer ses réponses.
C’est ainsi qu’un modèle apprend. Il ne remplit pas graduellement une base de données dans laquelle il rangerait les informations rencontrées pendant son entraînement. À force d’ajustements, il apprend des régularités de la langue, des associations et des relations entre concepts, qu’il pourra ensuite exploiter face à des textes qu’il n’a jamais rencontrés. Cela ne l’empêche pas de mémoriser parfois certaines séquences de son corpus d’entraînement.
Plus de paramètres, une IA forcément plus performante ?
À architecture et entraînement comparables, un modèle doté de 70 milliards de paramètres dispose évidemment d’une plus grande marge de manœuvre qu’un autre qui n’en compte que 7 milliards. Ces coefficients supplémentaires lui offrent en effet davantage de possibilités pour prendre en compte les liens entre les mots et les idées, distinguer les différents sens d'un terme selon son contexte ou combiner plusieurs informations dans une même réponse. En apprentissage automatique, on parle de capacité du modèle. Mais dix fois plus de paramètres ne veulent pas dire dix fois plus de connaissances, et encore moins des réponses dix fois meilleures.
Car disposer de plus de paramètres ne garantit pas qu'ils seront mieux exploités. La quantité et la qualité des données, les ressources de calcul mobilisées, l’architecture du réseau ou encore la durée et les méthodes d’entraînement peuvent faire une différence considérable. C’est ainsi qu’en 2022, les chercheurs de DeepMind ont réussi à faire mieux avec quatre fois moins de paramètres. Leur modèle Chinchilla, qui n’en comptait que 70 milliards contre 280 milliards pour Gopher, avait été entraîné sur un volume de données beaucoup plus important et obtenait de meilleurs résultats sur la grande majorité des tests, à budget de calcul équivalent.
Retenez donc que le nombre de paramètres renseigne sur le potentiel d’un modèle, mais ne permet pas, à lui seul, d’évaluer ses performances. Deux IA de taille analogue peuvent obtenir des résultats très différents selon les tâches, et un modèle plus imposant n’est pas nécessairement plus fiable.
Paramètres totaux et paramètres actifs, pas tous à la fois
D’autant que, selon l’architecture employée, tous les paramètres annoncés ne participent pas nécessairement à chaque prédiction.
Dans un modèle dit « dense », la quasi-totalité des paramètres intervient dans les calculs nécessaires à la génération de chaque nouveau token. Mais d’autres modèles adoptent une architecture appelée Mixture of Experts (MoE), ou « mélange d'experts ». Une partie du réseau est organisée en plusieurs groupes de paramètres, les fameux experts, parmi lesquels un système de routage choisit ceux qu’il sollicitera. On distingue alors les paramètres totaux, qui correspondent à l’ensemble des coefficients du modèle, et les paramètres actifs, effectivement mobilisés pour traiter un token.
Malgré leur nom, ces experts ne sont pas de petites IA spécialisées chacune dans un domaine, comme les mathématiques, la traduction ou la programmation. Leur sélection dépend du token traité et de son contexte, et peut donc varier d’un token à l’autre, y compris au sein d’une même phrase.
À titre d’exemple, Mistral Large 4 compte quelque 1 050 milliards de paramètres au total, mais n’en mobilise qu’environ 52 milliards pour traiter un token. Cette organisation permet de disposer d’un très grand nombre de paramètres sans avoir à tous les solliciter à chaque prédiction, ce qui limite considérablement les besoins en puissance de calcul lors de la génération.
Alors attention, inactif ne veut pas dire absent. Les paramètres qui ne participent pas au traitement d’un token ne disparaissent pas : ils restent en réserve et peuvent être mobilisés pour les suivants. Si les architectures MoE permettent ainsi de réduire la quantité de calculs effectués, le nombre total de paramètres continue de peser sur les besoins en mémoire du modèle.
Des milliards de paramètres à faire tenir en mémoire
Car tous ces paramètres, qu’ils soient actifs ou non, occupent de la place. Et qu’un coefficient soit fixé à 0,018 ou à 1,27 n’y change rien. Ce n’est pas sa valeur qui détermine son encombrement en mémoire, mais le nombre de bits utilisés pour la représenter.
Ces bits, des 0 et des 1, servent à coder le nombre en mémoire : plus on en utilise, moins on a besoin d’arrondir sa valeur. On appelle ce degré d’exactitude la précision numérique. Avec 16 bits, soit deux octets par paramètre, un modèle de 7 milliards de paramètres occupe ainsi environ 14 Go pour ses seuls coefficients. Passez à 70 milliards, et vous atteignez déjà 140 Go, sans même compter la mémoire supplémentaire nécessaire aux calculs du modèle. Vous voyez le problème.
Et pourtant, des modèles aussi volumineux tournent aujourd’hui localement sur des ordinateurs personnels. Comment ? Parce que tous ces paramètres n’ont pas besoin d’être codés avec autant de précision. C’est tout l’intérêt de la quantification, technique qui permet d’utiliser moins de bits pour représenter leurs valeurs, quitte à introduire quelques approximations. En passant de 16 à 4 bits, par exemple, les 7 milliards de paramètres de notre modèle n’occupent plus que 3,5 Go en théorie, contre 14 Go initialement. Pour celui de 70 milliards, on descend de 140 à 35 Go (oui, quand même).
Mais il y a un mais. En modifiant les valeurs des paramètres, la quantification peut aussi affecter les calculs du modèle et, selon la méthode employée et la précision conservée, dégrader plus ou moins sensiblement la qualité de ses réponses. Les techniques actuelles permettent néanmoins de limiter ces pertes, parfois presque imperceptibles à l’usage.