Inicio · Parte 16 — Matemática de Transformers, modelos generativos, grafos y RL
Q, K, V provienen todos de la misma secuencia
máscara causal: puntuación = −∞ para j > i
cada fila de la matriz de atención suma 1
En self-attention, consultas, claves y valores se calculan todos a partir de la misma secuencia. Cada token puede atender a todos los demás y actualizar su representación con la información que le resulte relevante, en una sola operación y sin importar la distancia.
Esa es la ventaja decisiva sobre las RNN de la parte 15. En una recurrente, conectar el token 1 con el 100 requiere que la información atraviese 99 pasos, con el gradiente multiplicándose 99 veces. En self-attention hay un camino directo. El precio es el coste cuadrático en la longitud de la secuencia, que es el cuello de botella de los contextos largos.
Para generación autorregresiva hace falta la máscara causal: poner las puntuaciones de las posiciones futuras a menos infinito antes del softmax, de modo que sus pesos sean exactamente cero. La matriz de atención queda triangular inferior, y el primer token solo puede atenderse a sí mismo.
Olvidarla produce un fallo especialmente traicionero porque no da ningún error. El modelo entrena con métricas excelentes, porque para predecir el token siguiente puede simplemente mirarlo, y al generar —cuando el futuro no existe— produce basura. Es un error silencioso que solo se detecta al probar la generación.
Atención bidireccional y causal sobre cuatro tokens.
tokens: ["el", "gato", "come", "pescado"]
matriz de atención bidireccional:
[0,2982 0,2239 0,4516 0,0263]
[0,3251 0,3369 0,2829 0,0550]
[ ... ]
cada fila suma 1 ✓
matriz causal:
[1,0000 0,0000 0,0000 0,0000]
[0,4911 0,5089 0,0000 0,0000]
[0,0051 0,0022 0,99xx 0,0000]
[ ... ]
El token 0 solo se ve a sí mismo ✓
Triangular inferior: nadie ve el futuro.
Sin la máscara, predecir el token 2 podría hacerse
simplemente mirándolo.
Self-attention completa sobre una secuencia de 4 tokens.
python classes/part-16-matematica-de-transformers-modelos-generativos-grafos-y-rl/326-self-attention/lab.py
compmath run 326
tokensd_modelmatriz_de_atencioncada_fila_suma_1matriz_causalel_token_0_solo_se_ve_a_si_mismosalida_del_token_1costesin_mascara_causales_permutacion_equivariante{
"tokens": [
"el",
"gato",
"come",
"pescado"
],
"d_model": 4,
"matriz_de_atencion": [
[
0.2982,
0.2239,
0.4516,
0.0263
],
[
0.3251,
0.3369,
0.2829,
0.055
],
[
0.0051,
0.0022,
0.9926,
0.0001
],
[
0.014,
0.0202,
0.0047,
0.961
]
],
"cada_fila_suma_1": [
1.0,
0.9999,
1.0,
0.9999
],
"matriz_causal": [
[
1.0,
0.0,
0.0,
0.0
],
[
0.4911,
0.5089,
0.0,
0.0
],
[
0.0051,
0.0022,
0.9927,
0.0
],
[
0.014,
0.0202,
0.0047,
0.961
]
],
"el_token_0_solo_se_ve_a_si_mismo": true
}
GPT y todos los modelos de lenguaje generativos, BERT sin máscara, Vision Transformers y modelos de audio.
Esta parte es la traducción matemática directa de los papers que definen el estado del arte actual.
10.48550/arxiv.1706.03762 verificado en DataCite (2026-08-19).