Toute l’idée en une chaîne
Voici le parcours complet. Pas d’inquiétude si cela ressemble d’abord à une énigme ; le reste de l’article détaille chaque maillon.
Découpez une phrase en morceaux et vous obtenez des tokens. Transformez les tokens en listes de nombres et vous obtenez des embeddings. Laissez chaque token poser une question et vous obtenez une requête (query) ; laissez les autres répondre et vous obtenez des clés (keys) et des valeurs (values). Comparez les requêtes aux clés et vous obtenez des scores d’attention. Normalisez-les avec softmax et vous obtenez des poids d’attention. Utilisez les poids pour mélanger les valeurs et vous obtenez du contexte. Faites cela pour chaque token et vous obtenez l’auto-attention (self-attention). Ajoutez un réseau feed-forward, des connexions résiduelles et une normalisation et vous obtenez un bloc transformer. Empilez les blocs et vous obtenez un transformer. Entraînez-le à prédire le token suivant et vous obtenez un modèle de langage. Apprenez-lui à suivre des instructions et à apprendre des retours humains et vous obtenez quelque chose de très proche de ChatGPT.
Étape 1 : découpez une phrase en morceaux et vous obtenez des tokens
Un ordinateur ne lit pas les mots comme vous. La première chose que fait un modèle de langage est de découper le texte en petits morceaux appelés tokens. Un token peut être un mot entier (« entretien »), une partie de mot (« entre » + « tien »), un signe de ponctuation, ou même une espace collée à un mot.
Pourquoi pas des mots entiers ? Il y en a trop, et de nouveaux apparaissent chaque jour. Avec des morceaux de mots, un modèle peut traiter n’importe quel texte, y compris les noms rares et les fautes de frappe, avec un vocabulaire fixe de quelques dizaines de milliers de tokens. Chaque token de ce vocabulaire reçoit un numéro d’identifiant. La phrase « J’ai réussi l’entretien » pourrait devenir quelque chose comme [40, 1734, 279, 7274].
Un token représente environ trois quarts d’un mot anglais : une « fenêtre de contexte de 128 000 tokens » correspond donc à environ 95 000 mots que le modèle peut considérer d’un coup.
Étape 2 : transformez les tokens en vecteurs et vous obtenez des embeddings
Un identifiant de token comme 7274 n’est qu’une étiquette. Il ne dit rien du sens. Le modèle cherche donc chaque identifiant dans une grande table et le remplace par une longue liste de nombres, souvent des centaines ou des milliers. Cette liste s’appelle un vecteur, et le vecteur qui représente un token s’appelle un embedding.
Personne n’écrit ces nombres à la main. Ils commencent au hasard et sont ajustés pendant l’entraînement jusqu’à capturer ce que signifie chaque token et comment il s’utilise.
Étape 3 : placez les embeddings dans l’espace et le sens devient géométrie
Considérez chaque embedding comme les coordonnées d’un point, et chaque token devient un emplacement dans un immense espace à de nombreuses dimensions. On ne peut pas se représenter mille dimensions, mais l’idée fonctionne en deux ou trois.
Dans cet espace, les tokens de sens proche se retrouvent côte à côte. « Salaire » est proche de « paie » et de « rémunération ». « Entretien » est proche de « réunion » et de « recrutement ». Même les directions peuvent porter du sens : l’exemple célèbre est que le passage de « homme » à « femme » pointe à peu près dans la même direction que celui de « roi » à « reine ».
Les embeddings seuls ne disent pas où se trouve un token, et l’ordre change le sens : « le candidat a interrogé le manager » n’est pas la même chose que « le manager a interrogé le candidat ». Les modèles ajoutent donc aussi une information de position à chaque vecteur.
Étape 4 : chaque token pose et répond à des questions : requêtes, clés et valeurs
Les mots changent de sens selon leurs voisins : « avocat » ne signifie pas la même chose dans « avocat du barreau » et « salade d’avocat ». Chaque token doit donc regarder les autres. C’est l’idée la plus importante de l’IA moderne.
À partir de l’embedding de chaque token, le modèle crée trois nouveaux vecteurs en le multipliant par trois tables de nombres apprises :
- Requête (query) : la question que pose ce token. Imaginez le mot « il » qui demande : « À quel nom plus haut dans la phrase est-ce que je renvoie ? »
- Clé (key) : ce que ce token propose, comme l’étiquette d’un classeur. La clé d’un nom pourrait dire en substance : « Je suis quelque chose auquel on peut faire référence. »
- Valeur (value) : l’information réelle que ce token transmettra si un autre token la juge pertinente.
Pensez à une bibliothèque : la requête est votre recherche, les clés sont les titres sur les étagères, et les valeurs sont ce que contiennent les livres.
Étape 5 : comparez une requête aux clés et vous obtenez des scores d’attention
Chaque token compare sa requête à la clé de chaque token qu’il peut voir, avec un produit scalaire : on multiplie les deux vecteurs nombre par nombre et on additionne les résultats. Des directions semblables donnent un grand résultat ; des directions sans rapport en donnent un petit ou négatif.
Le résultat est un ensemble de scores d’attention, un pour chaque paire de tokens. Un score élevé signifie « cet autre token semble pertinent pour ma question ». Dans la phrase « La recruteuse a appelé la candidate parce qu’elle a aimé son portfolio », le token « son » devrait obtenir un score élevé avec « candidate » et plus faible avec « recruteuse ».
Étape 6 : normalisez les scores avec softmax et vous obtenez des poids d’attention
Les scores bruts peuvent être de n’importe quelle taille, positifs ou négatifs. Une fonction appelée softmax les transforme en valeurs positives dont la somme vaut exactement 1, en donnant aux plus gros scores une part bien plus grande.
Ces parts sont les poids d’attention, comme des pourcentages d’attention. Un exemple simplifié pour « son » :
| Autre token | Score brut | Poids d’attention |
|---|---|---|
| candidate | 4,0 | 0,84 |
| recruteuse | 2,0 | 0,11 |
| a appelé | 1,0 | 0,04 |
| la | -1,0 | 0,01 |
Ainsi, « son » accordera environ 84 % de son attention à « candidate ».
Étape 7 : utilisez les poids pour combiner les valeurs et vous obtenez du contexte
Chaque token construit alors un nouveau vecteur en faisant un mélange pondéré des valeurs : 84 % de la valeur de « candidate », 11 % de « recruteuse », et ainsi de suite. Le résultat est une nouvelle représentation de « son » qui porte l’information sur ce à quoi « son » renvoie réellement.
C’est ce que signifie le contexte dans un modèle. Le mot n’est plus seulement « son » dans l’abstrait ; c’est « son, celui de la candidate, dans une phrase sur un portfolio ».
Étape 8 : laissez chaque token faire cela et vous obtenez l’auto-attention
Lorsque chaque token exécute ce processus en même temps, on parle d’auto-attention (self-attention) : la phrase qui porte son attention sur elle-même.
Deux raffinements la rendent puissante :
- Seulement les tokens qu’il peut voir. Dans un modèle qui écrit du texte, chaque token ne peut regarder que les tokens qui le précèdent, jamais ceux qui suivent. Ce masque causal existe parce que, pendant la génération, les mots futurs n’existent pas encore.
- Plusieurs têtes à la fois. Les modèles exécutent plusieurs processus d’attention en parallèle, appelés têtes d’attention, chacune avec ses propres tables de requêtes, de clés et de valeurs. L’une peut suivre la grammaire, une autre qui renvoie à qui. C’est l’attention multi-têtes (multi-head attention).
Étape 9 : ajoutez feed-forward, résiduel et normalisation et vous obtenez un bloc transformer
L’attention partage l’information ; le modèle doit aussi la traiter. Trois éléments de plus complètent l’unité :
- Réseau feed-forward : après l’attention, le vecteur de chaque token traverse seul un petit réseau de neurones. Si l’attention est une réunion où chacun partage ses notes, c’est chacun qui les digère à son bureau.
- Connexions résiduelles : au lieu de remplacer le vecteur d’un token par le nouveau résultat, le modèle ajoute le résultat à l’original. Cela préserve l’information antérieure et facilite l’entraînement des réseaux profonds.
- Normalisation : une étape qui remet les nombres à l’échelle dans une plage stable pour qu’ils n’explosent pas ni ne s’évanouissent en traversant de nombreuses couches.
L’attention plus le feed-forward, entourés de connexions résiduelles et de normalisation, forment un bloc transformer.
Étape 10 : empilez les blocs et vous obtenez un transformer
Un bloc donne une compréhension modeste. Empilez-en des dizaines, la sortie de l’un alimentant le suivant, et vous obtenez un transformer, l’architecture présentée par des chercheurs de Google dans l’article de 2017 « Attention Is All You Need ». C’est le « T » de GPT, qui signifie « Generative Pre-trained Transformer ».
Chaque couche affine l’image : les premières couches tendent à saisir la grammaire, les dernières des idées plus abstraites comme le ton et l’intention. Les poids de toutes ces tables, les nombres que le modèle apprend, sont ce qu’on appelle les paramètres. Les grands modèles en comptent des milliards.
Étape 11 : entraînez-le à prédire le token suivant et vous obtenez un modèle de langage
Jusqu’ici, nous avons une machine qui transforme le texte en vecteurs sensibles au contexte. Donnons-lui maintenant une tâche. En bout de pile, le modèle transforme le vecteur du dernier token en un score pour chaque token de son vocabulaire, puis applique à nouveau softmax pour obtenir une probabilité pour chacun. Autrement dit : « Compte tenu de tout ce qui précède, que vient-il ensuite ? »
Pendant l’entraînement, le modèle lit d’énormes quantités de texte : livres, articles, code, sites web. À chaque position, il devine le token suivant, compare sa proposition au vrai token et déplace légèrement tous ses paramètres dans la direction qui aurait rendu la bonne réponse plus probable. Répétez cela des milliers de milliards de fois et le résultat est un modèle de langage.
Cette tâche simple enseigne beaucoup : pour prédire le mot suivant dans un manuel ou un contrat, un modèle doit assimiler la grammaire, des faits et des schémas de raisonnement.
Générer du texte, c’est simplement cette prédiction en boucle. Le modèle choisit un token suivant, généralement en tirant au sort selon les probabilités (un réglage appelé température contrôle l’audace du choix), l’ajoute au texte et prédit à nouveau, un token à la fois.
Étape 12 : apprenez-lui à suivre des instructions et à apprendre des retours et vous obtenez ChatGPT
Un modèle entraîné uniquement à prédire le token suivant est une autocomplétion brillante, pas un assistant. Posez-lui une question et il pourrait répondre par trois autres questions. Deux étapes d’entraînement supplémentaires corrigent cela :
- Ajustement par instructions (instruction tuning) : le modèle est entraîné sur de nombreux exemples de demande suivie d’une bonne réponse utile. Il apprend le schéma « quelqu’un demande, je réponds de façon utile ».
- Apprentissage à partir de retours humains : des personnes comparent des paires de réponses du modèle et choisissent la meilleure. Ces préférences servent à orienter davantage le modèle vers des réponses utiles, exactes et sûres. On parle d’apprentissage par renforcement à partir de retours humains, ou RLHF.
Ajoutez une interface de chat et vous obtenez quelque chose de proche de ChatGPT, Claude ou Gemini : le même transformer, façonné pour agir comme un assistant.
Tout ensemble : le voyage d’une phrase
Imaginez que vous tapiez : « La question d’entretien la plus difficile est… » En une fraction de seconde :
- Le texte est découpé en tokens et chacun devient un embedding avec une information de position.
- Dans chaque bloc transformer, chaque token forme une requête, une clé et une valeur, note les tokens précédents, transforme les scores en poids et mélange leurs valeurs. « Difficile » se rattache à « question », et l’expression est comprise comme un sujet d’entretien.
- Les couches feed-forward traitent chaque vecteur mis à jour ; les résiduels et la normalisation maintiennent la stabilité ; des dizaines de blocs l’affinent encore.
- Le vecteur final devient des probabilités sur le vocabulaire. Un token comme « parlez » obtient un score élevé ; le modèle le choisit, l’ajoute et recommence.
Petit glossaire
| Terme | En clair |
|---|---|
| Token | Un petit morceau de texte, souvent un mot ou une partie de mot |
| Vecteur | Une liste ordonnée de nombres |
| Embedding | Le vecteur qui représente le sens d’un token |
| Requête / Clé / Valeur | Ce qu’un token demande / ce qu’il propose / ce qu’il transmet |
| Score d’attention | Dans quelle mesure un token paraît pertinent pour un autre |
| Softmax | Transforme des scores en parts dont la somme vaut 1 |
| Poids d’attention | La part d’attention qu’un token accorde à un autre |
| Contexte | Le sens d’un token mis à jour par ses voisins |
| Auto-attention | Chaque token porte son attention sur les tokens qu’il peut voir |
| Bloc transformer | Attention + feed-forward + résiduels + normalisation |
| Paramètres | Les nombres appris à l’intérieur du modèle |
| Fenêtre de contexte | Combien de tokens le modèle peut considérer à la fois |
Pourquoi c’est important pour votre carrière
Si vous passez un entretien pour un poste lié à l’IA, savoir expliquer les tokens ou l’attention en mots simples est un vrai atout. Cela fait aussi de vous un meilleur utilisateur des outils d’IA : vous comprendrez pourquoi ils peuvent énoncer des faits erronés avec assurance (ils prédisent un texte probable, pas une vérité vérifiée) et pourquoi une consigne claire et précise donne de meilleures réponses. Pour les usages pratiques, consultez nos guides sur l’utilisation des outils d’IA pour s’entraîner aux entretiens et sur ce que les copilotes d’entretien IA changent vraiment.
Questions fréquentes
Quelle est la différence entre un token et un mot ?
Un token est l’unité que lit un modèle de langage. Les mots courants sont souvent un seul token, tandis que les mots plus longs ou plus rares sont découpés en plusieurs morceaux. En anglais, un token représente en moyenne environ trois quarts de mot.
Un modèle de langage comprend-il ce qu’il dit ?
Il construit des représentations internes riches du sens et du contexte, mais il est entraîné à prédire un texte probable, pas à vérifier des faits. C’est pourquoi ses réponses peuvent sembler sûres d’elles tout en étant fausses : il faut toujours vérifier les affirmations importantes.
ChatGPT est-il simplement un transformer ?
Au fond, oui : un grand transformer entraîné à prédire le token suivant. Ce qui en fait un assistant utile, c’est l’entraînement supplémentaire sur des instructions et des retours humains, ainsi que le produit construit autour.