Verbatome / Chapitre 04Vecteurs → contexte14 min de lecture

Dans cette leçon

L’attention, le moment où les tokens se parlent

Observez le même vecteur de départ dans deux contextes, puis inspectez une tête d’attention jouet, des scores jusqu’à la sortie.

À la fin, vous saurez

  • Distinguer les rôles des requêtes, clés et valeurs dans une tête d’attention.
  • Tracer scores, masque, softmax et somme pondérée jusqu’au vecteur de sortie.

Avant de commencer : La tokenisation, ou comment un modèle lit, Les embeddings : le sens devient géométrie

« Manger un avocat », « appeler un avocat ». Vous n’avez pas hésité sur le sens. La trace du cours amène maintenant le même token cible - avocat, #901, au point de départ [−0,68 ; 0,44] - dans les deux expressions. Seuls ses voisins changent. La question devient visible et numérique : le contexte peut-il déplacer la sortie de la cible alors que son propre point de départ reste fixe ?

Observez un token dans deux contextes

Comparez « manger un avocat » et « appeler un avocat ». Dans notre dispositif pédagogique, le dernier token avocat part exactement du même vecteur dans les deux expressions. Seuls les vecteurs qui l’entourent changent.

Prédisez le sort d’avocat

Le laboratoire affiche la sortie sous la forme [x, y]. Pariez sur le sens du déplacement avant de révéler les nombres.

Votre pari

De « manger un avocat » à « appeler un avocat », que devient la sortie d’avocat ?

Personne ne corrige. Engagez-vous, l’instrument tranchera.

Atelier d’attention / tête jouet

Passez d’un contexte à l’autre : le token cible #901 part du même vecteur, mais le mélange produit une sortie différente.

Explorer la netteté des scores

Contrôle pédagogique : ce n’est pas la température de génération.

Scores

  1. avocat compare à manger-0.481
  2. avocat compare à un-0.240
  3. avocat compare à avocat0.464

Poids après softmax

  1. manger0.206
  2. un0.263
  3. avocat0.531

Vecteur contextualisé

avocat[0.09, 0.22]

Σ poids × V

Inspecter Q, K, V et la matrice complète
Requêtes, clés et valeurs
TokenQKV
[1.00, 0.00][1.00, 0.00][1.00, 0.50]
[0.50, 0.00][0.50, 0.00][0.50, 0.25]
[-0.68, 0.44][-0.68, 0.44][-0.46, 0.10]
Somme pondérée visible
TokenPoids après softmax × VVecteur contextualisé
manger0.206 × [1.00, 0.50][0.21, 0.10]
un0.263 × [0.50, 0.25][0.13, 0.07]
avocat0.531 × [-0.46, 0.10][-0.24, 0.05]

score = (Q · K) × netteté / √2

Poids après softmax
Q ↓ / K →mangerunavocat
1.0000.0000.000
0.5440.4560.000
0.2060.2630.531

Chaque cellule affiche une valeur exacte ; la surface bleue répète son poids.

Manipulez le regard des tokens

Gardez avocat sélectionné et changez de contexte. Son vecteur de départ ne bouge pas, mais les valeurs disponibles pour le mélange diffèrent : sa sortie se déplace. Les nombres sont choisis à la main pour rendre le mécanisme lisible ; ils ne prouvent pas qu’une tête entraînée découvrirait exactement ce motif linguistique.

Sélectionnez ensuite le premier token en conservant le masque causal. Les positions suivantes deviennent inaccessibles. Désactivez le masque et regardez leurs poids réapparaître. Enfin, ouvrez Explorer la netteté des scores et déplacez son curseur : plus la valeur monte, plus le meilleur score domine ; plus elle descend, plus les poids s’étalent. Ce contrôle est une loupe pédagogique, pas la température d’échantillonnage utilisée pendant la génération ; l’attention standard d’un Transformer emploie normalement le facteur fixe 1 / √dₖ.

Défi Deux missions. Un : utilisez la netteté des scores pour donner à avocat sa plus grande part possible dans ce laboratoire, puis lisez son poids. Deux : masque causal actif, un des neuf poids de la matrice est structurellement forcé à valoir 1, quel que soit le contexte. Trouvez lequel, et dites pourquoi.

Expliquez la bibliothèque Q, K, V

L’auto-attention est l’un des mécanismes capables de séparer les deux occurrences. Elle fabrique un nouveau vecteur à chaque position en mélangeant les informations du contexte disponible - des multiplications, des pourcentages et de l’organisation, pas de lecture de pensée.

  1. Même rechercheavocat · #901 · [−0,68 ; 0,44]
  2. Comparer Q aux Kscores → poids
  3. Mélanger les Vsortie contextualisée

Dans un Transformer entraîné, trois projections apprises transforment chaque vecteur d’entrée e en :

  • une requête Q : ce que cette position cherche ;
  • une clé K : comment cette position peut être trouvée ;
  • une valeur V : l’information qu’elle apportera si elle est choisie.

Une bibliothèque, en somme. Vous arrivez avec une question (la requête), vous la comparez aux étiquettes des dossiers (les clés), et vous repartez avec un mélange de contenus (les valeurs) : beaucoup des dossiers qui répondent bien, un peu des autres. Le softmax joue le comptable de l’histoire : il convertit les affinités en parts d’un budget d’attention qui totalise exactement 100 %. La sortie n’est plus une simple recherche dans la table : c’est un vecteur contextualisé.

  1. Le vecteur de chaque tokene
  2. Trois projectionsQ · K · V
  3. Q rencontre chaque Kscores + masque
  4. Softmaxpoids, Σ = 100 %
  5. Poids × V, somméssortie contextualisée

Ouvrez « Inspecter Q, K, V » pour suivre chaque étape de ce chemin - vecteurs projetés, scores, poids et somme pondérée finale - dans les nombres exacts du laboratoire.

La même histoire, en formules

Pour une requête, chaque clé reçoit le score Q · K / √dₖ, où dₖ est la dimension des clés. Le facteur √dₖ empêche les produits scalaires de devenir trop grands quand cette dimension augmente. Le masque remplace ensuite les scores interdits par −∞.

Le softmax transforme les scores restants en poids positifs dont la somme vaut 1 :

softmax(sᵢ) = exp(sᵢ − max(s)) / Σⱼ exp(sⱼ − max(s))

Soustraire le maximum ne change pas les proportions, mais évite de calculer des exponentielles immenses. Enfin, la tête calcule Σ poidsᵢ × Vᵢ.

Un poids d’attention n’est pas une explication complète. Il décrit un mélange à cet endroit, dans cette tête et cette couche. Le comportement final dépend aussi des autres têtes, des couches suivantes, des connexions résiduelles et des transformations non linéaires.

Réfléchissez au trajet de l’information

Point de contrôle

Après que les scores Q·K, le masque et le softmax ont produit les poids, que multiplie-t-on par ces poids avant de tout additionner ?

Après que les scores Q·K, le masque et le softmax ont produit les poids, que multiplie-t-on par ces poids avant de tout additionner ?

Reliez la boucle

Nous sommes partis d’un texte, l’avons découpé en tokens, avons cherché un vecteur de départ pour chacun, puis avons utilisé l’attention pour les rendre sensibles au contexte. Un Transformer combine cette opération avec l’information de position, plusieurs têtes, des chemins résiduels, de la normalisation, des couches feed-forward et de nombreux blocs répétés avant de produire logits, probabilités et prochain token. Le mécanisme manipulé ici demeure intact dans le modèle complet, mais il n’est qu’une pièce du calcul - et le chapitre suivant parcourt justement un étage entier : vecteurs de position, MLP, résidus et tout le reste. Quant au chat du chapitre 2, il peut somnoler mais pas prendre sa retraite : vous savez tracer ses premières transformations sans invoquer la magie, et le reste de la tour attend.

Sources et périmètre
  • Vaswani et al. (2017) définissent l’attention par produit scalaire mis à l’échelle, le masque causal, l’attention multi-tête et l’architecture Transformer.
  • Jain et Wallace (2019) montrent pourquoi les poids d’attention ne suffisent pas à expliquer tout le comportement d’un modèle.
  • Le laboratoire représente une seule tête 2D fabriquée à la main. Son curseur de netteté des scores est pédagogique et n’est pas la température de génération.
  • Contenu et affirmations relus le 18 juillet 2026.