Saltar al contenido
AI Atlas

KV Cache

Caché de keys y values

AI EngineeringNivel 3 · AvanzadoTécnica~1 min de lectura

En una frase

KV Cache: una memoria que guarda las keys y values ya calculadas de los tokens anteriores para no recalcularlas en cada paso de generación.

¿Demasiado técnico? Ver explicación sencilla¿Quieres profundizar? Ver explicación técnica

Explícamelo fácil

Al generar texto, un LLM produce un token a la vez. Sin caché, para cada token nuevo tendría que volver a procesar todo el texto anterior desde cero. El KV cache guarda el trabajo ya hecho, así que cada paso solo calcula lo del token nuevo.

Es como tomar notas mientras lees un libro: no necesitas releer desde la primera página para entender el siguiente párrafo.

Nivel técnico

Profundizando

En cada capa de atención, las keys y values de los tokens previos se almacenan; en el paso t solo se calculan q, k, v del nuevo token y se atiende sobre el caché. Esto reduce el costo de generación de cuadrático a lineal por token, pero el caché ocupa mucha memoria: crece con capas × cabezas × dimensión × longitud × batch.

Optimizaciones: GQA/MQA (menos keys/values), cuantización del caché, PagedAttention (gestión de memoria por páginas, usada en vLLM) y prompt caching, que reutiliza el caché de prefijos repetidos (como un system prompt largo) entre solicitudes para reducir costo y latencia.

¿Por qué importa?

Es clave para que la generación de texto sea rápida y asequible, y es uno de los principales consumidores de VRAM en inferencia.

¿Dónde se utiliza?

  • Servir LLMs
  • Contextos largos
  • Prompt caching en APIs

Antes de aprender esto

Continúa aprendiendo

Conceptos relacionados

Fuentes y lecturas