🧮 Computational Mathematics

Inicio · Parte 16 — Matemática de Transformers, modelos generativos, grafos y RL

324 — Query, Key y Value

experto clase 4 de 20 4 horas demostración query_key_value

Q, K y V son tres proyecciones del mismo token con tres papeles distintos.

Fórmulas

Q = W_Q·x   (qué busco)
K = W_K·x   (qué ofrezco)
V = W_V·x   (qué aporto)

Desarrollo

La atención se explica bien con la metáfora de una búsqueda. Cada token emite una consulta que describe qué información necesita, expone una clave que describe qué información contiene, y guarda un valor que es lo que efectivamente entregará si alguien lo selecciona.

Que los tres vengan del mismo vector de entrada mediante tres matrices distintas es lo esencial. Separar los papeles permite que un token busque una cosa y ofrezca otra: un adjetivo puede buscar el sustantivo al que modifica mientras ofrece su propia información semántica. Con una sola proyección esa asimetría sería imposible.

Las dimensiones no tienen por qué coincidir con la del modelo. Es habitual proyectar a una dimensión menor d_k, lo que reduce el coste y, en multi-head, permite repartir la capacidad entre varias cabezas sin multiplicar los parámetros.

La generalización que esta separación permite es la atención cruzada: si las consultas vienen de una secuencia y las claves y valores de otra, un decodificador puede atender al codificador. Ese es el mecanismo de la traducción automática, y el mismo que permite a un modelo multimodal atender desde texto a una imagen.

Ejemplo trabajado

Las tres proyecciones de un mismo token.

token de entrada: (1,0 ; 0,5 ; −0,3 ; 0,8)
d_model = 4      d_k = 3

query = (−0,011555 ; −0,203105 ;  1,236170)
key   = (−0,372490 ;  0,857526 ; −0,242572)
value = ( 1,518768 ; −0,211168 ; −0,655401)

Los tres vectores son muy distintos entre sí
aunque provienen del mismo token.

Parámetros: 3 matrices de 4×3 = 36 valores.

Atención cruzada: Q de una secuencia,
K y V de otra. Mismo mecanismo.

Qué calcula el laboratorio

Q, K, V: tres proyecciones distintas del mismo token.

python classes/part-16-matematica-de-transformers-modelos-generativos-grafos-y-rl/324-query-key-y-value/lab.py
compmath run 324

Salidas del laboratorio (11)

Muestra de la ejecución real

{
  "token_de_entrada": [
    1.0,
    0.5,
    -0.3,
    0.8
  ],
  "d_model": 4,
  "d_k": 3,
  "query": [
    -0.011555,
    -0.203105,
    1.23617
  ],
  "key": [
    -0.37249,
    0.857526,
    -0.242572
  ],
  "value": [
    1.518768,
    -0.211168,
    -0.655401
  ]
}

Errores comunes

Dónde se usa

Todos los Transformers, atención cruzada en traducción, modelos multimodales y mecanismos de recuperación diferenciables.

Idea rectora de la parte

El ELBO acota inferiormente la log-verosimilitud con un término de reconstrucción y uno KL.

Error a evitar

Olvidar la máscara causal en el modelado autoregresivo.

Conexión con IA

Esta parte es la traducción matemática directa de los papers que definen el estado del arte actual.

Bibliografía de la clase

Archivos de la clase