L'attention est le cœur des transformers (BERT, GPT…). Chaque token calcule, pour tous les autres, à quel point il doit les « regarder » lorsqu'il construit sa représentation. Vous le voyez ici : la matrice est token à token (chaque ligne somme à 1) et les arcs montrent où regarde le token que vous choisissez. Écrivez votre propre phrase.
key
Query, Key et Value (Q/K/V)
Pour décider qui regarder, chaque token produit trois vecteurs : Query (Q, « ce que je cherche »), Key (K, « ce que j'offre ») et Value (V, « ce que j'apporte si on me regarde »).
• Le poids du token i sur le j est le produit scalaire de la Query de i par la Key de j. • On divise par √dk (mise à l'échelle, pour que les nombres ne s'emballent pas) puis on passe par softmax, qui convertit les poids de chaque ligne en pourcentages qui totalisent 1. • En résumé : A = softmax(Q·Kᵀ / √dk). Cet outil dessine cette matrice A ; un modèle réel utiliserait ces poids pour mélanger les Value.
diversity_2
Plusieurs têtes
Un transformer n'a pas UNE seule attention, mais plusieurs têtes en parallèle, chacune avec des projections différentes → chacune se concentre sur des relations différentes (l'une sur le mot précédent, une autre sur le sujet…). Changez de tête et observez comme le motif change.
arrow_forward
Masque causal (GPT)
Les modèles qui génèrent du texte (GPT) ne peuvent pas regarder vers le futur : chaque token n'attend qu'aux précédents. Activez le masque causal et vous verrez la moitié supérieure de la matrice s'éteindre — c'est ainsi qu'on l'entraîne à prédire le token suivant. Sans masque (BERT), chaque token voit toute la phrase.
grid_on
Comment lire la carte de chaleur
La matrice d'attention est une carte de chaleur token × token : la ligne est le token qui regarde (depuis) et la colonne le token regardé (vers).
• Plus la cellule est bleu intense, plus le poids est élevé ; le blanc est presque nul. • Chaque ligne totalise 100 % (c'est une distribution). • Passez la souris sur une cellule pour lire la valeur exacte (p. ex. chat → chat : 40 %). • La diagonale s'allume souvent : un token s'attarde presque toujours pas mal sur lui-même.
timeline
Les arcs : où regarde un token
Sur la bande de la phrase, cliquez sur un mot et des arcs apparaissent vers les mots qu'il regarde, tirés de cette ligne de la matrice. L'épaisseur et l'opacité de chaque arc sont proportionnelles au poids (les poids inférieurs à 2 % sont masqués). Cliquez à nouveau pour désélectionner. C'est la même information qu'une ligne de la carte de chaleur, mais dessinée sur le texte pour la lire d'un coup d'œil.
play_circle
Comment l'utiliser (étape par étape)
1. Écrivez une phrase dans le champ du haut (elle est tokenisée par mots et signes, jusqu'à 40 tokens). 2. Choisissez une Tête (1–4) pour voir différents motifs. 3. Cochez ou décochez le Masque causal pour comparer GPT vs BERT. 4.Cliquez sur un mot (dans la bande ou sur son étiquette de ligne) pour dessiner ses arcs. 5. Passez la souris sur la carte de chaleur pour lire les poids exacts. Tout se recalcule instantanément, dans votre navigateur.
smart_toy
Cette démo face à un modèle réel
Ce visualiseur est pédagogique et déterministe (hors ligne) : les vecteurs de chaque token sont générés par hash (tokens identiques → même vecteur) plus un encodage positionnel sinusoïdal, et les projections Q/K sont fixées avec une graine, si bien que le résultat est reproductible. Le calcul d'attention (produit scalaire mis à l'échelle + softmax, avec masque causal optionnel) est réel. Un vrai modèle apprend Q/K/V à partir de données et empile des dizaines de couches et de têtes. Voir aussi : Tokeniseur, Mini-LLM et Réducteur de dimensionnalité.
hubVisualiseur d'attentionCe que regarde chaque mot dans un transformer
hub
Visualiseur d'attentionVoyez quels mots chaque token « regarde » — le mécanisme au cœur d'un transformer
smart_toyCeci est le mécanisme d'attention (produit scalaire mis à l'échelle + softmax). Un vrai modèle apprend les projections Q/K/V et empile des dizaines de couches et de têtes, mais l'idée est celle-ci. Voir aussi : Tokeniseur, Mini-LLM et Réducteur de dimensionnalité.