L'essentiel en un coup d'œil
- Le self-attention permet à chaque mot d'une phrase de "regarder" tous les autres pour définir son contexte.
- Il utilise un système de vecteurs : Requête (Query), Clé (Key) et Valeur (Value).
- L'architecture multi-têtes permet de capter différentes nuances (grammaire, sentiment, logique) simultanément.
- Contrairement aux anciens modèles (RNN), il traite toute la séquence d'un coup, ce qui accélère massivement l'entraînement.
Le concept : Pourquoi le self-attention change tout ?
Avant les Transformers, on utilisait des réseaux de neurones récurrents (RNN) ou des LSTM. Le problème ? Ils lisaient le texte comme nous, de gauche à droite. Si une phrase était trop longue, le modèle "oubliait" le début avant d'arriver à la fin. Le self-attention est un mécanisme d'attention intra-séquence qui permet de relier différentes positions d'une même séquence pour en calculer une représentation globale . Au lieu de traiter les mots un par un, le modèle traite tout le bloc. Il demande pour chaque mot : « Quels sont les autres éléments de cette phrase qui m'aident à comprendre mon propre sens ici ? » Par exemple, dans la phrase « L'avocat a plaidé la cause », le mot « avocat » est lié à « plaidé » et « cause », ce qui indique qu'il s'agit du métier juridique et non du fruit. Le self-attention crée ce lien mathématique instantanément.Le moteur mathématique : Query, Key et Value
Pour transformer des mots en relations intelligentes, le modèle utilise trois vecteurs distincts pour chaque jeton (token). C'est un peu comme un système de classement dans une bibliothèque.- La Requête (Query - Q) : C'est ce que le mot recherche. « Je suis un nom, je cherche mon verbe. »
- La Clé (Key - K) : C'est l'étiquette du mot. « Je suis un verbe d'action juridique. »
- La Valeur (Value - V) : C'est l'information brute contenue dans le mot, qu'on transmettra si la correspondance entre Q et K est forte.
| Caractéristique | RNN / LSTM | Transformer |
|---|---|---|
| Traitement des données | Séquentiel (mot après mot) | Parallèle (tout ensemble) |
| Mémoire long terme | Limitée (gradient disparaissant) | Excellente (accès direct à tout le texte) |
| Vitesse d'entraînement | Lente | Rapide (optimisé pour GPU) |
| Dépendances | Difficiles à capter sur longue distance | Captées instantanément |
La puissance du Multi-Head Attention
Une seule couche d'attention ne suffit pas. Le langage est trop complexe : un mot peut avoir un rôle grammatical, une charge émotionnelle et une référence historique en même temps. C'est là qu'intervient le Multi-Head Attention, qui consiste à exécuter plusieurs mécanismes d'attention en parallèle, chacun avec ses propres matrices de projection. Imaginez cela comme une équipe d'experts analysant la même phrase : l'un se concentre sur la syntaxe, l'autre sur le ton, et un troisième sur les entités nommées. Dans les modèles de vision comme les Vision Transformers (ViT), on utilise souvent 12, 24 ou 32 "têtes". Chaque tête produit sa propre version de l'embedding. Le modèle concatène ensuite tous ces résultats et les repasse dans une matrice finale pour fusionner les connaissances. C'est cette diversité de perspectives qui permet aux LLM de raisonner de manière fluide.
L'architecture globale : Au-delà de l'attention
Le self-attention est le cœur, mais il a besoin d'un corps pour fonctionner. Un Transformer n'est pas qu'une couche d'attention, c'est un assemblage précis de composants :- L'Embedding et le Positional Encoding : Comme le self-attention traite tout en bloc, il perd la notion d'ordre. On ajoute donc un signal mathématique (encodage positionnel) pour dire au modèle : « Ce mot est en position 1, celui-ci en position 2 ».
- L'Add & Norm : Pour éviter que les signaux ne s'estompent lors des calculs massifs, on utilise des connexions résiduelles et une normalisation de couche. C'est ce qui rend l'entraînement stable.
- Le Feed-Forward Network : Après l'attention, chaque token passe par un petit réseau neuronal classique pour affiner sa représentation.
- Le Masked Self-Attention (dans le Décodeur) : Pour générer du texte, le modèle ne doit pas tricher en regardant le mot suivant. On masque les futurs jetons pour forcer le modèle à prédire le mot suivant en se basant uniquement sur le passé.
De la théorie à la pratique : Entraînement et Fine-tuning
Comment un modèle passe-t-il de matrices de poids aléatoires à une intelligence capable d'écrire du code Python ? Tout commence par le pré-entraînement. Le modèle ingère des téraoctets de données (Common Crawl, Wikipedia) et s'entraîne à prédire le mot suivant. C'est durant cette phase qu'il apprend les matrices Wq, Wk et Wv du self-attention. Il découvre ainsi la structure du monde et du langage. Cependant, un modèle pré-entraîné est comme un étudiant brillant mais sans spécialisation. Pour qu'il devienne un expert en résumé de texte ou en diagnostic médical, on utilise le transfer learning et le RLHF (Reinforcement Learning from Human Feedback). On affine les poids du modèle avec des exemples précis et des corrections humaines pour aligner ses réponses sur nos attentes.
L'impact hors du texte : Les Vision Transformers
Le génie du self-attention est qu'il ne dépend pas de la nature des données. On a découvert que cela fonctionnait aussi pour les images. Dans un Vision Transformer, l'image est découpée en petits carrés (patchs), traités exactement comme des mots dans une phrase. Le modèle analyse alors comment un pixel dans le coin supérieur gauche est lié à un objet dans le coin inférieur droit. Cette capacité à modéliser des relations globales a permis de franchir un cap dans la reconnaissance d'images, dépassant parfois les réseaux convolutifs (CNN) traditionnels sur de très grands jeux de données.Quelle est la différence entre l'attention et le self-attention ?
L'attention classique (utilisée dans les premiers modèles encodeur-décodeur) crée un lien entre deux séquences différentes, comme une phrase source en français et sa traduction en anglais. Le self-attention, lui, crée des liens à l'intérieur d'une seule et même séquence pour comprendre comment les mots d'une phrase interagissent entre eux.
Pourquoi le calcul du self-attention est-il coûteux ?
Parce que chaque mot doit être comparé à tous les autres. Si vous avez une séquence de 1 000 mots, le modèle doit effectuer 1 000 000 de calculs de score d'attention. C'est ce qu'on appelle une complexité quadratique (O(n²)), ce qui limite la taille maximale des documents que les LLM peuvent traiter en une fois.
À quoi servent les matrices Wq, Wk et Wv ?
Ce sont des poids appris durant l'entraînement. Elles servent à projeter le vecteur d'entrée du mot dans trois espaces différents : celui de la recherche (Query), celui de l'identification (Key) et celui du contenu (Value). Sans ces matrices, le modèle ne pourrait pas adapter son attention selon la tâche à accomplir.
Le self-attention remplace-t-il totalement les convolutions ?
Pas totalement, mais il les supplante dans beaucoup de domaines. Les convolutions sont excellentes pour détecter des motifs locaux (comme des bords dans une image). Le self-attention est supérieur pour capturer des relations globales et complexes, même si des architectures hybrides existent encore.
Qu'est-ce que le masquage dans le décodeur ?
Le masquage empêche le modèle de voir les mots futurs lors de la génération. Si le modèle doit prédire le mot « pomme » dans « Je mange une pomme », on cache le mot « pomme » pendant l'entraînement pour qu'il apprenne à deviner en se basant uniquement sur « Je mange une ».
Prochaines étapes pour approfondir
Si vous voulez passer de la théorie à la pratique, je vous suggère d'explorer les points suivants :- L'implémentation PyTorch : Essayez de coder une couche de self-attention simplifiée pour voir comment les matrices s'additionnent.
- Les variantes d'attention : Renseignez-vous sur le « Flash Attention », une optimisation qui réduit drastiquement la consommation de mémoire.
- L'analyse des poids : Utilisez des outils de visualisation pour voir quels mots un modèle GPT « regarde » réellement quand il répond à vos questions.