¿Cómo combina un Transformer la información de distintas partes de una frase?

El Transformer: relacionar palabras sin hacerlas pasar por una fila

«Las llaves que dejé sobre la mesa están aquí». Para interpretar la frase, relacionamos «están» con «las llaves», aunque entre ambas haya otras palabras. Ese es nuestro ejemplo para explorar cómo un modelo reúne información de distintas partes de un texto.

Un Transformer es una arquitectura: una forma de organizar los cálculos de una red neuronal. Un modelo construido con ese diseño aprende ajustes numéricos al entrenarse con ejemplos. Su atención calcula pesos y mezcla representaciones de los fragmentos del texto para que cada posición incorpore contexto.

El trabajo Attention Is All You Need, presentado en 2017, propuso usar ese mecanismo sin una cadena recurrente entre posiciones. Aquí leemos arXiv v7, revisada el 2 de agosto de 2023. Nuestra frase y los números didácticos son inventados: no muestran una ejecución de los modelos del paper.

Viñeta original sobre el Transformer. Las figuras y tarjetas son una metáfora de operaciones con representaciones numéricas, no atención consciente. La autoatención relaciona posiciones y permite más paralelismo durante el entrenamiento, pero la generación autoregresiva conserva su orden. Q, K y V representan proyecciones aprendidas; las posiciones y las capas densas siguen siendo necesarias. No se reproducen figuras o resultados visuales del paper.

1. La pregunta: relacionar información que está lejos

En nuestra frase, «están» es plural porque se relaciona con «las llaves», no con «la mesa». La distancia no nos dice por sí sola qué relación importa. El ejemplo ilustra una dependencia lingüística; no demuestra cómo la resolvería una cabeza concreta de atención.

El modelo no recibe palabras con una definición humana adjunta. El texto se divide en tokens: unidades que pueden ser palabras o fragmentos de ellas. Usaremos palabras completas para ilustrar el mecanismo, aunque un token real no tenga por qué coincidir con una palabra.

Cada token se convierte en un vector, una lista de números. Esa representación inicial aprendida se llama embedding. Al atravesar las capas del modelo, las representaciones se transforman y reciben información del contexto. La pregunta es cómo organizar ese intercambio.

2. Cuando el contexto tiene que recorrer una cadena

Una red recurrente mantiene un estado: una representación numérica calculada a partir de lo que ha procesado. Para actualizar la posición siguiente, usa el estado que obtuvo en la anterior. Esa dependencia obliga a seguir una cadena dentro de la misma secuencia.

La fila que pasa notas en la viñeta representa ese orden de cálculo. No significa que toda red recurrente olvide el comienzo o sea incapaz de relacionar elementos lejanos. Significa que el siguiente paso necesita el resultado del precedente.

Todavía se pueden procesar varias frases en paralelo. La restricción está en las posiciones de cada frase, no en cualquier forma de paralelización del entrenamiento.

3. La atención ya existía

La atención ya se usaba en traducción y otras tareas, a menudo junto con redes recurrentes. Permitía asignar distintos pesos a la información disponible. Las redes convolucionales también podían procesar posiciones en paralelo, aunque conectar posiciones lejanas podía exigir varias capas.

Vaswani y colaboradores no inventaron toda la atención. Su propuesta fue convertir la autoatención en el mecanismo central para relacionar posiciones, sin recurrencia alineada con ellas ni convoluciones que conectaran la secuencia.

Eso no elimina el resto de la arquitectura. El Transformer también usa representaciones iniciales, información de orden y otras operaciones que transforman los números. Veremos qué aportan después de entender la atención.

4. Un cambio de arquitectura con resultados concretos

El cambio permitió organizar en paralelo muchos cálculos entre posiciones y obtuvo buenos resultados de traducción. En lugar de hacer viajar toda la información por los estados intermedios de una cadena, una capa de atención puede relacionar directamente posiciones lejanas.

Para entender por qué importa, primero seguiremos el mecanismo. En el apartado 8 reuniremos los resultados, sus condiciones y sus límites. Un camino más corto no implica que el cálculo sea gratuito, ni que el modelo genere toda una frase de una vez.

5. La idea clave: cada posición reúne contexto mediante pesos

Qué significa aquí «atención»

En este contexto, atención es una operación que combina información con distintos pesos. Para construir el contexto de una posición, el modelo calcula cuánto aporta cada valor disponible y forma una mezcla. Un peso mayor da a ese valor un coeficiente mayor en esta operación; no declara que una palabra sea siempre la más importante.

El nombre recuerda a algo familiar: usar una parte de la información más que otra. En el Transformer, ese reparto se obtiene con operaciones numéricas sobre vectores. No hay una persona mirando o decidiendo conscientemente. Las figuras de palo son una metáfora de posiciones y cálculos, no una mente dentro del modelo.

Pensemos en «están». Para ilustrar su contexto, imaginemos una mezcla en la que el valor asociado a «llaves» contribuye más que el asociado a «mesa». No mostramos pesos de un Transformer real ni una regla escrita que ordene elegir el sustantivo plural. Es una manera de visualizar cómo una posición puede recibir información de otra que está lejos. Más abajo calcularemos una mezcla inventada de dos valores.

Los pesos dependen del contexto

La operación se calcula para cada consulta. Distintas posiciones y cabezas pueden producir repartos diferentes; cambiar el texto puede cambiar las representaciones y, con ellas, los pesos. No existe una lista universal que diga «llaves importa más que mesa».

Durante el entrenamiento se aprenden los ajustes de las transformaciones. Los pesos de atención, en cambio, se calculan a partir de las representaciones que llegan a la operación. No son valores que una persona escribe para cada frase. Ver un peso alto muestra el reparto de esa mezcla, pero no basta para explicar por sí solo la decisión final de todo el modelo: después intervienen otras operaciones.

Por qué se llama «autoatención»

En la autoatención, la consulta, las claves y los valores proceden de representaciones de la misma secuencia, a la salida de una capa anterior. Cada posición reúne información de posiciones de esa secuencia que tiene permitido usar, incluida la propia cuando está disponible. «Auto» se refiere a ese origen compartido, no a que el modelo se observe o reflexione sobre sí mismo.

En el decodificador también hay atención a las representaciones del texto de entrada: combina una consulta de la salida con información de otra secuencia. Y la información disponible tiene límites: al generar, la máscara impide usar tokens futuros, como veremos en el apartado 6.

Cómo se calcula la mezcla

Volvamos a «están». En una cabeza de autoatención, la representación actual de esa posición se transforma en una consulta, Q. Las representaciones disponibles, incluida la propia posición cuando está permitida, se transforman en claves, K, y valores, V.

Estas transformaciones se llaman proyecciones aprendidas: operaciones cuyos ajustes numéricos se aprenden durante el entrenamiento. Q no es una pregunta redactada por una persona y K no es una etiqueta fija como «sujeto de la frase».

El cálculo sigue cuatro pasos:

  1. Preparar Q, K y V. Cada uno es una representación numérica con una función dentro del cálculo.
  2. Comparar Q con las claves K. Se multiplican pares de coordenadas y se suman sus productos. Así se obtiene una puntuación de compatibilidad para cada clave; también se ajusta su escala.
  3. Convertir puntuaciones en pesos. Softmax transforma esas puntuaciones en pesos no negativos que suman uno. No es una regla escrita que ordene preferir «llaves».
  4. Combinar los valores V. Cada valor contribuye según su peso. La salida de atención es otra lista de números, no una palabra traducida.

Un cálculo inventado de dos valores

Para comprender solo la última operación, reduzcamos el ejemplo a dos valores ficticios. No son vectores ni pesos medidos en el paper, y no representan todas las posiciones de nuestra frase.

  • El primer valor es [2; 0], con peso 0,75.
  • El segundo es [0; 2], con peso 0,25.
  • La primera coordenada de la mezcla es 0,75 × 2 + 0,25 × 0 = 1,5.
  • La segunda es 0,75 × 0 + 0,25 × 2 = 0,5.

El resultado es [1,5; 0,5]. Los pesos indican cuánto contribuye cada valor a esta mezcla; no son probabilidades de que esas palabras sean la siguiente salida. Tampoco damos a las coordenadas un significado fijo, como plural, género o emoción.

Podemos escribir la misma operación como salida = Σᵢ pesoᵢ · valorᵢ: multiplicar cada valor por su peso y sumar las contribuciones. La fórmula expresa la mezcla que acabamos de calcular; no añade otro mecanismo.

Viñeta de apoyo original sobre el significado de atención, basada en §3.2 y §3.2.3. Las figuras de palo representan posiciones y cálculos, no personas dentro del modelo. Pesos 0,75 y 0,25 y valores (2; 0) y (0; 2) son inventados; su mezcla (1,5; 0,5) es un vector, no una traducción. Autoatención significa combinar representaciones de la misma secuencia disponible. No se reproducen figuras del paper.

Qué se hace con esa salida

La mezcla permite incorporar información de otras posiciones a la representación que se está calculando. Las demás operaciones de la capa siguen transformándola. En el decodificador, los cálculos finales producen probabilidades sobre posibles tokens de salida; una sola operación de atención no hace todo ese recorrido.

6. Varias perspectivas, posiciones y una salida ordenada

Varias cabezas: varias transformaciones de la misma información

Cada cabeza repite el cálculo con proyecciones aprendidas diferentes. Sus resultados se concatenan y vuelven a transformarse. Así se combinan distintas perspectivas numéricas, sin exigir que cada cabeza tenga una función humana fija como «gramática» o «emociones».

El orden también se representa

Relacionar tokens no basta para distinguir sus posiciones. El Transformer incorpora información de orden en las representaciones iniciales. En el artículo se suman señales sinusoidales a los embeddings y también se prueban posiciones aprendidas. No se demuestra con ello una extrapolación garantizada a cualquier longitud.

Las otras piezas y el traductor original

Una capa densa transforma la representación de cada posición por separado. Una conexión residual suma la entrada a la salida de una subcapa, manteniendo otro camino para la información. La normalización ajusta la escala de las representaciones. Estas piezas acompañan a la atención; el título del paper no es una lista literal de ingredientes.

El codificador procesa la secuencia de entrada, por ejemplo el texto que se quiere traducir. El decodificador usa las representaciones del codificador y el prefijo de salida disponible para calcular los siguientes tokens. Ambos contienen atención y otras operaciones.

Entrenar en paralelo no es generar todo a la vez

Durante el entrenamiento se dispone de las secuencias de referencia. Se pueden preparar predicciones para varias posiciones de salida en paralelo dentro de cada capa. Pero la máscara del decodificador impide que una posición use tokens futuros: cada predicción recibe únicamente su prefijo permitido.

Conocer los objetivos de referencia no significa que el modelo los prediga correctamente. Se compara cada predicción con su objetivo y esa comparación participa en el ajuste de parámetros.

Al generar, los siguientes tokens todavía no están disponibles. Se obtiene uno, se añade al prefijo y se calcula el siguiente. Eso es generación autoregresiva: la salida continúa un elemento tras otro, usando lo ya producido.

Viñeta de apoyo simplificada del decodificador, basada en §3.1 y §3.2.3. A, B y C son objetivos de referencia ilustrativos, no aciertos garantizados. La máscara excluye información futura; las posiciones de entrenamiento no son pasos de reloj. Al generar, A es un token de ejemplo y el prefijo crece antes de calcular el siguiente. Las figuras de palo son metáforas; se omiten el codificador y otras capas y no se copian figuras del paper.

7. Un camino corto no significa trabajo constante

Con cuatro posiciones, una matriz de atención completa compara 4 × 4 = 16 parejas. Con ocho posiciones compara 8 × 8 = 64. Es un ejemplo para contar celdas, no un resultado de rendimiento: duplicar posiciones cuadruplica esas parejas.

El artículo expresa la complejidad por capa como O(n²d), donde n es la longitud de la secuencia y d la dimensión de representación. Acortar el camino entre posiciones no hace constante la cantidad total de trabajo.

Tampoco se deduce que todo el sistema tarde exactamente cuatro veces más. Hay otras operaciones, restricciones de memoria y decisiones de implementación. El paper plantea estudiar atención limitada a vecindades para secuencias largas; su atención completa no tiene una ventaja garantizada para cualquier longitud.

8. Qué demuestra el artículo y qué deja abierto

En la traducción WMT 2014 de inglés a alemán, Transformer grande alcanza 28,4 BLEU en v7. La tabla 2 recoge un resultado previo de 26,36 para el mejor conjunto de modelos comparado: la mejora supera dos puntos BLEU. Es una puntuación de traducción, no el porcentaje de frases entendidas ni una medida de inteligencia general.

Para inglés-francés, la propia versión tiene una discrepancia: resumen y tabla 2 reportan 41,8 BLEU, pero el texto de §6.1 indica 41,0. Conservamos ambas cifras y su localización; no resolvemos silenciosamente la diferencia.

La configuración base se entrenó durante unas 12 horas y la grande durante 3,5 días, en ocho GPU NVIDIA P100. Son condiciones de esos experimentos históricos, no un presupuesto para entrenar IA actual. El artículo también presenta experimentos de análisis sintáctico del inglés.

Los resultados dependen de datos, tamaños, entrenamiento, evaluación y generación concretos. No prueban comprensión humana, conversación segura o rendimiento universal. Las visualizaciones del apéndice sugieren relaciones lingüísticas en algunas cabezas, pero no constituyen una explicación completa de las decisiones ni evidencia de conciencia.

La conclusión propone extender el enfoque a imagen, audio y vídeo y hacer la generación menos secuencial. En el trabajo original son direcciones futuras, no resultados demostrados. Para saber qué ocurrió después hay que leer otros trabajos.

9. La lección: cambiar cómo circula la información

La idea de la fila se ha convertido en un cálculo concreto: obtener representaciones, compararlas, repartir pesos y combinar información. Después, otras piezas del modelo transforman esa mezcla y contribuyen a producir la salida. La frase en español es nuestra analogía, no una demostración de una cabeza real.

[Inferencia] Una enseñanza útil es mirar tanto la información de un modelo como los caminos por los que puede combinarla. Cambiar esos caminos puede facilitar unos cálculos y encarecer otros. No asegura que cualquier arquitectura más paralela sea mejor.

10. Importancia para la IA moderna

Trabajos posteriores reutilizaron el diseño para resolver problemas distintos:

  • BERT, presentado en 2018, utiliza un codificador Transformer bidireccional: al representar un texto de entrada puede usar contexto de ambos lados. Preentrena representaciones y las adapta a tareas como clasificación o respuesta a preguntas. No es el traductor completo de 2017.
  • GPT, en el informe de OpenAI de 2018, emplea un decodificador Transformer para aprender a predecir el siguiente token a partir de un prefijo. Primero aprende de texto sin etiquetas externas para cada tarea y después se ajusta con datos etiquetados para tareas específicas. Es otra forma de reutilizar esa arquitectura.
  • Vision Transformer, presentado inicialmente en 2020, divide una imagen en parches, los convierte en representaciones y los procesa como una secuencia con un codificador Transformer para reconocer imágenes. Ese resultado pertenece a ViT, no a los experimentos de traducción originales.

[Inferencia] El Transformer aportó una base reutilizable para representar secuencias y organizar gran parte del entrenamiento como operaciones paralelas con matrices. Eso ayuda a entender su importancia, pero no explica por sí solo toda la evolución de grandes modelos y asistentes. También importan datos, capacidad de cálculo, objetivos de aprendizaje, ajuste y evaluación. Una arquitectura es una pieza del sistema de IA.

Referencias: Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser e Illia Polosukhin (2017). Attention Is All You Need, NIPS 2017; arXiv v7, revisada en 2023. Fuentes posteriores: Jacob Devlin y colaboradores, BERT, v2; Alec Radford, Karthik Narasimhan, Tim Salimans e Ilya Sutskever, Improving Language Understanding by Generative Pre-Training; Alexey Dosovitskiy y colaboradores, Vision Transformer, v2.

Viñeta ampliada

Desplácese para recorrer los paneles.

Ocho paneles de figuras de palo representan una frase cuyos elementos pasan notas en fila bajo un modelo recurrente y luego establecen enlaces directos mediante autoatención. Carpetas Q, K y V ilustran buscar, comparar y combinar; varias perspectivas se reúnen. Marcas de posición preservan el orden, y las tarjetas futuras tapadas recuerdan que generar sigue siendo secuencial. El último panel añade capas densas: el título del artículo no es una lista literal de todos los componentes.

Viñeta original sobre el Transformer. Las figuras y tarjetas son una metáfora de operaciones con representaciones numéricas, no atención consciente. La autoatención relaciona posiciones y permite más paralelismo durante el entrenamiento, pero la generación autoregresiva conserva su orden. Q, K y V representan proyecciones aprendidas; las posiciones y las capas densas siguen siendo necesarias. No se reproducen figuras o resultados visuales del paper.

La atención como mezcla de contexto

Desplácese para recorrer la figura.

Ocho paneles de figuras de palo muestran una posición están que recibe información de llaves y mesa, compara representaciones y combina dos valores ficticios. Pesos 0,75 y 0,25 sobre los vectores (2; 0) y (0; 2) producen (1,5; 0,5). La autoatención conecta representaciones de la misma secuencia. Los personajes son metáfora de operaciones numéricas, no atención consciente.

Viñeta de apoyo original sobre el significado de atención, basada en §3.2 y §3.2.3. Las figuras de palo representan posiciones y cálculos, no personas dentro del modelo. Pesos 0,75 y 0,25 y valores (2; 0) y (0; 2) son inventados; su mezcla (1,5; 0,5) es un vector, no una traducción. Autoatención significa combinar representaciones de la misma secuencia disponible. No se reproducen figuras del paper.

Entrenar y generar

Desplácese para recorrer la figura.

Ocho paneles de figuras de palo comparan entrenamiento y generación. En entrenamiento se conocen objetivos de referencia A, B y C: la predicción para A recibe inicio; para B, inicio y A; para C, inicio, A y B. Los futuros están bloqueados y distintas posiciones pueden calcularse en paralelo por capa. Al generar, una tarjeta A ilustrativa se obtiene y añade al prefijo antes de calcular un siguiente token desconocido. No son resultados garantizados ni figuras humanas reales.

Viñeta de apoyo simplificada del decodificador, basada en §3.1 y §3.2.3. A, B y C son objetivos de referencia ilustrativos, no aciertos garantizados. La máscara excluye información futura; las posiciones de entrenamiento no son pasos de reloj. Al generar, A es un token de ejemplo y el prefijo crece antes de calcular el siguiente. Las figuras de palo son metáforas; se omiten el codificador y otras capas y no se copian figuras del paper.