Attention (self-attention)
Le mécanisme qui permet à chaque token de regarder les autres pour décider lesquels comptent pour son propre sens.
En une phrase
Section intitulée « En une phrase »L’attention est le mécanisme qui permet à chaque token de regarder les autres tokens du texte, de leur attribuer un score d’importance, et de se recharger du sens de ceux qui comptent le plus pour lui.
L’analogie
Section intitulée « L’analogie »Tu entres dans une bibliothèque avec une question en tête. Tu la compares aux étiquettes des rayons, tu repères celles qui semblent y répondre, et tu repars avec le contenu des livres correspondants.
L’attention procède ainsi, avec deux différences. Chaque mot tient les trois rôles à la fois : il pose sa question, porte son étiquette et a quelque chose à donner. Et personne ne repart avec un seul livre : on prend un peu de tous, à proportion de ce que leur étiquette promettait.
Comment ça marche
Section intitulée « Comment ça marche »D’où vient l’idée
Section intitulée « D’où vient l’idée »L’attention n’est pas née avec les LLM. En 2014, Bahdanau, Cho et Bengio la greffent sur un traducteur automatique : plutôt que de comprimer la phrase de départ dans un seul vecteur, le modèle revient piocher dans les mots d’origine à chaque mot traduit. Trois ans plus tard, « Attention Is All You Need » retire tout le reste et ne garde que ça. L’empilement des couches, lui, est le sujet de la fiche Transformer.
Trois rôles pour chaque token
Section intitulée « Trois rôles pour chaque token »Le token arrive sous forme d’embedding. Le modèle le multiplie par trois matrices apprises, et en tire trois vecteurs :
- la requête (query, Q) : ce que ce token cherche ;
- la clé (key, K) : ce à quoi il peut répondre ;
- la valeur (value, V) : ce qu’il transmet à qui le retient.
Les trois matrices sont les mêmes pour tous les tokens de la couche : c’est le vecteur d’entrée qui change, pas la recette. Requête et clé ne servent qu’à fabriquer un score et ne voyagent jamais ; seule la valeur circule.
Le calcul, pas à pas
Section intitulée « Le calcul, pas à pas »- On multiplie la requête d’un token par la clé de chacun des autres, un produit scalaire. Le résultat est grand quand les deux vecteurs pointent dans la même direction : c’est un score d’affinité brut.
- On le divise par la racine carrée de la dimension des clés (64 dans le Transformer d’origine). Sans ce garde-fou, les scores enflent avec la taille des vecteurs, le softmax se braque sur un seul mot et l’entraînement cale.
- Un softmax convertit les scores en pourcentages qui font 100 % ensemble.
- Le token repart avec la moyenne des valeurs de tous les tokens, pondérée par ces pourcentages.
Le tout tient sur une ligne : Attention(Q, K, V) = softmax(QKᵀ/√dₖ) × V.
On ne regarde que vers la gauche
Section intitulée « On ne regarde que vers la gauche »Un modèle qui génère du texte écrit de gauche à droite. Quand il traite « il », la suite n’existe pas encore, et la lui montrer à l’entraînement reviendrait à lui souffler la réponse. Tous les scores dirigés vers la droite sont donc forcés à zéro avant le softmax : c’est le masque causal. Un token peut en revanche se regarder lui-même. Les modèles de type BERT, qui analysent un texte déjà écrit, n’ont pas ce masque et lisent dans les deux sens.
Plusieurs têtes, plusieurs lectures
Section intitulée « Plusieurs têtes, plusieurs lectures »Un bloc ne calcule pas une attention, mais plusieurs en parallèle : les têtes. Contrairement à ce qu’on lit souvent, chacune ne refait pas le calcul entier : la dimension du vecteur est découpée entre elles. Le même modèle de 2017 avait 8 têtes de 64 dimensions pour un vecteur de 512 ; GPT-3, 96 têtes de 128. Le coût total reste celui d’une seule attention en pleine dimension. Les sorties sont mises bout à bout, puis repassées dans une matrice apprise qui les recombine.
Aucune tête ne reçoit de consigne. La spécialisation qu’on leur observe après coup, l’une suivant l’accord grammatical, l’autre recopiant un nom déjà cité, est apprise, jamais assignée, et bien moins nette que les schémas ne le laissent croire.
Ce que ça coûte
Section intitulée « Ce que ça coûte »Chaque token se compare à tous les autres : le nombre de comparaisons croît avec le carré de la longueur du texte. Doubler le contexte quadruple ce travail, et c’est une des raisons pour lesquelles la fenêtre de contexte a une limite.
Aucune des parades connues ne supprime ce carré. FlashAttention (Dao et al., 2022) ne change ni le résultat ni le nombre d’opérations : il calcule la grille des scores par tuiles au lieu de l’écrire entière en mémoire, et c’est cette mémoire épargnée qui fait tout le gain. L’attention à requêtes groupées (GQA, Ainslie et al., 2023) fait partager un jeu de clés et de valeurs à plusieurs têtes : sur Llama 3 8B, 32 têtes de requête pour 8 jeux, et un cache de génération divisé par quatre.
Visualisation
Section intitulée « Visualisation »Le mot « il » doit désigner quelqu’un. Regarde le modèle interroger les mots déjà écrits, les noter, puis trancher.
Comment le modèle sait-il à quoi renvoie « il » ?
Étape 1/6 Le modèle arrive au mot « il ». Pour continuer la phrase, il doit savoir de qui on parle : du chat, ou du canapé ?
Chiffres illustratifs, choisis pour rendre le mécanisme lisible.
Dans la vraie vie
Section intitulée « Dans la vraie vie »- Un contrat de trente pages : savoir que « cette clause » renvoie à l’article 4 et pas à l’article 12, c’est de l’attention, et rien d’autre.
- Ce que montre l’animation a été retrouvé dans un vrai modèle. En 2022, Kevin Wang et ses coauteurs retracent, tête par tête, comment GPT-2 small choisit le bon prénom dans « Quand Jean et Marie sont allés au magasin, Jean a donné un verre à… » : un circuit de 26 têtes, dont trois name movers qui recopient le prénom visé vers la sortie.
- Une part considérable de l’attention se déverse sur le premier token du texte, sans rapport avec son sens. Plutôt que de corriger ce « puits d’attention », StreamingLLM (Xiao et al., 2023) s’en sert : garder les quatre premiers tokens en permanence suffit à faire tenir un modèle sur un flux sans fin.
Idées reçues
Section intitulée « Idées reçues »- « L’attention, c’est de la conscience. » Le mot est mal choisi et il piège tout le monde : il n’y a là que des produits scalaires, un softmax et une moyenne pondérée. Appelé « pondération contextuelle », le mécanisme n’aurait fait rêver personne.
- « L’attention explique tout le modèle. » Elle ne fait que déplacer de l’information d’un token à l’autre. Dans chaque bloc, le petit réseau qui traite ensuite chaque token isolément pèse les deux tiers des paramètres, et c’est là qu’est rangée une bonne part des connaissances (Geva et al., 2021). L’attention transporte, le reste retient.
- « Une carte d’attention montre ce que le modèle a jugé important. » Elle montre où il a réparti ses 100 %, ce qui n’est pas pareil : le softmax l’oblige à tout distribuer, même quand rien ne l’intéresse. Ce qu’elles prouvent vraiment fait débat depuis 2019.
Pour aller plus loin
Section intitulée « Pour aller plus loin »- « Attention Is All You Need » — Vaswani et al., 2017 (EN) : la section 3.2 pose la formule, le masque et le multi-tête.
- « Neural Machine Translation by Jointly Learning to Align and Translate » — Bahdanau, Cho et Bengio, 2014 (EN) : l’attention avant le Transformer.
- Illustration du Transformer — Loïck Bourdois, 2019 (FR) : l’adaptation française de The Illustrated Transformer, les meilleurs schémas sur Q, K, V.
- « Attention in transformers, step-by-step » — 3Blue1Brown, 2024 (EN) : 26 minutes d’animation sur le produit requête-clé.
- « Attention is not Explanation » — Jain et Wallace, 2019 (EN) : ce qu’une carte d’attention démontre, et surtout ce qu’elle ne démontre pas.
- « Transformer Feed-Forward Layers Are Key-Value Memories » — Geva et al., 2021 (EN) : les deux tiers de paramètres qui ne sont pas dans l’attention.
- « Efficient Streaming Language Models with Attention Sinks » — Xiao et al., 2023 (EN) : le puits d’attention sur le premier token.
Voir aussi
Section intitulée « Voir aussi »Voir aussi
- ArchitectureTransformer (transformeur)L'architecture de réseau de neurones sur laquelle tous les LLM sont bâtis : une pile de blocs identiques que le texte traverse de bout en bout.
- FondamentauxLLM (grand modèle de langage)Un modèle d'IA entraîné sur d'immenses quantités de texte, capable de comprendre et de générer du langage.
- FondamentauxInférenceLe moment où le modèle tourne pour de vrai : la boucle qui écrit le texte, un token à la fois, par opposition à l'entraînement où il apprend.
- FondamentauxFenêtre de contexteLa quantité maximale de texte qu'un modèle peut prendre en compte d'un coup : sa « mémoire de travail ».
- ArchitectureMultimodalitéQuand un modèle ne lit plus seulement du texte : image et son sont découpés à leur tour, projetés dans le même espace que les mots, et traités par la même machine.