IA — Le Cœur des Transformers : Attention, Multi-Head, Feed Forward et Masque Causal
Pourquoi les anciens modèles étaient limités
Avant les Transformers, on utilisait principalement :
- les RNN (Recurrent Neural Networks),
- les LSTM / GRU.
Ces modèles lisaient le texte mot par mot, dans l’ordre.
Problèmes principaux
- ⏳ Difficulté à paralléliser (lent sur GPU).
- 🧠 Mémoire limitée pour les longues phrases.
- 🔗 Difficulté à capturer des dépendances lointaines.
Exemple :
"Le livre que tu m’as prêté hier est passionnant."
Relier "livre" et "est" est difficile si la phrase est longue.
Les Transformers ont résolu ce problème grâce à l’attention.
Self-Attention : relier les tokens entre eux
La self-attention permet à chaque token de regarder tous les autres tokens de la séquence et de décider lesquels sont importants.
Intuition
Chaque mot se pose la question :
"De quels autres mots ai-je besoin pour comprendre mon sens ?"
Exemple :
"Marie a donné un livre à Paul parce qu’il aime lire."
Le token "il" doit comprendre qu’il fait référence à "Paul".
Query, Key, Value (Q, K, V)
Chaque embedding est projeté en trois vecteurs :
- Query (Q) → ce que je cherche
- Key (K) → ce que je propose
- Value (V) → l’information que je transporte
Le mécanisme :
- On compare chaque Q avec tous les K.
- On calcule des scores de similarité.
- On normalise avec un softmax.
- On fait une somme pondérée des V.
Résultat : chaque token récupère l’information pertinente des autres.
Formule simplifiée de l’attention
Attention(Q, K, V) = softmax(QKᵀ / √d) · V
Visualisation d’une matrice d’attention
Plus une valeur est élevée, plus un token influence l’autre.
Multi-Head Attention : plusieurs points de vue en parallèle
Au lieu d’une seule attention, on utilise plusieurs têtes d’attention en parallèle.
Chaque tête apprend à se spécialiser :
- relations syntaxiques,
- dépendances longues,
- accords grammaticaux,
- liens sémantiques.
Les sorties des têtes sont concaténées puis recombinées.
Self-Attention vs Cross-Attention
- 🔁 Self-attention : Q, K, V viennent de la même séquence.
- 🔀 Cross-attention : Q vient d’une séquence, K et V d’une autre.
Exemples
- GPT, BERT → uniquement self-attention.
- Traduction (encoder–decoder) → self-attention + cross-attention.
Feed Forward Network : transformer chaque token individuellement
Après l’attention, chaque token passe dans un petit réseau neuronal appelé Feed Forward Network (FFN).
Structure simplifiée :
Vecteur → Linear → Activation → Linear
Caractéristiques :
- Le même réseau est appliqué à tous les tokens.
- Chaque token est traité indépendamment.
- Il ajoute de la non-linéarité et de la capacité d’expression.
Intuition
- 👀 Attention → échange d’informations entre tokens.
- 🧠 Feed Forward → réflexion locale sur chaque token.
Le Masque Causal : empêcher de voir le futur
Dans un modèle génératif (comme GPT), le modèle prédit le texte mot par mot.
Lorsqu’il prédit un token, il ne doit pas voir les tokens futurs.
Exemple
Phrase cible :
"Je mange une pomme"
Quand le modèle prédit "mange", il ne doit pas voir "pomme".
Le masque causal bloque l’attention vers le futur.
Token i peut voir : [0 ... i]
Token i ne peut pas voir : [i+1 ... fin]
Attention masquée vs non masquée
- ✅ GPT : self-attention masquée (génération autoregressive).
- ✅ BERT : self-attention non masquée (compréhension globale).
Cela explique pourquoi BERT est très bon pour l’analyse de texte, mais pas pour la génération.
Un bloc Transformer complet
Un bloc Transformer contient :
- 1. Multi-Head Attention
Les tokens échangent l’information.
- 2. Normalisation + Résidu
Stabilisation de l’apprentissage.
- 3. Feed Forward
Transformation locale des représentations.
- 4. Normalisation + Résidu
Préservation de l’information.
Ce bloc est répété N fois pour former le Transformer.
Pseudo-code simplifié d’un bloc
x = embeddings
x = x + MultiHeadAttention(x)
x = x + FeedForward(x)
Pourquoi on ajoute des connexions résiduelles ?
Elles facilitent la propagation du gradient et évitent la perte d’information dans les réseaux profonds.