← Volver a Aprende con CDIA

¿Qué es la IA generativa?El mecanismo de atención

IntermedioInteligencia Artificial10 min de lectura

El mecanismo de atención

La idea que destrabó la IA moderna, explicada sin prisa: cómo el trío Query–Key–Value y un softmax escalado dejan que cada palabra pese la relevancia de todas las demás.

Si tuviera que señalar una sola idea como responsable de la revolución de la IA de los últimos años, no sería "redes neuronales" ni "datos". Sería la atención. Un mecanismo sorprendentemente simple —tanto que cabe en unas pocas líneas de álgebra— que resolvió el problema que tenía atascado al procesamiento de lenguaje: cómo lograr que, al leer una palabra, un modelo tenga presente todo lo demás que importa de la frase, esté cerca o lejos.

El Transformer que veremos después no es más que atención apilada muchas veces. Así que vale la pena entenderla bien, sin prisa.

El problema, con un ejemplo

Lee esta frase: "El trofeo no cabía en la maleta porque era demasiado grande."

¿Qué era grande, el trofeo o la maleta? Tú lo resuelves sin esfuerzo: el trofeo. Pero fíjate en lo que hizo tu cabeza: al procesar "era", fuiste a buscar hacia atrás y le diste mucho peso a "trofeo", algo a "maleta", y casi nada a "porque". Repartiste tu atención de forma desigual según la relevancia.

Eso es, literalmente, lo que hace el mecanismo. Para cada palabra construye una mirada ponderada del resto de la frase: mucho peso a lo que importa, poco a lo que no.

Query, Key y Value: la analogía de la biblioteca

De cada palabra se derivan —multiplicándola por tres matrices que el modelo aprende— tres vectores. La mejor forma de entenderlos es pensar en una biblioteca:

  • Query (Q)lo que busco. Es como acercarte al mostrador y decir "quiero algo sobre cocina italiana".
  • Key (K)la etiqueta de cada libro. Cada palabra ofrece una key que describe qué información contiene.
  • Value (V)el contenido del libro. La información que esa palabra aporta si resulta relevante.

El mecanismo compara tu query con la key de cada palabra. Donde hay buena coincidencia, esa palabra recibe mucho peso; y con esos pesos se mezclan los values. En una frase, "era" emite una query tipo "¿a qué sustantivo me refiero?", y las keys de "trofeo" y "maleta" responden mejor que la de "porque".

La fórmula, desmenuzada

Todo el mecanismo cabe en una línea. No hay que temerle; cada parte tiene un rol claro:

Vamos por partes:

  • — el producto punto de cada query con cada key. El producto punto es alto cuando dos vectores apuntan parecido, así que esto mide, para cada par de palabras, cuánto encajan. El resultado es una tabla de "afinidades" de todas contra todas.
  • — un detalle que parece menor y no lo es. Cuando los vectores tienen muchas dimensiones ( grande), los productos punto se disparan en magnitud, y eso empuja al softmax a volverse casi binario (todo el peso a una palabra, cero al resto), lo que estanca el aprendizaje. Dividir por mantiene los números en un rango sano. Por esto se llama atención escalada.
  • — convierte cada fila de afinidades en pesos que suman 1. Ahora sí son "porcentajes de atención": cuánto mira cada palabra a cada otra.
  • — usa esos pesos para promediar los values. La salida de cada palabra es una mezcla del resto, dominada por lo relevante.

El resultado para cada palabra es un vector nuevo, contextualizado: ya no significa lo mismo aislada, sino teñida por su entorno. Es la razón por la que "banco" en "banco del parque" y en "banco central" terminan con representaciones distintas.

Multi-cabeza: leer con varios lentes

Una sola atención capta un tipo de relación. Pero el lenguaje tiene muchas a la vez: concordancia de género, quién hace la acción, el tema general. Por eso el Transformer no corre una atención, sino varias en paralelo —las cabezas (heads)—, cada una con sus propias matrices Q, K, V.

Cada cabeza se especializa sola durante el entrenamiento: una aprende a seguir la sintaxis, otra a resolver a qué se refiere cada pronombre, otra el hilo temático. Luego se concatenan sus salidas. Es como leer la frase con varios pares de ojos y juntar lo que cada uno notó.

entrada cabeza · sintaxis cabeza · referencia cabeza · tema salida
Atención multi-cabeza: cada cabeza mira la misma frase buscando un tipo de relación distinto, y sus resultados se combinan en una única salida más rica.

Un detalle que cambia todo: la máscara

En un modelo que genera texto (como un chatbot), hay una regla sagrada: al predecir la palabra siguiente, no puede hacer trampa mirando las que vienen después —todavía no existen. Para forzarlo se usa atención enmascarada (causal): antes del softmax se ponen las afinidades hacia el futuro en , de modo que reciben peso cero. Cada palabra solo atiende a sí misma y a su pasado.

Y hay una variante gemela, la atención cruzada (cross-attention): las queries salen de una secuencia y las keys/values de otra. Es lo que permite que un traductor mire la frase en español (values) mientras escribe la inglesa (queries). Misma fórmula, distintas fuentes.

El precio: por qué el "contexto" cuesta caro

La atención tiene un talón de Aquiles. Como cada palabra se compara con todas las demás, el costo crece con el cuadrado de la longitud: . Doblar el largo del texto cuadruplica el trabajo y la memoria.

Esa es, ni más ni menos, la razón de fondo de que las ventanas de contexto de los LLM sean limitadas y costosas, y de que exista tanta investigación (FlashAttention, atención dispersa, y variantes lineales) dedicada a esquivar ese cuadrado. Cuando oigas hablar de "modelos con más contexto", detrás está siempre la pelea contra este .

En resumen

La atención deja que cada elemento de una secuencia mire a todos los demás y arme una versión de sí mismo ponderada por relevancia, usando el trío Query–Key–Value y un softmax escalado. Con varias cabezas capta muchas relaciones a la vez; con una máscara se vuelve capaz de generar; y su costo explica los límites de contexto que vemos hoy. Es una idea pequeña con consecuencias enormes: sobre ella se levanta, capa por capa, todo el Transformer.