2026-07-27 · 6 min de lectura

Comprendiendo los vectores Q, K, V en modelos Transformer

En la inteligencia artificial moderna, especialmente en el procesamiento del lenguaje natural, la arquitectura Transformer se ha convertido en la columna vertebral de modelos como GPT, BERT y muchos otros. En el núcleo de esta arquitectura se encuentra el mecanismo de atención, que se basa en tres vectores clave: Query (Q), Key (K) y Value (V). Este artículo explicará cómo se derivan estos vectores a partir de tokens, cómo se utilizan durante el procesamiento de prompts y cómo funcionan la atención de múltiples cabezas (multi-head attention) y las operaciones de all-reduce para producir la salida final.

De palabras a tokens y embeddings

El primer paso en el procesamiento de texto es convertir cada palabra (o subpalabra) en un token. El vocabulario del modelo contiene un conjunto fijo de tokens, cada uno con un ID entero único. Una vez que la oración de entrada se divide en tokens, cada token se asigna a un vector denso llamado embedding. Este embedding es una representación de alta dimensión (por ejemplo, 512 o 768 dimensiones) que captura el significado semántico del token. Estos embeddings se aprenden durante el entrenamiento y se almacenan en una matriz de embeddings.

Derivación de vectores Query, Key y Value

Para habilitar el mecanismo de atención, el embedding de cada token se transforma en tres vectores diferentes: Query, Key y Value. Esto se hace multiplicando el vector de embedding por tres matrices de pesos aprendidas: Wq, Wk y Wv. Estas matrices son parámetros del modelo, actualizados durante el entrenamiento. Los vectores resultantes tienen una dimensión más pequeña (a menudo llamada d_k) en comparación con la dimensión original del embedding, lo que ayuda a un cálculo eficiente.

El vector Query (Q) representa lo que el token está 'buscando' en el contexto. El vector Key (K) representa lo que el token 'ofrece' como etiqueta. El vector Value (V) contiene la información real que se agregará. El mecanismo de atención determina cuánto debe atender cada token a otros comparando consultas con claves.

Dimensiones de matrices y transformaciones
SímboloDimensionesDescripción
Embeddingd_modelRepresentación del token de entrada
Wqd_model x d_kMatriz de pesos de Query
Wkd_model x d_kMatriz de pesos de Key
Wvd_model x d_vMatriz de pesos de Value
Qd_kVector Query para un token
Kd_kVector Key para un token
Vd_vVector Value para un token
← Desliza a la derecha para ver más →

El mecanismo de autoatención

Una vez que tenemos Q, K y V para cada token en la secuencia, el mecanismo de autoatención calcula las puntuaciones de atención. Para un token dado, su query se multiplica (producto punto) con las keys de todos los tokens en la secuencia. Las puntuaciones resultantes indican la relevancia de cada token para el actual. Luego, estas puntuaciones se escalan dividiendo por la raíz cuadrada de la dimensión de las keys (d_k) para estabilizar los gradientes. A continuación, se aplica una función softmax para convertir las puntuaciones en probabilidades que suman 1. Finalmente, las probabilidades se utilizan para calcular una suma ponderada de los vectores value, produciendo un nuevo vector consciente del contexto para el token.

Este proceso se realiza en paralelo para todos los tokens en la secuencia, lo que lo hace altamente eficiente. Los nuevos vectores luego pasan a través de una red neuronal feed-forward y capas adicionales, construyendo gradualmente una representación rica de la entrada.

Pasos de la autoatención
PasoOperaciónResultado
1Calcular Q, K, V a partir de embeddingsVectores para cada token
2Producto punto de Q con todas las KPuntuaciones de atención (crudas)
3Escalar puntuaciones por sqrt(d_k)Puntuaciones escaladas
4Aplicar softmaxPesos de atención (probabilidades)
5Suma ponderada de vectores VNuevo vector de contexto
← Desliza a la derecha para ver más →

Procesamiento de prompts y cálculo capa por capa

Durante el procesamiento de prompts (la codificación inicial de la entrada), toda la secuencia de tokens se procesa simultáneamente. Los embeddings se transforman en Q, K, V y la autoatención se calcula para cada token. Esto se repite a través de todas las capas (típicamente 12, 24 o más) del Transformer. Cada capa refina las representaciones, permitiendo al modelo capturar dependencias complejas como relaciones de largo alcance, sintaxis y semántica. La salida de la última capa proporciona un embedding contextualizado para cada token.

Inferencia: agregar un nuevo token

Al generar texto (inferencia), el modelo produce un token a la vez. Para el nuevo token, solo se calcula su embedding. Luego, se deriva su Query. Para calcular la atención, el modelo necesita las Keys y Values de todos los tokens anteriores. Estos se almacenan en una estructura llamada caché KV, que evita recalcularlos. La Query del nuevo token se multiplica por todas las Keys almacenadas, se aplica softmax, y se calcula la suma ponderada de los Values almacenados. Esto produce un nuevo vector de contexto para el nuevo token, que luego pasa a través de las capas restantes y finalmente una capa de clasificación (softmax sobre el vocabulario) para seleccionar la siguiente palabra.

Este enfoque incremental es eficiente porque los cálculos pesados para tokens anteriores se reutilizan. La caché KV se actualiza con la Key y Value del nuevo token después de cada paso de generación.

Atención de múltiples cabezas y All-Reduce

Para capturar diferentes tipos de relaciones (por ejemplo, sintácticas, semánticas, referenciales) simultáneamente, los Transformers utilizan atención de múltiples cabezas (multi-head attention). En lugar de realizar una sola operación de atención, el modelo divide los vectores Q, K y V en múltiples cabezas más pequeñas (comúnmente 8, 12 o 16). Cada cabeza aprende a enfocarse en diferentes aspectos de la entrada. Las cabezas trabajan en paralelo, cada una calculando su propio mecanismo de atención en un subespacio de los vectores.

Después de que cada cabeza produce su salida, las salidas se concatenan nuevamente en un solo vector de la dimensión original. Este vector concatenado luego se multiplica por una matriz de proyección de salida (a menudo llamada Wo) para combinar la información de todas las cabezas. Este paso final es equivalente a una operación de all-reduce: fusiona los cálculos paralelos en una representación unificada. El all-reduce asegura que el modelo se beneficie del aprendizaje distribuido a través de las cabezas mientras mantiene una sola salida coherente para la siguiente capa.

Comparación: Atención de una sola cabeza vs. múltiples cabezas
AspectoUna sola cabezaMúltiples cabezas
Número de cálculos de atención1H (número de cabezas)
Relaciones capturadasUn tipo por capaMúltiples tipos simultáneamente
Dimensión de salidad_vH * d_v (luego proyectado a d_model)
Costo computacionalMenorMayor pero paralelizable
ExpresividadLimitadaRepresentaciones más ricas
← Desliza a la derecha para ver más →

Conclusión

Los vectores Query, Key y Value son fundamentales para el mecanismo de atención en los Transformers. Permiten al modelo ponderar dinámicamente la importancia de cada token en el contexto, habilitando una comprensión y generación de lenguaje poderosa. El proceso de derivar estos vectores, calcular la atención y utilizar la paralelización de múltiples cabezas con all-reduce es lo que hace que los modelos de IA modernos sean tan efectivos. Comprender estos conceptos es esencial para cualquiera que trabaje o estudie modelos de lenguaje grandes.

Trabajemos juntos

¿Necesitas más información, ayuda con tu proyecto o desarrollar una idea?

Ya sea una pregunta sencilla, una duda rápida o una charla de 5 minutos, envíame un mensaje—no cuesta nada y siempre estoy listo para ayudar. Me gusta escuchar para entender el problema, ser creativo en las soluciones y centrarme en ideas simples, confiables y fáciles de implementar rápidamente.

Contáctame

Cambiar Tema

Elige un tema especializado para explorar: