Ouvrir le PDF Inside_LLM_Memory.pdf — Lecture directement : Comment l'IA se souvient-elle de Thomas Pesquet ?
Générés par NotebookLM (Google).
Accueil – Chapitre 9
À la fin de ce chapitre 9, tu sauras : ce qu'est un MLP (perceptron multicouche) dans un Transformer, où sont stockés les « faits » dans les LLM, et les trois étapes du calcul : projection vers le haut (W↑ + biais), ReLU, projection vers le bas (W↓ + biais).
Bienvenue dans le chapitre 9 ! Au chapitre 8, tu as vu comment l'attention permet aux vecteurs des mots de communiquer. Ici, on ouvre l'autre grande partie du Transformer : les MLP (Multi-Layer Perceptrons). C'est là que réside la majorité des paramètres du modèle et une grande partie de sa capacité à « stocker » des faits (par exemple associer une personne à son métier). Avec les chapitres 6 à 8, tu as maintenant une vue complète du Transformer. Le chapitre 10 change de domaine : on y parle d’IA images et vidéos (texte → image ou vidéo).
Le MLP en un schéma
En résumé : Les MLP sont les « entrepôts » des faits dans les LLM. Chaque vecteur traverse le MLP en parallèle (sans échanger avec les autres). Trois étapes : W↑+biais, ReLU, W↓+biais ; le résultat est ajouté au vecteur d'entrée.
Lexique
Objectif : Connaître les mots du chapitre 9 (MLP, W↑, W↓, ReLU, neurone actif/inactif, biais, connexion résiduelle, superposition).
- MLP (Multi-Layer Perceptron)
- Bloc du Transformer qui applique à chaque vecteur une projection vers le haut (W↑ + biais), une fonction ReLU, puis une projection vers le bas (W↓ + biais). Les vecteurs ne s'échangent pas d'information. Comme si : un entrepôt où chaque mot dépose ou récupère des « faits » indépendamment des autres.
- Projection vers le haut (W↑)
- Première matrice du MLP : elle multiplie le vecteur d'entrée et l'envoie dans un espace de plus grande dimension. Chaque ligne peut être vue comme une « question » (produit scalaire avec le vecteur). Comme si : une batterie de détecteurs qui mesurent à quel point le vecteur correspond à certaines directions.
- Projection vers le bas (W↓)
- Deuxième matrice du MLP : elle ramène le vecteur (après ReLU) à la dimension initiale. Chaque colonne peut être vue comme une « direction » à ajouter si le neurone correspondant est actif. Comme si : une liste de réponses prêtes à être ajoutées au vecteur selon les détecteurs activés.
- ReLU (Rectified Linear Unit)
- Fonction qui laisse passer les valeurs positives et met les négatives à zéro. Elle n'a aucun paramètre (0). Elle permet d'obtenir un comportement « oui/non » (type porte ET). Comme si : un coupe-circuit : positif → on garde ; négatif → on coupe à 0.
- GELU
- Variante de la ReLU, un peu plus lisse, souvent utilisée dans les modèles récents. Même idée générale : introduire une non-linéarité. Comme si : une ReLU adoucie.
- Neurone actif / inactif
- Dans le MLP, les « neurones » sont les valeurs en sortie de la ReLU. Un neurone est actif si sa valeur est positive, inactif si elle est nulle. Comme si : des voyants qui s'allument ou restent éteints.
- Biais (B↑, B↓)
- Vecteur de paramètres ajouté après chaque multiplication matricielle. Permet par exemple de décaler un seuil (ex. valeur − 1 pour obtenir « positif si et seulement si nom complet »). Comme si : un réglage de zéro sur chaque détecteur.
- Connexion résiduelle
- Le résultat du MLP est additionné au vecteur d'entrée (E + sortie_MLP). On dit que la sortie du MLP est une « mise à jour » ajoutée au vecteur. Comme si : on ne remplace pas le vecteur, on y ajoute une correction.
- Superposition
- Idée selon laquelle, en haute dimension, des directions « presque perpendiculaires » permettent de stocker bien plus de concepts que de dimensions. Un neurone ne représente alors pas un seul concept propre. Comme si : plusieurs étiquettes superposées sur la même case.
Rappel : où se situe le MLP dans le Transformer
Objectif : Resituer le MLP après l'attention dans chaque bloc du Transformer.
Le Transformer enchaîne un grand nombre de blocs. Chaque bloc contient d'abord un bloc d'attention (chapitre 8), puis un MLP. L'entrée du MLP est la séquence de vecteurs déjà enrichie par l'attention (E' = E + ΔE). Le MLP applique à chaque vecteur, en parallèle, la même séquence d'opérations (W↑, biais, ReLU, W↓, biais), puis ajoute le résultat au vecteur. La sortie du bloc est donc E' + sortie_MLP.
En résumé : Dans chaque bloc : Attention puis MLP. Le MLP reçoit les vecteurs affinés par l'attention et leur ajoute une mise à jour (stockage de faits).
Rôle du MLP : capacité à stocker des faits
Objectif : Comprendre que les MLP offrent une capacité supplémentaire pour « stocker » des faits et que les vecteurs n'échangent pas d'information entre eux dans le MLP.
L'attention permet aux vecteurs de communiquer entre eux (contexte). Les blocs MLP, eux, traitent chaque vecteur indépendamment : aucun échange d'information entre les vecteurs à l'intérieur du MLP. Chaque vecteur traverse les mêmes opérations (W↑, ReLU, W↓) en parallèle, mais sans recevoir d'info des autres positions. C'est une capacité de stockage pur : le modèle peut y encoder des associations du type « cette personne → ce métier » (ex. Thomas Pesquet → astronaute).
Pour l'exemple « Thomas Pesquet », on suppose qu'un bloc d'attention en amont a déjà transmis l'info au token « Pesquet » pour que son vecteur encode les deux noms ; le MLP peut alors « reconnaître » ce vecteur et y ajouter la direction « astronaute ».
Voir : chaque vecteur traverse le MLP en parallèle, sans échanger avec les autres.
Les vecteurs dans le MLP s'échangent-ils des informations entre eux ?
En résumé : MLP = pas d'échange entre vecteurs ; capacité de stockage (faits). L'attention en amont peut avoir fusionné l'info (ex. Thomas + Pesquet) pour que le MLP puisse ajouter « astronaute ».
Étape 1 : projection vers le haut (W↑ + biais)
Objectif : Comprendre que la première étape multiplie le vecteur par une matrice W↑ (vue « ligne = question ») et ajoute un biais ; exemple Thomas + Pesquet → produit scalaire 2.
Le vecteur d'entrée E est multiplié par une grande matrice, notée W↑ (projection vers le haut), puis on ajoute un vecteur biais B↑. Chaque ligne de W↑ peut être vue comme une « question » : le produit scalaire entre cette ligne et E donne un nombre. Si une ligne vaut la direction « Thomas » + « Pesquet », alors pour un vecteur qui encode Thomas Pesquet, le produit scalaire vaut 2 (1+1) ; pour « Thomas » seul ou « Pesquet » seul, il vaut au plus 1. En ajoutant un biais de −1 sur cette composante, on obtient 1 uniquement pour « Thomas Pesquet », et 0 ou moins sinon. Cela prépare le « oui/non » pour la ReLU.
Voir : selon le vecteur E (Thomas, Pesquet, ou Thomas+Pesquet), le produit scalaire avec la ligne (T+P) vaut 1, 1 ou 2.
En résumé : E × W↑ + B↑. Lignes = « questions » (produits scalaires). Ex. ligne T+P → 2 pour Thomas Pesquet ; biais −1 pour obtenir positif ⟺ nom complet.
ReLU et neurones actifs / inactifs
Objectif : Comprendre la ReLU (négatif → 0, positif inchangé), son comportement type « ET », et que les neurones sont les valeurs en sortie (actif si > 0, inactif si 0). La ReLU n'a aucun paramètre.
Après W↑ + B↑, on obtient un grand vecteur. Pour avoir un vrai « oui/non » (et éviter que « Thomas » seul ou « Pesquet » seul déclenche le même effet que « Thomas Pesquet »), on applique la ReLU : toute valeur négative devient 0, toute valeur positive reste inchangée. C'est une porte logique « ET » en quelque sorte : il faut que la somme (produit scalaire − biais) soit positive. La ReLU n'a aucun paramètre (0). Les valeurs en sortie de la ReLU sont ce qu'on appelle les neurones : un neurone est actif si sa valeur est positive, inactif si elle est nulle. Les modèles utilisent parfois GELU, une variante plus lisse.
Voir : valeur avant ReLU → après ReLU (max(0, x)).
Valeur avant ReLU : → après ReLU : 1
Voir : grille de neurones (valeurs après ReLU) ; actif = positif, inactif = 0.
Combien de paramètres la fonction ReLU utilise-t-elle ?
En résumé : ReLU : x < 0 → 0 ; x ≥ 0 → x. Comportement type ET. Neurones = valeurs après ReLU (actif/inactif). ReLU = 0 paramètre.
Étape 3 : projection vers le bas (W↓ + biais)
Objectif : Comprendre que le vecteur après ReLU est multiplié par W↓ ; vue « colonne = direction à ajouter si le neurone est actif » ; exemple colonne « astronaute ».
Le vecteur de neurones (après ReLU) est multiplié par une deuxième matrice, W↓ (projection vers le bas), qui ramène à la dimension de l'embedding. On peut voir les colonnes de W↓ comme des directions dans l'espace des embeddings. Si le neurone i est actif (valeur > 0), on ajoute la colonne i (éventuellement pondérée) au résultat ; s'il est inactif (0), cette colonne ne contribue pas. Ainsi, pour « Thomas Pesquet », si le premier neurone est actif, la première colonne (qui peut coder la direction « astronaute ») est ajoutée au vecteur. Les autres colonnes codent d'autres associations (ex. ISS, Proxima).
Voir : une colonne = une direction ; si le neurone est actif, on ajoute cette colonne au résultat.
En résumé : Vecteur (ReLU) × W↓ + B↓. Colonnes = directions. Neurone actif → on ajoute cette colonne. Ex. « Thomas Pesquet » → neurone actif → ajout de la direction « astronaute ».
Résultat : connexion résiduelle (E + sortie MLP)
Objectif : Comprendre que la sortie du MLP est ajoutée au vecteur d'entrée E (connexion résiduelle).
Le résultat de la dernière étape (W↓ + B↓) n'est pas envoyé seul vers la suite : il est additionné au vecteur E qui était entré dans le MLP. La sortie du bloc MLP est donc E + (résultat des 3 étapes). C'est la connexion résiduelle (residual connection). Ainsi, si le vecteur encodait « Thomas Pesquet », après le MLP il encode « Thomas Pesquet » + direction « astronaute » (et éventuellement d'autres directions selon les neurones actifs).
Voir : le flux complet E → W↑+B↑ → ReLU → W↓+B↓ → +E → sortie.
En résumé : Sortie du MLP = E + (résultat des 3 étapes). Connexion résiduelle : on ajoute une mise à jour au vecteur, on ne le remplace pas.
Paramètres du MLP : ordre de grandeur
Objectif : Connaître les ordres de grandeur (W↑ ~604M, W↓ ~604M par bloc ; 96 blocs → ~116B paramètres MLP, ~2/3 du total GPT-3).
Pour GPT-3, la matrice W↑ a environ 50 000 lignes et 12 288 colonnes (taille de l'embedding), soit environ 604 millions de paramètres. La matrice W↓ a la forme transposée : environ 604 millions aussi. Par bloc MLP, on a donc environ 1,2 milliard de paramètres. Il y a 96 blocs dans GPT-3, donc environ 116 milliards de paramètres dans tous les MLP, soit environ deux tiers du total (175 milliards). Les étapes de normalisation (LayerNorm) ajoutent quelques dizaines de milliers de paramètres, négligeables. Le nombre d'activations de neurones par bloc est 50 000 × (nombre de tokens), le tout en parallèle.
Voir : répartition des paramètres (ordre de grandeur GPT-3).
Où se trouve la majorité des paramètres dans un Transformer type GPT-3 ?
En résumé : W↑ ~604M, W↓ ~604M par bloc ; 96 blocs → ~116B paramètres MLP ; ~2/3 du total. 50 000 × nombre de tokens = activations de neurones par bloc.
Superposition : plus de concepts que de dimensions
Objectif : Comprendre l'idée que des directions « presque perpendiculaires » permettent de stocker bien plus de traits que de dimensions ; un neurone ≠ un seul concept.
En géométrie, dans un espace à n dimensions on ne peut placer au plus n vecteurs parfaitement perpendiculaires. Mais si on accepte des directions presque perpendiculaires (par ex. à 85° l'une de l'autre), en haute dimension on peut en placer beaucoup plus — la capacité croît de façon exponentielle avec le nombre de dimensions (lemme de Johnson-Lindenstrauss). Les LLM exploitent cette idée : les « neurones » du MLP ne correspondent donc pas chacun à un concept unique et lisible (comme « Thomas Pesquet »). Les concepts sont en superposition : plusieurs concepts partagent les mêmes neurones. C'est pourquoi l'interprétabilité est difficile et pourquoi les modèles « scale » si bien : un espace un peu plus grand peut stocker bien plus que proportionnellement plus de concepts.
En résumé : Directions presque perpendiculaires → capacité de stockage exponentielle. Un neurone ≠ un concept unique ; superposition. Explique difficulté d'interprétation et bon scaling.
Conclusion du chapitre 9
Objectif : Synthétiser les 3 étapes du MLP et son rôle.
Tu as vu comment fonctionne un bloc MLP dans un Transformer : (1) Projection vers le haut : E × W↑ + B↑, chaque ligne = une « question » ; (2) ReLU : négatif → 0, positif inchangé, comportement type ET, 0 paramètre ; (3) Projection vers le bas : × W↓ + B↓, chaque colonne = une direction à ajouter si le neurone est actif. Le résultat est ajouté à E (connexion résiduelle). Les vecteurs ne s'échangent pas d'information dans le MLP ; c'est une capacité de stockage massive. La majorité des paramètres de GPT-3 sont dans les MLP (~116 milliards). La superposition permet d'encoder bien plus de concepts que de dimensions, au prix d'une interprétabilité difficile.
En résumé : MLP = W↑+B↑ → ReLU → W↓+B↓ → +E. Pas d'échange entre vecteurs ; stockage de faits. ~2/3 des paramètres dans les MLP. Superposition pour scaler.
Comment l'IA se souvient-elle de Thomas Pesquet ? Plongée dans les entrepôts secrets des LLM
Lorsque vous tapez « Thomas Pesquet est... » dans un grand modèle de langage (LLM), celui-ci prédit instantanément le mot « astronaute ». Cette prouesse semble naturelle, mais elle cache un mystère mécanique profond. Parmi les centaines de milliards de paramètres d'un modèle, où cette information est-elle physiquement gravée ? Comment l'IA distingue-t-elle l'astronaute d'un chanteur ou d'un autre Thomas ?
Pour le comprendre, nous devons délaisser un instant le mécanisme d'attention — cette "intelligence relationnelle" de l'IA — pour explorer ses véritables coffres-forts : les MLP (Multi-Layer Perceptrons).
1. L'entrepôt caché : les MLP sont les gardiens des faits
Dans l'architecture d'un transformeur, l'attention s'occupe de tisser des liens entre les mots d'une phrase. Mais si l'attention est le processeur, les blocs MLP sont les entrepôts de la mémoire à long terme. C'est là que réside la majorité de la substance du modèle : pour GPT-3, environ deux tiers des paramètres (116 milliards sur 175) sont logés dans ces blocs.
Contrairement à l'attention, les MLP fonctionnent en silos isolés. Chaque vecteur (chaque "token") traverse ces blocs en parallèle, sans échanger d'information avec ses voisins. C'est une capacité de stockage pure, massive et indépendante.
« Les faits semblent être stockés à l'intérieur d'une partie spécifique de ces réseaux appelée les perceptrons multicouches (MLP). »
Cette séparation structurelle est fascinante : le modèle traite le "contexte" d'un côté et pioche dans sa "mémoire encyclopédique" de l'autre, fusionnant les deux pour générer une réponse cohérente.
2. La magie du « Portail Logique » : le calcul d'une identité
Comment un simple calcul mathématique peut-il "reconnaître" une célébrité ? Le secret réside dans une élégante danse de matrices que l'on peut diviser en deux étapes.
D'abord, la projection vers le haut. Imaginez la matrice de poids comme une armée de « palpeurs sensoriels » ou de questions mathématiques. Chaque ligne de la matrice interroge le vecteur entrant. Pour identifier "Thomas Pesquet", le modèle peut utiliser une ligne représentant la direction Thomas + Pesquet (T⃗ + P⃗).
- Si le vecteur entrant contient à la fois "Thomas" et "Pesquet", le produit scalaire (la mesure d'alignement) sera de 2.
- En appliquant un « biais » de -1, le résultat devient 2 - 1 = 1. Le signal est positif : l'identité est validée.
- Si seul "Thomas" (Edison) ou "Pesquet" (dans un autre contexte) est présent, le produit scalaire tombe à 1. Avec le biais de -1, le résultat est 0. Le signal s'éteint.
Vient ensuite la fonction ReLU (Rectified Linear Unit). C'est le décideur ultime, une porte logique "ET" (AND gate) d'une simplicité désarmante : elle laisse passer tout ce qui est positif et transforme tout le reste en zéro. C'est par cette simple coupure que l'IA convertit des probabilités floues en certitudes conceptuelles.
3. La Superposition : quand la géométrie devient magique
C'est ici que nous touchons au concept le plus vertigineux, celui qui permet aux IA de dépasser leurs propres limites physiques. En géométrie classique, dans un espace à 12 000 dimensions (comme celui de GPT-3), on ne peut placer que 12 000 vecteurs parfaitement perpendiculaires.
Pourtant, les LLM stockent des milliards de concepts. Comment ? Grâce à la superposition. En acceptant une marge d'erreur infime et en utilisant des directions « presque perpendiculaires » (disons, à 85 degrés l'une de l'autre), l'espace disponible explose.
Ce phénomène s'appuie sur le lemme de Johnson-Lindenstrauss : dans les hautes dimensions, la capacité de stockage ne croît pas de manière linéaire, mais exponentielle.
- GPT-3 (12 288 dimensions) peut ainsi compresser environ 40 milliards de vecteurs presque perpendiculaires.
- Les modèles plus récents (comme GPT-4), avec environ 116 000 dimensions, atteignent une capacité théorique dépassant le Googol (10100) de concepts.
C'est le secret de la "scalabilité" des IA : une légère augmentation de la dimensionnalité permet d'emmagasiner une quantité astronomique de connaissances supplémentaires.
4. Le désordre des neurones : pourquoi l'IA reste un mystère
Cette efficacité redoutable a un prix : l'illisibilité. Si l'on pouvait ouvrir le "cerveau" de l'IA, on ne trouverait pas un neurone unique pour "Thomas Pesquet".
À cause de la superposition, les concepts sont entremêlés. Un seul neurone peut s'activer pour "Thomas Pesquet", mais aussi pour l'"ISS" ou la mission "Proxima". Ils sont empilés les uns sur les autres dans une structure complexe que les chercheurs en interprétabilité tentent désespérément de cartographier. Pour l'instant, nous savons comment l'entrepôt est construit, mais nous avons encore du mal à faire l'inventaire précis de ce qui se cache sur ses étagères multidimensionnelles.
Conclusion : vers une cartographie de l'esprit artificiel
Les faits ne sont pas éparpillés au hasard dans les replis du code ; ils sont encodés dans la géométrie subtile des MLP. Ils y sont protégés par des verrous mathématiques et compactés grâce aux propriétés miraculeuses des hautes dimensions.
Cette architecture nous renvoie un miroir troublant. Et si notre propre mémoire ne fonctionnait pas comme une bibliothèque de dossiers classés, mais comme un espace de superposition ? Nos souvenirs ne seraient pas des objets rangés dans des tiroirs, mais des directions subtiles dans un espace mental immense, rendant chaque pensée indissociable du tissu global de notre expérience.
Générés par NotebookLM (Google).
Quiz : teste ta compréhension
Objectif : Répondre à des questions sur le chapitre 9 (MLP, W↑, ReLU, W↓, neurones, connexion résiduelle, paramètres) et obtenir une note sur 20.
Choisis un quiz :
Cartes mémoire
Cartes mémoire (flashcards) pour réviser les notions du chapitre 9 (MLP, W↑, ReLU, W↓, neurones, paramètres, superposition).
Chargement…
Générés par NotebookLM (Google).
Fiche enseignant
Contenu de la fiche pédagogique pour le chapitre 9 (objectifs, durée par section, réponses aux quiz, idées d'activités).
Objectifs pédagogiques (Chapitre 9)
- Comprendre où se situe le MLP dans le Transformer (après l'attention dans chaque bloc).
- Comprendre que les vecteurs ne s'échangent pas d'information dans le MLP (traitement en parallèle, indépendant).
- Comprendre les 3 étapes : W↑+B↑ (lignes = questions), ReLU (oui/non, 0 paramètre), W↓+B↓ (colonnes = directions à ajouter si neurone actif).
- Comprendre la connexion résiduelle (E + sortie MLP) et le rôle du MLP pour « stocker » des faits.
- Connaître les ordres de grandeur (W↑ ~604M, W↓ ~604M par bloc ; 96 blocs → ~116B ; ~2/3 du total).
- Comprendre l'idée de superposition (directions presque perpendiculaires → plus de concepts que de dimensions).
Niveau et prérequis
Niveau : fin collège / lycée.
Prérequis : chapitres 6 (LLM, Transformer), 7 (tokens, embedding, softmax) et 8 (attention) recommandés.
Durée indicative : 50 min à 1 h 10 pour le parcours complet du chapitre 9.
Structure du parcours (Chapitre 9)
| Section | Durée indicative | Objectif |
|---|---|---|
| Accueil | 5 min | Présenter le MLP et les 3 étapes. |
| Lexique | 5 min | MLP, W↑, W↓, ReLU, neurone actif/inactif, biais, connexion résiduelle, superposition. |
| Rappel à Paramètres | 30–35 min | Détailler chaque notion avec les visualisations et quiz courts. |
| Conclusion | 5 min | Synthèse des 3 étapes. |
| Lecture / Quiz / Cartes | 15 min | Lecture Thomas Pesquet ; quiz final chapitre 9 ; flashcards ../notebook/chapitre-9. |
Réponses aux quiz courts (Chapitre 9)
- Les vecteurs dans le MLP s'échangent-ils des informations ? → Non, chaque vecteur est traité indépendamment.
- Combien de paramètres la ReLU utilise-t-elle ? → 0.
- Où se trouve la majorité des paramètres dans un Transformer type GPT-3 ? → Dans les blocs MLP (environ deux tiers).
Réponses au quiz final Chapitre 9
Voir les questions dans js/quiz.js (questionsChapitre9). Barème : 20 / nombre de questions par bonne réponse.
Ressources
Vidéo et PDF dans ../notebook/chapitre-9/ : Comment_une_IA_stocke_un_fait.mp4, Inside_LLM_Memory.pdf. Flashcards : ../notebook/chapitre-9/flashcards.csv.
Idées d'activités
- Flux à la main : pour 3 valeurs d'entrée (ex. -1, 0.5, 2), tracer E → ReLU → sortie.
- Comparer paramètres : Attention vs MLP (environ 1/3 vs 2/3 dans GPT-3).
- Trace écrite : en 3 étapes, de E à E + sortie_MLP (W↑+B↑ → ReLU → W↓+B↓ → +E).
