Aller au contenu
Se connecter

AI-DevOps

Ce qui se passe entre votre question et la réponse d'un LLM

Vous posez une question, la réponse arrive. Entre les deux, six étapes toujours les mêmes. On les suit une par une, tranquillement, du découpage du texte jusqu'aux cartes qui font tourner le modèle.

Par 11 min de lecture

Vous tapez « Quelle est la capitale du Japon ? ». Une seconde plus tard, « Tokyo » s’affiche.

Entre les deux, il s’est passé pas mal de choses. Rien de magique, et rien d’incompréhensible non plus : six étapes, qui se suivent toujours dans le même ordre.

On va les parcourir une par une. Pas d’équations, aucun prérequis — juste le trajet, depuis un tas de texte brut jusqu’à la réponse qui apparaît sur votre écran. Les termes anglais sont donnés entre parenthèses la première fois, parce que ce sont eux que vous retrouverez partout ailleurs.

1. Les données : on commence par jeter

Avant qu’un modèle existe, il faut du texte. Énormément de texte.

Et la première chose qu’on en fait, c’est d’en jeter la plus grande partie. Ça peut surprendre, mais ça devient évident dès qu’on regarde ce qu’on ramasse sur le web.

La même phrase revient à l’identique sur quatre mille sites. Des pages entières ne disent rien d’autre que « ACHETEZ MAINTENANT meilleur prix cliquez ici ». D’autres ne sont que du balisage cassé, qui n’a jamais vraiment été du texte. Tout cela part : les doublons, le contenu vide, et ce qui est abîmé.

Pourquoi tant de soin pour une étape aussi ingrate ? Parce qu’un modèle apprend exactement ce qu’on lui donne. Une phrase qu’il rencontre quatre mille fois, il finit par la prendre pour une évidence. Le ménage du départ décide de beaucoup de choses.

2. Les jetons : le texte devient des nombres

Un modèle ne sait pas lire. Il ne manipule que des nombres.

Il faut donc traduire. On commence par découper la phrase en petits morceaux appelés jetons (tokens). Ce ne sont ni des mots ni des lettres, mais des fragments, taillés selon ce qui revient souvent dans la langue.

Une phrase de sept mots devient onze jetons, chacun converti en identifiant puis en vecteur. LL Ms ·don 't ·read ·text ·the ·way ·humans ·do . 11 jetons « LLMs don't read text the way humans do. » 2420 son identifiant dans le vocabulaire un vecteur de plusieurs centaines de dimensions — le plongement
L'exemple et le décompte viennent du découpeur de GPT-2. Le petit point « · » représente l'espace qui précède le mot : pour le modèle, « text » et « ·text » ne sont pas la même chose. Et le point final, lui, compte pour un jeton entier.

Deux choses méritent qu’on s’y arrête.

D’abord, un jeton n’est pas un mot. Un terme courant en occupe un seul, un mot rare peut en demander trois ou quatre. Dans l’exemple ci-dessus, « LLMs » en consomme deux à lui tout seul.

Ensuite, ce découpage a surtout été appris sur de l’anglais. Le français a donc besoin de plus de jetons pour dire la même chose, et l’arabe davantage encore. Comme tout se facture au jeton, écrire en français revient un peu plus cher qu’écrire en anglais. C’est rarement mentionné.

Chaque jeton reçoit ensuite un numéro, qui est sa place dans le vocabulaire du modèle. Puis ce numéro se transforme en une longue liste de nombres, qu’on appelle un plongement (embedding). C’est cette liste, et plus jamais le texte, que la suite va manipuler.

3. Le transformeur : la machine à relier les mots

On arrive au modèle lui-même. Son nom a l’air intimidant — transformeur (transformer) — mais son mécanisme central l’est beaucoup moins. On l’appelle l’attention.

L’idée tient en une phrase : chaque jeton regarde tous les autres, et décide lesquels comptent pour lui.

Un exemple vaut mieux qu’une définition.

Le mécanisme d'attention rattache le pronom « il » à « serveur » plutôt qu'à « développeur ». Le développeur a réparé le serveur parce qu'il avait planté. candidat écarté lien retenu
Grammaticalement, « il » peut aussi bien être le développeur que le serveur. La phrase seule ne permet pas de choisir : il faut comprendre le sens. C'est exactement ce que fait l'attention, et c'est tout ce qu'elle fait.

C’est vraiment tout ce que fait une couche du modèle. Elle relie.

La couche suivante recommence, à partir de ce que la précédente a produit. Puis la suivante encore, sur plusieurs dizaines d’étages. Le mécanisme reste le même du début à la fin : c’est l’empilement qui fait le travail.

4. Le pré-entraînement : deviner le mot suivant, des milliards de fois

Le modèle existe, mais il ne sait rien. On va lui apprendre, avec un exercice d’une simplicité étonnante : deviner ce qui vient ensuite.

On lui montre « La capitale du Japon est », on lui demande la suite, et on compare sa proposition à la bonne réponse.

Quand il se trompe — et au début, il se trompe tout le temps — un mécanisme appelé rétropropagation (backpropagation) refait le calcul à l’envers. Il cherche quels réglages internes ont mené à l’erreur, et de combien il faudrait les ajuster. Ces réglages s’appellent des poids, et il y en a beaucoup : 124 millions dans GPT-2, qu’on considère pourtant aujourd’hui comme un tout petit modèle.

Ensuite on recommence. Puis encore. C’est là que les chiffres deviennent difficiles à se représenter.

Trois chiffres de l'entraînement de Llama 3 405B et leur conversion en durée. Jetons vus 15,6 billions Cartes en parallèle 16 000 Heures-GPU 30,84 M Sur une seule carte, ces 30,84 millions d'heures feraient 3 518 ans. En en alignant seize mille, l'affaire est pliée en 80 jours. C'est tout le métier.
Chiffres publiés par Meta pour Llama 3 405B en 2024. Les deux conversions en durée sont de moi : elles se refont à la calculatrice. Mettre 16 000 cartes en parallèle ne coûte pas moins cher — cela permet simplement de finir un jour.

Au bout de cette étape, le modèle sait continuer n’importe quel texte. En revanche, il ne sait toujours pas discuter avec vous.

5. Le post-entraînement : apprendre à répondre

Posez une question à un modèle qui sort tout juste du pré-entraînement, et il vous répondra peut-être par dix autres questions. Ce n’est pas un défaut : sur un forum, ce qui suit une question, c’est souvent d’autres questions. Il continue le texte, exactement comme on le lui a appris.

D’où une seconde phase, le post-entraînement (post-training), qui lui apprend à se comporter en assistant. On le pousse vers trois qualités : être utile, être exact, être sûr.

C’est cette étape qui donne à chaque modèle sa manière d’être : son ton, sa façon d’organiser une réponse, ce qu’il accepte ou non de faire.

Une précision qui éclaire bien des situations : cette phase n’ajoute presque aucune connaissance. Elle change la forme des réponses, pas leur contenu. C’est pour cela qu’un modèle peut vous affirmer une chose fausse avec une politesse irréprochable — la justesse et les bonnes manières s’apprennent séparément.

6. La mise en service : trouver où le faire tenir

Le modèle est prêt. Reste à le faire tourner pour des millions de personnes, et là, la physique reprend la main.

Un modèle de 405 milliards de paramètres occupe 810 gigaoctets en mémoire. Le calcul est simple : chaque paramètre pèse deux octets, et 405 milliards multipliés par deux donnent 810 milliards d’octets.

Aucune carte graphique ne dispose de 810 Go. Il faut donc découper le modèle et le répartir sur plusieurs cartes à la fois.

Les 810 Go de poids occupent environ 63 % des 1 280 Go offerts par seize cartes de 80 Go. 16 cartes × 80 Go = 1 280 Go disponibles 810 Go de poids, répartis sur les seize cartes Le tiers restant n'est pas du luxe : il accueille le cache et les requêtes en cours. Deux serveurs de huit cartes
S'il n'y avait qu'un calcul à retenir de tout l'article, ce serait celui-là : nombre de paramètres × octets par paramètre. 405 milliards × 2 = 810 Go. C'est ce résultat qui décide du matériel, et donc du budget.

On peut alléger tout ça en réduisant la précision : ranger chaque paramètre sur un octet au lieu de deux, parfois moins. La mémoire nécessaire diminue d’autant, et la qualité baisse un peu. C’est l’arbitrage que fait toute équipe qui héberge ses propres modèles.

Le trajet, d’un coup d’œil

Étape Ce qui s’y passe
1 Données on collecte, puis on jette l’essentiel
2 Jetons le texte devient des nombres
3 Transformeur le modèle relie les jetons entre eux
4 Pré-entraînement deviner le jeton suivant, des milliards de fois
5 Post-entraînement apprendre à être utile, exact et sûr
6 Mise en service répartir les poids et répondre à tout le monde

Le plus étonnant dans tout ça

Une fois qu’on a suivi le trajet du début à la fin, une chose frappe : on ne croise jamais d’étape intelligente.

Découper du texte. Le convertir en nombres. Relier des jetons entre eux. Ajuster des réglages quand on s’est trompé. Prise séparément, chaque opération est mécanique, presque banale. On cherche le moment où quelque chose de plus se produirait, et ce moment n’arrive jamais.

Ce qu’il y a à la place, c’est l’échelle. Un exercice tout simple — deviner ce qui vient après — répété sur des billions de jetons, à travers des centaines de milliards de réglages, pendant des mois.

La compétence ne se trouve donc nulle part en particulier. Elle apparaît quand on répète la même petite opération un nombre de fois que personne n’arrive vraiment à se représenter.

On peut trouver ça rassurant, ou un peu vertigineux. Les deux se défendent.