Mécanisme d'attention

IA / LLM 🔴 Senior

Définition

Opération qui pondère chaque token d'entrée selon sa pertinence pour les autres : on calcule des requêtes (Q), clés (K) et valeurs (V), puis softmax(QKᵀ/√d)·V. L'attention multi-têtes exécute plusieurs de ces projections en parallèle. Son coût est quadratique en longueur de séquence, d'où l'enjeu des fenêtrès de contexte longues.

Analogie

Un surligneur intelligent : pour comprendre « il », il surligne le nom auquel le pronom renvoie.

Exemple de code

import torch, math

def attention(Q, K, V, mask=None):
    # Q, K, V : (batch, seq, d)
    scores = Q @ K.transpose(-2, -1) / math.sqrt(Q.size(-1))
    if mask is not None:                 # masque causal : pas de futur
        scores = scores.masked_fill(mask == 0, float('-inf'))
    weights = torch.softmax(scores, dim=-1)
    return weights @ V                   # somme pondérée des valeurs

Cas d'usage

Expliquer la complexité O(n²) et pourquoi un prompt de 500 k tokens coûte cher en latence.

Anti-pattern

Croire qu'un modèle « lit » tout le contexte de façon uniforme : l'attention se dilue (context rot).
#ia#fondamentaux#architecture

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre