2025-11-16T09:58:12.370377

Ada-KV: Optimizing KV Cache Eviction by Adaptive Budget Allocation for Efficient LLM Inference

Feng, Lv, Cao et al.
Large Language Models have excelled in various domains but face efficiency challenges due to the growing Key-Value (KV) cache required for long-sequence inference. Recent efforts aim to reduce KV cache size by evicting vast non-critical cache elements during runtime while preserving generation quality. However, these methods typically allocate compression budgets uniformly across all attention heads, ignoring the unique attention patterns of each head. In this paper, we establish a theoretical loss upper bound between pre- and post-eviction attention output, explaining the optimization target of prior cache eviction methods, while guiding the optimization of adaptive budget allocation. Base on this, we propose {\it Ada-KV}, the first head-wise adaptive budget allocation strategy. It offers plug-and-play benefits, enabling seamless integration with prior cache eviction methods. Extensive evaluations on 13 datasets from Ruler and 16 datasets from LongBench, all conducted under both question-aware and question-agnostic scenarios, demonstrate substantial quality improvements over existing methods. Our code is available at https://github.com/FFY0/AdaKV.
academic

Ada-KV: Optimización de la Evicción de Caché KV mediante Asignación de Presupuesto Adaptativo para Inferencia Eficiente de LLM

Información Básica

  • ID del Artículo: 2407.11550
  • Título: Ada-KV: Optimizing KV Cache Eviction by Adaptive Budget Allocation for Efficient LLM Inference
  • Autores: Yuan Feng, Junlin Lv, Yukun Cao, Xike Xie, S. Kevin Zhou
  • Clasificación: cs.CL cs.AI
  • Fecha de Publicación/Conferencia: 39ª Conferencia sobre Sistemas de Procesamiento de Información Neural (NeurIPS 2025)
  • Enlace del Artículo: https://arxiv.org/abs/2407.11550

Resumen

Los modelos de lenguaje grandes (LLMs) demuestran un desempeño excepcional en diversos campos, pero enfrentan desafíos de eficiencia debido a la creciente demanda de caché Key-Value (KV) en la inferencia de secuencias largas. Investigaciones recientes reducen el tamaño del caché KV mediante la evicción en tiempo de ejecución de elementos de caché no críticos, manteniendo la calidad de la generación. Sin embargo, estos métodos típicamente asignan presupuestos de compresión uniformemente entre todas las cabezas de atención, ignorando los patrones de atención únicos de cada cabeza. Este artículo establece un límite superior teórico de pérdida entre las salidas de atención antes y después de la evicción, explicando los objetivos de optimización de métodos previos de evicción de caché mientras guía la optimización de la asignación de presupuesto adaptativo. Basándose en esto, los autores proponen Ada-KV, la primera estrategia de asignación de presupuesto adaptativo a nivel de cabeza. Este método tiene la ventaja de ser plug-and-play, permitiendo integración sin interrupciones con métodos de evicción de caché existentes.

Antecedentes de Investigación y Motivación

Descripción del Problema

Conforme los modelos de lenguaje grandes procesan longitudes de secuencia cada vez mayores (como GPT que soporta 128K, Claude3 que soporta 200K, y Gemini-Pro-1.5 que soporta 2M tokens), la demanda de memoria del caché KV crece exponencialmente. Para un LLM de 8B parámetros, procesar una única secuencia de 2M tokens puede requerir hasta 256GB de caché, afectando severamente la eficiencia de memoria de GPU y la eficiencia de tiempo de ejecución computacional.

Limitaciones de Métodos Existentes

Los métodos de evicción de caché existentes se dividen principalmente en dos categorías:

  1. Métodos de Evicción por Ventana Deslizante: Conservan simplemente elementos de caché iniciales y recientes, pero reducen significativamente la calidad de la generación
  2. Métodos de Evicción Top-k: Seleccionan elementos de caché críticos basándose en pesos de atención, pero asignan presupuestos uniformemente entre todas las cabezas de atención

El problema clave es que los métodos existentes ignoran las características únicas de diferentes cabezas de atención: algunas cabezas exhiben patrones de atención concentrada dispersa, mientras que otras tienen distribuciones de atención más dispersas.

Motivación de la Investigación

Mediante análisis del modelo Llama-3.1-8B-Instruct, los autores descubren que la mayoría de cabezas de atención requieren solo una pequeña proporción de caché (como el top 5%) para retener casi todos los pesos de atención, mientras que las cabezas dispersas requieren proporciones de caché más grandes. Este patrón no uniforme de concentración de atención proporciona una base teórica para la asignación de presupuesto adaptativo.

Contribuciones Principales

  1. Estrategia de Asignación de Presupuesto Adaptativo: Propone Ada-KV, la primera estrategia de asignación de presupuesto adaptativo a nivel de cabeza, que ajusta dinámicamente la asignación de presupuesto según los patrones de atención únicos de cada cabeza de atención
  2. Establecimiento de Marco Teórico: Establece un marco teórico para la evicción de caché, define la pérdida de evicción y deriva su límite superior, explicando los objetivos de optimización de métodos existentes y guiando el diseño de Ada-KV
  3. Compatibilidad Plug-and-Play: Ada-KV posee características plug-and-play, permitiendo integración sin interrupciones en métodos de evicción de caché existentes, manteniendo eficiencia computacional mediante implementación de núcleos CUDA eficientes
  4. Verificación Experimental Integral: Evaluación integral en 29 conjuntos de datos de Ruler y LongBench, mostrando mejoras significativas tanto en escenarios conscientes de preguntas como en escenarios independientes de preguntas

Explicación Detallada del Método

Definición de Tarea

Dado un nivel de autoatención multi-cabeza, seleccionar elementos de caché KV a retener bajo restricciones de presupuesto, minimizando la pérdida entre la salida de atención después de la evicción y la salida original.

Fundamentos Teóricos

Definición de Pérdida de Evicción L1

Los autores cuantifican la pérdida de evicción como la distancia L1 entre las salidas del mecanismo de autoatención antes y después de la evicción:

Peˊrdida de Eviccioˊn L1=yy^1\text{Pérdida de Evicción L1} = ||y - \hat{y}||_1

donde yy y y^\hat{y} son respectivamente las salidas de atención antes y después de la evicción.

Derivación del Límite Superior de Pérdida

Teorema 3.1: La pérdida de evicción L1 puede estar limitada por un límite superior ϵ\epsilon:

Peˊrdida de Eviccioˊn L1ϵ=2hC2Ci[1,h]j[1,n]IijAij\text{Pérdida de Evicción L1} \leq \epsilon = 2hC - 2C\sum_{i \in [1,h]}\sum_{j \in [1,n]} I_i^j A_i^j

donde C=max{ViWiO}C = \max\{\|V_iW_i^O\|_\infty\} es una constante, IijI_i^j es la variable indicadora de decisión de evicción, y AijA_i^j es el peso de atención.

Teorema 3.2: El método de evicción de caché Top-k minimiza el límite superior de pérdida bajo una asignación de presupuesto dada:

ϵ=2hC2Ci[1,h]AijTop-k(Ai,k=Bi)Aij\epsilon^* = 2hC - 2C\sum_{i \in [1,h]}\sum_{A_i^j \in \text{Top-k}(A_i, k=B_i)} A_i^j

Algoritmo Ada-KV

Algoritmo 1: Asignación de Presupuesto Adaptativo

Entrada: Presupuesto total B, pesos de atención de cada cabeza {A_i}
Salida: Presupuestos asignados {B_i^*}
1. Concatenar pesos de atención de todas las cabezas: A = Cat({A_i})
2. Seleccionar los top B pesos de A: Top-k(A, k=B)
3. Contar la cantidad de pesos seleccionados para cada cabeza: {f_i}
4. Establecer presupuestos asignados: {B_i^* = f_i}

Ventajas Teóricas

Teorema 3.3: La asignación de presupuesto adaptativo logra el límite superior de pérdida mínimo:

ϵ=min{Bi}ϵ\epsilon^{**} = \min_{\{B_i\}} \epsilon^*

Integración con Métodos Existentes

Los autores demuestran la integración de Ada-KV con dos métodos SOTA:

Ada-SnapKV y Ada-Pyramid

Mediante el Algoritmo 2, Ada-KV se puede integrar sin interrupciones en SnapKV y Pyramid:

  1. Calcular pesos de atención dentro de la ventana de observación
  2. Usar el algoritmo Ada-KV para asignar presupuestos
  3. Aplicar parámetro de protección de seguridad α = 0.2 para prevenir asignación excesivamente dispersa
  4. Ejecutar decisiones de evicción Top-k

Puntos de Innovación Técnica

  1. Perspectiva de Optimización Global: Considera la asignación de presupuesto a nivel de cabeza como un problema de optimización global, no local
  2. Diseño Guiado por Teoría: Guía el diseño de algoritmos basándose en análisis teórico riguroso
  3. Garantía de Eficiencia Computacional: Mantiene eficiencia computacional mediante FlashAttention de longitud variable y diseño de caché aplanado
  4. Compatibilidad con GQA: Soporta Group Query Attention, realizando compresión de caché adicional

Configuración Experimental

Conjuntos de Datos

  • Referencia Ruler: 13 tareas de secuencia larga, principalmente variantes de pruebas Needle-in-a-Haystack, evaluando longitud de 16K
  • Referencia LongBench: 16 conjuntos de datos, cubriendo QA de documento único, QA de múltiples documentos, resumen, aprendizaje con pocos ejemplos, tareas sintéticas y generación de código

Modelos Base

  • Llama-3.1-8B-Instruct
  • Mistral-7B-instruct-v0.2

Métricas de Evaluación

Usar métricas correspondientes según el tipo de tarea: puntuación F1 (tareas QA), Rouge-L (tareas de resumen), precisión (tareas de clasificación), similitud de edición (tareas de código)

Métodos de Comparación

  • Métodos Base: SnapKV, Pyramid, StreamingLLM
  • Versiones Mejoradas: Ada-SnapKV, Ada-Pyramid

Escenarios Experimentales

  • Compresión Consciente de Preguntas: Escenario estándar donde la pregunta es conocida
  • Compresión Independiente de Preguntas: Escenario de aplicación práctica más desafiante

Resultados Experimentales

Resultados Principales

Pruebas de Referencia Ruler

En escenario independiente de preguntas, usando Llama-3.1-8B-Instruct:

  • Presupuesto de caché del 80%: Ada-SnapKV mejora la puntuación de SnapKV de 87.59 a 92.67
  • Presupuesto de caché del 20%: Ada-SnapKV mejora la puntuación de SnapKV de 44.02 a 53.29

Pruebas de Referencia LongBench

En escenario independiente de preguntas:

  • Ada-SnapKV y Ada-Pyramid mejoran continuamente la calidad de generación en todas las configuraciones de presupuesto fijo
  • Logran desempeño casi sin pérdidas con presupuesto de 2048

Análisis de Subtareas

En tareas difíciles de Needle-in-a-Haystack:

  • Tarea S-NIAH-3 (presupuesto del 80%): Ada-SnapKV mejora SnapKV de 62.4 a 97.6
  • Tarea MK-NIAH-2 (presupuesto del 80%): Ada-SnapKV mejora SnapKV de 85.2 a 99.6

Eficiencia Computacional

Ada-SnapKV con presupuesto fijo de 1024:

  • Uso de memoria pico comparable con SnapKV original
  • Latencia de decodificación comparable con SnapKV original
  • Ambos significativamente superiores al caso de caché completo

Verificación de Aplicación Amplia

La estrategia Ada-KV ha sido adoptada por múltiples trabajos posteriores:

  • CriticalKV + Ada-KV: Mejora de 42.99 a 43.77 con caché del 20%
  • DefensiveKV + Ada-KV: Mejora de 43.78 a 46.68 con caché del 20%

Trabajo Relacionado

Métodos de Evicción de Caché

  • Métodos de Ventana Deslizante: StreamingLLM, etc., simples pero con gran pérdida de calidad
  • Métodos Top-k: H2O, SnapKV, Pyramid, etc., seleccionan elementos críticos basándose en pesos de atención

Métodos de Atención Dispersa

Conceptualmente relacionados pero metodológicamente diferentes a la evicción de caché:

  • Evicción de caché: Retiene solo un subconjunto de caché KV
  • Atención dispersa: Retiene todas las entradas pero las utiliza selectivamente

Otras Tecnologías Relacionadas

  • Cuantización de caché KV: Reduce la precisión de elementos individuales
  • Decodificación especulativa: Usa modelos con caché reducido para generar borradores
  • Atención paginada: Gestión eficiente de memoria

Conclusiones y Discusión

Conclusiones Principales

  1. Ada-KV propone por primera vez una estrategia de asignación de presupuesto adaptativo a nivel de cabeza, mejorando significativamente el desempeño de métodos de evicción de caché existentes
  2. El análisis teórico establece un marco riguroso para la evicción de caché, guiando el diseño de algoritmos
  3. El escenario de compresión independiente de preguntas revela limitaciones de métodos existentes, mereciendo mayor atención

Limitaciones

  1. La asignación a nivel de cabeza actual se limita a dentro de una capa, sin extensión a asignación entre capas
  2. El parámetro de protección de seguridad α requiere equilibrio de desempeño bajo diferentes presupuestos
  3. El análisis teórico se basa en distancia L1, posiblemente sin reflejar completamente la calidad real de generación

Direcciones Futuras

  1. Extender el mecanismo de asignación a nivel de cabeza a escenarios entre capas
  2. Desarrollar análisis teórico correspondiente entre capas
  3. Combinar con análisis de importancia de cabeza en tiempo de entrenamiento
  4. Optimización conjunta con otras técnicas de optimización (como cuantización, atención dispersa)

Evaluación Profunda

Fortalezas

  1. Contribución Teórica Sólida: Establece un marco teórico completo, con lógica clara desde derivación de límite superior de pérdida hasta diseño de algoritmo
  2. Método Simple y Efectivo: Algoritmo conciso y comprensible, característica plug-and-play facilitando adopción
  3. Experimentación Integral y Suficiente: Evaluación integral en 29 conjuntos de datos, incluyendo escenario independiente de preguntas frecuentemente ignorado
  4. Alto Valor Práctico: Adoptado por múltiples trabajos posteriores, demostrando valor e impacto del método

Insuficiencias

  1. Brecha entre Teoría y Práctica: Aunque minimiza teóricamente el límite superior de pérdida, no garantiza minimización de pérdida real
  2. Sensibilidad a Hiperparámetros: La selección del parámetro de protección de seguridad α requiere ajuste empírico
  3. Limitaciones de Extensibilidad: Actualmente solo considera asignación de presupuesto dentro de una capa
  4. Limitaciones de Evaluación: Evaluación principalmente en modelos de escala media, efectividad en modelos a gran escala requiere verificación

Impacto

  1. Contribución Académica: Proporciona nueva dirección de investigación para el campo de optimización de caché KV
  2. Valor Práctico: Característica plug-and-play facilitando despliegue en sistemas reales
  3. Reproducibilidad: Proporciona código abierto y detalles de implementación detallados
  4. Inspiración: Proporciona marco teórico y orientación metodológica para investigación posterior

Escenarios Aplicables

  1. Inferencia de Secuencia Larga: Particularmente adecuado para aplicaciones requiriendo procesamiento de contexto largo
  2. Entornos con Recursos Limitados: Optimiza eficiencia de inferencia cuando memoria de GPU es limitada
  3. Sistemas en Tiempo Real: Equilibra calidad y eficiencia en servicios en línea
  4. Diálogo Multiturno: Escenario de compresión independiente de preguntas particularmente adecuado para sistemas de diálogo

Referencias

El artículo cita 64 referencias relacionadas, incluyendo principalmente:

  • Trabajos fundamentales de modelos de lenguaje grandes (GPT-4, Claude, Gemini, etc.)
  • Métodos de optimización de caché KV (H2O, SnapKV, Pyramid, etc.)
  • Optimización de mecanismo de atención (FlashAttention, atención dispersa, etc.)
  • Referencias de procesamiento de secuencia larga (Ruler, LongBench, etc.)

Evaluación General: Este es un artículo de investigación de alta calidad que logra buen equilibrio entre contribución teórica y valor práctico. El método Ada-KV es simple pero efectivo, el análisis teórico es riguroso, y la verificación experimental es suficiente. El artículo no solo resuelve limitaciones importantes de métodos existentes, sino que también proporciona marco y dirección valiosos para investigación futura.