Source-linked AI summary
Attention Is All You Need
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin
TL;DR
Les modèles de transduction séquentielle reposent sur des calculs récurrents ou convolutionnels séquentiels, ce qui limite la parallélisation pendant l’entraînement. Cet article introduit le Transformer, fondé uniquement sur l’attention, qui atteint une qualité de traduction à l’état de l’art sur les deux tâches WMT 2014 tout en s’entraînant nettement plus rapidement.
Problème
Le calcul séquentiel des modèles récurrents de séquences limite la parallélisation au sein des exemples d’entraînement, en particulier pour les séquences longues.
Méthode
Le Transformer remplace les couches récurrentes par une self-attention multi-têtes pour calculer les représentations des séquences et capturer les dépendances globales.
Résultats
Avec 28.4 BLEU sur WMT 2014 English-to-German, le modèle établit un nouvel état de l’art, tout en atteignant également l’état de l’art sur English-to-French.
À retenir et limites
Pour la traduction, le Transformer peut être entraîné nettement plus rapidement que les architectures récurrentes ou convolutionnelles, tout en atteignant une qualité à l’état de l’art.
Abstract
from arXiv · showhide
The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new simple network architecture, the Transformer, based solely on attention mechanisms, dispensing with recurrence and convolutions entirely. Experiments on two machine translation tasks show these models to be superior in quality while being more parallelizable and requiring significantly less time to train. Our model achieves 28.4 BLEU on the WMT 2014 English-to-German translation task, improving over the existing best results, including ensembles by over 2 BLEU. On the WMT 2014 English-to-French translation task, our model establishes a new single-model state-of-the-art BLEU score of 41.8 after training for 3.5 days on eight GPUs, a small fraction of the training costs of the best models from the literature. We show that the Transformer generalizes well to other tasks by applying it successfully to English constituency parsing both with large and limited training data.
1 Introduction
Le Transformer remplace la modélisation récurrente des séquences par l’attention seule, afin de remédier à la parallélisation limitée du calcul récurrent tout en capturant les dépendances globales entre entrée et sortie. Il offre une parallélisation accrue et établit de nouveaux résultats de pointe en traduction après seulement douze heures sur huit GPU P100.
- 1 Introduction: Les architectures récurrentes et à portes s’étaient imposées comme approches de pointe pour la modélisation et la transduction de séquences, notamment en modélisation du langage et en traduction automatique [7] [2] [5].Les travaux ultérieurs ont continué d’améliorer les modèles de langage récurrents et les architectures encodeur-décodeur [38] [24] [15].
- 1 Introduction: Les modèles récurrents factorisent le calcul entre les positions de la séquence, de sorte que chaque état caché dépende de l’état précédent, ce qui empêche la parallélisation au sein des exemples d’entraînement.Cette limitation devient plus importante pour les séquences longues, car les contraintes de mémoire restreignent la constitution de lots entre les exemples.
- 1 Introduction: Le Transformer écarte la récurrence et s’appuie entièrement sur l’attention pour établir les dépendances globales entre l’entrée et la sortie.Les mécanismes d’attention modélisent les dépendances quelle que soit leur distance dans les séquences d’entrée ou de sortie [2, 19].
- 1 Introduction: Le Transformer permet une parallélisation nettement supérieure et atteint de nouveaux résultats de pointe en traduction après seulement douze heures sur huit GPU P100.Sa conception remplace le composant récurrent au lieu de combiner l’attention avec un réseau récurrent.
2 Contexte
Les approches antérieures réduisaient le calcul séquentiel au moyen de mécanismes d’attention convolutionnels ou récurrents, tandis que le self-attention avait déjà fait ses preuves dans plusieurs tâches de traitement du langage. Le Transformer est présenté comme le premier modèle de transduction reposant uniquement sur le self-attention, sans récurrence ni convolution alignée sur la séquence.
- Modèles convolutionnels: Extended Neural GPU, ByteNet [18] et ConvS2S [9] utilisent des convolutions pour calculer en parallèle toutes les représentations cachées d’entrée et de sortie, tout en réduisant le calcul séquentiel.La mise en relation de positions arbitraires nécessite des opérations dont le nombre croît linéairement avec la distance pour ConvS2S et logarithmiquement pour ByteNet.
- Self-attention: Le self-attention met en relation les positions au sein d’une même séquence afin d’en calculer la représentation, et avait fait ses preuves en compréhension de textes, en résumé automatique, en inférence textuelle et dans l’apprentissage de représentations de phrases [4] [28] [22].
- Modèles d’attention apparentés: Les end-to-end memory networks utilisent une attention récurrente plutôt qu’une récurrence alignée sur la séquence et obtiennent de bons résultats en réponse à des questions en langage simple et en modélisation du langage.
- Nouveauté: Le Transformer est décrit comme le premier modèle de transduction reposant entièrement sur le self-attention, sans RNNs ni convolution alignés sur la séquence.L’article motive l’utilisation du self-attention et ses avantages par rapport à des modèles tels que [17] [18] et [9].
3 Architecture du modèle · 3.1 Empilements de l’encodeur et du décodeur · 3.2 Attention
Le Transformer remplace la transduction séquentielle récurrente ou convolutionnelle par une auto-attention empilée et des couches entièrement connectées appliquées position par position dans les empilements de l’encodeur et du décodeur. Ses mécanismes d’attention utilisent des produits scalaires mis à l’échelle, plusieurs têtes parallèles et un masquage pour prendre en charge le décodage autorégressif.
- 3 Architecture du modèle: Le Transformer utilise une auto-attention empilée et des couches entièrement connectées appliquées position par position dans l’encodeur comme dans le décodeur, selon une architecture encodeur-décodeur [5] [2].L’encodeur transforme les symboles d’entrée en représentations continues, tandis que le décodeur autorégressif génère séquentiellement les symboles de sortie [10].
- 3.1 Empilements de l’encodeur et du décodeur: L’encodeur contient N = 6 couches identiques, chacune combinant une auto-attention multi-tête avec un réseau feed-forward appliqué position par position, des connexions résiduelles et une normalisation par couche [11] [1].Chaque sous-couche utilise LayerNorm(x + Sublayer(x)).
- 3.1 Empilements de l’encodeur et du décodeur: Le décodeur contient N = 6 couches avec une attention encodeur-décodeur, des connexions résiduelles, une normalisation par couche et une auto-attention masquée qui empêche l’accès aux positions suivantes.Le masquage préserve la génération autorégressive en bloquant les connexions illégales vers les positions futures.
- 3.2 Attention: L’attention par produit scalaire mis à l’échelle calcule les produits scalaires entre requêtes et clés, les divise par √dk, applique des poids softmax et forme des sommes pondérées des valeurs.La mise à l’échelle compense les produits scalaires élevés, qui peuvent pousser softmax vers des régions où les gradients sont extrêmement faibles lorsque dk est grand.
- 3.2.2 Attention multi-tête: L’attention multi-tête projette les requêtes, les clés et les valeurs dans plusieurs sous-espaces appris de dimension inférieure, les traite en parallèle, concatène les sorties, puis les projette de nouveau.Cela permet au modèle de porter conjointement son attention sur différents sous-espaces de représentation et différentes positions, en évitant la limitation liée à la moyenne d’une tête unique.
- 3.2.2 Attention multi-tête: Le modèle utilise h = 8 têtes d’attention avec dk = dv = dmodel/h = 64, ce qui maintient un coût de calcul total similaire à celui d’une attention à tête unique de dimension complète.La dimension réduite de chaque tête compense le coût d’exécution parallèle des têtes.
- 3.2.3 Applications de l’attention dans notre modèle: L’attention est appliquée comme une attention encodeur-décodeur sur toutes les positions d’entrée, une auto-attention de l’encodeur sur la couche précédente et une auto-attention du décodeur sur les positions jusqu’à la position courante.L’auto-attention du décodeur masque les connexions illégales en fixant leurs entrées softmax à −∞, ce qui préserve la circulation de l’information de gauche à droite.
3.3 Réseaux feed-forward positionnels
Chaque couche de l’encodeur et du décodeur ajoute, en parallèle de l’attention, un réseau feed-forward positionnel. Celui-ci applique deux transformations linéaires séparées par une ReLU, avec des paramètres partagés entre les positions mais distincts d’une couche à l’autre.
- 3.3 Réseaux feed-forward positionnels: Chaque couche de l’encodeur et du décodeur contient un réseau feed-forward positionnel, appliqué séparément et de manière identique à chaque position.Le réseau se compose de deux transformations linéaires avec une activation ReLU entre elles.
- 3.3 Réseaux feed-forward positionnels: Le réseau feed-forward utilise les mêmes paramètres de transformation linéaire à toutes les positions, mais des paramètres différents d’une couche à l’autre.On peut également le décrire comme deux convolutions de taille de noyau 1.
- 3.3 Réseaux feed-forward positionnels: Le modèle utilise d_model = 512 pour les représentations d’entrée et de sortie, et d_ff = 2048 pour la couche interne du réseau feed-forward.
3.4 Plongements et Softmax
Le Transformer utilise des plongements de tokens appris et une transformation linéaire apprise suivie d’un softmax pour produire les probabilités du token suivant. Il partage une même matrice de poids entre les deux couches de plongement et la transformation pré-softmax, en multipliant les poids des plongements par √dmodel.
- 3.4 Plongements et Softmax: Les plongements appris associent les tokens d’entrée et de sortie à des vecteurs de dimension dmodel, tandis qu’une transformation linéaire apprise et un softmax produisent les probabilités prédites du token suivant.Ces composants suivent la configuration standard de la transduction de séquences.
- 3.4 Plongements et Softmax: Le modèle partage une même matrice de poids entre ses deux couches de plongement et la transformation linéaire pré-softmax, conformément à [30].
- 3.4 Plongements et Softmax: Les poids des couches de plongement sont multipliés par √dmodel avant leur utilisation.
3.5 Encodage positionnel
Comme le Transformer ne comporte ni récurrence ni convolution, il ajoute des encodages positionnels aux plongements d’entrée de l’encodeur et du décodeur afin de représenter l’ordre des tokens. L’article utilise des encodages sinusoïdaux, dont la structure en positions relatives pourrait favoriser l’attention et l’extrapolation au-delà des longueurs observées à l’entraînement.
- 3.5 Encodage positionnel: Les encodages positionnels sinusoïdaux ajoutent l’information d’ordre aux plongements d’entrée de l’encodeur et du décodeur, en utilisant la même dimension que les plongements afin de pouvoir être additionnés.Ces encodages sont nécessaires, car le modèle ne comporte ni récurrence ni convolution.
- 3.5 Encodage positionnel: Chaque dimension d’encodage est une sinusoïde dont les longueurs d’onde progressent géométriquement de 2π à 10000 · 2π.Cette conception était supposée aider le modèle à apprendre l’attention à partir des positions relatives, car PEpos+k peut être représenté linéairement à partir de PEpos pour un k fixé.
- 3.5 Encodage positionnel: Les plongements positionnels appris [9] et les encodages sinusoïdaux ont produit des résultats presque identiques, mais la version sinusoïdale a été retenue en raison de sa possible extrapolation en longueur.La comparaison est présentée dans la ligne (E) de la Table 3.
4 Pourquoi l’auto-attention
Cette section motive l’auto-attention en comparant la complexité de calcul, la parallélisation et la longueur du chemin nécessaire aux dépendances à longue portée, par rapport aux couches récurrentes et convolutionnelles. L’auto-attention offre une profondeur séquentielle constante, une complexité favorable pour les longueurs de phrases usuelles et des schémas d’attention potentiellement interprétables.
- La comparaison évalue les couches selon leur complexité de calcul par couche, la parallélisation des calculs et la longueur du chemin nécessaire à l’apprentissage des dépendances à longue portée.Des chemins plus courts facilitent l’apprentissage des dépendances à longue portée.
- L’auto-attention relie toutes les positions d’entrée et de sortie au moyen d’un nombre constant d’opérations séquentielles, tandis que les couches récurrentes nécessitent O(n) opérations séquentielles.
- L’auto-attention est plus rapide que les couches récurrentes lorsque la longueur de séquence n est inférieure à la dimension de représentation d, comme c’est généralement le cas avec les représentations de phrases en word-piece et byte-pair.Pour les séquences très longues, limiter l’attention à un voisinage de taille r peut améliorer les performances de calcul, mais augmente la longueur maximale du chemin.
- Les couches convolutionnelles nécessitent O(n/k) couches à noyau contigu ou O(logk(n)) couches de convolution dilatée pour relier toutes les positions, et sont généralement plus coûteuses que les couches récurrentes d’un facteur k.Les convolutions séparables réduisent la complexité convolutionnelle.
- Les distributions d’attention peuvent améliorer l’interprétabilité, car les différentes têtes apprennent des tâches différentes et présentent souvent un comportement syntaxique ou sémantique.La section indique que ces motifs sont illustrés et discutés dans l’annexe.
5 Entraînement
Le Transformer a été entraîné sur les jeux de données de traduction WMT 2014 à l’aide d’Adam, d’un calendrier de taux d’apprentissage avec warmup puis décroissance, et de régularisation. L’entraînement a utilisé 8 NVIDIA P100 GPUs, avec des configurations allant de 12 heures à 3.5 jours, tout en obtenant de meilleurs scores BLEU que les modèles précédents à l’état de l’art, pour un coût d’entraînement inférieur.
- L’entraînement a utilisé environ 4.5 million de paires de phrases anglais-allemand, avec un vocabulaire byte-pair partagé de 37,000 tokens, ainsi que 36 million de phrases anglais-français, avec un vocabulaire word-piece de 32,000 tokens.Les paires de phrases étaient regroupées par longueur de séquence approximative.
- Sur une machine équipée de 8 NVIDIA P100 GPUs, les modèles base ont été entraînés pendant 100,000 étapes en 12 heures, tandis que les modèles big ont été entraînés pendant 300,000 étapes sur 3.5 jours.Les étapes du modèle base prenaient environ 0.4 seconde ; celles du modèle big, 1.0 seconde.
- L’optimisation utilisait Adam avec β1 = 0.9, β2 = 0.98 et ϵ = 10^-9, en augmentant le taux d’apprentissage pendant 4,000 étapes de warmup avant une décroissance en inverse de la racine carrée.
- Le Transformer obtient de meilleurs scores BLEU que les modèles précédents à l’état de l’art sur les tests WMT 2014 anglais-allemand et anglais-français, pour une fraction du coût d’entraînement.
- La régularisation comprenait un dropout résiduel et un dropout de position des embeddings à Pdrop = 0.1 dans le modèle base, ainsi qu’un lissage des labels avec ϵls = 0.1, ce qui améliorait la précision et le BLEU malgré une dégradation de la perplexité.
6 Résultats
Le Transformer atteint des résultats de traduction à l’état de l’art à un coût d’entraînement nettement inférieur, tandis que ses études de composants mettent en évidence d’importants choix d’architecture et de régularisation. Il se généralise également bien à l’analyse en constituants de l’anglais, dépassant les systèmes antérieurs à l’exception de la Recurrent Neural Network Grammar.
- Résultats de traduction: 28.4 BLEU sur WMT 2014 English-to-German dépasse de plus de 2.0 BLEU les meilleurs modèles précédemment publiés, y compris les ensembles.L’entraînement a duré 3.5 jours sur 8 GPU P100.
- Résultats de traduction: 41.0 BLEU sur WMT 2014 English-to-French dépasse tous les modèles uniques publiés précédemment, pour un coût d’entraînement inférieur au quart de celui de l’état de l’art précédent.Le big model English-to-French utilisait un taux de dropout Pdrop = 0.1.
- Études d’ablation: Sur les données de développement English-to-German, un nombre insuffisant ou excessif de têtes d’attention réduit la qualité, des dimensions de clés plus petites nuisent aux performances, tandis que des modèles plus grands et le dropout améliorent les résultats.L’attention à tête unique est inférieure de 0.9 BLEU au meilleur réglage ; les embeddings positionnels appris donnent des performances presque identiques à celles des encodages sinusoïdaux [9].
- Analyse en constituants de l’anglais: Pour l’analyse en constituants de l’anglais, le Transformer dépasse tous les modèles précédemment publiés à l’exception de la Recurrent Neural Network Grammar [8].Il surpasse également le Berkeley-Parser lorsqu’il est entraîné uniquement sur l’ensemble d’entraînement WSJ de 40K phrases.
7 Conclusion
Le Transformer est un modèle de transduction de séquences fondé entièrement sur la self-attention multi-têtes, qui remplace les couches d’encodeur-décodeur récurrentes. Il s’entraîne plus rapidement que les architectures récurrentes ou convolutionnelles et atteint des résultats de pointe sur les deux tâches de traduction WMT 2014.
- Le modèle est la première architecture de transduction de séquences fondée entièrement sur l’attention, qui remplace les couches récurrentes par une self-attention multi-têtes.
- Le Transformer atteint des résultats de pointe sur WMT 2014 English-to-German et English-to-French, tout en surpassant toutes les configurations précédemment rapportées sur English-to-German.Il peut également être entraîné nettement plus rapidement que les architectures fondées sur des couches récurrentes ou convolutionnelles.
- Les travaux futurs étendront les modèles fondés sur l’attention au-delà du texte, développeront une attention restreinte pour les entrées et sorties de grande taille, et rendront la génération moins séquentielle.Les modalités envisagées incluent les images, l’audio et la vidéo.
Visualisations de l’attention
Les visualisations de l’attention montrent que les têtes de self-attention de l’encodeur apprennent des comportements distincts liés aux dépendances à longue distance, à la résolution des anaphores et à la structure des phrases.
- Visualisations de l’attention: Les têtes de self-attention de l’encodeur dans la couche 5 suivent des dépendances à longue distance, plusieurs portant leur attention sur la dépendance reliant ‘making’ et ‘more difficult’.La visualisation montre l’attention portée au mot ‘making’, différentes couleurs représentant différentes têtes.
- Visualisations de l’attention: Deux têtes d’attention de la couche 5 semblent intervenir dans la résolution des anaphores, avec une attention particulièrement marquée pour le mot ‘its’.La figure présente les attentions complètes de la tête 5 ainsi que les attentions isolées depuis ‘its’ pour les têtes 5 et 6.
- Visualisations de l’attention: De nombreuses têtes d’attention présentent un comportement lié à la structure des phrases, et différentes têtes apprennent clairement des tâches différentes.Les exemples proviennent de deux têtes de self-attention de l’encodeur dans la couche 5 sur 6.