Secuencias, atención y transformers
Procesar texto palabra por palabra tiene dos problemas: es secuencial y olvida. La atención resuelve los dos mirando toda la secuencia a la vez y decidiendo a qué parte prestarle atención.
Para este tema conviene tener claro:Cómo funciona realmente la retropropagación
En una frase, el significado de una palabra depende de otras que pueden estar muy lejos. Los modelos que leían palabra por palabra arrastraban un resumen de lo anterior y lo iban perdiendo. La solución fue dejar de arrastrar y permitir mirar todo a la vez.
Las recurrentes y sus dos límites
Las redes recurrentes procesan la secuencia en orden, manteniendo un estado que se actualiza en cada paso. Es una idea natural y tiene dos límites duros.
El primero: como la información atraviesa un paso por cada elemento, el gradiente se multiplica muchas veces y se desvanece; las dependencias lejanas no se aprenden. LSTM y GRU lo mitigaron con compuertas que dejan pasar información sin alterarla. El segundo límite no tiene arreglo dentro del esquema: el cálculo es secuencial y no se puede paralelizar.
Antes de seguir, predecí
La atención invierte el planteo
La atención invierte el planteo. En vez de comprimir el pasado en un estado, se deja acceso a toda la secuencia y, para cada posición, se calcula cuánto mira a cada otra.
El mecanismo usa tres proyecciones de cada elemento: una consulta, una clave y un valor. La consulta de una posición se compara con las claves de todas —producto interno— y esas similitudes, normalizadas con softmax, son los pesos con que se promedian los valores. El camino entre dos posiciones cualesquiera pasó a ser de un solo paso.
La oración: «Ana guardó la llave en la caja porque era pesada». ¿Qué era pesada, la llave o la caja?
El transformer, armado sobre eso
El transformer construye todo sobre eso. Bloques que alternan atención y una red densa, con conexiones residuales y normalización, repetidos muchas veces.
Como ya no hay recurrencia, todas las posiciones se procesan en paralelo, y eso es lo que permitió entrenar sobre cantidades de texto que antes eran impensables. La contrapartida es que la atención, por sí sola, no sabe el orden: hay que inyectarlo explícitamente con codificaciones de posición.
Varias cabezas, varias relaciones
La atención se usa con varias cabezas en paralelo: cada una aprende un tipo distinto de relación —sintáctica, de correferencia, de proximidad— y sus resultados se combinan.
Y hay una variante que define el comportamiento: la máscara causal. Si se impide que cada posición mire hacia adelante, el modelo sólo puede usar el pasado, y entonces puede entrenarse para predecir la próxima palabra. Eso es un modelo generativo de lenguaje; sin la máscara, el modelo ve todo el contexto y sirve para clasificar o extraer.
El costo cuadrático es el punto débil
El costo es el punto débil: comparar cada posición con todas es cuadrático en el largo de la secuencia. Duplicar el contexto cuadruplica el cálculo y la memoria.
Por eso la ventana de contexto es un límite tan citado, y por eso hay tanta investigación en atenciones aproximadas, dispersas o lineales, y en implementaciones que reducen el tráfico de memoria sin cambiar el resultado. En inferencia, la caché de claves y valores evita recalcular lo ya procesado al generar token por token.
No resultó ser específica del lenguaje
La arquitectura resultó no ser específica del lenguaje. Tratando una imagen como una secuencia de parches, funciona en visión; lo mismo con audio, series temporales, código o estructuras de proteínas.
Esa generalidad viene de que impone muy pocos supuestos sobre los datos: a diferencia de una convolucional, no asume localidad. Eso la hace flexible y también más hambrienta: sin muchísimos datos, los modelos con supuestos adecuados le siguen ganando.
Lo que la atención cuesta
| Recurrente | Transformer | |
|---|---|---|
| Camino entre dos posiciones | proporcional a la distancia | un solo paso |
| Entrenamiento | secuencial | paralelo: por eso escaló |
| Costo por longitud | lineal | cuadrático |
| Memoria en inferencia | constante: un estado | crece con el contexto |
| Secuencias muy largas | aguanta, pero olvida | no entra: hay que aproximar |
Más a fondo · nivel seniorLas tres piezas que casi nadie explica
Además de la atención, un bloque de transformer tiene tres cosas sin las cuales no entrena, y las tres son el mismo tipo de problema: mantener las escalas bajo control.
La división por raíz de d dentro de la atención evita que los productos internos crezcan con la dimensión y saturen la softmax, que dejaría un gradiente casi nulo.
Las conexiones residuales le dan al gradiente un camino directo por decenas de bloques, igual que en las convolucionales profundas.
La normalización de capa estabiliza las escalas entre bloques, y su posición —antes o después del bloque— resultó importar: ponerla antes hace que los modelos grandes entrenen sin calentamiento y es lo que se usa hoy.
La atención es la idea; esas tres son las que hicieron que la idea se pudiera entrenar.
Cierre
Las recurrentes olvidan y no paralelizan; la atención da acceso directo a toda la secuencia con consultas, claves y valores. El transformer apila eso con residuales y posición explícita, escala cuadráticamente con el contexto y sirve para cualquier dominio a cambio de necesitar muchos datos.
Autoevaluación
¿Lo entendiste?
Práctica