23 points par GN⁺ 2025-12-23 | 1 commentaires | Partager sur WhatsApp
  • Explique visuellement la structure et le principe de fonctionnement du modèle Transformer, et montre comment le mécanisme d’attention améliore l’apprentissage parallèle et les performances en traduction
  • Le modèle est composé d’une pile d’encodeurs et de décodeurs, et chaque encodeur comprend deux couches : self-attention et réseau de neurones feedforward
  • Décrit étape par étape le calcul de la self-attention au niveau des vecteurs et des matrices, puis l’étend avec la multi-head attention afin d’apprendre différents espaces de représentation
  • Visualise concrètement les composants clés tels que l’encodage positionnel, les connexions résiduelles, la normalisation de couche et l’attention masquée du décodeur
  • Cet article est une ressource de référence pour comprendre facilement les concepts de base des transformers, et il est également utilisé dans des cours et manuels de grandes universités comme le MIT et Stanford

Vue d’ensemble des transformers

  • Le transformer est un modèle de traduction automatique neuronale basé sur l’attention, qui affiche sur certaines tâches de meilleures performances que Google Neural Machine Translation
    • Son principal avantage est sa facilité de parallélisation, ce qui explique qu’il soit recommandé comme modèle de référence sur Google Cloud TPU
  • Le modèle est constitué d’une pile d’encodeurs et de décodeurs, chaque encodeur ayant la même structure mais sans partage de poids
  • L’entrée de l’encodeur passe par une couche de self-attention pour intégrer les informations de contexte, puis par un réseau de neurones feedforward
  • En plus de la structure de l’encodeur, le décodeur inclut une couche d’attention encodeur-décodeur afin de se concentrer sur les parties pertinentes de la phrase d’entrée

Flux des tenseurs et embeddings

  • La phrase d’entrée est convertie en vecteurs de dimension 512 pour chaque mot via un algorithme de word embedding
  • Chaque couche de l’encodeur traite en entrée une liste de vecteurs de même taille, et la longueur de la phrase est définie comme hyperparamètre
  • Comme la couche feedforward traite indépendamment le vecteur de chaque position, le calcul parallèle est possible

Concept de self-attention

  • La self-attention permet à chaque mot de se référer aux autres mots de la phrase afin d’apprendre une meilleure représentation
    • Exemple : dans “The animal didn’t cross the street because it was too tired”, “it” est lié à “animal”
  • Contrairement aux RNN, qui maintiennent un état caché, le transformer intègre les informations de contexte via la self-attention

Étapes du calcul de la self-attention

  • À partir de chaque embedding de mot, on génère des vecteurs Query, Key et Value (dimension 64)
  • Le produit scalaire (dot product) entre Query et Key sert à calculer le score de pertinence entre les mots
  • Les scores sont divisés par √64 puis passés dans un softmax afin d’être normalisés en distribution de probabilités
  • On multiplie chaque vecteur Value par son score softmax, puis on les additionne pour produire la sortie finale de l’attention
  • Dans une implémentation réelle, ce processus est effectué via des opérations matricielles pour gagner en efficacité

Multi-head attention

  • Plusieurs têtes d’attention (8 par défaut) sont utilisées pour apprendre différents espaces de représentation
    • Chaque tête possède ses propres matrices de poids Q/K/V
  • Les sorties des différentes têtes sont concaténées (concat) puis combinées via une matrice de poids supplémentaire WO
  • Cela permet au modèle de capturer simultanément différents aspects du contexte

Encodage positionnel

  • Comme le transformer ne traite pas directement l’ordre, on ajoute à chaque embedding de mot un vecteur de position
  • Ce vecteur de position est généré à l’aide des fonctions sinus (sin) et cosinus (cos), et fournit des informations sur la distance relative entre les mots
  • Cette méthode peut s’étendre à des phrases plus longues que celles du jeu d’entraînement
  • La mise à jour de 2020 présente également une méthode consistant à entrelacer (interleave) les deux signaux

Connexions résiduelles et normalisation

  • Chaque sous-couche (self-attention, feedforward) applique une connexion résiduelle (residual connection) et une normalisation de couche (layer normalization)
  • Cette structure contribue à éviter la disparition du gradient et à améliorer la stabilité de l’apprentissage

Structure du décodeur

  • Le décodeur reçoit les vecteurs Key/Value depuis la sortie de l’encodeur pour effectuer l’attention encodeur-décodeur
  • Un masquage (masking) l’empêche de consulter les mots futurs
  • À la fin, une couche Linear et une couche Softmax produisent une distribution de probabilité sur les mots
    • Par exemple, si la taille du vocabulaire est de 10 000, chaque vecteur de sortie est transformé en distribution de probabilité de dimension 10 000

Apprentissage et fonction de perte

  • Pendant l’apprentissage, la distribution de probabilité produite par le modèle est comparée à la distribution correcte (encodage one-hot)
  • On calcule l’erreur à l’aide de la cross-entropy ou de la divergence de KL, puis on ajuste les poids par rétropropagation
  • Le beam search permet de conserver plusieurs traductions candidates afin d’améliorer la précision

Travaux ultérieurs et ressources de référence

  • Articles liés : Attention Is All You Need, Training Tips for the Transformer Model, Self-Attention with Relative Position Representations, etc.
  • Ressources d’implémentation : package Tensor2Tensor, guide Harvard NLP PyTorch, Colab Notebook
  • Le transformer a ensuite évolué vers une version enrichie sur LLM-book.com (chapitre 3), qui traite de modèles plus récents comme Multi-Query Attention et les embeddings positionnels RoPE

Conclusion

  • Le transformer est une architecture basée sur l’attention et parallélisable, devenue un modèle central du deep learning moderne
  • Cet article est une ressource de référence qui explique visuellement la structure, les mathématiques et l’intuition des transformers, et il est utilisé comme support dans des cours de grandes universités comme Stanford, MIT et Harvard

1 commentaires

 
GN⁺ 2025-12-23
Commentaires sur Hacker News
  • J’ai lu cet article quand j’apprenais les bases des transformers. Les visualisations m’ont vraiment aidé
    Mais dans le travail concret consistant à déployer des LLM, connaître l’architecture des transformers ne m’a presque servi à rien. Cela dit, avoir une vague compréhension de leur fonctionnement interne m’a apporté une certaine tranquillité d’esprit
    Essayer d’expliquer le comportement des LLM par leur structure est un piège. Les modèles récents montrent des emergent phenomena imprévisibles, notamment à cause de l’apprentissage par renforcement
    Avant, j’étais convaincu que les LLM ne seraient jamais bons en maths ou en code, et j’avais complètement tort. Au final, il y a des limites à déduire les capacités d’un modèle uniquement à partir de son architecture
    En ce moment, pendant mes vacances, je révise en implémentant moi-même un transformer en PyTorch. C’est intéressant et amusant
    Pour débuter, je recommande les ressources LLMs from Scratch de Sebastian Raschka.
    Si quelqu’un a lu le livre de Jay Alammar publié en 2024, je serais curieux de savoir s’il vaut le coup d’après les points de vue les plus récents

    • Je suis d’accord, tout en pensant différemment sur certains points. En travaillant comme ingénieur IA, j’ai rarement besoin d’utiliser directement le deep learning “classique”, mais je crois que la capacité à comprendre en profondeur l’intérieur des LLM distingue les 1 % meilleurs ingénieurs
      Parce que cela donne une intuition des contraintes du modèle. C’est un conseil que j’ai entendu directement de Clem Delangue chez Hugging Face, et après ça j’ai étudié en profondeur l’architecture des LLM, ce qui m’a énormément aidé
      Je donne le même conseil aux diplômés de bootcamps de code — on peut tout à fait travailler avec seulement Python et React, mais comprendre l’architecture des ordinateurs et les langages bas niveau fait de vous un développeur bien plus solide à long terme
    • Je pense que le problème, c’est que la plupart des tutoriels expliquent le mécanisme d’attention en se concentrant sur les mots. En réalité, à l’intérieur d’un transformer, il n’existe pas de tokens correspondant directement à des mots
      Les tokens ne sont pas des fragments de mots, et dans le traitement du langage comme des images, ils n’ont de sens qu’à l’étape d’entrée. Je pense que ce malentendu a contribué à sous-estimer le potentiel des transformers
    • Un exemple de pourquoi une compréhension de base est importante : sur HN, beaucoup se plaignent que les LLM génèrent trop de commentaires dans le code
      Mais c’est en réalité un phénomène qui améliore la qualité du code. Grâce au positional encoding d’un causal transformer, le modèle peut laisser des tokens temporaires pour raisonner localement, puis les oublier facilement
      En d’autres termes, cela fonctionne comme une sorte de bloc-notes jetable. La solution consiste à post-traiter la sortie du LLM, pas à pousser le modèle à réprimer la génération de commentaires
    • Il existe une bonne vidéo de Welch Labs sur la mechanistic interpretability : lien YouTube
    • J’ai l’impression que la perception des LLM se divise en trois groupes
      1. Ceux qui pensent que les LLM ne sont que des générateurs simples inutiles
      2. Ceux qui pensent que l’AGI a déjà été atteinte
      3. Ceux qui croient que les LLM détruiront le monde dans les 5 prochaines années
        Depuis la sortie de ChatGPT, la proportion de ces trois groupes a à peine changé, et il est rare que des preuves suffisent à convaincre les gens
  • Les visualisations de l’équipe Transformer Explainer étaient vraiment excellentes.
    Voir Transformer Explainer en même temps qu’une vidéo de 3blue1brown permet de vraiment bien comprendre

    • C’était l’une des meilleures ressources visuelles que j’aie vues jusqu’ici
  • Dans un commentaire laissé directement par l’auteur Jay Alammar, il présente d’autres bonnes ressources pour apprendre les transformers
    Lien connexe

  • Il y a tellement de ressources explicatives sur les transformers que ça commence à ressembler à des tutoriels sur les monades.
    Certains croient avoir eu une illumination, alors qu’en réalité ils sont toujours perdus et cherchent pourtant à diffuser largement cette compréhension

    • Cela dit, je pense quand même que ce billet de blog reste l’une des explications les plus claires des transformers
    • Il n’y a aucune raison qu’il n’existe qu’une seule explication sur Internet. Il suffit de trouver celle qui vous convient
      Quand on apprend des concepts de maths ou d’électronique aussi, la première explication est souvent difficile, mais en voyant plusieurs versions, on finit par comprendre plus profondément
  • Je suis peut-être à la traîne, mais je me demande si les transformers ont complètement remplacé les architectures de deep learning existantes comme U-net

    • Pas du tout. Cette fixation excessive sur les transformers n’est pas soutenue par les données de performance réelles
      Par exemple, les CNN restent très puissants, et ils sont même plus adaptés pour des tâches de vision spécialisées comme l’imagerie médicale
      Pour les modèles invariants à la rotation, les réseaux de neurones sur graphes, les modèles de nuages de points, etc., les transformers peuvent au contraire être inadaptés
      Autrement dit, il existe toujours diverses architectures alternatives
      Article connexe : CNNs can still do just as well
  • J’ai ce livre, et quand mon équipe a décidé d’introduire des LLM dans notre système, ça a vraiment été une ressource de survie

    • Mais je ne pense pas qu’il soit indispensable de comprendre l’architecture des transformers pour travailler avec des LLM
      Les LLM sont au fond des systèmes synthétiques qui imitent le raisonnement humain, donc même en connaissant leur structure interne, il est difficile de prédire leurs schémas d’erreur
      Il est plus important de développer son intuition par l’expérience et l’expérimentation
  • Je pense que l’intérieur des transformers finira par devenir moins important, comme l’intérieur d’un compilateur.
    La plupart des développeurs ne s’intéresseront qu’à “comment les utiliser”, plus qu’à leur implémentation interne

    • En pratique, beaucoup de professionnels utilisent des LLM sans même connaître les concepts de base du machine learning. Il est rare de trouver quelqu’un qui sache distinguer bias et variance
    • Mais quelqu’un devra quand même continuer à bien comprendre l’intérieur. Pour faire progresser et maintenir l’état de l’art, il faut des experts qui connaissent la structure interne
      Comme pour les systèmes d’exploitation, les compilateurs ou le matériel type GPU/TPU, les transformers devront continuer à être améliorés, donc le rôle des personnes qui possèdent ce savoir devient au contraire encore plus important
  • Excellent article, qui semble avoir inspiré le projet récent Illustrated Evo 2
    Lien vers le blog NVIDIA Research

  • Les gens considèrent souvent Key/Query/Value comme des concepts spéciaux, alors qu’en réalité les transformers ne sont qu’une structure étendue de multiplications matricielles
    Si une couche de réseau de neurones classique fait matrix * input, un transformer calcule input * MatrixA, input * MatrixB, input * MatrixC, puis combine le tout
    Au final, tout n’est qu’une répétition d’opérations matricielles. Voir le blog PyTorch pour plus de détails

    • Moi, je prends souvent la convolution comme modèle mental du mécanisme K/Q/V.
      L’attention, elle aussi, est apprise indépendamment de la position, transforme de grandes portions de l’entrée en nouvelles valeurs, et plusieurs têtes apprennent en parallèle des aspects différents. C’est un concept proche des noyaux de convolution
  • Ce guide est vraiment énorme. L’utiliser avec un outil comme Claude Code pour générer du pseudocode PyTorch aide beaucoup à comprendre visuellement les concepts
    C’est une excellente ressource pour apprendre de façon immersive pendant plusieurs heures