Réponse courte
Un Transformer est un type de réseau de neurones, présenté par des chercheurs de Google dans l’article de 2017 « Attention Is All You Need », qui traite une phrase entière d’un coup et se sert d’un mécanisme appelé attention pour décider quels autres mots comptent pour chaque mot. L’attention compte parce qu’elle permet aux modèles d’apprendre des liens à longue distance dans un texte et de s’entraîner beaucoup plus vite en parallèle; c’est pourquoi de récents modèles de langage comme BERT et GPT-2 reposent sur elle.
Question de suivi Comment les Transformers font-ils fonctionner des modèles de langage comme GPT-2 et BERT?
Si vous avez lu sur GPT-2 ou BERT cette année, vous avez croisé le mot « Transformer ». C’est le nom d’une architecture de réseau de neurones (un réseau de neurones est un programme fait de nombreux nombres ajustables qui apprend des régularités à partir d’exemples). Cette architecture a été présentée en juin 2017 par une équipe de chercheurs de Google, dans un article au titre mémorable : « Attention Is All You Need » (l’attention est tout ce dont vous avez besoin).
L’idée clé est dans ce titre. Les anciens modèles de langage lisaient le texte un mot à la fois, en transportant un résumé qui se mettait à jour au fil de la lecture. Un Transformer regarde tous les mots d’un passage ensemble et, pour chaque mot, calcule l’attention à accorder à chacun des autres mots. Ce changement, simple en apparence, a rendu les modèles à la fois meilleurs en langue et beaucoup plus rapides à entraîner.
Le problème que les Transformers ont réglé
Avant 2017, les meilleurs modèles pour des tâches comme la traduction étaient des réseaux de neurones récurrents. Ils traitent une phrase étape par étape : le premier mot, puis le deuxième, et ainsi de suite. Cela a deux coûts. D’abord, les étapes ne peuvent pas s’exécuter côte à côte, si bien que l’entraînement sur de grandes quantités de texte est lent. Ensuite, l’information des premiers mots doit survivre à de nombreuses étapes pour influencer les suivants, ce qui rend difficile l’apprentissage des liens à longue distance.
Le Transformer supprime complètement cette boucle étape par étape. Chaque position de la phrase est traitée en même temps, et l’attention relie directement n’importe quel mot à n’importe quel autre, quelle que soit la distance qui les sépare.
Ce que veut dire « attention », en termes simples
Prenez cette phrase : « Le trophée n’entrait pas dans la valise parce qu’il était trop gros. » Pour comprendre « il », il faut le relier à « trophée », pas à « valise ». L’attention est le mécanisme qui établit ce lien.
L’article la décrit avec trois ingrédients pour chaque mot :
| Ingrédient | Analogie de tous les jours |
|---|---|
| Requête (query) | La question que pose ce mot (« à quoi est-ce que je renvoie? ») |
| Clé (key) | Une étiquette que propose chacun des autres mots (« je suis un objet physique, un nom ») |
| Valeur (value) | L’information qu’un mot transmet s’il est choisi |
Le modèle compare la requête d’un mot avec chaque clé. Les bonnes correspondances reçoivent des poids élevés, les faibles, des poids bas, et la nouvelle représentation du mot est un mélange pondéré des valeurs. Le Transformer effectue plusieurs de ces calculs d’attention côte à côte, appelés « têtes » (l’article original en utilise huit), pour qu’une tête puisse suivre la grammaire pendant qu’une autre suit le sens.
Il y a un hic. Comme tous les mots sont traités en même temps, le modèle n’a aucun sens intégré de l’ordre. Les auteurs règlent ce problème en ajoutant aux représentations des mots des « encodages de position », des motifs de nombres qui marquent la position de chaque mot.
Le Transformer original avait deux moitiés, chacune formée d’une pile de six couches : un encodeur qui lit la phrase d’entrée et un décodeur qui écrit la sortie. Sur des bancs d’essai de traduction de l’anglais vers l’allemand et de l’anglais vers le français, il a battu les meilleurs systèmes précédents, et la grande version s’est entraînée en 3,5 jours sur huit processeurs graphiques, une petite fraction du coût des approches antérieures.
Pourquoi c’est important pour les débutants et les bâtisseurs
Pour quiconque utilise des outils de langage, le Transformer explique bien des choses sur leur comportement. Comme l’attention relie directement deux mots quelconques, ces modèles savent bien suivre qui a fait quoi au fil d’un paragraphe. Comme ils s’entraînent efficacement en parallèle, les chercheurs peuvent leur fournir beaucoup plus de texte qu’avant, et plus de texte s’est révélé synonyme de meilleurs résultats.
Il y a aussi une limite pratique : un Transformer regarde une fenêtre de texte de taille fixe à la fois. Tout ce qui se trouve hors de cette fenêtre lui est invisible. Gardez-le en tête quand vous essayez un modèle et qu’il semble « oublier » le début d’un long document.
À essayer : écrivez trois phrases qui contiennent chacune un pronom « il » ou « elle » renvoyant à des choses différentes, comme « Le chien a couru après la balle jusqu’à ce qu’il soit fatigué » et « jusqu’à ce qu’elle roule sous le divan ». Pour chacune, soulignez le mot auquel le pronom devrait accorder le plus d’attention. Vous venez de faire à la main ce que fait une tête d’attention.
Comment les Transformers font-ils fonctionner des modèles de langage comme GPT-2 et BERT?
Les deux modèles conservent les couches d’attention du Transformer, mais les utilisent différemment. BERT, publié par des chercheurs de Google en octobre 2018, n’utilise que le côté encodeur. Pendant l’entraînement, une partie des mots d’une phrase (15 %) est masquée, et BERT apprend à les deviner à partir des mots situés à gauche comme à droite. Une deuxième tâche lui apprend à juger si une phrase suit une autre. La grande version compte 340 millions de paramètres. Après cet entraînement général, BERT peut être adapté à une tâche précise, comme répondre à des questions, en ajoutant une petite couche de sortie et en l’entraînant brièvement sur des exemples. Il a établi de cette façon de nouveaux records sur onze tâches de langage.
GPT-2, décrit par OpenAI en février, est construit à partir de blocs Transformer qui lisent le texte de gauche à droite et sont entraînés à prédire le mot suivant. Sa plus grande version compte 48 couches, environ 1,5 milliard de paramètres, et regarde jusqu’à 1 024 jetons (des mots ou des morceaux de mots) à la fois, le double de la fenêtre du premier GPT. Entraîné sur environ 40 Go de texte tiré du Web, il peut poursuivre un passage dans un style cohérent et même tenter des tâches comme résumer ou traduire sans entraînement propre à la tâche.
Une façon simple de retenir la différence : BERT est conçu pour comprendre un passage en regardant dans les deux directions, ce qui convient à la recherche et à la classification. GPT-2 est conçu pour écrire, un mot après l’autre, ce qui convient à la génération de texte. Les deux doivent leur puissance à l’attention.
Sources
- Attention Is All You Need — Vaswani et al., Google Brain / Google Research (arXiv), 12 juin 2017
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding — Devlin et al., Google AI Language (arXiv), 11 octobre 2018
- Language Models are Unsupervised Multitask Learners — OpenAI (Radford, Wu, Child, Luan, Amodei, Sutskever), 14 février 2019