Tous les cours
Les grands modèles de langage · Palier 1 · Comment ça marche — Voir le parcours

Quiz d'entraînement : les trois quarts des bonnes réponses pour le réussir.

Les Transformers, expliqués visuellement

Quand tu discutes avec un assistant IA, qu'un outil traduit une page web ou résume un long mail, il y a de fortes chances qu'un Transformer travaille en coulisses. Cette architecture, publiée en 2017, a tout changé : elle est au cœur de presque tous les grands modèles de langage actuels. Et pourtant, elle repose sur une idée qui se dit en une phrase — laisser chaque mot regarder tous les autres mots — dont le détail tient en quelques opérations que tu peux suivre pas à pas.

Ce cours te les fait suivre en les manipulant. Chaque bloc marqué « Figure interactive » réagit : survole-le à la souris, touche-le sur mobile, ou parcours-le au clavier. Tu n'as pas besoin de maths avancées — quelques multiplications et un peu de curiosité suffisent. Les formules n'apparaissent que là où elles éclairent quelque chose.

Ce cours s'inspire de « The Illustrated Transformer » de Jay Alammar (2018), la référence mondiale pour comprendre cette architecture, et du papier fondateur « Attention Is All You Need » (Vaswani et al., 2017). Les explications sont réécrites pour ce cours ; chaque schéma a été redessiné de zéro et rendu interactif. Si tu veux la version originale, elle vaut le détour.


Pourquoi les Transformers ?

Le problème : lire un mot après l'autre

Avant 2017, les modèles de langage lisaient une phrase comme tu le fais à voix haute : de gauche à droite, un mot à la fois, en gardant en tête un petit résumé de ce qui précède. C'est le principe des réseaux récurrents (RNN, LSTM). Deux défauts s'ensuivaient.

  • C'est lent. Pour traiter le dixième mot, il faut avoir traité le neuvième. Impossible de répartir le travail sur des milliers de cœurs de calcul : tout est en file indienne.
  • La mémoire s'érode. Au cinquantième mot, le début de la phrase n'est plus qu'une trace floue dans le résumé. Or comprendre un texte, c'est souvent relier un mot à un autre très éloigné.

La percée de 2017

Des chercheurs de Google publient alors « Attention Is All You Need » avec une proposition radicale : abandonner la lecture séquentielle. Chaque mot va directement consulter tous les autres grâce à un mécanisme appelé attention. Comme plus aucun mot n'attend son voisin, tous les mots sont traités en parallèle — exactement ce que savent faire les cartes graphiques. Résultat : on peut entraîner de bien plus gros modèles, sur bien plus de texte, en bien moins de temps.

Dans ce cours, on reconstruit le Transformer d'origine, conçu pour la traduction (une phrase en entrée, une phrase en sortie). Les grands modèles d'aujourd'hui en gardent surtout une moitié, on y reviendra à la fin.


Vue d'ensemble : ouvrir la boîte

Vu de l'extérieur, un Transformer est une boîte noire : on lui donne « Je suis étudiant », il répond « I am a student ». Ouvrons-la, niveau par niveau.

Figure interactiveOuvre la boîte : de la machine noire aux couchesChoisis un niveau de zoom, puis survole ou touche un bloc pour savoir à quoi il sert.
Je suis étudiant
I am a student

1 · La boîte noire

Vu de l'extérieur, un Transformer est une fonction : une phrase entre, une autre sort. Ici, une traduction du français vers l'anglais.

Schéma inspiré de « The Illustrated Transformer » (J. Alammar). Le papier original empile 6 encodeurs et 6 décodeurs — un choix expérimental, pas une loi.

Retiens trois choses de ce schéma :

  • Il y a deux moitiés : un encodeur, qui lit et comprend la phrase d'entrée, et un décodeur, qui écrit la phrase de sortie.
  • Chaque moitié est une pile de blocs identiques dans leur forme (6 dans le papier original — un choix expérimental, pas une loi), mais chaque bloc a ses propres poids appris.
  • Dans chaque bloc, deux ingrédients reviennent : de l'attention et un petit réseau feed-forward. C'est tout. Le reste du cours, c'est comprendre ces deux ingrédients et la colle qui les assemble.

Des mots aux vecteurs

Un réseau de neurones ne lit pas de texte

Un modèle ne manipule que des nombres. Il faut donc d'abord convertir le texte. Premier temps : le découpage en tokens. Un token est un morceau de texte — souvent un mot, parfois un fragment de mot (« transformers » peut devenir « trans » + « formers »), parfois un signe de ponctuation. Chaque token reçoit un identifiant dans un vocabulaire fixe de quelques dizaines de milliers d'entrées (environ 37 000 dans le papier original, pour la paire anglais–allemand).

Deuxième temps : l'embedding. L'identifiant est transformé en un vecteur — une longue liste de nombres (512 dans le papier original). Ces nombres ne sont pas écrits à la main : ils sont appris pendant l'entraînement, de sorte que des mots proches par le sens se retrouvent avec des vecteurs proches.

Essaie avec ta propre phrase :

Figure interactiveDe la phrase aux nombresTape ta propre phrase. Survole ou touche un token : tu vois le vecteur qui le représente.

« Les » devient l'identifiant 2555, puis un vecteur de 512 nombres (on n'en montre que 10). Les premiers :

[0.50, 0.22, 0.88, -0.02, … ]

Tokenizer et vecteurs jouets : un vrai tokenizer (BPE) découpe selon des statistiques, et un vrai embedding est appris pendant l'entraînement (512 nombres dans le papier original, 10 affichés ici). Les couleurs montrent le signe et la taille de chaque nombre.

Un point crucial pour la suite : une fois la phrase transformée en une liste de vecteurs — un par token —, tous les tokens entrent dans l'encodeur en même temps. Pas de file d'attente.

Et l'ordre des mots ?

Voici un piège. L'attention, que tu vas découvrir juste après, regarde quels mots sont présents, mais elle est aveugle à leur ordre. Pour elle, « le chien mord l'homme » et « l'homme mord le chien » contiennent les mêmes ingrédients. Il faut donc injecter la position dans les données.

La solution du papier : ajouter à chaque embedding une signature de position, un vecteur de même taille fait de sinus et de cosinus à des fréquences différentes. Les premières dimensions oscillent vite, les dernières lentement — un peu comme les aiguilles d'une horloge qui donnent l'heure à des échelles différentes.

Figure interactiveLa signature de positionChaque ligne est une position dans la phrase, chaque colonne une dimension du vecteur. Choisis une position : au survol, au toucher ou avec la glissière.

À qui ressemble la position 3 ?

La position 3 ressemble surtout à elle-même, puis aux positions 2 et 4 : plus deux mots sont proches dans la phrase, plus leurs signatures se ressemblent. C'est ainsi que l'attention peut « sentir » la distance entre deux mots.

Sinus et cosinus de fréquences différentes, comme dans le papier original (16 positions × 32 dimensions ici, au lieu de 512). Les couleurs vont du négatif au positif. En bas : la ressemblance entre la position choisie et toutes les autres.

Deux propriétés rendent cette idée élégante : chaque position reçoit une signature unique, et deux positions proches ont des signatures qui se ressemblent — ce que tu peux vérifier dans le graphique du bas. Les modèles récents utilisent souvent d'autres variantes (comme les encodages rotatifs), mais l'objectif reste le même : redonner au modèle le sens de l'ordre.


La self-attention : le cœur du système

L'idée : laisser chaque mot regarder les autres

Prends la phrase : « Le chien n'a pas traversé le trottoir parce qu'il était trop fatigué. » À quoi renvoie « il » ? Au chien. Mais change le dernier mot — « … parce qu'il était trop étroit » — et « il » désigne soudain le trottoir. Pour traduire ou comprendre correctement, un modèle doit relier « il » au bon mot, en s'appuyant sur le reste de la phrase.

C'est exactement le rôle de la self-attention (« auto-attention ») : quand le modèle encode un mot, elle lui permet d'aller regarder les autres mots de la phrase et d'en rapporter de l'information pour enrichir sa propre représentation. Teste-le :

Figure interactiveÀ qui renvoie « il » ?Touche un mot pour voir ce qu'il regarde. Puis change le dernier mot de la phrase : le pronom bascule.

Quand « qu'il » est encodé, il regarde surtout « chien » (42 %).

Poids illustratifs, produits par des règles simples puis normalisés par un softmax — pas ceux d'un vrai modèle. Idée reprise de « The Illustrated Transformer » (J. Alammar), avec une phrase adaptée au français.

Si tu as déjà croisé les réseaux récurrents, tu peux y voir leur « résumé de ce qui précède », mais en bien mieux : ici, chaque mot a un accès direct à tous les autres, quelle que soit la distance.

Question, clé, valeur

Comment le modèle décide-t-il où regarder ? Avec un mécanisme en trois rôles. Pour chaque mot, on calcule trois vecteurs à partir de son embedding, en le multipliant par trois matrices de poids apprises (W_Q, W_K, W_V) :

  • la requête (query, q) : « ce que je cherche » ;
  • la clé (key, k) : « ce que je peux offrir » — l'étiquette collée sur le mot ;
  • la valeur (value, v) : « mon contenu », l'information que je transmets si l'on vient me consulter.

L'image qui marche bien, c'est la bibliothèque. Tu arrives avec une question (la requête). Tu la compares à l'étiquette de chaque rayon (les clés). Plus l'étiquette correspond à ta question, plus tu empruntes de pages de ce rayon (les valeurs). Au final, tu repars avec un mélange de contenus, dosé par la pertinence.

Dans le papier, les embeddings font 512 dimensions et les vecteurs q, k, v 64 — un choix d'architecture qui permet, on le verra, de faire tourner plusieurs « regards » en parallèle.

Pas à pas

Pour un seul mot, la self-attention suit six étapes :

  1. Calculer sa requête q, et la clé k et la valeur v de chaque mot.
  2. Score : comparer q à chaque clé avec un produit scalaire (q · k). Plus c'est grand, plus le mot est pertinent.
  3. Diviser par √d (la racine de la taille des clés, 8 dans le papier) pour garder des nombres raisonnables.
  4. Softmax : transformer les scores en pourcentages positifs qui totalisent 100 %.
  5. Pondérer : multiplier la valeur de chaque mot par son pourcentage.
  6. Additionner : la somme est la nouvelle représentation du mot.

Fais-le tourner toi-même, avec de vrais nombres, sur trois mots :

Figure interactiveLa self-attention, pas à pasChoisis le mot qui « regarde », puis avance d'étape en étape. Tous les nombres sont calculés en direct.
Mot qui regarde

1/6 · Chaque mot a un q, un k, un v

Chaque mot est transformé en trois vecteurs : une requête q (« ce que je cherche »), une clé k (« ce que j'offre ») et une valeur v (« mon contenu »). Ici, « dort » pose sa requête.

q(dort) = [1.50, 0.20, 1.40, 0.00]
  • Lek = [0.20, 0.10, 0.00, 0.30]v = [0.10, 0.20, 0.00, 0.10]
  • chatk = [1.60, 0.40, 1.20, 0.10]v = [0.90, 0.10, 0.80, 0.20]
  • dortk = [0.30, 1.50, 0.20, 0.90]v = [0.20, 0.90, 0.10, 0.70]

Trois mots, des vecteurs de dimension 4 (64 par tête dans le papier). Les vecteurs q, k et v sont fixés pour l'exemple : dans un vrai modèle, ils sont produits par des matrices de poids apprises. Étapes d'après « The Illustrated Transformer » (J. Alammar).

Observe l'étape 3 : sans la division par √d, le produit scalaire de grands vecteurs produirait des scores énormes, le softmax deviendrait presque un « tout ou rien », et l'apprentissage serait instable. C'est un détail d'ingénierie, mais il compte.

Tout d'un coup : la version matricielle

Ce qu'on vient de faire pour un mot, un ordinateur le fait pour tous les mots en une seule fois. Les six étapes se résument alors en une formule d'une ligne.

Les maths derrière · l'attention en une ligne

On empile les requêtes de tous les mots dans une matrice Q, les clés dans K et les valeurs dans V. Les six étapes deviennent :

Attention(Q, K, V) = softmax( Q · Kᵀ / √d ) · V

Dans le papier d'origine, les clés ont d = 64 dimensions, donc √d = 8 : chaque score est divisé par 8 avant le softmax. Le papier avance que, pour de grandes dimensions, les produits scalaires deviennent grands et poussent le softmax vers des zones où son gradient est minuscule.

Le produit Q · Kᵀ calcule d'un coup tous les scores de tous les mots contre tous les autres ; le softmax s'applique ligne par ligne ; la multiplication par V fait toutes les sommes pondérées. Quelques multiplications de matrices — l'opération que les cartes graphiques exécutent le mieux. C'est la source du gain de vitesse dont on parlait au début.


Plusieurs têtes valent mieux qu'une

Une seule attention, c'est un seul « regard » moyen sur la phrase. Or il y a plusieurs choses à surveiller en même temps : à qui renvoie « il », quelle propriété lui est attribuée, quel est le verbe… Si tout est mélangé dans un seul jeu de poids, un mot risque surtout de se regarder lui-même.

Le papier propose donc l'attention multi-têtes : on répète le calcul 8 fois en parallèle, chaque tête ayant ses propres matrices W_Q, W_K, W_V (initialisées différemment, donc libres de se spécialiser). On obtient 8 résultats, qu'on concatène puis qu'on mélange avec une dernière matrice W_O pour retrouver la taille attendue.

Figure interactivePlusieurs têtes, plusieurs regardsChoisis une tête pour voir son motif d'attention sur « il », ou touche un autre mot pour changer de point de vue.

Vue : Tête 1 · référence

Spécialisations caricaturales : dans un vrai Transformer, les têtes sont apprises et rarement aussi nettes. Le papier original utilise 8 têtes, on en montre 4. « Combinée » est leur moyenne, pour l'illustration — le vrai modèle concatène les têtes puis les projette avec une matrice W_O.

Ne te laisse pas tromper par les étiquettes nettes du schéma : dans un vrai modèle, les têtes sont apprises, pas assignées, et leurs rôles sont rarement aussi lisibles. Ce qu'il faut retenir, c'est le principe : plusieurs regards complémentaires, fusionnés en un seul.


Le bloc d'encodeur complet

L'attention n'est qu'une des deux sous-couches d'un bloc. L'autre est le réseau feed-forward : un petit réseau de neurones à deux couches, appliqué séparément à chaque mot avec les mêmes poids. L'attention mélange l'information entre les mots ; le feed-forward retravaille ensuite chaque mot individuellement.

Reste la « colle » : autour de chaque sous-couche, le Transformer ajoute

  • une connexion résiduelle (un raccourci) : on additionne l'entrée de la sous-couche à sa sortie. Le signal d'origine n'est jamais perdu, et l'information comme le gradient d'apprentissage traversent plus facilement un réseau profond ;
  • une normalisation de couche (layer norm) : on remet les valeurs à une échelle stable pour que l'entraînement ne dérape pas.
Figure interactiveÀ l'intérieur d'un bloc d'encodeurTouche un élément pour voir son rôle. Active ou coupe les raccourcis pour voir ce qu'ils contournent.
raccourciVecteurs de sortieAdd & NormFeed-forwardAdd & NormSelf-attention multi-têtesVecteurs d'entrée

Un bloc, de bas en haut

Les vecteurs entrent par le bas, traversent l'attention puis le feed-forward, et ressortent par le haut, prêts pour le bloc suivant. Survole ou touche chaque élément.

Les raccourcis (connexions résiduelles) ajoutent l'entrée de chaque sous-couche à sa sortie, puis une normalisation de couche (layer norm) remet les valeurs à une échelle stable. Le décodeur utilise la même recette. Schéma redessiné d'après « The Illustrated Transformer » (J. Alammar).

Comme la sortie d'un bloc a exactement la même forme que son entrée, on peut empiler les blocs à volonté : 6 dans le papier, des dizaines dans les très grands modèles. La sortie du dernier encodeur est transformée en un jeu de clés K et de valeurs V que chaque bloc du décodeur pourra consulter.


Le décodeur

Écrire un mot à la fois

Le décodeur produit la phrase de sortie un mot à la fois. Il part d'un symbole de début, prédit le premier mot, puis réinjecte ce mot à son entrée pour prédire le suivant, et ainsi de suite jusqu'à produire un symbole de fin de phrase. Comme l'encodeur, il commence par transformer ses entrées en embeddings + positions.

C'est la grande différence avec l'encodeur : ici, on ne peut pas tout traiter d'un coup à l'exécution, puisque chaque mot dépend de celui qu'on vient de produire. (Pour accélérer, les implémentations gardent en mémoire les clés et valeurs déjà calculées des mots précédents : le cache KV.)

Le masque causal

Pendant l'entraînement, en revanche, on connaît déjà la phrase cible complète et on peut calculer toutes les positions en parallèle. Danger : si, pour deviner le mot n° 3, le modèle pouvait lire le mot n° 4, il tricherait — il n'apprendrait rien. D'où le masque causal : avant le softmax, les scores des positions futures sont forcés à −∞, ce qui leur donne un poids de 0.

Figure interactiveLe masque causalChaque ligne est un mot qui regarde, chaque colonne un mot regardé. Bascule entre encodeur et décodeur, puis touche une case.
Jesuisunbonétudiant
Jesuisunbonétudiant
Je
suis
un
bon
étudiant

« suis » n'a pas le droit de regarder « bon » : ce mot vient après lui. Son score est −∞, donc son poids est 0.

Poids illustratifs (voisinage et soi-même), normalisés par un softmax sur chaque ligne : chaque ligne totalise 100 %. Dans le décodeur, les positions futures sont mises à −∞ avant le softmax, ce qui donne un poids de 0.

Bascule entre les deux modes : dans l'encodeur, chaque mot voit toute la phrase ; dans le décodeur, la matrice devient triangulaire — chaque mot ne regarde que lui-même et ses prédécesseurs.

L'attention encodeur–décodeur

Entre la self-attention masquée et le feed-forward, chaque bloc du décodeur ajoute une troisième sous-couche : l'attention encodeur–décodeur. Elle fonctionne comme la self-attention multi-têtes, avec une asymétrie qui change tout : les requêtes viennent du décodeur (ce qu'il est en train d'écrire), mais les clés et les valeurs viennent de l'encodeur (la phrase d'entrée comprise). C'est le pont qui permet au décodeur de se concentrer, à chaque mot produit, sur les bons mots de la phrase source.

Suis ce pont mot à mot. Pour écrire « The blue house » à partir de « La maison bleue », le décodeur regarde-t-il les mots source dans l'ordre ? Avance dans la figure et parie à l'étape de « blue ».

Figure interactiveLe pont entre l'encodeur et le décodeurAvance pas à pas : à chaque mot écrit, regarde comment l'attention pèse les mots source. Tu parieras à l'étape de « blue ».
K, Vrequête qLamaisonbleueClés K etvaleurs VAttentionenc–décDécodeurn'a rien écrit

Étape 1 sur 5

L'encodeur a fini

L'encodeur a lu « La maison bleue » en entier : il en a tiré une clé K et une valeur V pour chaque mot. Le décodeur n'a encore rien écrit. Pour chaque mot qu'il va écrire, il enverra une requête q à l'attention encodeur–décodeur.

Phrase source « La maison bleue », phrase écrite « The blue house ». Les pourcentages sont illustratifs (écrits à la main pour montrer l'alignement), pas ceux d'un modèle ; ils totalisent 100 %. Le jeton parcourt la flèche du mot source qui pèse le plus ; la barre montre le mélange complet.

Le décodeur ne parcourt pas la phrase source de gauche à droite : il consulte « bleue » avant « maison », parce que l'anglais place l'adjectif avant le nom. Surtout, il ne choisit jamais un seul mot : à chaque mot écrit, sa requête se compare aux clés de toute la source, les poids forment un mélange des valeurs (ils totalisent 100 %), et ce mélange penche vers un mot. La flèche allumée est celle qui pèse le plus ; la barre montre le mélange complet. Les pourcentages de la figure sont illustratifs, mais le mécanisme est réel : c'est ce qui permet au décodeur de réordonner une phrase en la traduisant.


Du vecteur au mot suivant

Le haut de la pile du décodeur sort un vecteur par position. Il reste à le convertir en… un mot. Deux petites couches s'en chargent :

  • une couche linéaire projette le vecteur sur un nouveau vecteur de la taille du vocabulaire — un score (logit) par mot possible ;
  • un softmax transforme ces scores en probabilités : toutes positives, de somme 1.

Le mot choisi est alors lu dans cette distribution. Voici le mécanisme sur un exemple où le modèle doit compléter « Le chat dort sur le… » :

Figure interactiveDu score à la probabilité : softmax et températureRègle la température, puis tire des mots au sort pour voir les fréquences suivre les probabilités.

Le chat dort sur le …

  • canapéscore 3.146 %
  • tapisscore 2.423 %
  • litscore 2.219 %
  • toitscore 1.05.6 %
  • clavierscore 0.84.6 %
  • frigoscore -0.31.5 %
  • nuagescore -1.20.6 %
  • lunescore -2.00.3 %

Scores (logits) fixes et illustratifs. À chaque pas, un vrai modèle les recalcule pour chaque mot de son vocabulaire (de 30 000 à plus de 200 000 entrées). Le trait doré indique la fréquence observée sur tes tirages.

Trois façons courantes de choisir le mot, du plus prudent au plus libre :

  • Le plus probable (glouton, ou greedy) : on prend toujours le meilleur candidat. Rapide, mais parfois répétitif.
  • La recherche en faisceau (beam search) : on garde en parallèle les k meilleures phrases partielles, au lieu d'une seule, et l'on choisit à la fin la meilleure phrase complète. Courant en traduction.
  • Le tirage au sort pondéré (échantillonnage) : on tire le mot au hasard selon les probabilités. La température règle alors la prise de risque : basse, le favori écrase tout ; haute, des choix inattendus reviennent. C'est ce curseur qu'on retrouve, sous un nom ou un autre, dans les interfaces d'IA générative.

Comment ça apprend

Tout ce qu'on a décrit — les embeddings, les matrices W_Q, W_K, W_V, les réseaux feed-forward — ce sont des paramètres. Au départ, ils sont aléatoires : le modèle prédit n'importe quoi. L'entraînement, on l'a vu dans les fondations du machine learning, consiste à les ajuster pour que les prédictions collent aux bonnes réponses.

Pour mesurer l'écart, on compare la distribution de probabilités du modèle à la réponse attendue, représentée comme une distribution où le bon mot vaut 1 et tous les autres 0. La mesure standard est l'entropie croisée : la perte vaut −ln(probabilité donnée au bon mot). Si le modèle donne 90 % au bon mot, la perte est faible ; s'il lui donne 1 %, elle est grande. Un pas de descente de gradient pousse ensuite les paramètres dans la direction qui réduit la perte.

Figure interactiveEntraîner, c'est réduire la perteFais avancer l'entraînement pas à pas : la probabilité de la bonne réponse monte, la perte baisse.
merci → thanksLa ligne surlignée est la réponse attendue.
  • a18 %
  • am10 %
  • i30 %
  • thanks (réponse attendue)13 %
  • student22 %
  • ⟨eos⟩7 %
Perte2.02
Modèle non entraîné : il donne 13 % à « thanks ».

Simplification : on ajuste directement les scores du modèle, alors qu'un vrai modèle ajuste ses poids (des millions à des milliards) qui produisent ces scores. La perte est l'entropie croisée : −ln(probabilité de la bonne réponse).

À l'échelle réelle, le principe est identique. Pour la traduction, on dispose de millions de paires de phrases. Pour un grand modèle de langage, l'astuce est de prédire le mot suivant sur d'immenses quantités de texte : la « bonne réponse » est déjà dans le texte lui-même, personne n'a besoin d'étiqueter quoi que ce soit.


Et aujourd'hui ?

Le modèle de base du papier original comptait environ 65 millions de paramètres (213 millions pour sa version « big »). Depuis, les modèles ont grossi de plusieurs ordres de grandeur : en juillet 2024, le plus grand de la famille Llama 3 comptait 405 milliards de paramètres ; en juillet 2025, Kimi K2, un modèle « à experts » où seule une partie des paramètres travaille pour chaque mot, annonçait 1 000 milliards au total, dont 32 milliards actifs. L'architecture, elle, est restée remarquablement stable — avec quelques variantes selon ce qu'on garde de l'édifice :

FamilleCe qu'elle gardeExemples d'usage
Encodeur seulLa moitié qui comprend : chaque mot voit toute la phraseClasser un texte, chercher des passages proches (BERT et ses descendants)
Décodeur seulLa moitié qui génère : un mot à la fois, avec masque causalLes assistants conversationnels et la plupart des grands modèles de langage (la famille GPT, par exemple)
Encodeur + décodeurL'architecture complète, comme iciTraduction, résumé (T5, le Transformer d'origine)

Le même principe a aussi gagné l'image (les Vision Transformers de 2020, qui découpent une photo en petits carrés, traités comme des tokens), le son, la biologie des protéines…

Le décodeur seul est la famille qui écrit le texte des assistants d'aujourd'hui. Où passe donc le texte de départ que tu lui donnes ? Parie, puis bascule entre les deux architectures pour voir ce qui disparaît.

Figure interactiveCe qui reste dans un décodeur seulParie, puis bascule entre le Transformer d'origine et un décodeur seul.

Dans un modèle décodeur seul, où va le texte de départ (la consigne que tu écris) ?

Fais ton pari : où va la consigne ?

Deux piles : le décodeur, qui écrit, et l'encodeur, dont les clés et les valeurs ne nourrissent que l'attention encodeur–décodeur. Schéma simplifié : chaque couche représente une pile de blocs identiques.

Trois couches disparaissent : la phrase source à part, l'encodeur et l'attention encodeur–décodeur. L'encodeur n'alimentait que cette attention : sans elle, il n'a plus de rôle. Tout le travail revient à la self-attention masquée, qui relit la consigne et les mots déjà écrits comme une seule séquence. Une conséquence pratique : ce que tu écris et ce que le modèle répond partagent la même mémoire de travail, que le cours La fenêtre de contexte détaille.

Une limite à garder en tête : la matrice d'attention compare chaque mot à chaque mot, donc son coût croît avec le carré de la longueur du texte. Doubler la taille du contexte, c'est environ quadrupler ce calcul-là. Une bonne partie de la recherche actuelle consiste à rendre l'attention moins gourmande pour allonger les contextes.


Teste-toi

Quelques questions pour vérifier que les idées clés sont en place. La raison s'affiche après chaque réponse — c'est elle qui compte.

Figure interactiveÀ toi : as-tu retenu l'essentiel ?Sur les idées clés des Transformers. La raison s'affiche après chaque réponse.

Question 1 sur 8

6 bonnes réponses attendues sur 8.

Pourquoi un Transformer traite-t-il tous les mots d'une phrase en parallèle, là où un réseau récurrent les lit un par un ?

Pour chaque question, une seule réponse est la bonne. Pas de piège : l'objectif est de mobiliser les notions, pas de te piéger.


Le vocabulaire en un coup d'œil

TermeEn une phrase
TokenUn morceau de texte (mot, fragment de mot, ponctuation) : l'unité que le modèle manipule.
EmbeddingLe vecteur de nombres, appris, qui représente un token.
Encodage positionnelUne signature de position (sinus/cosinus) ajoutée à chaque embedding pour redonner le sens de l'ordre.
Self-attentionLe mécanisme par lequel chaque mot regarde tous les autres pour enrichir sa représentation.
Requête, clé, valeur (Q, K, V)Ce qu'un mot cherche, ce qu'il offre, et le contenu qu'il transmet.
SoftmaxLa fonction qui transforme des scores en pourcentages positifs de somme 1.
Tête d'attentionUn des « regards » parallèles de l'attention multi-têtes, avec ses propres matrices.
Connexion résiduelleUn raccourci qui additionne l'entrée d'une sous-couche à sa sortie.
Normalisation de coucheRemettre les valeurs à une échelle stable après chaque sous-couche.
Feed-forwardUn petit réseau appliqué séparément à chaque position, après l'attention.
EncodeurLa moitié qui lit et comprend toute la phrase d'entrée d'un coup.
DécodeurLa moitié qui génère la sortie, un mot à la fois.
Masque causalL'interdiction de regarder les positions futures (scores à −∞ avant le softmax).
LogitLe score brut d'un mot du vocabulaire, avant le softmax final.
TempératureUn réglage qui durcit (basse) ou aplatit (haute) la distribution lors du tirage du mot suivant.
Entropie croiséeLa perte qui mesure l'écart entre les probabilités du modèle et la bonne réponse.

Ce qu'il faut retenir

  • Un Transformer remplace la lecture séquentielle par l'attention : chaque mot regarde directement tous les autres, et tous les mots sont traités en parallèle.
  • L'attention se calcule avec des requêtes, des clés et des valeurs : softmax(Q · Kᵀ / √d) · V.
  • Plusieurs têtes offrent plusieurs regards complémentaires, fusionnés ensuite.
  • L'encodage positionnel redonne au modèle le sens de l'ordre ; les raccourcis résiduels et la normalisation rendent la pile profonde entraînable.
  • Le décodeur génère un mot à la fois, grâce à un masque causal pendant l'entraînement ; un softmax convertit les scores en probabilités, et la température règle la prise de risque.
  • Tout est appris en réduisant une perte (l'entropie croisée) sur de très grandes quantités de données.

Pour aller plus loin

  • Jay Alammar, The Illustrated Transformer (27 juin 2018) — l'article qui a inspiré ce cours, avec ses schémas d'origine. Citation suggérée par l'auteur : Alammar, J. (2018). The Illustrated Transformer [Blog post]. Consulté le 26 octobre 2026.
  • Vaswani et al., Attention Is All You Need (2017) — le papier fondateur, étonnamment lisible : 6 blocs, 512 dimensions, 8 têtes de 64, 65 et 213 millions de paramètres (tableau 3), vocabulaire d'environ 37 000 entrées. Consulté le 26 octobre 2026 (copie ar5iv).
  • The Annotated Transformer (groupe NLP de Harvard) — le papier relu ligne à ligne, avec le code en PyTorch.
  • Jay Alammar et Maarten Grootendorst, Hands-On Large Language Models — un livre illustré qui prolonge ces idées jusqu'aux modèles d'aujourd'hui.
  • Dubey et al., The Llama 3 Herd of Models (31 juillet 2024) — « un Transformer dense de 405 milliards de paramètres » et un contexte jusqu'à 128 000 tokens. Consulté le 26 octobre 2026.
  • Dosovitskiy et al., An Image is Worth 16x16 Words (22 octobre 2020) — le Transformer appliqué à des morceaux d'image. Consulté le 26 octobre 2026.
  • Hugging Face, LLM course, chapitre 1.4 — les trois familles (encodeur seul, décodeur seul, encodeur–décodeur) et leurs usages. Consulté le 26 octobre 2026.
  • Moonshot AI, Kimi K2: Open Agentic Intelligence (28 juillet 2025) — « 32 milliards de paramètres activés et 1 000 milliards au total », un modèle à experts. Consulté le 26 octobre 2026.

Et maintenant ?