Saltar al contenido principal
DESTACADO · GRATISCalculadora VRAM, ¿qué GPU ejecuta qué modelo? →
Destacado Pack modelos de IA y moda →
Vantaige

Arquitectura y Análisis de Memoria

¿Qué es el KV Cache? Cálculo, Fórmulas y Tamaño de VRAM

Comprende cómo el almacenamiento en caché de Claves y Valores acelera la generación autorregresiva, por qué satura la VRAM en contextos largos y cómo reducir su consumo entre un 50% y un 75%.

Calculadora Interactiva de Memoria KV Cache

Ajusta la longitud de contexto, el tamaño de lote y la arquitectura de atención para observar el consumo exacto de VRAM en tiempo real.

Arquitectura: gqa

32 capas · 32 cabezas query · 8 cabezas KV (Grupo GQA 4:1)

32,768 tokens
1 secuencia

Los servidores multiusuario (como vLLM) multiplican la caché KV según las peticiones activas en paralelo.

Demanda de memoria calculada
4.00 GiBSolo caché KV

Fórmula: 2 (claves + valores) × 32 capas × 8 cabezas KV × 128 dimensión de cabeza × 32,768 tokens × 2 bytes

Pesos del modelo (Q4_K_M):4.9 GiB
Caché KV (32k tokens):+4.00 GiB
Overhead estimado de runtime:+1.0 GiB
VRAM mínima total requerida:~9.9 GiB
Impacto arquitectónico

Como este modelo usa GQA (relación 8:1), esta caché KV es 4 veces menor que con el MHA tradicional (que habría necesitado 16.0 GiB).

Abrir calculadora de VRAM para este modelo

1. Por Qué la Generación Autorregresiva Requiere KV Cache

Durante la inferencia en transformers, las palabras se predicen de forma secuencial, token por token. Para predecir el token N, el modelo debe prestar atención a los N-1 tokens previos. Sin un caché KV, las matrices de claves y valores tendrían que recalcularse por completo en cada paso, derivando en un coste computacional cuadrático O(N²).

Al guardar los vectores de Clave (Key) y Valor (Value) calculados en VRAM, la complejidad se mantiene lineal O(N) por paso. Sin embargo, esto intercambia cómputo por memoria: cada nuevo token añadido incrementa el peso del caché en VRAM.

2. La Fórmula Matemática Exacta

VRAM_KV (Bytes) = 2 x n_capas x n_cabezas_kv x dim_cabeza x long_secuencia x batch_size x bytes_por_elemento

El factor 2 corresponde a la separación entre Claves y Valores. n_capas es la profundidad de capas, n_cabezas_kv el número de cabezas KV, dim_cabeza la dimensión interna y long_secuencia la longitud del contexto activo.

Ejemplo: Llama 3 8B con GQA (8 cabezas KV, dimensión 128, 32 capas) a 16k tokens en precisión FP16 (2 bytes): 2 x 32 x 8 x 128 x 16,384 x 1 x 2 = 2.15 GB de VRAM para una sola conversación.

3. Evolución de Arquitecturas: MHA vs GQA vs MLA

Legacy
Multi-Head Attention (MHA)
Cada cabeza de consulta posee su propia cabeza de clave y valor (como en GPT-3 o Llama 1). Máxima expresividad, pero el caché se expande velozmente en contextos amplios.
Standard
Grouped-Query Attention (GQA)
Múltiples cabezas de consulta comparten una única cabeza de clave y valor (Llama 3, Mistral, Qwen 2.5). Reduce la huella del caché entre un 75% y un 87.5% sin pérdida apreciable de calidad.
Frontier
Multi-Head Latent Attention (MLA)
Comprime los vectores de clave y valor en un espacio latente de baja dimensión (DeepSeek V2/V3/R1). Reduce el consumo de VRAM a una mínima fracción frente a GQA, facilitando contextos masivos en hardware estándar.

4. Cómo Cuantizar el KV Cache (Ahorro del 50% al 75%)

Por defecto, los motores de inferencia guardan el caché en precisión FP16 (2 bytes por valor). Al cuantizar el caché a FP8 (1 byte) o INT4 (0.5 bytes), se reduce el espacio consumido en un 50% o 75% sin alterar los pesos del modelo.

En vLLM, añade el parámetro --kv-cache-dtype fp8. En llama.cpp, utiliza -ctk q8_0 -ctv q8_0 o -ctk q4_0 -ctv q4_0 para liberar gigabytes de VRAM en contextos de más de 32k tokens.

Preguntas Frecuentes

¿Qué ocurre cuando el KV Cache agota la VRAM libre?
El motor de inferencia produce un bloqueo por falta de memoria (CUDA Out of Memory) o descarta tokens previos si el contexto rotativo está habilitado. Es fundamental dejar un margen holgado de VRAM para evitar cierres inesperados durante la respuesta.
¿El tamaño del KV Cache depende del prompt o del texto generado?
Depende de la suma total de tokens en la secuencia (prompt inicial más tokens de salida). Un prompt de 20k tokens con respuesta de 2k tokens ocupa exactamente la misma memoria que un prompt de 2k con respuesta de 20k.
¿Es seguro cuantizar el KV Cache a FP8 en modelos de razonamiento como DeepSeek-R1?
Sí. Numerosas evaluaciones demuestran que la cuantización FP8 en el caché introduce una degradación casi imperceptible en pruebas lógicas, liberando valiosos gigabytes de VRAM para contextos más amplios.
¿Cómo escala el KV Cache con múltiples usuarios concurrentes?
Escala de manera estrictamente lineal. Si 4 usuarios interactúan simultáneamente con contextos de 8k tokens, el consumo se multiplica por 4. Motores modernos como vLLM integran PagedAttention para eliminar la fragmentación entre peticiones.
¿Por qué es tan eficiente la arquitectura MLA de DeepSeek para contextos largos?
MLA comprime los vectores KV en un vector latente comprimido antes de guardarlos en el caché, reduciendo la memoria requerida hasta en un 93% en comparación con MHA. Por ello, DeepSeek gestiona contextos de 128k con un consumo de VRAM asombrosamente bajo.

Calcula el consumo exacto de tu KV Cache

Utiliza nuestra Calculadora VRAM para proyectar consumos con diferentes contextos y tamaños de lote en cientos de modelos.

Abrir Calculadora VRAM

Conocimiento y análisis profundos

Centro de Conocimiento sobre VRAM e IA Local

Guías técnicas exhaustivas, análisis de arquitecturas y manuales de hardware para configurar y ejecutar modelos de lenguaje locales con total precisión.

50+ Términos8 min de referencia
Domina la terminología clave: GGUF frente a Safetensors, K-quants, KV cache, GQA, parámetros activos en MoE y memoria unificada de Apple.
Búsqueda y filtrado interactivo por categorías
Conclusiones prácticas de hardware por cada término
Definiciones rigurosas sin tecnicismos innecesarios
Índice alfabético de consulta rápida
Leer Guía
Decodificador de Config7 min de lectura
Analiza repositorios como un ingeniero de ML: descifra archivos config.json, detecta límites de contexto reales y evita la trampa de parámetros en modelos MoE.
Inspector interactivo de parámetros config.json
Decodificación de nomenclaturas GGUF
Cálculo de parámetros activos vs totales en MoE
Parámetros de ventana de contexto y escalado RoPE
Leer Guía
Matriz de Licencias5 min de lectura
Entiende las diferencias legales y prácticas entre el código abierto OSI genuino y los modelos de pesos abiertos como Llama 3, DeepSeek, Qwen 2.5 y Gemma 2.
Matriz comparativa de licencias populares
Límites de uso comercial y umbrales de usuarios
Restricciones para destilación de datos sintéticos
Guía de cumplimiento normativo para empresas
Leer Guía
Guía de Hardware8 min de lectura
Descubre por qué el ancho de banda supera al cómputo, qué nivel de VRAM necesitas para cada clase de modelo y cómo se compara Apple Silicon con Nvidia.
Tramos de VRAM (8GB a 128GB+)
Fórmula de ancho de banda vs cómputo
Comparativa Apple Silicon Mac vs PC Nvidia
Configuración Workstation Dual-GPU para 70B
Leer Guía