Caché KV
La caché KV almacena los vectores de clave y valor que un transformador ya ha calculado para tokens anteriores, por lo que no tiene que volver a calcularlos para cada nueva palabra que genera.
Descripción general
It is the single biggest reason text generation is fast — and the main thing eating your GPU memory during long conversations.
Buceo profundo
Los transformadores generan texto un token a la vez, y la capa de atención de cada nuevo token debe compararse con cada token anterior. El mecanismo de atención convierte cada token en un vector de consulta, clave y valor. Sin el almacenamiento en caché, generar el token número 1000 significaría volver a calcular las claves y los valores de los 999 tokens anteriores en cada paso: un trabajo cuadrático y derrochador. La caché KV guarda esos vectores de clave y valor después de que se calculan por primera vez y los reutiliza, por lo que cada nuevo paso solo calcula vectores para el token más nuevo y atiende la caché almacenada. Esto reduce el costo por token de escalar con la longitud de la secuencia a aproximadamente constante. La compensación es la memoria: la caché crece linealmente con la longitud del contexto, el número de capas y las cabezas de atención, convirtiéndose a menudo en el consumidor de memoria dominante en el servicio de contexto prolongado.
Información técnica
Durante la fase de 'prellenado', el modelo procesa todo el mensaje y llena el caché; durante la 'decodificación' agrega el K/V de un token por paso y vuelve a asistir. El tamaño de la caché se escala como 2 (K y V) × capas × cabezas × head_dim × secuencia_longitud × lote, con la precisión elegida. Para controlar esto, los modelos modernos utilizan consultas agrupadas o atención de consultas múltiples para compartir claves/valores entre cabezales, y los sistemas de servicio como vLLM usan PagedAttention para asignar caché en bloques no contiguos, reduciendo la fragmentación y el desperdicio.
Impacto Estratégico
Speed and scale
Los flujos de trabajo lingüísticos pueden avanzar más rápido sin sacrificar la coherencia.
Access and reach
Amplía el acceso a través de idiomas y estilos de comunicación.
Decisiones más claras
Los equipos pueden dedicar más tiempo a juzgar mientras la automatización se encarga de la repetición.
El futuro de la caché KV
A medida que las ventanas de contexto se extienden a cientos de miles de tokens, la caché KV se convierte en el cuello de botella central, por lo que la innovación es intensa: cuantificación de la caché a 8 o 4 bits, políticas de desalojo que eliminan los tokens de baja importancia, uso compartido de prefijos de solicitudes cruzadas y descarga a la CPU o al disco. Los cambios arquitectónicos, como la atención latente de múltiples cabezas, comprimen el caché mismo. Espere un codiseño continuo de variantes de atención y sistemas de memoria destinados a servir en contextos muy prolongados de forma económica y con un alto rendimiento.
Implementación en el mundo real
Acelerar las respuestas del chatbot al reutilizar claves/valores almacenados en caché del historial de conversaciones en lugar de reprocesarlos cada turno.
Almacenamiento en caché de prefijo que comparte el caché durante un aviso prolongado del sistema entre muchos usuarios, lo que reduce los costos y la latencia.
PagedAttention de vLLM administra la caché KV en bloques para atender muchas solicitudes simultáneas en una GPU de manera eficiente.
Cuantificar la caché KV para reducir la precisión y adaptar contextos más largos a la memoria GPU limitada.
Riesgos y barandillas
Los hechos alucinados pueden aparecer silenciosamente en informes, flujos de apoyo o resultados de investigaciones.
La sensibilidad rápida puede crear resultados inconsistentes en solicitudes similares.
Los datos de texto confidenciales pueden quedar expuestos si los controles de acceso son débiles.
Hoja de ruta de implementación
Defina el formato de salida, el tono y los estándares de calidad antes del lanzamiento.
Respuestas terrestres con fuentes confiables siempre que la precisión sea importante.
Mantenga un punto de control de revisión humana para los resultados de alto riesgo.
Realice un seguimiento de los patrones de error y vuelva a capacitar las indicaciones o los flujos de trabajo con regularidad.
Sigue explorando
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the KV Cache quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Siguiente guía
Optimización de caché KV
Preguntas frecuentes
What is KV Cache?
La caché KV almacena los vectores de clave y valor que un transformador ya ha calculado para tokens anteriores, por lo que no tiene que volver a calcularlos para cada nueva palabra que genera. Es la principal razón por la que la generación de texto es rápida y la principal razón por la que consume la memoria de tu GPU durante largas conversaciones.
¿Qué almacena la caché KV?
La caché KV contiene los vectores de clave y valor de tokens anteriores para que la atención pueda reutilizarlos en lugar de volver a calcularlos.
¿Qué problema resuelve principalmente el caché KV?
Sin almacenamiento en caché, cada token nuevo requeriría volver a calcular K/V para cada token anterior, lo cual es un desperdicio; el caché hace que el costo por token sea aproximadamente constante.
¿Cuál es la principal desventaja del caché KV?
La caché crece con la longitud de la secuencia, las capas y los encabezados, y a menudo se convierte en el consumidor dominante de memoria de GPU en el servicio de contexto prolongado.
¿Qué técnica reduce el tamaño de la caché KV al compartir claves y valores entre los cabezales de atención?
La atención de consultas agrupadas y consultas múltiples permite que varios cabezales de consulta compartan menos conjuntos de claves/valores, lo que reduce sustancialmente el caché.
¿Cuáles son las dos fases de la inferencia del transformador en relación con la caché de KV?
Prefill llena el caché con el K/V del mensaje; decode agrega un K/V de un nuevo token en cada paso y vuelve a asistir al caché.