Día 24 del “Calendario de Adviento” de aprendizaje automático: Transformadores para texto en Excel

de mi Calendario de Adviento de Aprendizaje Automático.

Antes de cerrar esta serie, me gustaría agradecer sinceramente a todos los que la siguieron, compartieron sus comentarios y la apoyaron, en particular al equipo de Towards Data Science.

Terminar este calendario con Transformers no es una coincidencia. Transformer no es sólo un nombre elegante. Es la columna vertebral de los modelos de lenguajes grandes modernos.

Hay mucho que decir sobre RNN, LSTM y GRU. Desempeñaron un papel histórico clave en el modelado de secuencias. Pero hoy en día, los LLM modernos se basan abrumadoramente en Transformers.

El propio nombre Transformer marca una ruptura. Desde una perspectiva de nombres, los autores podrían haber elegido algo como Redes neuronales de atención, en línea con Redes neuronales recurrentes o Redes neuronales convolucionales. Como mente cartesiana, habría apreciado una estructura de nombres más consistente. Pero dejando de lado los nombres, el cambio conceptual introducido por Transformers justifica plenamente la distinción.

Los transformadores se pueden utilizar de diferentes maneras. Las arquitecturas de codificador se utilizan comúnmente para la clasificación. Las arquitecturas de decodificador se utilizan para la predicción del siguiente token y, por lo tanto, para la generación de texto.

En este artículo, nos centraremos únicamente en una idea central: cómo la matriz de atención transforma las incrustaciones de entrada en algo más significativo.

En el artículo anterior, presentamos las redes neuronales convolucionales 1D para texto. Vimos que una CNN escanea una oración usando ventanas pequeñas y reacciona cuando reconoce patrones locales. Este enfoque ya es muy poderoso, pero tiene una limitación clara: una CNN solo mira localmente.

Hoy damos un paso más.

El Transformer responde a una pregunta fundamentalmente diferente.

¿Qué pasaría si cada palabra pudiera mirar todas las demás palabras a la vez?

1. La misma palabra en dos contextos diferentes

Para entender por qué se necesita atención, comenzaremos con una idea simple.

Usaremos dos oraciones de entrada diferentes, ambas conteniendo la palabra mouse, pero usadas en contextos diferentes.

En la primera entrada, aparece mouse en una oración con cat. En la segunda entrada, el mouse aparece en una oración con teclado.

Transformers en Excel: todas las imágenes del autor

En el nivel de entrada, utilizamos deliberadamente la misma incrustación para la palabra “mouse” en ambos casos. Esto es importante. En esta etapa, el modelo no sabe qué significado se pretende.

La incrustación del mouse contiene ambos:

un fuerte componente animal un fuerte componente tecnológico

Esta ambigüedad es intencional. Sin contexto, ratón podría referirse a un animal o a un dispositivo informático.

Todas las demás palabras proporcionan señales más claras. El gato es fuertemente animal. El teclado es fuertemente tecnológico. Palabras como y o son contienen principalmente información gramatical. Palabras como amigos y útil son poco informativas por sí solas.

En este punto, nada en las incrustaciones de entrada permite al modelo decidir qué significado de mouse es correcto.

En el próximo capítulo veremos cómo la matriz de atención realiza esta transformación, paso a paso.

2. Autoatención: cómo se inyecta contexto en las incrustaciones

2.1 Autoatención, no sólo atención

Primero aclaramos qué tipo de atención estamos utilizando aquí. Este capítulo se centra en la autoatención.

La autoatención significa que cada palabra mira a las otras palabras de la misma secuencia de entrada.

En este ejemplo simplificado, hacemos una elección pedagógica adicional. Suponemos que las consultas y las claves son directamente iguales a las incrustaciones de entrada. En otras palabras, no se han aprendido matrices de ponderación para Q y K en este capítulo.

Esta es una simplificación deliberada. Nos permite centrarnos completamente en el mecanismo de atención, sin introducir parámetros adicionales. La similitud entre palabras se calcula directamente a partir de sus incrustaciones.

Conceptualmente, esto significa:
Q = Entrada
K = Entrada

Sólo los vectores de valor se utilizan más adelante para propagar información a la salida.

En los modelos reales de Transformer, Q, K y V se obtienen mediante proyecciones lineales aprendidas. Esas proyecciones añaden flexibilidad, pero no cambian la lógica de la atención en sí. La versión simplificada que se muestra aquí captura la idea central.

Aquí está la imagen completa que descompondremos.

2.2 De la incorporación de entradas a las puntuaciones de atención brutas

Partimos de la matriz de incrustación de entrada, donde cada fila corresponde a una palabra y cada columna corresponde a una dimensión semántica.

La primera operación es comparar cada palabra con todas las demás. Esto se hace calculando productos escalares entre consultas y claves.

Debido a que las consultas y las claves son iguales a las incrustaciones de entrada en este ejemplo, este paso se reduce a calcular productos escalares entre vectores de entrada.

Todos los productos escalares se calculan a la vez mediante una multiplicación de matrices:
Puntuaciones = Entrada × Entradaᵀ

Cada celda de esta matriz responde a una pregunta simple: ¿qué tan similares son estas dos palabras, dadas sus incrustaciones?

En esta etapa, los valores son puntuaciones brutas. No son probabilidades y todavía no tienen una interpretación directa como pesos.

2.3 Escalado y normalización

Los productos punto en bruto pueden crecer a medida que aumenta la dimensión de incrustación. Para mantener los valores en un rango estable, las puntuaciones se escalan según la raíz cuadrada de la dimensión de incrustación.

Puntajes escalados = Puntajes / √d

Este paso de escala no es conceptualmente profundo, pero es prácticamente importante. Evita que el siguiente paso, el softmax, se vuelva demasiado agudo.

Una vez escalado, se aplica un softmax fila por fila. Esto convierte las puntuaciones brutas en valores positivos que suman uno.

El resultado es la matriz de atención.

Cada fila de esta matriz describe cuánta atención presta una palabra determinada a todas las demás palabras de la oración.

2.4 Interpretación de la matriz de atención

La matriz de atención es el objeto central de la autoatención.

Para una palabra determinada, su fila en la matriz de atención responde a la pregunta: al actualizar esta palabra, ¿qué otras palabras importan y en qué medida?

Por ejemplo, la fila correspondiente al mouse asigna pesos más altos a las palabras que están relacionadas semánticamente en el contexto actual. En la oración con gato y amigos, el ratón presta más atención a palabras relacionadas con animales. En la frase con teclado y útil atiende más a palabras técnicas.

El mecanismo es idéntico en ambos casos. Sólo las palabras circundantes cambian el resultado.

2.5 De ​​los pesos de atención a las incorporaciones de salida

La matriz de atención en sí no es el resultado final. Es un conjunto de pesas.

Para producir las incorporaciones de salida, combinamos estos pesos con los vectores de valor.

Salida = Atención × V

En este ejemplo simplificado, los vectores de valor se toman directamente de las incrustaciones de entrada. Por lo tanto, cada vector de palabras de salida es un promedio ponderado de los vectores de entrada, con pesos dados por la fila correspondiente de la matriz de atención.

Para una palabra como ratón, esto significa que su representación final se convierte en una mezcla de:

su propia incorporación las incorporaciones de las palabras a las que presta más atención

Este es el momento preciso donde se inyecta contexto a la representación.

Al final de la autoatención, las incrustaciones ya no son ambiguas.

La palabra ratón ya no tiene la misma representación en ambas frases. Su vector de salida refleja su contexto. En un caso, se comporta como un animal. En el otro, se comporta como un objeto técnico.

Nada en la tabla de incrustación cambió. Lo que cambió es cómo se combinó la información entre palabras.

Ésta es la idea central de la autoatención y la base sobre la que se construyen los modelos Transformer.

Si ahora comparamos los dos ejemplos, el gato y el ratón a la izquierda y el teclado y el ratón a la derecha, el efecto de la autoatención se vuelve explícito.

En ambos casos, la inserción de entrada del mouse es idéntica. Sin embargo, la representación final difiere. En la oración con gato, la inserción de mouse en la salida está dominada por la dimensión animal. En la frase con teclado, la dimensión técnica cobra mayor protagonismo. Nada en la tabla de incrustación cambió. La diferencia proviene enteramente de cómo la atención redistribuyó los pesos entre las palabras antes de mezclar los valores.

Esta comparación resalta el papel de la autoatención: no cambia las palabras de forma aislada, sino que remodela sus representaciones teniendo en cuenta el contexto completo.

3. Aprender a mezclar información

Transformers en Excel: todas las imágenes por autor

3.1 Introducción de pesos aprendidos para Q, K y V

Hasta ahora nos hemos centrado en la mecánica de la propia atención. Introducimos ahora un elemento importante: los pesos aprendidos.

En un Transformer real, las consultas, claves y valores no se toman directamente de las incrustaciones de entrada. En cambio, se producen mediante transformaciones lineales aprendidas.

Para cada palabra incrustada, el modelo calcula:
Q = Entrada × W_Q
K = Entrada × W_K
V = Entrada × W_V

Estas matrices de peso se aprenden durante el entrenamiento.

En esta etapa, normalmente mantenemos la misma dimensionalidad. Las incorporaciones de entrada, Q, K, V y las incorporaciones de salida tienen todas el mismo número de dimensiones. Esto hace que el papel de la atención sea más fácil de entender: modifica las representaciones sin cambiar el espacio en el que viven.

Conceptualmente, estos pesos permiten que el modelo decida:

qué aspectos de una palabra son importantes para la comparación (Q y K) qué aspectos de una palabra deben transmitirse a otros (V)

3.2 Qué aprende realmente el modelo

El mecanismo de atención en sí es fijo. Los productos escalares, el escalado, el softmax y las multiplicaciones de matrices siempre funcionan de la misma manera. Lo que realmente aprende el modelo son las proyecciones.

Al ajustar los pesos Q y K, el modelo aprende cómo medir las relaciones entre palabras para una tarea determinada. Al ajustar los pesos V, aprende qué información debe propagarse cuando la atención es alta. La estructura define cómo fluye la información, mientras que los pesos definen qué información fluye.

Como la matriz de atención depende de Q y K, es parcialmente interpretable. Podemos inspeccionar qué palabras atienden a otras y observar patrones que a menudo se alinean con la sintaxis o la semántica.

Esto queda claro al comparar la misma palabra en dos contextos diferentes. En ambos ejemplos, la palabra ratón comienza exactamente con la misma incrustación de entrada, que contiene un componente animal y tecnológico. Por sí solo, es ambiguo.

Lo que cambia no es la palabra, sino la atención que recibe. En la frase con gato y amigos, la atención enfatiza las palabras relacionadas con los animales. En la frase con teclado y útil, la atención se desplaza hacia las palabras técnicas. El mecanismo y los pesos son idénticos en ambos casos, pero la configuración de salida difiere. La diferencia proviene enteramente de cómo las proyecciones aprendidas interactúan con el contexto circundante.

Precisamente por eso la matriz de atención es interpretable: revela qué relaciones el modelo ha aprendido a considerar significativas para la tarea.

3.3 Cambiar la dimensionalidad a propósito

Sin embargo, nada obliga a Q, K y V a tener la misma dimensionalidad que la entrada.

La proyección de Valor, en particular, puede mapear incrustaciones en un espacio de diferente tamaño. Cuando esto sucede, las incrustaciones de salida heredan la dimensionalidad de los vectores de valor.

Esta no es una curiosidad teórica. Es exactamente lo que sucede en los modelos reales, especialmente en la atención con múltiples cabezas. Cada cabeza opera en su propio subespacio, a menudo con una dimensión más pequeña, y los resultados se concatenan posteriormente en una representación más grande.

Entonces la atención puede hacer dos cosas:

mezclar información a través de palabras remodelar el espacio en el que vive esta información

Esto explica por qué los Transformers escalan tan bien.

No dependen de funciones fijas. Ellos aprenden:

cómo comparar palabras cómo encaminar la información cómo proyectar significado en diferentes espacios

La matriz de atención controla dónde fluye la información.
Las proyecciones aprendidas controlan qué información fluye y cómo se representa.

Juntos, forman el mecanismo central detrás de los modelos lingüísticos modernos.

Conclusión

Este Calendario de Adviento se creó en torno a una idea simple: comprender los modelos de aprendizaje automático observando cómo transforman realmente los datos.

Los transformadores son una forma adecuada de cerrar este viaje. No se basan en reglas fijas ni en patrones locales, sino en relaciones aprendidas entre todos los elementos de una secuencia. A través de la atención, convierten las incrustaciones estáticas en representaciones contextuales, que es la base de los modelos de lenguaje modernos.

Gracias nuevamente a todos los que siguieron esta serie, compartieron sus comentarios y la apoyaron, especialmente al equipo de Towards Data Science.

Feliz Navidad 🎄