Articles · arXiv 1706.03762
Attention Is All You Need
Résumé en trois lignes
- 🎯 Les modèles récurrents s'exécutent de manière séquentielle le long des positions de tokens, empêchant la parallélisation au sein des séquences d'entraînement et peinant face aux longues distances.
- 🔧 Introduction du Transformer, une architecture encodeur-décodeur entièrement basée sur l'auto-attention multi-têtes par produit scalaire normalisé et sur des réseaux feed-forward appliqués position par position.
- 📈 Établit un nouvel état de l'art en traduction avec 28,4 BLEU sur WMT 2014 Anglais-Allemand et 41,8 BLEU sur Anglais-Français, entraîné en seulement 3,5 jours sur 8 GPU.
Résumé
Les modèles dominants de transduction de séquences reposent sur des réseaux de neurones récurrents ou convolutionnels complexes organisés selon une architecture encodeur-décodeur. Les modèles les plus performants relient également l'encodeur et le décodeur par un mécanisme d'attention. Nous proposons une nouvelle architecture de réseau simple, le Transformer, basée uniquement sur des mécanismes d'attention, éliminant totalement la récurrence et les convolutions. Les expériences sur deux tâches de traduction automatique montrent que ces modèles sont de qualité supérieure, tout en étant plus parallélisables et en nécessitant nettement moins de temps d'entraînement. Notre modèle atteint un score BLEU de 28,4 sur la tâche de traduction Anglais-Allemand du WMT 2014, surpassant les meilleurs résultats existants, y compris les ensembles, de plus de 2 points BLEU. Sur la tâche de traduction Anglais-Français du WMT 2014, notre modèle établit un nouvel état de l'art pour un modèle unique avec un score BLEU de 41,8 après un entraînement de 3,5 jours sur huit GPU, une fraction infime du coût de calcul des meilleurs modèles de la littérature. Nous montrons que le Transformer se généralise bien à d'autres tâches en l'appliquant avec succès à l'analyse syntaxique en constituants de l'anglais (English constituency parsing), à la fois avec des données d'entraînement volumineuses et restreintes.
Résumé original (anglais)
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.
Guide de lecture
Problème et motivation
Les architectures dominantes de transduction de séquences reposaient sur des réseaux de neurones récurrents (tels que LSTM ou GRU) ou des réseaux convolutionnels agencés en structures encodeur-décodeur. Les réseaux récurrents calculent intrinsèquement des représentations cachées de manière séquentielle ( conditionné par et l'entrée ), ce qui empêche la parallélisation sur les pas de temps au sein des exemples d'entraînement. De plus, relier des positions distantes dans des réseaux récurrents nécessite opérations séquentielles, tandis que les modèles convolutionnels comme ConvS2S et ByteNet nécessitent ou opérations pour connecter des positions arbitraires. Les auteurs visaient à concevoir une architecture qui s'affranchit totalement de la récurrence et des convolutions, permettant une parallélisation complète sur la longueur de la séquence tout en réduisant la longueur maximale du chemin entre deux tokens quelconques à .
Idées clés
- Architecture basée purement sur l'attention : Remplacer totalement les connexions récurrentes par des mécanismes d'attention qui relient directement les dépendances entre toutes les positions d'une séquence.
- Scaled Dot-Product Attention (Attention par produit scalaire normalisé) : Normaliser les produits scalaires multiplicatifs par pour éviter que les valeurs du produit scalaire ne deviennent trop grandes en haute dimension, ce qui pousserait la fonction softmax vers des régions aux gradients extrêmement faibles.
- Multi-Head Attention (Attention multi-têtes) : Projeter linéairement les requêtes (queries), les clés (keys) et les valeurs (values) dans de multiples sous-espaces de représentation de dimension inférieure en parallèle, permettant au réseau de prêter attention simultanément à des informations provenant de différentes positions et espaces de représentation.
- Positional Encoding (Encodage positionnel) : Les opérations d'attention étant invariantes par permutation, des fonctions sinusoïdales fixes de fréquences variables sont ajoutées aux plongements (embeddings) d'entrée et de sortie afin d'encoder l'ordre des tokens.
Méthode
Le Transformer utilise un cadre encodeur-décodeur comportant couches identiques empilées dans chacun de ses blocs.
Encodeur et Décodeur
Chaque couche de l'encodeur comporte deux sous-couches : un mécanisme d'auto-attention multi-têtes et un réseau feed-forward (FFN) entièrement connecté appliqué position par position. Des connexions résiduelles et une normalisation de couche (layer normalization) sont appliquées à chaque sous-couche : , opérant sur une dimension .
Chaque couche du décodeur contient trois sous-couches : une auto-attention multi-têtes masquée (qui masque les positions futures afin de préserver le décodage autorégressif), une attention croisée multi-têtes sur les sorties de l'empilement de l'encodeur, et un FFN appliqué position par position.
Formulation mathématique
L'attention par produit scalaire normalisé sur des matrices groupées est calculée selon :
L'attention multi-têtes combine projections parallèles : Pour le modèle de base, et .
La sous-couche feed-forward par position est appliquée de manière identique à chaque position : où la dimension interne de la couche est .
Les encodages positionnels sont définis par des fonctions sinus et cosinus :
Résultats
- WMT 2014 Anglais-Allemand : Le Transformer (big) a atteint un score de pointe de 28,4 BLEU, surpassant les modèles précédents et les ensembles de plus de 2,0 BLEU. Le modèle de base a atteint 27,3 BLEU en utilisant FLOPs, une fraction du coût des architectures antérieures.
- WMT 2014 Anglais-Français : Le modèle big a atteint 41,8 BLEU (modèle unique), établissant un nouvel état de l'art après 3,5 jours d'entraînement sur 8 GPU NVIDIA P100 ( FLOPs).
- English Constituency Parsing : Évalué sur WSJ Section 23 sans ajustement spécifique à la tâche, un Transformer à 4 couches a atteint un score de 91,3 en configuration discriminative et 92,7 en configuration semi-supervisée, surpassant les baselines RNN.
Limites et questions ouvertes
- L'auto-attention standard a une complexité computationnelle par couche de , ce qui devient extrêmement coûteux pour des séquences très longues.
- La génération dans le décodeur reste autorégressive (générant un token à la fois de manière séquentielle), ce qui limite la latence d'inférence.
- L'article souligne la nécessité d'explorer des voisinages d'attention locaux ou restreints () afin de traiter efficacement des contextes d'entrée et de sortie massifs (ex. : images, audio, vidéo).
Termes clés
- Transformer
- Une architecture de modèle de transduction de séquences entièrement basée sur des mécanismes d'auto-attention, sans récurrence ni convolutions.
- Scaled Dot-Product Attention
- Une fonction d'attention où les produits scalaires des requêtes et des clés sont divisés par la racine carrée de la dimension des clés avant de calculer un softmax sur les valeurs.
- Multi-Head Attention
- Un mécanisme d'attention qui projette en parallèle les requêtes, clés et valeurs dans de multiples sous-espaces de représentation avant de concaténer et projeter les sorties.
- Self-Attention
- Un mécanisme d'attention intra-séquence reliant différentes positions d'une même séquence pour en calculer une représentation globale.
- Positional Encoding
- Des représentations vectorielles fixes ou apprises ajoutées aux plongements de tokens pour injecter l'ordre séquentiel dans les couches d'attention invariantes par permutation.
- Residual Dropout
- Un dropout appliqué à la sortie de chaque sous-couche avant son ajout à l'entrée de la sous-couche et l'application de la normalisation de couche, ainsi qu'aux plongements de tokens.
- Label Smoothing
- Une technique de régularisation lors de l'entraînement avec une valeur pénalisant les prédictions trop confiantes, améliorant le score BLEU malgré une dégradation de la perplexité.
- Constituency Parsing
- Une tâche de NLP syntaxique nécessitant des sorties cibles longues et structurellement contraintes, utilisée pour démontrer la capacité de généralisation de l'architecture Transformer.
Questions
Pourquoi la Scaled Dot-Product Attention divise-t-elle par $\sqrt{d_k}$ ?
Pour de grandes valeurs de , les produits scalaires augmentent fortement en magnitude (sous l'hypothèse d'une moyenne nulle et d'une variance unitaire, le produit scalaire a une variance de ), ce qui pousse la fonction softmax vers des zones aux gradients extrêmement faibles. Normaliser par compense cet effet.
Comment le Transformer conserve-t-il l'ordre des tokens sans récurrence ?
Il ajoute des encodages positionnels sinusoïdaux directement aux plongements d'entrée et de sortie à la base des empilements de l'encodeur et du décodeur, attribuant ainsi un motif fréquentiel unique à chaque position de token.
Qu'est-ce qui empêche les positions du décodeur de prêter attention aux tokens futurs pendant l'entraînement ?
La sous-couche d'auto-attention du décodeur utilise un masquage qui fixe à les valeurs d'entrée du softmax correspondant aux connexions futures non autorisées.
Quels étaient le matériel d'entraînement et les ressources de calcul nécessaires ?
Le modèle de base a été entraîné sur une seule machine équipée de 8 GPU NVIDIA P100 pendant 100 000 étapes (12 heures à raison de 0,4 seconde/étape). Le grand modèle (big) a été entraîné pendant 300 000 étapes (3,5 jours à raison de 1,0 seconde/étape).
La présentation de cette page a été rédigée par une IA à partir de l'article et peut contenir des erreurs. Consultez l'article pour les détails.