Texto y documentos
Números y cálculo
Datos y formatos
Seguridad
Desarrollo y DevOps
Inteligencia Artificial
Finanzas
Salud y bienestar
Productividad
Juegos y entretenimiento
Multimedia y diseño
Empresa
Guía de uso
¿Qué es la atención?

La atención es el mecanismo central de los transformers (BERT, GPT, Llama…). Cada palabra (token) no se procesa aislada: mira a las demás y decide cuánto pesa cada una al construir su propio significado. Así, en «El gato… porque estaba cansado», «estaba» puede aprender a fijarse en el gato. Aquí lo ves de dos formas: la matriz token-a-token (cada fila suma 1 = 100%) y los arcos sobre la frase. Escribe tu propia frase y experimenta.

Query, Key y Value (Q/K/V)

Para decidir a quién mirar, de cada token salen tres vectores: Query (Q, «qué busco»), Key (K, «qué ofrezco») y Value (V, «qué aporto si me miran»).

• El peso del token i sobre el j es el producto escalar de la Query de i por la Key de j.
• Se divide por √dk (escalado, para que los números no se disparen) y se pasa por softmax, que convierte los pesos de cada fila en porcentajes que suman 1.
• En resumen: A = softmax(Q·Kᵀ / √dk). Esta herramienta dibuja esa matriz A; un modelo real usaría esos pesos para mezclar los Value.

Por qué varias cabezas

Un transformer no tiene UNA atención, sino varias cabezas (aquí 4) en paralelo. Cada cabeza usa proyecciones Q/K distintas, así que aprende a fijarse en relaciones diferentes: una en la palabra anterior, otra en el sujeto, otra en la concordancia… y luego se combinan. Cambia de Cabeza con los botones 1–4 y observa cómo cambia por completo el patrón para la misma frase.

Máscara causal: no mirar al futuro

Los modelos que generan texto (GPT) predicen la siguiente palabra, así que no pueden mirar al futuro: cada token solo atiende a sí mismo y a los anteriores. Activa Máscara causal (GPT) y verás apagarse toda la mitad superior derecha de la matriz — esas posiciones futuras se ponen a 0 antes del softmax. Sin máscara, como en BERT, cada token ve la frase entera, a izquierda y a derecha.

Cómo leer el mapa de calor

La matriz de atención es un mapa de calor de token × token: la fila es el token que mira (desde) y la columna el token mirado (hacia).

• Cuanto más azul intensa la celda, mayor el peso; el blanco es casi cero.
• Cada fila suma el 100% (es una distribución).
• Pasa el ratón por una celda para leer el valor exacto (p. ej. gato → gato: 40%).
• La diagonal suele encenderse: casi siempre un token se atiende bastante a sí mismo.

Los arcos: a dónde mira un token

Sobre la tira de la frase, haz clic en una palabra y aparecen arcos hacia las palabras que mira, tomados de esa fila de la matriz. El grosor y la opacidad de cada arco son proporcionales al peso (se ocultan los pesos por debajo del 2%). Vuelve a hacer clic para deseleccionar. Es la misma información que una fila del heatmap, pero dibujada sobre el texto para leerla de un vistazo.

Cómo se usa (paso a paso)

1. Escribe una frase en el campo de arriba (se tokeniza por palabras y signos, hasta 40 tokens).
2. Elige una Cabeza (1–4) para ver distintos patrones.
3. Marca o desmarca la Máscara causal para comparar GPT vs. BERT.
4. Haz clic en una palabra (en la tira o en su etiqueta de fila) para dibujar sus arcos.
5. Pasa el ratón por el heatmap para leer pesos exactos. Todo se recalcula al instante, en tu navegador.

Este demo frente a un modelo real

Este visualizador es didáctico y determinista (offline): los vectores de cada token se generan por hash (tokens iguales → mismo vector) más una codificación posicional sinusoidal, y las proyecciones Q/K se fijan con una semilla, así que el resultado es reproducible. El cálculo de atención (producto escalar escalado + softmax, con máscara causal opcional) es el real. Un modelo de verdad aprende Q/K/V a partir de datos y apila decenas de capas y cabezas. Relacionadas: Tokenizador, Mini-LLM y Reductor de dimensionalidad.

Visualizador de atenciónA qué mira cada palabra en un transformer
Visualizador de atenciónVe a qué palabras «mira» cada token — el mecanismo dentro de un transformer
Cabeza

Haz clic en una palabra para ver a dónde mira:

Elgatosesentóenlaalfombraporqueestabacansado
Matriz de atención (fila = desde, columna = hacia)
ElgatosesentóenlaalfombraporqueestabacansadoElEl → El: 9%El → gato: 3%El → se: 13%El → sentó: 3%El → en: 0%El → la: 2%El → alfombra: 1%El → porque: 37%El → estaba: 5%El → cansado: 27%gatogato → El: 3%gato → gato: 1%gato → se: 13%gato → sentó: 6%gato → en: 26%gato → la: 2%gato → alfombra: 10%gato → porque: 2%gato → estaba: 36%gato → cansado: 1%sese → El: 5%se → gato: 4%se → se: 6%se → sentó: 11%se → en: 12%se → la: 13%se → alfombra: 33%se → porque: 1%se → estaba: 13%se → cansado: 1%sentósentó → El: 2%sentó → gato: 11%sentó → se: 19%sentó → sentó: 21%sentó → en: 9%sentó → la: 6%sentó → alfombra: 20%sentó → porque: 3%sentó → estaba: 7%sentó → cansado: 2%enen → El: 3%en → gato: 45%en → se: 17%en → sentó: 13%en → en: 12%en → la: 4%en → alfombra: 1%en → porque: 2%en → estaba: 1%en → cansado: 1%lala → El: 6%la → gato: 11%la → se: 25%la → sentó: 34%la → en: 7%la → la: 3%la → alfombra: 4%la → porque: 3%la → estaba: 6%la → cansado: 1%alfombraalfombra → El: 6%alfombra → gato: 13%alfombra → se: 21%alfombra → sentó: 21%alfombra → en: 7%alfombra → la: 8%alfombra → alfombra: 10%alfombra → porque: 6%alfombra → estaba: 4%alfombra → cansado: 5%porqueporque → El: 26%porque → gato: 17%porque → se: 9%porque → sentó: 11%porque → en: 2%porque → la: 7%porque → alfombra: 4%porque → porque: 5%porque → estaba: 9%porque → cansado: 9%estabaestaba → El: 14%estaba → gato: 13%estaba → se: 15%estaba → sentó: 32%estaba → en: 11%estaba → la: 3%estaba → alfombra: 2%estaba → porque: 7%estaba → estaba: 1%estaba → cansado: 2%cansadocansado → El: 17%cansado → gato: 17%cansado → se: 7%cansado → sentó: 27%cansado → en: 11%cansado → la: 7%cansado → alfombra: 6%cansado → porque: 2%cansado → estaba: 5%cansado → cansado: 2%

Esto es el mecanismo de atención (producto escalar escalado + softmax). Un modelo real aprende las proyecciones Q/K/V y apila decenas de capas y cabezas, pero la idea es esta. Relacionado: Tokenizador, Mini-LLM y Reductor de dimensionalidad.