Transformers y Modelos de Atención · Inteligencia Artificial

Mecanismo de atención

Explicar el mecanismo de atención como una ponderación blanda de valores según una consulta, y calcular la atención por producto escalar escalado.

Mecanismo de atención

Consultar en lugar de memorizar La atención es un «buscar y mezclar»: una consulta pregunta, las claves responden cuánto se parecen, y los valores se combinan ponderando por esa semejanza. Nada de comprimir el pasado en un solo vector fijo.

La intuición

Al traducir «el gato se durmió», al generar la última palabra conviene mirar sobre todo a «gato». La atención aprende a asignar ese peso alto a la posición relevante, sin que nadie se lo indique a mano.

Consulta, clave y valor

Semejanza por producto escalar

El parecido entre consulta y clave se mide con su producto escalar. Cuanto más alineados, mayor la afinidad y mayor el peso que esa posición recibirá.

El escalado por raíz de la dimensión

Se divide el producto escalar entre la raíz de la dimensión de la clave. Sin ese escalado, los valores crecen y el softmax se satura, matando el gradiente.

Softmax: pesos que suman uno

Los puntajes escalados pasan por un softmax que los convierte en una distribución. Así la atención es una media ponderada legítima de los valores.

Atención como media ponderada

El resultado es la suma de los valores pesados por su afinidad. Es diferenciable en todo su recorrido, de modo que el gradiente entrena las proyecciones de Q, K y V.

Un nodo coral etiquetado como consulta pregunta a una columna teal de claves; los enlaces más fuertes se engrosan y convergen en un embudo que entrega un valor mezclado.
La consulta busca, las claves responden cuánto se parecen y los valores se mezclan según esa respuesta.

Blanda frente a dura

La atención blanda reparte peso entre todas las posiciones; la dura elige una sola (argmax). La blanda es entrenable por gradiente y la que usan los transformers.

Matricialmente

En forma compacta, Atención(Q,K,V) = softmax(QK elevado a T sobre la raíz de d_k) por V. Toda la atención se expresa con productos de matrices, ideal para la GPU.

Atención aditiva

La variante original usaba una pequeña red para puntuar en vez de producto escalar. El producto escalar ganó por velocidad y por aprovechar matrices densas.

Para qué sirve

Más allá de la traducción, la atención modela relaciones largas, alinea secuencias y da una ventana de interpretación: los pesos revelan a qué mira el modelo.

Errores frecuentes

Ejemplo resuelto: atención al traducir «el gato se durmió»

Al generar «cat», la atención reparte su peso entre las palabras de la frase original; el mecanismo aprende solo a inclinar la balanza.

  1. Proyectas la representación de «cat» hacia el vector consulta de la posición actual.
  2. Multiplicras esa consulta por las claves de las cinco palabras de la frase original.
  3. Divides cada producto escalar entre la raíz de la dimensión de la clave.
  4. Aplicas softmax y obtienes pesos que suman uno sobre las cinco posiciones.
  5. Mezclas los valores con esos pesos: domina «gato» y la predicción sale bien parada.

¿Para qué sirve en la realidad?

Todo sistema moderno de traducción, resumen o chat se apoya en esta ponderación blanda: permite vincular palabras lejanas en la frase y ofrece una ventana de interpretación cuando auditas por qué el modelo decidió lo que decidió.

En la atención por producto escalar escalado, ¿por qué se divide entre la raíz de la dimensión de la clave?

La atención blanda asigna pesos a todas las posiciones de la secuencia y es entrenable por gradiente.

Atención

Lo que la posición actual busca
consulta
Lo que cada posición ofrece para ser encontrada
clave
El contenido que se propaga ponderado
valor
Normalización que vuelve los puntajes una distribución
softmax
Factor por el que se divide el producto escalar
raiz de d_k

Ordena el cálculo de una atención por producto escalar:

Proyectar
Puntuar
Normalizar
Mezclar

Atención (aprendizaje automático)
Mecanismo de ponderación blanda sobre una secuencia.

Une cada pieza del mecanismo de atención con su definición.

Consultar en lugar de memorizar

# Mecanismo de atención
## Piezas
### consulta
### clave
### valor
## Puntaje
### producto escalar
### escalado por raiz de d_k
## Pesos
### softmax
### media ponderada
## Variantes
### blanda entrenable
### dura por argmax

Función softmax
La normalización que convierte unos puntajes cualesquiera en una distribución de pesos.

Si el escalado por la raíz de d_k se omitiera en modelos muy anchos, ¿qué problema de entrenamiento esperarías y por qué? Razona sobre el softmax.