Antes de atender, cada vector de token x se multiplica por tres matrices aprendidas en el
entrenamiento: q = x·W_Q (consulta), k = x·W_K (clave) y v = x·W_V (valor)
(Alammar y Grootendorst, 2024, p. 92). La atención de un token i sobre un token j es entonces:
puntaje(i, j) = qᵢ·kⱼ / √dₖ → pesos = softmax(puntajes) → salidaᵢ = Σⱼ pesoᵢⱼ·vⱼ
es decir, un producto punto entre consulta y clave, normalizado, que pondera los valores (Vaswani et al., 2017, secs. 3.2 y 3.2.1; Alammar y Grootendorst, 2024, p. 94).
La analogía de la base de datos. En una tabla clave–valor, una consulta que coincide exactamente con una clave devuelve su valor. Aquí la coincidencia es gradual: se devuelve una mezcla de todos los valores, pesada por la semejanza entre la consulta y cada clave (Buckner, 2024, p. 272).
Un ejemplo pedagógico. En «Sara alimentó al gato porque tenía hambre», podemos imaginar que la consulta de tenía codifica algo como «¿quién es el sujeto de este verbo?», que la clave de gato anuncia «sustantivo animado, candidato a sujeto» y que su valor aporta lo que tenía debe incorporar sobre el gato (el ejemplo inglés de Alammar y Grootendorst (2024) es Sarah fed the cat because it, (2024, p. 91)). Estas glosas son nuestras: los vectores aprendidos no vienen etiquetados, y lo que codifican se averigua con sondeo, no se lee.
Detalles que importan. (1) Se divide por √dₖ porque, con vectores de dimensión dₖ, los productos punto crecen y empujan la softmax a zonas donde casi no hay gradiente (Vaswani et al., 2017, sec. 3.2.1). (2) Clave y valor están separados porque lo que hace relevante a una palabra (su función sintáctica, digamos) no tiene por qué coincidir con lo que conviene que aporte (su contenido). (3) Según Buckner (2024), esta división en tres vectores, junto con la codificación posicional, fue lo que permitió prescindir de la recurrencia (2024, p. 272). (4) Durante la generación, las claves y valores ya calculados se guardan en la caché KV.
El vocabulario de «consultar» y «buscar» es una metáfora cómoda; conviene no tomarla como atribución de intenciones a una multiplicación de matrices (ver antropomorfismo).