Habr publicó una guía breve sobre attention: self-attention, cross-attention y multi-head
Habr publicó una mini guía clara sobre attention en transformers. El texto explica brevemente cómo se obtienen Q, K y V a partir de embeddings, por qué se…
Procesado por IA desde Habr AI; editado por Hamidun News
Habr publicó una breve guía sobre atención: self-attention, cross-attention y multi-head
Habr publicó un desglose breve del mecanismo de atención — la idea básica en la que se construyen los transformers y los LLMs modernos. El material muestra sin relleno innecesario cómo un modelo elige en qué tokens confiar más y luego lo explica con un ejemplo numérico simple y código en PyTorch.
Cómo funciona la atención
El autor comienza con una definición básica: la atención permite que una red neuronal no procese todas las partes de la entrada de manera igual, sino que decida dinámicamente qué es más importante para la tarea actual. Para ello, la secuencia de entrada se transforma en tres conjuntos de representaciones — Query, Key y Value. Luego, el modelo compara la consulta de cada token con las claves de todos los otros tokens, obtiene pesos de importancia y, sobre esta base, monta un nuevo vector contextual. Este es el truco principal: el valor de una palabra o elemento depende no solo de sí misma, sino de todo el entorno. El material recorre toda la cadena de cálculo paso a paso:
- a partir de incrustaciones se construyen las matrices Q, K y V
- luego la similitud de tokens se calcula mediante producto escalar
- el resultado se escala dividiendo por la raíz cuadrada de la dimensionalidad
- después de softmax se obtienen los pesos de atención
- la salida final es la suma ponderada de la matriz V
Se explica por separado por qué se necesita la división por sqrt(d_k). A medida que la dimensionalidad de los vectores crece, los productos escalares se vuelven demasiado grandes, softmax se satura rápidamente y los gradientes comienzan a desvanecerse. El escalado mantiene los cálculos en un rango más estable y hace que el entrenamiento sea más predecible. Para principiantes, este es un énfasis útil: en la mayoría de las explicaciones, la fórmula se presenta como un dato, pero aquí se muestra qué problema resuelve realmente.
Ejemplo con tokens
La parte más comprensible del texto es un ejemplo trivial con la frase "Karina va a la tienda". El autor simplifica el problema a cuatro tokens e incrustaciones bidimensionales para no ahogarse en matrices y luego recorre manualmente todos los pasos: tokenización, adición de información posicional, construcción de la matriz X, cálculo de QK^T, escalado, softmax y la multiplicación final por V. Gracias a esto, la atención deja de parecer magia de una fórmula y se convierte en una secuencia ordinaria de operaciones con vectores.
Después de la normalización, se puede ver cómo se distribuye la atención. Para el token "Karina", el modelo en el ejemplo toma aproximadamente el 31% de la información de la palabra en sí, el 15% de la palabra "va" y el resto de otros tokens de la oración. En la salida, las incrustaciones originales se transforman en nuevas representaciones, ahora contextuales.
Este es un momento importante para entender los transformers: el modelo no almacena un valor fijo de una palabra de una vez por todas, sino que la reconstruye de nuevo en cada contexto.
"Cada vector después de self-attention ya no describe la palabra por sí sola."
Otros tipos de atención
En la segunda mitad del artículo, el autor pasa a dos extensiones del esquema básico. La cross-attention se describe como un modo en el que Query se toma de una secuencia, mientras que Key y Value se toman de otra. En la práctica, es conveniente pensarlo como un mecanismo que permite a un decodificador acceder al contexto del codificador.
La fórmula cambia poco, pero cambia la fuente de los datos: el modelo compara la consulta actual no consigo mismo, sino con un contexto externo. Este es un bloque clave para traductores, sistemas multimodales y muchas arquitecturas encoder-decoder. Luego se discute la atención multi-head.
En lugar de una atención, el modelo ejecuta varias "cabezas" en paralelo, y cada una aprende a mirar la secuencia desde su propio ángulo: una puede captar mejor las conexiones locales, otra — las dependencias distantes, una tercera — la sintaxis o los roles semánticos. Luego, los resultados de las cabezas se concatenan y pasan por otra transformación lineal. El artículo también incluye implementaciones mínimas de las tres variantes en PyTorch: self-attention, cross-attention y multi-head self-attention, por lo que el texto funciona no solo como teoría sino también como una chuleta de inicio para la práctica.
Qué significa esto
Para quienes están comenzando en el tema de los transformers, este es un material introductorio exitoso: no sobrecarga con pruebas, pero honestamente lo guía a través de las matemáticas, ejemplos y código. Y para los profesionales, es un recordatorio de que detrás de la "magia" de los LLMs hay operaciones bastante concretas con pesos, matrices y contexto — y comprenderlas es útil si trabajas con modelos no solo como usuario.
¿Quieres dejar de leer sobre IA y empezar a usarla?
AI News es un feed curado de noticias de IA. Hamidun Academy te enseña a usar la IA en tu trabajo.