Saltar al contenido

Explicador en lenguaje claro

La KV cache, explicada

¿Qué es la KV cache y por qué importa para la velocidad y el costo?

Cuando un modelo genera texto, cada token nuevo tiene que mirar hacia atrás a todos los anteriores mediante attention. Recalcular esa mirada desde cero en cada paso sería lentísimo. La KV cache guarda las claves y valores de attention de cada token la primera vez que se calculan, así cada paso posterior los reutiliza y solo calcula el token más nuevo. El precio es memoria: la cache crece con el largo del context, y por eso las conversaciones largas consumen memoria de GPU.

Revisado por última vez el

Leer es el camino lento. Empieza con una lección gratis que puedes operar ahora mismo.

Empieza gratis: Predice la siguiente palabra

Gratis, sin código, sin registro.

Y después ve más a fondo: Ventana de contexto y caché KV Bloqueada

Lo que la gente entiende mal

  • La KV cache es la memoria que el modelo tiene de ti. Es memoria de trabajo por petición, se descarta al terminar y nunca cambia el modelo.
  • La cache guarda tu texto. Guarda claves y valores de attention, los vectores que el modelo derivó de tu texto.
  • Una ventana de contexto más larga es solo una caja de texto más grande. Las claves y valores de cada token deben caber en la memoria de la GPU a la vez, así que el largo del context es un presupuesto de hardware.

Dónde lo ves en productos reales

  • Los chats muy largos se vuelven lentos y chocan con límites porque la cache no deja de crecer.
  • Las APIs venden tokens de entrada cacheados más baratos: las claves y valores de un prefijo repetido ya existen.
  • Las especificaciones de context de los modelos hablan tanto de memoria de GPU como del modelo en sí.

Preguntas frecuentes

¿Qué guarda en realidad la KV cache?
Los vectores key y value ya calculados para cada token del contexto. Sin ella, generar el token 500 obligaría a reprocesar los 499 anteriores desde cero. Con ella, solo se procesa el token nuevo y el resto se vuelve a leer.
¿Por qué el primer token tarda mucho más que los demás?
Eso es el prefill: se procesa todo el prompt de una vez para construir la cache. Todo lo que viene después es un paso barato de un token que lee de esa cache. Por eso los proveedores dan el tiempo hasta el primer token y los tokens por segundo como dos números distintos.
¿Por qué el contexto largo consume tanta memoria?
La cache crece con cada token y tiene que quedarse en memoria rápida durante toda la petición. Con un contexto largo puede competir con los propios pesos del modelo, y por eso las peticiones de contexto largo cuestan más y achicar la cache es un área de investigación activa.

Explicadores relacionados

Más en Velocidad, costo y control

Una idea a la vez, en tu correo

Lecciones y explicadores nuevos, escritos como están escritas estas páginas. De vez en cuando, no a diario, y nunca una secuencia de venta.

Primero te enviamos un enlace de confirmación. Puedes darte de baja con un clic, cuando quieras. Privacidad.

Parte de See How AI Works, un curso interactivo gratuito, donde aprendes cómo funciona la IA moderna operándola, no viendo videos.