top of page

L'attention pas à pas : Q, K, V

L'attention est le mécanisme central du Transformer : chaque token est projeté en trois vecteurs, Query, Key et Value, et son nouveau vecteur est une moyenne des Values des autres tokens, pondérée par la compatibilité entre sa Query et leurs Keys.

Le problème à résoudre

Après le découpage en tokens, chaque token reçoit un vecteur tiré d'une table, le même quelle que soit la phrase. Dans « J'ai acheté un avocat au… », le vecteur d'« avocat » mélange encore le fruit et le juriste. L'attention, mécanisme central du Transformer (Vaswani et al., 2017), sert à corriger ce vecteur en fonction du contexte.

Trois vecteurs par token : Query, Key, Value

Chaque token est projeté en trois vecteurs par trois matrices apprises pendant l'entraînement : Q = Wq·x, K = Wk·x, V = Wv·x, où x est le vecteur du token.

Query (Q) : ce que le token cherche dans le contexte. Key (K) : ce qu'il offre comme repère aux autres tokens. Value (V) : l'information qu'il transmet s'il est retenu.

La métaphore de la bibliothèque aide : Q est votre question, K le titre visible sur la tranche, V le contenu du livre. On compare la question aux titres sans ouvrir les livres, puis on lit ceux qui ont été retenus. K et V sont séparés parce que ce qui rend un token repérable n'est pas forcément ce qu'il a d'utile à transmettre.

Le calcul en trois temps

1. Les scores. La Query d'« avocat » est comparée, par produit scalaire, à la Key de chaque token. Dans un modèle génératif comme GPT, les tokens qui suivent sont masqués : un token ne regarde que le passé (attention causale).

2. La normalisation. Les scores sont divisés par √dₖ, la racine de la dimension des vecteurs K. Sans cette division, les scores deviennent très grands en grande dimension et le softmax donne presque tout le poids à un seul token. Le softmax transforme ensuite les scores en poids positifs dont la somme fait 100 %.

3. La moyenne pondérée. Le nouveau vecteur d'« avocat » est la somme des Values, chacune multipliée par son poids. Dans l'animation (poids illustratifs), « achet » pèse 38 % et « avocat » lui-même 37 % : le vecteur est tiré vers le sens « fruit ».

Assemblé, cela donne la formule du Transformer : Attention(Q, K, V) = softmax(Q·Kᵀ / √dₖ) · V.

Plusieurs têtes, plusieurs couches

Ce calcul est mené en parallèle par plusieurs « têtes », chacune avec ses propres matrices : 8 dans le Transformer d'origine, plusieurs dizaines dans les LLM actuels. Les têtes se spécialisent pendant l'entraînement sans qu'on leur assigne de rôle. L'opération se répète ensuite à chaque couche du modèle, ce qui affine le sens d'étage en étage.

Les vecteurs K et V calculés ici sont ceux que le modèle conserve pendant la génération : c'est le cache KV. Pour la représentation des mots avant l'attention, voir la fiche Word2Vec.

​

bottom of page