GUÍA de IA en idiomas

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.

Escuche esta guíaNarrado por IA · ~2 min

En esta pagina2 minutos de lectura
  1. Descripción general
  2. Buceo profundo
  3. Implementación en el mundo real
  4. El futuro de la caché KV
  5. Poniéndolo en práctica
  6. Sigue explorando
  7. Preguntas frecuentes

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.

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.

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.

Poniéndolo en práctica

Por qué es importante

  • Velocidad y escala. Los flujos de trabajo lingüísticos pueden avanzar más rápido sin sacrificar la coherencia.
  • Acceso y alcance. 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.

cuidado con

  • 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.

Próximos pasos

  1. Defina el formato de salida, el tono y los estándares de calidad antes del lanzamiento.
  2. Respuestas terrestres con fuentes confiables siempre que la precisión sea importante.
  3. Mantenga un punto de control de revisión humana para los resultados de alto riesgo.
  4. Realice un seguimiento de los patrones de error y vuelva a capacitar las indicaciones o los flujos de trabajo con regularidad.

Sigue explorando

Boletín gratuito

Recibe el resumen diario de IA

Tres noticias verificadas sobre IA cada mañana de lunes a viernes, explicadas con claridad. Gratis para siempre y sin anuncios.

Un correo cada día laborable. Date de baja con un clic. Nunca vendemos ni compartimos tu dirección.

Ponte a prueba

Take the KV Cache quiz

Corrección inmediata en cada respuesta y un certificado para compartir, con un ID verificable, cuando apruebas un curso.

Empezar el cuestionario

Apoya la educación gratuita sobre IA. AI Understanding es una organización sin fines de lucro 501(c)(3): sin anuncios ni muros de pago, nunca. Hacer una donación

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?

The cache reuses keys and values computed for earlier tokens instead of rebuilding them at every decode step. The new query still attends over cached positions, so attention work and cache memory continue to grow with context length.

¿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é.