Resumen con IA · traducido del inglés con IA

Attention Is All You Need

Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin

arXiv:1706.03762v7cs.CLcs.LG

TL;DR

Los modelos recurrentes de secuencias requieren un cómputo secuencial que impide la paralelización dentro de cada ejemplo de entrenamiento. El Transformer sustituye la recurrencia y las convoluciones por atención, logrando resultados de vanguardia en traducción del inglés al alemán y del inglés al francés en WMT 2014, con un entrenamiento significativamente más rápido que el de las arquitecturas recurrentes o convolucionales.

  • Problema

    Los modelos recurrentes de transducción de secuencias siguen limitados por el cómputo secuencial, que impide la paralelización dentro de cada ejemplo de entrenamiento, especialmente con secuencias más largas.

    Fuente: §1 · p. 2
  • Método

    El Transformer realiza la transducción de secuencias mediante atención en lugar de capas recurrentes o convolucionales.

    Fuente: §2 · p. 2, §7 · p. 10
  • Resultados

    El Transformer alcanza una calidad de traducción de vanguardia tanto del inglés al alemán como del inglés al francés en WMT 2014 y se entrena significativamente más rápido que las arquitecturas recurrentes o convolucionales.

    Fuente: §7 · p. 10
  • Conclusiones y limitaciones

    La autoatención conecta todas las posiciones mediante un número constante de operaciones secuenciales, mientras que las capas recurrentes requieren O(n) operaciones secuenciales.

    Fuente: §4 · p. 6

Abstract

from arXiv · show

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 la recurrencia por atención para captar dependencias globales entre entrada y salida, lo que permite una paralelización mucho mayor y establece un nuevo estado del arte en calidad de traducción.

1 Introducción

  • El cálculo secuencial de los estados ocultos de los modelos recurrentes impide la paralelización dentro de cada ejemplo de entrenamiento, lo que supone una limitación crítica para las secuencias más largas.Las restricciones de memoria limitan el procesamiento de ejemplos por lotes. Las técnicas de factorización [21] y el cómputo condicional [32] mejoran la eficiencia, pero ninguna elimina la restricción secuencial fundamental.Fuente: §1 · p. 2
  • La atención modela las dependencias independientemente de la distancia en la secuencia [2, 19], pero suele combinarse con redes recurrentes, salvo unas pocas excepciones.Esto motiva una arquitectura que utiliza atención sin recurrencia.Fuente: §1 · p. 2
  • Doce horas en ocho GPU P100 pueden bastar para que el Transformer basado solo en atención establezca un nuevo estado del arte en calidad de traducción y permita una paralelización mucho mayor.La arquitectura prescinde de la recurrencia y se basa íntegramente en la atención para captar dependencias globales entre entrada y salida.Fuente: §1 · p. 2

2 Antecedentes

El Transformer se presenta como el primer modelo de transducción, según el conocimiento de los autores, que calcula las representaciones de entrada y salida íntegramente mediante autoatención, sin RNN alineadas con la secuencia ni convoluciones. Relaciona posiciones arbitrarias mediante un número constante de operaciones, mientras que Multi-Head Attention contrarresta la reducción de la resolución efectiva causada por promediar posiciones ponderadas por atención.

  • Un número constante de operaciones conecta posiciones arbitrarias en el Transformer, frente al crecimiento lineal en ConvS2S [9] y logarítmico en ByteNet [18] al aumentar la distancia.Extended Neural GPU, ByteNet [18] y ConvS2S [9] usan convoluciones para calcular representaciones ocultas en paralelo en las posiciones de entrada y salida. El número de operaciones dependiente de la distancia dificulta el aprendizaje de dependencias lejanas.Fuente: §2 · p. 2
  • Multi-Head Attention contrarresta la reducción de la resolución efectiva causada por promediar posiciones ponderadas por atención en el Transformer.Fuente: §2 · p. 2
  • La autoatención, también llamada intraatención, relaciona distintas posiciones de una misma secuencia para calcular su representación.Entre los éxitos previos figuran la comprensión lectora, la generación de resúmenes abstractivos, la inferencia textual y las representaciones de oraciones independientes de la tarea [4] [28] [22]. Las redes de memoria de extremo a extremo, en cambio, utilizan atención recurrente en lugar de recurrencia alineada con la secuencia y obtienen buenos resultados en respuesta a preguntas en lenguaje sencillo y modelado del lenguaje [34].Fuente: §2 · p. 2
  • Según el conocimiento de los autores, el Transformer es el primer modelo de transducción que calcula las representaciones de entrada y salida íntegramente mediante autoatención, sin RNN alineadas con la secuencia ni convoluciones.Fuente: §2 · p. 2

3 Arquitectura del modelo · 3.1 Pilas del codificador y del decodificador · 3.2 Atención

El Transformer utiliza capas apiladas de autoatención y capas totalmente conectadas aplicadas a cada posición en una arquitectura autorregresiva de codificador-decodificador. Sus mecanismos de atención conectan posiciones de entrada, conectan posiciones del decodificador con las salidas del codificador y restringen la autoatención del decodificador para preservar la generación autorregresiva.

3 Arquitectura del modelo

  • El Transformer utiliza capas apiladas de autoatención y capas totalmente conectadas aplicadas a cada posición en una arquitectura de codificador-decodificador que genera símbolos de salida de forma autorregresiva [10].El codificador transforma las representaciones de los símbolos de entrada en representaciones continuas; el decodificador utiliza estas representaciones y los símbolos generados previamente para producir salidas sucesivas.Fuente: §3 · pp. 2–3

3.1 Pilas del codificador y del decodificador

  • 6 capas idénticas del codificador combinan, cada una, autoatención multicabeza con una red de propagación hacia delante aplicada a cada posición.Cada subcapa está rodeada por una conexión residual [11], seguida de normalización de capa [1], lo que da lugar a LayerNorm(x + Sublayer(x)). Todas las subcapas y las capas de embeddings producen salidas de dimensión dmodel = 512.Fuente: §3.1 · p. 3
  • 6 capas idénticas del decodificador añaden atención a las salidas del codificador a la estructura de sus capas, con conexiones residuales seguidas de normalización de capa.La autoatención enmascarada y los embeddings de salida desplazados una posición garantizan que las predicciones en la posición i dependan únicamente de salidas conocidas en posiciones inferiores a i.Fuente: §3.1 · p. 3

3.2 Atención

  • La atención transforma una consulta y pares clave-valor en una suma ponderada de valores, cuyos pesos se determinan mediante la compatibilidad entre consulta y clave.La consulta, las claves, los valores y la salida son todos vectores.Fuente: §3.2 · pp. 3–4

3.2.1 Atención por producto escalar escalado

  • La atención por producto escalar escalado divide los productos escalares entre consultas y claves por √dk antes de ponderar los valores mediante softmax, contrarrestando los posibles efectos de gradientes pequeños cuando dk es grande.Las consultas y las claves tienen dimensión dk, mientras que los valores tienen dimensión dv. Los autores sospechan que los productos escalares grandes llevan a softmax a regiones con gradientes extremadamente pequeños.Fuente: §3.2.1 · p. 4
  • La atención por producto escalar es más rápida y eficiente en memoria que la atención aditiva [2] en la práctica porque utiliza multiplicación matricial optimizada.Ambas tienen una complejidad teórica similar; la atención aditiva [2] calcula la compatibilidad mediante una red de propagación hacia delante con una sola capa oculta. Su rendimiento es similar cuando dk es pequeño, pero la atención aditiva supera a la atención por producto escalar sin escalar cuando dk es mayor [3].Fuente: §3.2.1 · p. 4

3.2.2 Atención multicabeza

  • La atención multicabeza atiende conjuntamente a distintos subespacios de representación y posiciones, evitando la limitación que impone el promediado en una sola cabeza.Distintas proyecciones aprendidas producen salidas de atención en paralelo, que se concatenan y se proyectan de nuevo. Con h = 8 cabezas y dk = dv = dmodel/h = 64, las dimensiones reducidas de cada cabeza mantienen un coste computacional similar al de la atención de una sola cabeza con dimensionalidad completa.Fuente: §3.2.2 · pp. 4–5

3.2.3 Aplicaciones de la atención en nuestro modelo

  • La autoatención del codificador abarca todas las posiciones de entrada, la atención codificador-decodificador consulta las salidas del codificador y la autoatención del decodificador enmascara las posiciones futuras.Las consultas de la atención codificador-decodificador proceden de la capa anterior del decodificador, mientras que las claves y los valores proceden de las salidas del codificador; en la autoatención del codificador, los tres proceden de la capa anterior del codificador. El enmascaramiento del decodificador fija las conexiones no permitidas en −∞ antes de softmax para preservar la generación autorregresiva.Fuente: §3.2.3 · p. 5

3.3 Redes de propagación hacia delante por posición

Cada capa del codificador y del decodificador incluye una red de propagación hacia delante por posición con dos transformaciones lineales separadas por ReLU. Los parámetros se comparten entre posiciones, pero difieren entre capas.

3.3 Redes de propagación hacia delante por posición

  • Cada capa del codificador y del decodificador complementa la atención con una red de propagación hacia delante totalmente conectada que consta de dos transformaciones lineales separadas por ReLU.La red se aplica a cada posición por separado y de forma idéntica.Fuente: §3.3 · p. 5
  • Las transformaciones lineales comparten parámetros entre posiciones, pero utilizan parámetros distintos entre capas, lo que equivale a dos convoluciones con tamaño de núcleo 1.Fuente: §3.3 · p. 5
  • 512 es la dimensionalidad de entrada y salida dmodel; 2048 es la dimensionalidad de la capa interna dff.Fuente: §3.3 · p. 5

3.4 Embeddings y softmax

El Transformer utiliza embeddings de tokens aprendidos y una capa de salida lineal seguida de softmax; las dos capas de embeddings y la transformación previa a softmax comparten una única matriz de pesos, como en [30].

  • Las dos capas de embeddings y la transformación lineal previa a softmax comparten la misma matriz de pesos, como en [30].Fuente: §3.4 · p. 5
  • Los embeddings aprendidos convierten los tokens de entrada y salida en vectores de dimensión dmodel, con los pesos de los embeddings multiplicados por dmodel^0.5.Fuente: §3.4 · p. 5
  • Una transformación lineal aprendida seguida de softmax convierte las salidas del decodificador en probabilidades predichas del siguiente token.Fuente: §3.4 · p. 5

3.5 Codificación posicional

El Transformer añade codificaciones posicionales a los embeddings de entrada del codificador y del decodificador para aportar información sobre el orden de la secuencia sin recurrencia ni convolución. Utiliza sinusoides fijas, que ofrecieron un rendimiento casi idéntico al de los embeddings posicionales aprendidos [9] y podrían permitir extrapolar a secuencias más largas.

3.5 Codificación posicional

  • Las codificaciones posicionales aportan información sobre el orden de la secuencia al sumarse a los embeddings de entrada en la base de las pilas del codificador y del decodificador.Las codificaciones y los embeddings comparten la dimensión dmodel, lo que permite sumarlos.Fuente: §3.5 · p. 6
  • Las funciones seno y coseno codifican las posiciones mediante longitudes de onda que forman una progresión geométrica de 2π a 10000 · 2π.Para cualquier desplazamiento fijo k, PE_pos+k es una función lineal de PE_pos; los autores plantearon que esto facilitaría aprender a prestar atención según las posiciones relativas.Fuente: §3.5 · p. 6
  • Los embeddings posicionales aprendidos [9] y las codificaciones sinusoidales produjeron resultados casi idénticos.Los autores eligieron sinusoides porque podrían permitir extrapolar a secuencias más largas que las observadas durante el entrenamiento.Fuente: §3.5 · p. 6

4 Por qué la autoatención

La autoatención conecta todas las posiciones con un número constante de operaciones secuenciales y es computacionalmente más rápida que la recurrencia cuando la longitud de la secuencia es menor que la dimensionalidad de la representación. La sección también compara las longitudes de las rutas de dependencia e identifica posibles ventajas para la interpretabilidad.

  • La comparación evalúa la autoatención, la recurrencia y la convolución según la complejidad computacional por capa, el número mínimo de operaciones secuenciales y la longitud máxima de las rutas de dependencia.Las rutas más cortas para las señales de propagación hacia delante y hacia atrás facilitan el aprendizaje de dependencias de largo alcance.Fuente: §4 · p. 6
  • La recurrencia requiere O(n) operaciones secuenciales, frente a un número constante en la autoatención; la autoatención es computacionalmente más rápida cuando la longitud de la secuencia es menor que la dimensionalidad de la representación: n < d.La condición n < d suele cumplirse en las representaciones de oraciones utilizadas en traducción automática.Fuente: §4 · pp. 6–7
  • Restringir la autoatención a vecindades de tamaño r daría una longitud máxima de ruta de O(n/r), una mejora computacional propuesta para secuencias muy largas.Este enfoque de atención restringida queda pendiente de investigación futura.Fuente: §4 · p. 7
  • Se necesitan O(n/k) capas convolucionales contiguas u O(logk(n)) capas convolucionales dilatadas [18] para conectar todas las posiciones, lo que alarga las rutas de dependencia.Las convoluciones suelen tener un coste k veces mayor que la recurrencia; las convoluciones separables [6] reducen la complejidad a O(k · n · d + n · d^2). Cuando k = n, este coste equivale al de la autoatención más una capa de propagación hacia delante aplicada a cada posición.Fuente: §4 · p. 7
  • Las distintas cabezas de atención aprenden tareas diferentes y muchas parecen reflejar la estructura sintáctica y semántica, lo que sugiere posibles ventajas para la interpretabilidad.Los autores examinan las distribuciones de atención y presentan ejemplos en el apéndice.Fuente: §4 · p. 7

5 Entrenamiento

El Transformer se entrenó con lotes agrupados por longitud, ocho GPU NVIDIA P100 y Adam con calentamiento y decaimiento de la tasa de aprendizaje, además de regularización mediante dropout y suavizado de etiquetas.

5.1 Datos de entrenamiento y agrupación en lotes

  • Los datos de entrenamiento fueron unos 4.5 millones de pares de oraciones inglés-alemán y 36M de oraciones inglés-francés de WMT 2014, agrupados en lotes por longitud aproximada de secuencia.Para inglés-alemán se utilizó byte-pair encoding [3] con un vocabulario compartido entre origen y destino de unos 37000 tokens; para inglés-francés, un vocabulario de 32000 unidades word-piece [38]. Cada lote contenía aproximadamente 25000 tokens de origen y 25000 tokens de destino.Fuente: §5.1 · p. 7

5.2 Hardware y duración del entrenamiento

  • 8 GPU NVIDIA P100 entrenaron los modelos base durante 100,000 pasos (12 horas) y los modelos grandes durante 300,000 pasos (3.5 días) en una sola máquina.Cada paso de entrenamiento tardó unos 0.4 segundos para los modelos base y 1.0 segundos para los modelos grandes.Fuente: §5.2 · p. 7

5.3 Optimizador

  • Adam [20] utilizó una tasa de aprendizaje que aumentó linealmente durante 4000 pasos de calentamiento y luego disminuyó proporcionalmente a la inversa de la raíz cuadrada del número de paso.Los parámetros del optimizador fueron β1 = 0.9, β2 = 0.98 y ϵ = 10^-9.Fuente: §5.3 · p. 7

5.4 Regularización

  • Dropout y el suavizado de etiquetas [36] regularizaron el entrenamiento; el suavizado mejoró la exactitud y BLEU, aunque empeoró la perplejidad.Se aplicó dropout a las salidas de las subcapas antes de la suma residual y la normalización, y a las sumas de embeddings y codificaciones posicionales en ambas pilas; la tasa del modelo base fue de 0.1. El suavizado de etiquetas utilizó un valor de 0.1.Fuente: §5.4 · p. 8

6 Resultados

El Transformer establece nuevas marcas en traducción de inglés a alemán y, con un único modelo, de inglés a francés, a la vez que reduce los costes de entrenamiento y generaliza al análisis sintáctico de constituyentes del inglés. Los estudios de ablación muestran las ventajas de usar múltiples cabezas de atención, claves de mayor dimensión, modelos más grandes y dropout, con resultados similares para las codificaciones posicionales aprendidas y sinusoidales.

6.1 Traducción automática

  • Los 28.4 BLEU en WMT 2014 de inglés a alemán superan en más de 2.0 BLEU los mejores resultados publicados anteriormente, incluidos los de conjuntos de modelos.El entrenamiento del modelo grande requirió 3.5 días en 8 GPU P100. El modelo base también superó a todos los modelos y conjuntos de modelos publicados anteriormente, con una fracción de los costes de entrenamiento de los modelos competidores.Fuente: §6.1 · p. 8
  • Los 41.0 BLEU en WMT 2014 de inglés a francés superan los resultados de todos los modelos individuales publicados anteriormente, con menos de 1/4 del coste de entrenamiento del anterior modelo de referencia.El modelo grande de inglés a francés utilizó dropout Pdrop = 0.1 en lugar de 0.3.Fuente: §6.1 · p. 8

6.2 Variantes del modelo

  • Con un coste computacional constante, 0.9 BLEU separan la atención de una sola cabeza de la mejor configuración, mientras que usar demasiadas cabezas también reduce la calidad.Estas variantes de la arquitectura se evaluaron en el conjunto de desarrollo de inglés a alemán, newstest2013, sin promediar puntos de control.Fuente: Table 3 · p. 9, §6.2 · p. 9
  • Las claves de atención de menor dimensión perjudican la calidad, los modelos más grandes rinden mejor y el dropout ayuda a prevenir el sobreajuste; los embeddings posicionales aprendidos [9] ofrecen resultados casi idénticos a los de las codificaciones sinusoidales.Los autores sugieren que determinar la compatibilidad podría beneficiarse de una función más sofisticada que un producto escalar.Fuente: §6.2 · p. 9

6.3 Análisis sintáctico de constituyentes del inglés

  • 40K oraciones de entrenamiento de WSJ bastan para superar a Berkeley-Parser; en conjunto, los resultados de análisis sintáctico superan los de los modelos publicados anteriormente, salvo Recurrent Neural Network Grammar [8].Se evaluó un Transformer de cuatro capas con dmodel = 1024 mediante entrenamiento solo con WSJ y en un entorno semisupervisado con aproximadamente 17M oraciones [37]. Se realizaron pocos experimentos para seleccionar el dropout, las tasas de aprendizaje y el ancho del haz; los demás parámetros se mantuvieron sin cambios respecto al modelo base de inglés a alemán.Fuente: §6.3 · pp. 9–10, Table 4 · p. 10

7 Conclusión

El Transformer es un modelo de transducción de secuencias basado íntegramente en la atención, que sustituye las capas recurrentes por autoatención multicabeza. Obtiene los mejores resultados en traducción y se entrena considerablemente más rápido que las arquitecturas recurrentes o convolucionales.

7 Conclusión

  • El Transformer es el primer modelo de transducción de secuencias basado íntegramente en la atención, que sustituye las capas recurrentes del codificador y del decodificador por autoatención multicabeza.Fuente: §7 · p. 10
  • El Transformer obtiene los mejores resultados en las tareas de traducción del inglés al alemán y del inglés al francés de WMT 2014, y supera a todos los conjuntos de modelos publicados previamente para inglés-alemán.El entrenamiento es considerablemente más rápido que en las arquitecturas basadas en capas recurrentes o convolucionales.Fuente: §7 · p. 10
  • El trabajo futuro se centrará en modalidades de entrada y salida no textuales, atención local restringida para entradas y salidas de gran tamaño, y generación menos secuencial.Las modalidades propuestas incluyen imágenes, audio y vídeo; la atención local restringida buscaría procesarlas de forma eficiente.Fuente: §7 · p. 10

Visualizaciones de la atención

Las visualizaciones de autoatención del codificador muestran cabezas que siguen dependencias a larga distancia, parecen resolver anáforas y presentan comportamientos distintos relacionados con la estructura oracional.

Visualizaciones de la atención

  • Muchas cabezas de atención de la capa 5 de 6 del codificador siguen la dependencia a larga distancia que conecta «haciendo» con «más difícil».La visualización muestra únicamente la atención desde la palabra «haciendo», con distintos colores para identificar las diferentes cabezas.Fuente: Figure 3 · p. 13
  • Dos cabezas de atención de la capa 5 de 6 del codificador parecen intervenir en la resolución de anáforas, con una atención muy focalizada desde «su».La visualización muestra toda la atención de la cabeza 5 y aísla la atención desde «su» para las cabezas 5 y 6.Fuente: Figure 4 · p. 14
  • Las distintas cabezas de atención muestran comportamientos aprendidos diferenciados, incluidos patrones relacionados con la estructura oracional y una aparente resolución de anáforas.Dos ejemplos de estructura oracional proceden de distintas cabezas de autoatención de la capa 5 de 6 del codificador.Fuente: Figure 4 · p. 14, Figure 5 · p. 15
Loading 1706.03762v7…