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
Los modelos de transducción de secuencias dependen de cómputo recurrente o convolucional secuencial, lo que limita la paralelización durante el entrenamiento. Este artículo introduce el Transformer basado únicamente en atención, que logra una calidad de traducción de vanguardia en ambas tareas de WMT 2014 y se entrena significativamente más rápido.
Problema
El cómputo secuencial en los modelos recurrentes de secuencias limita la paralelización dentro de los ejemplos de entrenamiento, especialmente en secuencias más largas.
Método
El Transformer reemplaza las capas recurrentes por self-attention multi-head para calcular representaciones de secuencias y captar dependencias globales.
Resultados
Los 28.4 BLEU en WMT 2014 English-to-German establecieron un nuevo estado del arte, mientras que el Transformer también logró resultados de vanguardia en English-to-French.
Conclusiones y limitaciones
Para la traducción, el Transformer puede entrenarse significativamente más rápido que las arquitecturas recurrentes o convolucionales y, al mismo tiempo, alcanzar una calidad de vanguardia.
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 Introducción
El Transformer sustituye el modelado recurrente de secuencias por atención únicamente, abordando la limitada paralelización del cómputo recurrente y capturando dependencias globales entre la entrada y la salida. Logra una mayor paralelización y una nueva calidad de traducción de vanguardia tras tan solo doce horas en ocho GPU P100.
- 1 Introducción: Las arquitecturas recurrentes y con compuertas se habían consolidado como enfoques de vanguardia para el modelado y la transducción de secuencias, incluido el modelado del lenguaje y la traducción automática [7] [2] [5].Los trabajos posteriores siguieron mejorando los modelos recurrentes de lenguaje y las arquitecturas codificador-decodificador [38] [24] [15].
- 1 Introducción: Los modelos recurrentes factorizan el cómputo entre las posiciones de la secuencia, haciendo que cada estado oculto dependa del estado anterior e impidiendo la paralelización dentro de los ejemplos de entrenamiento.Esta limitación adquiere mayor importancia en secuencias más largas porque las restricciones de memoria limitan la formación de lotes entre ejemplos.
- 1 Introducción: El Transformer prescinde de la recurrencia y se basa por completo en la atención para captar dependencias globales entre la entrada y la salida.Los mecanismos de atención modelan dependencias independientemente de su distancia en las secuencias de entrada o de salida [2, 19].
- 1 Introducción: El Transformer permite una paralelización significativamente mayor y alcanza una nueva calidad de traducción de vanguardia tras tan solo doce horas en ocho GPU P100.Su diseño sustituye el componente recurrente en lugar de combinar la atención con una red recurrente.
2 Antecedentes
Los enfoques previos redujeron el cómputo secuencial mediante mecanismos de atención convolucionales o recurrentes, mientras que la autoatención ya había tenido éxito en varias tareas lingüísticas. El Transformer se presenta como el primer modelo de transducción que utiliza únicamente autoatención, sin recurrencia ni convolución alineadas con la secuencia.
- Modelos convolucionales: Extended Neural GPU, ByteNet [18] y ConvS2S [9] utilizan convoluciones para calcular en paralelo todas las representaciones ocultas de entrada y salida, reduciendo al mismo tiempo el cómputo secuencial.Relacionar posiciones arbitrarias requiere operaciones cuyo número crece linealmente con la distancia en ConvS2S y logarítmicamente en ByteNet.
- Autoatención: La autoatención relaciona posiciones dentro de una misma secuencia para calcular su representación y había tenido éxito en comprensión lectora, resumen automático, implicación textual y aprendizaje de representaciones de oraciones [4] [28] [22].
- Modelos de atención relacionados: Las redes de memoria de extremo a extremo utilizan atención recurrente en lugar de recurrencia alineada con la secuencia y obtienen buenos resultados en respuesta a preguntas en lenguaje simple y modelado del lenguaje.
- Novedad: El Transformer se describe como el primer modelo de transducción que se basa enteramente en la autoatención, sin RNNs ni convolución alineadas con la secuencia.El artículo motiva la autoatención y sus ventajas frente a modelos como [17] [18] y [9].
3 Arquitectura del modelo · 3.1 Pilas del codificador y el decodificador · 3.2 Atención
El Transformer sustituye la transducción secuencial recurrente o convolucional por capas apiladas de autoatención y capas totalmente conectadas punto a punto en las pilas del codificador y el decodificador. Sus mecanismos de atención utilizan productos punto escalados, múltiples cabezas paralelas y enmascaramiento para admitir la decodificación autorregresiva.
- 3 Arquitectura del modelo: El Transformer utiliza autoatención apilada y capas totalmente conectadas punto a punto tanto en el codificador como en el decodificador, siguiendo una arquitectura de codificador-decodificador [5] [2].El codificador asigna símbolos de entrada a representaciones continuas, mientras que el decodificador autorregresivo genera símbolos de salida secuencialmente [10].
- 3.1 Pilas del codificador y el decodificador: El codificador contiene N = 6 capas idénticas, cada una de las cuales combina autoatención de múltiples cabezas con una red feed-forward posición por posición, conexiones residuales y normalización por capas [11] [1].Cada subcapa utiliza LayerNorm(x + Sublayer(x)).
- 3.1 Pilas del codificador y el decodificador: El decodificador contiene N = 6 capas con atención codificador-decodificador, conexiones residuales, normalización por capas y autoatención enmascarada que impide acceder a posiciones posteriores.El enmascaramiento preserva la generación autorregresiva al bloquear las conexiones ilegales con posiciones futuras.
- 3.2 Atención: La atención de producto punto escalado calcula los productos punto entre consultas y claves, los divide por √dk, aplica pesos softmax y forma sumas ponderadas de los valores.El escalado contrarresta los productos punto grandes que pueden llevar a softmax a regiones con gradientes extremadamente pequeños para valores grandes de dk.
- 3.2.2 Atención de múltiples cabezas: La atención de múltiples cabezas proyecta consultas, claves y valores en múltiples subespacios aprendidos de menor dimensionalidad, los procesa en paralelo, concatena las salidas y vuelve a proyectarlas.Esto permite al modelo atender conjuntamente a distintos subespacios de representación y posiciones, evitando la limitación de promediado de una sola cabeza.
- 3.2.2 Atención de múltiples cabezas: El modelo utiliza h = 8 cabezas de atención con dk = dv = dmodel/h = 64, manteniendo un coste computacional total similar al de la atención de una sola cabeza de dimensionalidad completa.La dimensionalidad reducida de cada cabeza compensa el coste de ejecutar las cabezas en paralelo.
- 3.2.3 Aplicaciones de la atención en nuestro modelo: La atención se aplica como atención codificador-decodificador sobre todas las posiciones de entrada, autoatención del codificador sobre la capa anterior y autoatención del decodificador sobre las posiciones hasta la actual.La autoatención del decodificador enmascara las conexiones ilegales asignando −∞ a sus entradas de softmax, preservando el flujo de información de izquierda a derecha.
3.3 Redes feed-forward posición a posición
Cada capa del encoder y del decoder añade una red feed-forward posición a posición junto con la atención. Aplica dos transformaciones lineales con una ReLU intermedia, usando parámetros compartidos entre posiciones, pero parámetros distintos entre capas.
- 3.3 Redes feed-forward posición a posición: Cada capa del encoder y del decoder contiene una red feed-forward posición a posición que se aplica por separado e idénticamente en cada posición.La red consta de dos transformaciones lineales con una activación ReLU entre ellas.
- 3.3 Redes feed-forward posición a posición: La red feed-forward usa los mismos parámetros de transformación lineal entre posiciones, pero parámetros diferentes de una capa a otra.También puede describirse como dos convoluciones con tamaño de kernel 1.
- 3.3 Redes feed-forward posición a posición: El modelo usa d_model = 512 para las representaciones de entrada y salida, y d_ff = 2048 para la capa interna de la red feed-forward.
3.4 Embeddings y Softmax
El Transformer utiliza embeddings de tokens aprendidos y una transformación lineal aprendida con softmax para producir probabilidades del siguiente token. Comparte una matriz de pesos entre ambas capas de embeddings y la transformación previa a softmax, escalando los pesos de los embeddings por √dmodel.
- 3.4 Embeddings y Softmax: Los embeddings aprendidos asignan los tokens de entrada y salida a vectores de dmodel dimensiones, mientras que una transformación lineal aprendida y softmax producen las probabilidades predichas del siguiente token.Estos componentes siguen la configuración estándar de transducción de secuencias.
- 3.4 Embeddings y Softmax: El modelo comparte una matriz de pesos entre sus dos capas de embeddings y la transformación lineal previa a softmax, siguiendo [30].
- 3.4 Embeddings y Softmax: Los pesos de la capa de embeddings se multiplican por √dmodel antes de utilizarse.
3.5 Codificación posicional
Como el Transformer carece de recurrencia y convolución, añade codificaciones posicionales a las representaciones de entrada del encoder y el decoder para representar el orden de los tokens. El artículo utiliza codificaciones sinusoidales, cuya estructura de posiciones relativas puede favorecer la atención y la extrapolación más allá de las longitudes observadas durante el entrenamiento.
- 3.5 Codificación posicional: Las codificaciones posicionales sinusoidales añaden información sobre el orden a las representaciones de entrada del encoder y el decoder, usando la misma dimensión que las representaciones para poder sumarse.Las codificaciones son necesarias porque el modelo no contiene ni recurrencia ni convolución.
- 3.5 Codificación posicional: Cada dimensión de la codificación es una sinusoide con longitudes de onda que progresan geométricamente de 2π a 10000 · 2π.Se planteó como hipótesis que este diseño ayudaría al modelo a aprender la atención mediante posiciones relativas, porque PEpos+k puede representarse linealmente a partir de PEpos para un k fijo.
- 3.5 Codificación posicional: Las representaciones posicionales aprendidas [9] y las codificaciones sinusoidales produjeron resultados casi idénticos, pero se seleccionó la versión sinusoidal por su posible extrapolación a longitudes mayores.La comparación se presenta en la fila (E) de la Table 3.
4 Por qué la autoatención
La sección motiva la autoatención comparando la complejidad computacional, la paralelización y la longitud de la ruta necesaria para las dependencias de largo alcance frente a las capas recurrentes y convolucionales. La autoatención ofrece una profundidad secuencial constante, una complejidad favorable para longitudes de oración habituales y patrones de atención potencialmente interpretables.
- La comparación evalúa las capas según la complejidad computacional por capa, el cálculo paralelizable y la longitud de la ruta necesaria para aprender dependencias de largo alcance.Las rutas más cortas facilitan el aprendizaje de dependencias de largo alcance.
- La autoatención conecta todas las posiciones de entrada y salida con un número constante de operaciones secuenciales, mientras que las capas recurrentes requieren O(n) operaciones secuenciales.
- La autoatención es más rápida que las capas recurrentes cuando la longitud de la secuencia n es menor que la dimensionalidad de la representación d, como ocurre habitualmente con las representaciones de oraciones mediante unidades de palabra y pares de bytes.Para secuencias muy largas, restringir la atención a un vecindario de tamaño r puede mejorar el rendimiento computacional, pero aumenta la longitud máxima de la ruta.
- Las capas convolucionales requieren O(n/k) capas con núcleos contiguos de tamaño k u O(logk(n)) capas de convolución dilatada para conectar todas las posiciones, y por lo general son más costosas que las capas recurrentes por un factor de k.Las convoluciones separables reducen la complejidad convolucional.
- Las distribuciones de atención pueden mejorar la interpretabilidad porque las cabezas individuales aprenden tareas diferentes y a menudo muestran un comportamiento sintáctico o semántico.La sección señala que estos patrones se ilustran y analizan en el apéndice.
5 Entrenamiento
El Transformer se entrenó con los conjuntos de datos de traducción WMT 2014 mediante Adam, un esquema de tasa de aprendizaje con calentamiento y decaimiento, y regularización. El entrenamiento utilizó 8 GPU NVIDIA P100, con configuraciones de entre 12 horas y 3.5 días, y logró mejores puntuaciones BLEU que los modelos anteriores de referencia con un coste de entrenamiento menor.
- El entrenamiento utilizó unos 4.5 millones de pares de oraciones inglés-alemán con un vocabulario compartido de 37,000 tokens basado en pares de bytes, y 36 millones de oraciones inglés-francés con un vocabulario de 32,000 tokens basado en unidades de palabras.Los pares de oraciones se agruparon por longitud aproximada de la secuencia.
- En una máquina con 8 GPU NVIDIA P100, los modelos base se entrenaron durante 100,000 pasos en 12 horas, mientras que los modelos grandes se entrenaron durante 300,000 pasos a lo largo de 3.5 días.Los pasos del modelo base tardaron unos 0.4 segundos; los del modelo grande tardaron 1.0 segundo.
- La optimización utilizó Adam con β1 = 0.9, β2 = 0.98 y ϵ = 10^-9, aumentando la tasa de aprendizaje durante 4,000 pasos de calentamiento antes del decaimiento inversamente proporcional a la raíz cuadrada.
- El Transformer logra mejores puntuaciones BLEU que los modelos anteriores de referencia en las pruebas WMT 2014 de inglés a alemán y de inglés a francés, con una fracción del coste de entrenamiento.
- La regularización incluyó dropout residual y de posición de embeddings con Pdrop = 0.1 en el modelo base, además de suavizado de etiquetas con ϵls = 0.1, lo que mejoró la precisión y BLEU pese a empeorar la perplejidad.
6 Resultados
El Transformer logra resultados de traducción de vanguardia con costos de entrenamiento sustancialmente menores, mientras que los estudios de sus componentes identifican decisiones arquitectónicas y de regularización importantes. También generaliza bien al análisis sintáctico de constituyentes en inglés y supera a los sistemas anteriores, salvo Recurrent Neural Network Grammar.
- Resultados de traducción: Los 28.4 BLEU en WMT 2014 English-to-German superan en más de 2.0 BLEU a los mejores modelos publicados anteriormente, incluidos los ensembles.El entrenamiento tomó 3.5 días en 8 GPU P100.
- Resultados de traducción: Los 41.0 BLEU en WMT 2014 English-to-French superan a todos los modelos individuales publicados anteriormente, con menos de una cuarta parte del costo de entrenamiento del estado del arte previo.El big model de English-to-French utilizó una tasa de dropout Pdrop = 0.1.
- Estudios de ablación: En los datos de desarrollo de English-to-German, un número insuficiente o excesivo de attention heads reduce la calidad, las dimensiones de clave menores la perjudican, y los modelos más grandes y el dropout mejoran el rendimiento.La atención de una sola cabeza es 0.9 BLEU peor que la mejor configuración; las positional embeddings aprendidas tienen un rendimiento casi idéntico al de las codificaciones sinusoidales [9].
- Análisis sintáctico de constituyentes en inglés: En el análisis sintáctico de constituyentes en inglés, el Transformer supera a todos los modelos publicados anteriormente, salvo Recurrent Neural Network Grammar [8].También supera a Berkeley-Parser cuando se entrena únicamente con el conjunto de entrenamiento WSJ de 40K oraciones.
7 Conclusión
El Transformer es un modelo de transducción de secuencias basado íntegramente en multi-headed self-attention, que reemplaza las capas recurrentes del encoder-decoder. Se entrena más rápido que las arquitecturas recurrentes o convolucionales y alcanza resultados de vanguardia en ambas tareas de traducción de WMT 2014.
- El modelo es la primera arquitectura de transducción de secuencias basada íntegramente en atención, que reemplaza las capas recurrentes por multi-headed self-attention.
- El Transformer alcanza resultados de vanguardia en WMT 2014 English-to-German y English-to-French, y supera a todos los ensembles publicados previamente en English-to-German.También puede entrenarse significativamente más rápido que las arquitecturas basadas en capas recurrentes o convolucionales.
- El trabajo futuro extenderá los modelos basados en atención más allá del texto, desarrollará atención restringida para entradas y salidas grandes, y hará que la generación sea menos secuencial.Las modalidades propuestas incluyen imágenes, audio y video.
Visualizaciones de atención
Las visualizaciones de atención muestran que las cabezas de self-attention del encoder aprenden comportamientos diferenciados relacionados con dependencias de larga distancia, la resolución de anáforas y la estructura de las oraciones.
- Visualizaciones de atención: Las cabezas de self-attention del encoder en la capa 5 siguen dependencias de larga distancia, y muchas atienden a la dependencia que vincula ‘making’ y ‘more difficult’.La visualización muestra la atención para la palabra ‘making’, con distintos colores que representan diferentes cabezas.
- Visualizaciones de atención: Dos cabezas de atención de la capa 5 parecen participar en la resolución de anáforas y producen una atención especialmente aguda para la palabra ‘its’.La figura presenta las atenciones completas de la cabeza 5 y las atenciones aisladas desde ‘its’ para las cabezas 5 y 6.
- Visualizaciones de atención: Muchas cabezas de atención muestran un comportamiento relacionado con la estructura de las oraciones, y distintas cabezas aprenden claramente tareas diferentes.Los ejemplos proceden de dos cabezas de self-attention del encoder en la capa 5 de 6.