Zubnet AIApprendreWiki › Self-Attention
Fondamentaux

Self-Attention

Aussi appelé : Auto-attention, Scaled Dot-Product Attention
Un mécanisme d'attention où une séquence porte attention à elle-même — chaque token calcule sa pertinence par rapport à chaque autre token dans la même séquence. Les queries, keys et values proviennent toutes de la même entrée. Cela permet à chaque token de recueillir de l'information de tous les autres tokens, pondérée par pertinence. Le self-attention est l'opération centrale dans chaque couche de Transformer.

Pourquoi c'est important

Le self-attention est ce qui fait fonctionner les Transformers. Il a remplacé le traitement séquentiel des RNN par des connexions parallèles et directes entre toutes les positions. Le mot "banque" dans "la berge de la rivière" porte attention à "rivière" pour résoudre son sens, quelle que soit la distance entre eux. Cette capacité à connecter directement n'importe quelles deux positions est la raison pour laquelle les Transformers gèrent si bien les dépendances à longue portée.

En profondeur

Le calcul : pour l'entrée X, calculer Q = X·W_Q, K = X·W_K, V = X·W_V. Puis : Attention(Q,K,V) = softmax(Q·K^T / √d_k) · V. Le softmax(Q·K^T) produit une matrice d'attention N×N où l'entrée (i,j) représente combien le token i porte attention au token j. La mise à l'échelle par √d_k empêche les produits scalaires de devenir trop grands en haute dimension, ce qui pousserait le softmax dans des régions saturées avec des gradients quasi nuls.

Causal vs. bidirectionnel

Dans les LLM decoder-only (GPT, Claude, Llama), le self-attention est causal : chaque token ne peut porter attention qu'aux tokens précédents (y compris lui-même). Cela est imposé par un masque causal qui met les positions futures à −∞ avant le softmax. Dans les modèles encodeur (BERT), le self-attention est bidirectionnel : chaque token porte attention à tous les autres tokens. La contrainte causale est ce qui rend la génération autorégressive possible — le modèle ne peut pas "tricher" en regardant les tokens futurs.

Le coût quadratique

Le self-attention calcule une matrice d'attention N×N, le rendant O(N²) en temps et en mémoire. Pour un contexte de 128K tokens, cela représente ~16 milliards d'entrées par couche par tête. Cette mise à l'échelle quadratique est la limitation fondamentale qui motive la recherche sur l'attention éparse, l'attention linéaire, Flash Attention (qui réduit la mémoire mais pas le calcul), et les SSM (qui évitent entièrement la matrice N×N). Chaque approche pour la modélisation de contextes longs est fondamentalement une façon de gérer ce coût quadratique.

Concepts connexes

← Tous les termes
← Scale AI Service de modèles →