Le transformateur est une famille d'architectures de réseaux de neurones artificiels basée sur le mécanisme d'attention multi-têtes. Dans cette conception, les données d'entrée telles que le texte, les images ou l'audio sont converties en une séquence de représentations numériques appelées jetons, et chaque jeton est converti en un vecteur via une recherche dans une table de plongements de mots. À chaque couche, chaque jeton est contextualisé dans le cadre de la fenêtre de contexte avec d'autres jetons non masqués via un mécanisme d'attention multi-têtes parallèle, permettant d'amplifier le signal des jetons clés et de diminuer celui des jetons moins importants. Comme l'auto-attention seule est invariante par permutation, les transformateurs injectent des informations positionnelles, généralement via des encodages positionnels ou des plongements positionnels appris, afin que l'ordre des jetons puisse affecter la sortie.
L'architecture originale du transformateur a été proposée dans l'article de 2017 « Attention Is All You Need » par des chercheurs de Google, dont Jakob Uszkoreit, Lukasz Kaiser et Niki Parmar. Cet article a marqué une rupture avec les réseaux de neurones récurrents (RNN) tels que la mémoire à long terme (LSTM), qui dominaient la modélisation de séquences. Les transformateurs ont l'avantage de ne pas avoir d'unités récurrentes, nécessitant donc moins de temps d'entraînement que les architectures récurrentes antérieures, et ils ont depuis été largement adoptés pour entraîner de grands modèles de langage (LLM) sur de grands ensembles de données. Les conceptions modernes de transformateurs sont généralement regroupées en variantes à encodeur seul, à décodeur seul et à encodeur-décodeur, selon qu'elles sont optimisées pour l'apprentissage de représentations, la génération autorégressive ou les tâches de séquence à séquence conditionnelles.
Prédécesseurs et problème du traitement séquentiel
Pendant de nombreuses années, la modélisation et la génération de séquences étaient réalisées à l'aide de réseaux de neurones récurrents simples. Un exemple précoce bien cité était le réseau d'Elman (1990). En théorie, l'information d'un jeton peut se propager arbitrairement loin le long de la séquence, mais en pratique, le problème du gradient qui disparaît laisse l'état du modèle à la fin d'une phrase longue sans informations précises et extractibles sur les jetons précédents. Une percée clé a été la LSTM, décrite à l'origine dans un rapport technique de 1995 et publiée formellement en 1997, qui a introduit des mécanismes de portes pour atténuer le problème du gradient qui disparaît, permettant un apprentissage efficace de la modélisation de longues séquences. Un élément architectural clé était l'utilisation d'unités de portes multiplicatives, dans lesquelles les sorties de certains neurones modulent les sorties d'autres. Ces unités multiplicatives sont conceptuellement distinctes du mécanisme d'attention additif introduit plus tard pour les modèles de séquence à séquence. La LSTM est devenue l'architecture standard pour la modélisation de longues séquences jusqu'à la publication des transformateurs en 2017. Cependant, la LSTM utilisait encore un traitement séquentiel, opérant un jeton à la fois du premier au dernier ; elles ne peuvent pas opérer en parallèle sur tous les jetons d'une séquence.
Les transformateurs modernes surmontent ce problème, mais contrairement aux RNN, ils nécessitent un temps de calcul quadratique par rapport à la taille de la fenêtre de contexte. Le contrôleur de poids rapides à mise à l'échelle linéaire (1992) apprend à calculer une matrice de poids pour un traitement ultérieur en fonction de l'entrée. L'un de ses deux réseaux a des « poids rapides » ou « liens dynamiques » (1981). Un réseau neuronal lent apprend par descente de gradient à générer des clés et des valeurs pour calculer les changements de poids du réseau neuronal rapide qui calcule les réponses aux requêtes. Cela a ensuite été montré comme équivalent au transformateur linéaire non normalisé.
Attention avec les modèles de séquence à séquence
L'idée de la transduction de séquences encodeur-décodeur avait été développée au début des années 2010 ; deux articles publiés simultanément en 2014 sont couramment cités comme les originaux ayant produit seq2seq. Un modèle de 380 millions de paramètres pour la traduction automatique utilise deux mémoires à long terme. Son architecture se compose de deux parties : l'encodeur est une LSTM qui prend une séquence de jetons et la transforme en un vecteur, et le décodeur est une autre LSTM qui convertit le vecteur en une séquence de jetons. De même, un autre modèle de 130 millions de paramètres utilisait des unités récurrentes à portes (GRU) au lieu de la LSTM. Des recherches ultérieures ont montré que les GRU ne sont ni meilleures ni pires que les LSTM pour seq2seq.
Ces premiers modèles seq2seq n'avaient pas de mécanisme d'attention, et le vecteur d'état n'est accessible qu'après le traitement du dernier mot du texte source. Bien qu'en théorie un tel vecteur conserve les informations sur toute la phrase originale, en pratique les informations sont mal préservées. Cela est dû au fait que l'entrée est traitée séquentiellement par un réseau récurrent en un vecteur de sortie de taille fixe, qui est ensuite traité par un autre réseau récurrent en une sortie. Si l'entrée est longue, le vecteur de sortie ne peut pas contenir toutes les informations pertinentes, dégradant la sortie. Comme preuve, inverser la phrase d'entrée a amélioré la traduction seq2seq.
Le modèle de recherche RNN a introduit un mécanisme d'attention pour seq2seq dans la traduction automatique afin de résoudre le problème de goulot d'étranglement du vecteur de sortie de taille fixe, permettant au modèle de traiter plus facilement les dépendances à longue distance. Le nom vient du fait qu'il « émule la recherche dans une phrase source lors du décodage d'une traduction ». Les performances relatives ont été comparées entre les architectures de modèles d'attention globale et locale pour la traduction automatique, constatant que l'attention mixte avait une qualité supérieure à l'attention globale, tandis que l'attention locale réduisait le temps de traduction.
En 2016, Google Traduction a été remanié pour devenir Google Neural Machine Translation, remplaçant le modèle précédent basé sur la traduction automatique statistique. Le nouveau modèle était un modèle seq2seq où l'encodeur et le décodeur étaient tous deux des couches de LSTM bidirectionnelles de 8 niveaux. Il a fallu neuf mois pour le développer, et il a surpassé l'approche statistique, qui avait pris dix ans à développer.
Parallélisation de l'attention
Les modèles seq2seq avec attention, y compris l'auto-attention, souffraient toujours du même problème avec les réseaux récurrents : ils sont difficiles à paralléliser, ce qui les empêchait d'être accélérés sur GPU. En 2016, l'attention décomposable a appliqué un mécanisme d'auto-attention aux réseaux à propagation avant, qui sont faciles à paralléliser, et a obtenu des résultats de pointe en implication textuelle avec un ordre de grandeur de paramètres en moins que les LSTM. L'un de ses auteurs, Jakob Uszkoreit, a soupçonné que l'attention sans récurrence serait suffisante pour la traduction linguistique, d'où le titre « Attention Is All You Need ».
L'architecture du transformateur introduite dans l'article de 2017 a remplacé entièrement les unités récurrentes par une attention multi-têtes, permettant à tous les jetons d'être traités en parallèle. Cette parallélisation a permis des accélérations significatives de l'entraînement et a conduit au développement de systèmes pré-entraînés tels que les transformateurs génératifs pré-entraînés (GPT) et BERT (représentations d'encodeur bidirectionnelles à partir de transformateurs). Les transformateurs ont depuis trouvé des applications dans le traitement du langage naturel à grande échelle, la vision par ordinateur (transformateurs de vision), l'apprentissage par renforcement, l'audio, l'apprentissage multimodal, la robotique et le jeu d'échecs. L'architecture est devenue fondamentale pour le domaine de l'intelligence artificielle, sous-tendant les grands modèles de langage modernes développés par des organisations telles que OpenAI, Anthropic et Google DeepMind.
Impact et héritage
La conception du transformateur a influencé la recherche et le développement ultérieurs en apprentissage profond. Sa capacité à gérer les dépendances à longue distance et à paralléliser l'entraînement en a fait l'architecture par défaut pour de nombreuses tâches. Les auteurs de l'article, dont Ashish Kumar et d'autres, ont contribué à divers domaines, certains ayant rejoint d'autres institutions. L'architecture a été adaptée à divers domaines, de la conduite autonome de Waymo aux accélérateurs matériels de Groq. Les principes de l'attention multi-têtes et de l'encodage positionnel sont devenus des composants standard dans la conception moderne des réseaux de neurones, et le transformateur reste une pierre angulaire de l'IA générative.