Avant 2017, les modèles de NLP s'appuyaient sur des architectures séquentielles : les réseaux LSTM et GRU. Ces Réseaux de neurones récurrents traitaient le texte mot par mot, de gauche à droite. Efficace pour les phrases courtes, mais catastrophique sur les textes longs : l'information du début se diluait avant d'atteindre la fin. C'est le fameux problème du Vanishing Gradient.
Le Transformer a balayé cette limite d'un coup.
Le principe fondateur : l'Attention
L'idée centrale du Transformer est brutalement simple : au lieu de traiter le texte séquentiellement, on permet à chaque mot d'observer directement tous les autres mots de la phrase. C'est le mécanisme d'Attention.
Techniquement, chaque Token est transformé en trois vecteurs : une Query (« que cherche ce mot ? »), une Key (« que contient ce mot ? ») et une Value (« quelle information transmettre ? »). Le score d'attention entre deux tokens est le produit scalaire de la Query de l'un avec la Key de l'autre, normalisé par une fonction Softmax. Ce score détermine combien d'information chaque mot « emprunte » aux autres.
Quand le Transformer traite « Le chat dort sur le canapé parce qu'il est fatigué », l'Attention permet au mot « il » de porter une forte attention sur « chat » plutôt que sur « canapé » — résolvant l'ambiguïté de la référence.
Self-Attention : chaque mot regarde tous les autres
La Self-Attention est la forme d'Attention où une séquence s'analyse elle-même. Chaque token calcule son score d'attention avec tous les autres tokens de la même séquence. C'est ce qui permet au Transformer de capturer des dépendances à longue distance sans aucune récurrence.
La complexité ? Elle est quadratique : O(n²) par rapport à la longueur de la séquence. C'est pourquoi les LLM ont une Context Window limitée — le coût en mémoire GPU explose avec la longueur du texte.
Multi-head Attention : voir sous plusieurs angles
Un seul calcul d'Attention capture un seul type de relation. Le Transformer utilise donc la Multi-head Attention : plusieurs « têtes » d'attention fonctionnent en parallèle, chacune apprenant à détecter un type de relation différent.
Une tête peut se spécialiser dans la syntaxe (sujet-verbe), une autre dans les coréférences (« il » → « chat »), une autre dans les relations sémantiques. Les résultats sont ensuite concaténés et projetés à travers une Dense Layer.
GPT-3 utilise 96 têtes d'attention. GPT-4, probablement bien plus. Chaque tête ajoute une dimension de compréhension.
L'architecture complète : Encodeur-Décodeur
Le Transformer original de 2017 comprend deux blocs : un Encodeur et un Décodeur (architecture Encoder-Decoder).
L'Encodeur traite la séquence d'entrée. Il empile N couches identiques, chacune composée d'un bloc de Multi-head Attention suivi d'un réseau feedforward (MLP). Entre chaque sous-couche : une normalisation (Batch Normalization) et une connexion résiduelle (comme dans ResNet). L'encodeur produit une représentation contextuelle riche de l'entrée.
Le Décodeur génère la séquence de sortie Token par Token. Il possède les mêmes couches que l'encodeur, plus une couche d'attention croisée qui lui permet de « regarder » la sortie de l'encodeur. Un point crucial : le décodeur utilise une attention masquée — chaque token ne peut voir que les tokens précédents, pas les suivants. C'est ce qui permet la génération auto-régressive.
Le positional encoding : donner un sens à l'ordre
Comme le Transformer traite tous les tokens en parallèle (contrairement aux LSTM), il perd la notion d'ordre. Pour la récupérer, on ajoute un vecteur de position à chaque Embedding de token. Le papier original utilise des fonctions sinusoïdales ; les modèles récents apprennent ces positions pendant l'Entraînement.
Sans positional encoding, « le chat mange la souris » et « la souris mange le chat » seraient identiques pour le modèle.
Les trois familles de Transformers
L'architecture originale a engendré trois grandes familles selon qu'on garde l'encodeur, le décodeur, ou les deux.
Les modèles Encoder-only comme BERT utilisent uniquement l'encodeur. Chaque token voit tous les autres (attention bidirectionnelle). Ils excellent en classification, extraction d'entités (NER), Semantic Search. On les utilise pour comprendre du texte, pas pour en générer.
Les modèles Decoder-only comme GPT, Claude, Gemini et Mistral n'utilisent que le décodeur. L'attention est unidirectionnelle (masquée). Ils génèrent du texte Token par Token. C'est la famille des LLM qui a explosé avec ChatGPT.
Les modèles Encoder-Decoder comme T5 gardent l'architecture complète. Ils sont performants en traduction, résumé et tâches de transformation texte-à-texte.
Pourquoi ça a tout changé
Le Transformer a débloqué trois choses en même temps. La parallélisation : contrairement aux LSTM, tout se calcule en parallèle, exploitant pleinement la puissance des GPU. Le passage à l'échelle : empiler des couches et augmenter les paramètres améliore les performances de façon prévisible — c'est ce qui a mené aux LLM de centaines de milliards de paramètres. Et le Transfer Learning : un modèle pré-entraîné (Pré-entraînement) sur des tâches génériques peut être adapté (Fine-tuning) à des tâches spécifiques avec peu de données.
C'est cette combinaison qui a rendu possible GPT, BERT, Claude, Gemini, Llama, Mistral et toute la révolution de l'IA générative.