Mecanismo de atención: cómo relaciona un modelo unas partes de la entrada con otras
01

Definición en una frase

Operación que pondera qué partes de una entrada resultan más relevantes al construir cada representación o salida.

02

Definición operativa: atención como interacción entre representaciones

En aprendizaje automático, la atención es una operación que calcula qué representaciones de una secuencia deben contribuir a actualizar otra representación. Para hacerlo, compara elementos mediante puntuaciones y combina la información asociada a ellos con pesos derivados de esas puntuaciones. Es un mecanismo computacional de una red neuronal, no una capacidad consciente para fijarse en algo.

La metáfora de la atención humana puede ayudar a imaginar que el modelo selecciona información relevante, pero tiene límites. Una red no «mira» una entrada como una persona ni necesariamente asigna a cada palabra una importancia semántica estable. El cálculo consiste en transformaciones de vectores y productos matemáticos. Su función concreta depende de la arquitectura, los datos, la capa, la cabeza y la tarea.

En un Transformer, el mecanismo permite que las representaciones de distintos elementos de la entrada interactúen. Un elemento puede incorporar información de otros elementos permitidos por la arquitectura y sus máscaras. La atención no reemplaza todo el procesamiento de una red: forma parte de un conjunto que también puede incluir proyecciones, conexiones residuales, normalización y redes de transformación.

03

Cómo se calcula: consultas, claves y valores

La formulación habitual de atención por producto escalar escalado utiliza tres conjuntos de vectores: consultas (Q), claves (K) y valores (V). En términos intuitivos, cada consulta se compara con las claves disponibles; las puntuaciones resultantes determinan cuánto contribuye cada valor a la representación actualizada. Q, K y V suelen obtenerse mediante proyecciones aprendidas de las representaciones de entrada.

En notación compacta, el cálculo es: Attention(Q, K, V) = softmax(QKᵀ / √dₖ)V. La expresión puede leerse en etapas. Primero, QKᵀ calcula productos escalares entre consultas y claves: cuanto mayor es una puntuación, mayor es su compatibilidad según esta operación. Después, se divide por √dₖ, donde dₖ es la dimensión de las claves, para escalar las puntuaciones. A continuación, softmax normaliza cada conjunto de puntuaciones en pesos que suman uno. Por último, los pesos se aplican a V y se combinan sus vectores.

La salida de una consulta es, por tanto, una combinación ponderada de valores. No es necesariamente una copia de un único elemento: varios valores pueden contribuir en distintas proporciones. En una secuencia, las filas de la matriz de puntuaciones corresponden a consultas y las columnas a claves. Una máscara puede excluir algunas posiciones antes de normalizar las puntuaciones, por ejemplo para impedir que una posición use información futura.

La ecuación describe el cálculo central, pero no fija por sí sola todos los detalles de un modelo. La forma de producir Q, K y V, las dimensiones, las máscaras y el modo de combinar las salidas dependen de la arquitectura. Por eso, entender la fórmula permite seguir la operación, pero no basta para reconstruir todo el funcionamiento de un sistema.

Lectura paso a paso de la fórmula

  1. 01Proyectar las representaciones para obtener consultas, claves y valores.
  2. 02Calcular las puntuaciones de compatibilidad entre cada consulta y las claves permitidas.
  3. 03Escalar las puntuaciones y aplicar softmax para obtener pesos normalizados.
  4. 04Usar esos pesos para combinar los valores y producir representaciones actualizadas.
04

Variantes y máscaras: qué información puede relacionarse

En la autoatención, consultas, claves y valores se derivan de una misma secuencia de representaciones. Así, los elementos de esa secuencia pueden interactuar entre sí, dentro de los límites establecidos por las máscaras. En la atención cruzada, en cambio, las consultas proceden de una secuencia o representación y las claves y valores de otra. Esta configuración permite que un componente use información producida por otro.

La atención bidireccional permite que una posición atienda a otras posiciones de la secuencia a ambos lados, salvo las restricciones que imponga la implementación. En la atención causal, una máscara bloquea el acceso a posiciones futuras. En un modelo autorregresivo, esto permite calcular la predicción de un siguiente token sin dejar que la representación use tokens que todavía no deberían estar disponibles. La máscara controla qué puntuaciones participan; no cambia la definición general de Q, K y V.

Una cabeza de atención realiza su propio cálculo de atención. La atención multi-cabeza ejecuta varios cálculos en paralelo con proyecciones distintas y combina sus resultados. La idea es permitir que el modelo forme varias representaciones de las interacciones. No se debe suponer, sin evidencia específica, que cada cabeza corresponde a una función semántica fija, como «buscar sujetos» o «seguir nombres».

Estas distinciones describen decisiones de arquitectura, no categorías excluyentes en todos los sentidos. Por ejemplo, un decodificador de una arquitectura encoder-decoder puede emplear autoatención causal para su secuencia de salida y atención cruzada para consultar las representaciones del codificador.

Comparación de variantes

VarianteOrigen de Q, K y VQué permite describir
AutoatenciónQ, K y V proceden de la misma secuencia.Interacciones entre representaciones de esa secuencia.
Atención cruzadaQ procede de una representación; K y V, de otra.Uso de información de una secuencia o componente distinto.
CausalLa máscara oculta las posiciones futuras.Predicción sin consultar tokens posteriores no disponibles.
BidireccionalLas posiciones pueden relacionarse en ambos sentidos, según la máscara.Contextualización usando posiciones anteriores y posteriores permitidas.
Multi-cabezaVarios conjuntos de proyecciones y cálculos de atención.Combinación de distintas interacciones aprendidas.
05

Tres ejemplos aplicados en tareas distintas

En traducción automática, la atención puede ayudar al decodificador a consultar las representaciones de la oración de origen al producir cada palabra de la traducción. En una configuración encoder-decoder, las consultas proceden de la representación del lado de salida y las claves y valores de las representaciones codificadas de la oración fuente. La relación no tiene por qué ser una correspondencia rígida de una palabra a otra: el mecanismo puede combinar información de varias posiciones.

En generación autorregresiva de texto, la autoatención causal permite que la representación de una posición use el contexto disponible hasta ese punto, sin atender a posiciones posteriores. Al generar, el modelo estima una distribución para el siguiente token a partir del contexto que ya tiene. La máscara causal es una condición de acceso a la información; no implica que cada token anterior contribuya por igual ni que el modelo conserve una memoria ilimitada.

En visión por computador, un Transformer de visión puede convertir una imagen en una secuencia de representaciones de parches y procesarla con capas de Transformer. La autoatención permite que la representación de un parche se relacione con las de otros parches. Esto proporciona una forma de modelar interacciones entre regiones de una imagen. No significa que cada cabeza detecte necesariamente un objeto concreto, ni que las divisiones en parches coincidan siempre con límites de objetos.

Los ejemplos muestran que el mecanismo es general, pero no que todos los modelos lo utilicen de la misma manera. La tarea y la arquitectura determinan qué secuencias se comparan, qué máscaras se aplican y cómo se emplean las representaciones resultantes.

06

Qué muestran los pesos y qué no permiten concluir

Los pesos de atención muestran cuánto contribuyen, en una operación concreta, los valores a la salida de una consulta. Si se visualizan como un mapa, pueden ayudar a inspeccionar patrones de esa capa, cabeza, entrada y configuración. Son datos del cálculo interno, pero su interpretación depende de qué se visualiza y de cómo se relaciona esa operación con la predicción final.

No es correcto equiparar sin más un peso alto con «esta palabra es importante para el modelo» en un sentido humano. La predicción depende de muchas operaciones, y los valores pueden transformarse y combinarse a lo largo de capas y componentes. Tampoco un mapa de atención constituye por sí solo una explicación causal: observar una distribución no demuestra que cambiar las posiciones con pesos altos alteraría la respuesta, ni que el mapa refleje la razón decisiva de la predicción.

El debate académico sobre si la atención puede funcionar como explicación no se reduce a un sí o un no. Hay trabajos que cuestionan la suficiencia de los pesos como explicación de predicciones y otros que discuten los supuestos y criterios utilizados para evaluarlos. La conclusión prudente es tratarlos como una señal inspeccionable de una operación del modelo, no como una explicación completa ni como algo necesariamente carente de información.

Para evaluar una interpretación hacen falta preguntas concretas: ¿qué capa y cabeza se observan?, ¿qué significa el peso en esa operación?, ¿se ha comprobado qué ocurre al alterar o eliminar la información señalada?, ¿la conclusión se reproduce en otras entradas? La visualización puede orientar un análisis, pero no sustituye pruebas de comportamiento ni una justificación causal.

07

Coste de cálculo y optimizaciones de implementación

En la atención densa estándar, cada posición puede compararse con las demás posiciones permitidas de la secuencia. Por ello, el número de interacciones crece cuadráticamente con su longitud: si se duplica la longitud, la matriz de puntuaciones tiene aproximadamente cuatro veces más elementos, antes de considerar máscaras o variantes. El coste de cálculo y el almacenamiento de resultados intermedios son aspectos relacionados, pero no idénticos.

La complejidad cuadrática describe el cálculo denso estándar, no toda posible arquitectura o implementación. Las máscaras pueden limitar interacciones y existen variantes diseñadas para manejar secuencias largas de otras formas. Por eso conviene identificar qué tipo de atención y qué algoritmo se están analizando antes de trasladar una cifra de coste a un sistema concreto.

FlashAttention es una optimización de implementación consciente del movimiento de datos entre niveles de memoria. Reorganiza el cálculo para reducir transferencias y uso de memoria intermedia, manteniendo la operación exacta de atención que implementa, en lugar de sustituirla por una aproximación de atención distinta. Que el cálculo matemático sea exacto no significa que todas las implementaciones tengan el mismo rendimiento, requisitos o huella de memoria.

Separar operación, coste e implementación

AspectoQué describePregunta útil
Operación de atenciónPuntuaciones, normalización y combinación ponderada.¿Qué Q, K, V y máscara usa el modelo?
Complejidad densa estándarEl número de interacciones y resultados intermedios al crecer la secuencia.¿Se trata de atención densa y qué longitud se procesa?
Optimización de implementaciónCómo se organiza el cálculo y el acceso a memoria.¿Se conserva la operación o se aproxima de otro modo?
08

Conceptos relacionados y errores frecuentes

La atención suele estudiarse junto con Transformer, porque el mecanismo es un componente central de esa arquitectura, y con token, porque en modelos de texto las posiciones de la secuencia suelen corresponder a tokens. Un token no es necesariamente una palabra completa. Las representaciones vectoriales que entran en el cálculo se relacionan con embeddings, mientras que la ventana de contexto limita cuántos elementos puede procesar o tener disponibles un modelo en una configuración dada.

En sistemas multimodales, pueden existir secuencias o representaciones de modalidades distintas. La atención cruzada ofrece una forma de relacionarlas cuando la arquitectura hace que las consultas procedan de una representación y las claves y valores de otra. Sin detalles del sistema concreto, no conviene asumir que todo modelo multimodal utiliza el mismo patrón ni que sus pesos revelan por sí solos una correspondencia interpretable entre modalidades.

Errores habituales son llamar «atención» a la conciencia del modelo; interpretar los pesos como probabilidades de importancia humana; asumir que todas las cabezas tienen funciones semánticas claras; confundir atención cruzada con autoatención; y atribuir a la máscara causal una capacidad de memoria. También se suele confundir una optimización más eficiente con un cambio en la definición matemática, aunque son niveles distintos de descripción.

09

Criterios prácticos para interpretar una explicación de atención

Al leer un diagrama o mapa, identifica primero qué operación representa: autoatención o atención cruzada; causal o bidireccional; una cabeza o varias. Comprueba qué posiciones pueden consultarse y si se aplicó una máscara. Después, distingue las puntuaciones previas a softmax de los pesos normalizados y de la combinación final de valores: no son el mismo objeto.

A continuación, pregunta qué conclusión se pretende extraer. Si solo se afirma que una posición recibió cierto peso en una operación determinada, el mapa puede servir como descripción de ese cálculo. Si se afirma que esa posición causó la predicción o que representa una explicación fiel, hacen falta pruebas adicionales, por ejemplo evaluaciones de sensibilidad o intervenciones pertinentes. Un gráfico aislado no resuelve esas preguntas.

Por último, verifica el alcance de cualquier afirmación de coste o eficiencia. Averigua si se habla de atención densa estándar, de una variante o de una implementación optimizada. Para profundizar, resulta útil consultar las fichas del glosario sobre Transformer, token, ventana de contexto y multimodalidad, además de la entrada sobre atención. Esas relaciones ayudan a situar el mecanismo dentro del modelo sin confundir componentes, límites de entrada y modos de procesamiento.

Lista breve de comprobación

  1. 01Identifica Q, K, V y la secuencia de la que procede cada uno.
  2. 02Comprueba la máscara y las posiciones a las que se permite atender.
  3. 03Separa pesos observados de interpretaciones sobre importancia o causalidad.
  4. 04Pide evidencia adicional si el mapa se presenta como explicación de una predicción.
  5. 05Distingue la complejidad de la operación de la eficiencia de una implementación.
10

Ejemplos rápidos

11

Conceptos relacionados

12

Fuentes consultadas