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 : Optimisation de l'Éviction du Cache KV par Allocation de Budget Adaptative pour l'Inférence Efficace des LLM

Informations Fondamentales

  • ID de l'article : 2407.11550
  • Titre : Ada-KV: Optimizing KV Cache Eviction by Adaptive Budget Allocation for Efficient LLM Inference
  • Auteurs : Yuan Feng, Junlin Lv, Yukun Cao, Xike Xie, S. Kevin Zhou
  • Classification : cs.CL cs.AI
  • Date de publication/Conférence : 39e Conférence sur les Systèmes de Traitement de l'Information Neuronale (NeurIPS 2025)
  • Lien de l'article : https://arxiv.org/abs/2407.11550

Résumé

Les modèles de langage de grande taille (LLM) démontrent des performances exceptionnelles dans divers domaines, mais font face à des défis d'efficacité en raison de la demande croissante de cache Key-Value (KV) lors de l'inférence sur de longues séquences. Les recherches récentes réduisent la taille du cache KV en évincant au moment de l'exécution de nombreux éléments de cache non critiques, tout en maintenant la qualité de la génération. Cependant, ces méthodes distribuent généralement le budget de compression uniformément entre toutes les têtes d'attention, ignorant les motifs d'attention uniques de chaque tête. Cet article établit une borne supérieure théorique de la perte entre les sorties d'attention avant et après l'éviction, expliquant les objectifs d'optimisation des méthodes précédentes d'éviction de cache tout en guidant l'optimisation de l'allocation de budget adaptative. Sur cette base, les auteurs proposent Ada-KV, la première stratégie d'allocation de budget adaptative au niveau des têtes. Cette méthode offre l'avantage d'être prête à l'emploi, s'intégrant de manière transparente aux méthodes d'éviction de cache existantes.

Contexte de Recherche et Motivation

Description du Problème

À mesure que les modèles de langage de grande taille traitent des longueurs de séquence croissantes (par exemple, GPT supporte 128K, Claude3 supporte 200K, Gemini-Pro-1.5 supporte 2M tokens), la demande de mémoire du cache KV croît de manière exponentielle. Pour un LLM de 8B paramètres, le traitement d'une seule séquence de 2M tokens peut nécessiter jusqu'à 256 Go de cache, impactant sérieusement l'efficacité de la mémoire GPU et l'efficacité du temps d'exécution du calcul.

Limitations des Méthodes Existantes

Les méthodes d'éviction de cache existantes se divisent principalement en deux catégories :

  1. Méthodes d'éviction par fenêtre glissante : conservent simplement les éléments de cache initiaux et récents, mais réduisent considérablement la qualité de la génération
  2. Méthodes d'éviction Top-k : sélectionnent les éléments de cache critiques basés sur les poids d'attention, mais distribuent le budget uniformément entre toutes les têtes d'attention

Le problème clé est que les méthodes existantes ignorent les caractéristiques uniques de différentes têtes d'attention : certaines têtes présentent des motifs d'attention concentrés et épars, tandis que d'autres têtes ont une distribution d'attention plus dispersée.

Motivation de la Recherche

En analysant le modèle Llama-3.1-8B-Instruct, les auteurs découvrent que la plupart des têtes d'attention ne nécessitent qu'une très petite proportion de cache (par exemple, top 5%) pour conserver presque tous les poids d'attention, tandis que les têtes dispersées nécessitent une proportion de cache plus grande. Ce motif non uniforme de concentration d'attention fournit une base théorique pour l'allocation de budget adaptative.

Contributions Principales

  1. Stratégie d'allocation de budget adaptative : propose la première stratégie d'allocation de budget adaptative au niveau des têtes Ada-KV, capable d'ajuster dynamiquement l'allocation de budget en fonction des motifs d'attention uniques de chaque tête d'attention
  2. Établissement d'un cadre théorique : établit un cadre théorique pour l'éviction de cache, définit la perte d'éviction et dérive sa borne supérieure, expliquant les objectifs d'optimisation des méthodes existantes et guidant la conception d'Ada-KV
  3. Compatibilité prête à l'emploi : Ada-KV possède une caractéristique prête à l'emploi, capable de s'intégrer de manière transparente aux méthodes d'éviction de cache existantes, et maintient l'efficacité computationnelle grâce à une implémentation efficace du noyau CUDA
  4. Vérification expérimentale complète : évaluation complète sur 29 ensembles de données de Ruler et LongBench, montrant des améliorations significatives dans les deux scénarios conscients et inconscients des questions

Détails de la Méthode

Définition de la Tâche

Étant donné une couche d'auto-attention multi-têtes, sélectionner les éléments de cache KV à conserver sous contrainte de budget, de manière à minimiser la perte entre la sortie d'attention après éviction et la sortie originale.

Fondements Théoriques

Définition de la Perte d'Éviction L1

Les auteurs quantifient la perte d'éviction comme la distance L1 entre les sorties du mécanisme d'auto-attention avant et après l'éviction :

Perte d’Eˊviction L1=yy^1\text{Perte d'Éviction L1} = ||y - \hat{y}||_1

yy et y^\hat{y} sont respectivement les sorties d'attention avant et après l'éviction.

Dérivation de la Borne Supérieure de la Perte

Théorème 3.1 : La perte d'éviction L1 peut être limitée par une borne supérieure ϵ\epsilon :

Perte d’Eˊviction L1ϵ=2hC2Ci[1,h]j[1,n]IijAij\text{Perte d'Éviction L1} \leq \epsilon = 2hC - 2C\sum_{i \in [1,h]}\sum_{j \in [1,n]} I_i^j A_i^j

C=max{ViWiO}C = \max\{\|V_iW_i^O\|_\infty\} est une constante, IijI_i^j est la variable indicatrice de décision d'éviction, et AijA_i^j est le poids d'attention.

Théorème 3.2 : La méthode d'éviction de cache Top-k minimise la borne supérieure de la perte sous une allocation de budget donnée :

ϵ=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

Algorithme Ada-KV

Algorithme 1 : Allocation de Budget Adaptative

Entrée : Budget total B, poids d'attention de chaque tête {A_i}
Sortie : Budget alloué {B_i^*}
1. Concaténer les poids d'attention de toutes les têtes : A = Cat({A_i})
2. Sélectionner les top B poids de A : Top-k(A, k=B)
3. Compter le nombre de poids sélectionnés pour chaque tête : {f_i}
4. Définir le budget alloué : {B_i^* = f_i}

Avantages Théoriques

Théorème 3.3 : L'allocation de budget adaptative réalise la borne supérieure de perte minimale :

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

Intégration aux Méthodes Existantes

Les auteurs démontrent l'intégration d'Ada-KV avec deux méthodes de l'état de l'art :

Ada-SnapKV et Ada-Pyramid

Par l'algorithme 2, Ada-KV peut s'intégrer de manière transparente à SnapKV et Pyramid :

  1. Calculer les poids d'attention dans la fenêtre d'observation
  2. Utiliser l'algorithme Ada-KV pour allouer le budget
  3. Appliquer un paramètre de protection de sécurité α = 0,2 pour prévenir une allocation trop éparse
  4. Exécuter les décisions d'éviction Top-k

Points d'Innovation Technique

  1. Perspective d'optimisation globale : considère l'allocation de budget au niveau des têtes comme un problème d'optimisation globale plutôt que locale
  2. Conception guidée par la théorie : guide la conception d'algorithmes basée sur une analyse théorique rigoureuse
  3. Garantie d'efficacité computationnelle : maintient l'efficacité computationnelle grâce à FlashAttention de longueur variable et une disposition de cache aplatie
  4. Compatibilité GQA : supporte Group Query Attention, réalisant une compression de cache supplémentaire

Configuration Expérimentale

Ensembles de Données

  • Benchmark Ruler : 13 tâches de longues séquences, principalement des variantes de tests Needle-in-a-Haystack, évaluant une longueur de 16K
  • Benchmark LongBench : 16 ensembles de données, couvrant QA sur document unique, QA sur plusieurs documents, résumé, apprentissage peu supervisé, tâches synthétiques et génération de code

Modèles de Base

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

Indicateurs d'Évaluation

Utiliser les indicateurs correspondants selon le type de tâche : score F1 (tâches QA), Rouge-L (tâches de résumé), précision (tâches de classification), similarité d'édition (tâches de code)

Méthodes de Comparaison

  • Méthodes de base : SnapKV, Pyramid, StreamingLLM
  • Versions améliorées : Ada-SnapKV, Ada-Pyramid

Scénarios Expérimentaux

  • Compression consciente des questions : scénario standard où les questions sont connues
  • Compression inconsciente des questions : scénario d'application réelle plus difficile

Résultats Expérimentaux

Résultats Principaux

Tests du Benchmark Ruler

Dans le scénario inconscient des questions, utilisant Llama-3.1-8B-Instruct :

  • Budget de cache de 80% : Ada-SnapKV élève le score de SnapKV de 87,59 à 92,67
  • Budget de cache de 20% : Ada-SnapKV élève le score de SnapKV de 44,02 à 53,29

Tests du Benchmark LongBench

Dans le scénario inconscient des questions :

  • Ada-SnapKV et Ada-Pyramid améliorent continuellement la qualité de la génération sous tous les paramètres de budget fixe
  • Approchent une performance quasi sans perte avec un budget de 2048

Analyse des Sous-tâches

Dans les tâches difficiles Needle-in-a-Haystack :

  • Tâche S-NIAH-3 (budget de 80%) : Ada-SnapKV élève SnapKV de 62,4 à 97,6
  • Tâche MK-NIAH-2 (budget de 80%) : Ada-SnapKV élève SnapKV de 85,2 à 99,6

Efficacité Computationnelle

Ada-SnapKV avec un budget fixe de 1024 :

  • L'utilisation de mémoire de pointe est comparable à SnapKV original
  • La latence de décodage est comparable à SnapKV original
  • Les deux sont significativement supérieurs au cas du cache complet

Vérification d'Application Étendue

La stratégie Ada-KV a été adoptée par plusieurs travaux ultérieurs :

  • CriticalKV + Ada-KV : élève de 42,99 à 43,77 avec 20% de cache
  • DefensiveKV + Ada-KV : élève de 43,78 à 46,68 avec 20% de cache

Travaux Connexes

Méthodes d'Éviction de Cache

  • Méthodes de fenêtre glissante : StreamingLLM et autres, simples mais avec perte de qualité importante
  • Méthodes Top-k : H2O, SnapKV, Pyramid et autres, sélectionnant les éléments critiques basés sur les poids d'attention

Méthodes d'Attention Éparse

Conceptuellement liées à l'éviction de cache mais méthodologiquement différentes :

  • Éviction de cache : conserver uniquement un sous-ensemble du cache KV
  • Attention éparse : conserver toutes les entrées mais les utiliser sélectivement

Autres Technologies Connexes

  • Quantification du cache KV : réduire la précision des éléments individuels
  • Décodage spéculatif : utiliser des modèles avec cache réduit pour générer des brouillons
  • Attention paginée : gestion efficace de la mémoire

Conclusion et Discussion

Conclusions Principales

  1. Ada-KV propose pour la première fois une stratégie d'allocation de budget adaptative au niveau des têtes, améliorant significativement les performances des méthodes d'éviction de cache existantes
  2. L'analyse théorique établit un cadre rigoureux pour l'éviction de cache, guidant la conception d'algorithmes
  3. Le scénario de compression inconscient des questions révèle les limitations des méthodes existantes, méritant une attention accrue

Limitations

  1. L'allocation actuelle au niveau des têtes est limitée à l'intérieur d'une seule couche, non étendue à l'allocation entre couches
  2. Le paramètre de protection de sécurité α nécessite un compromis de performance sous différents budgets
  3. L'analyse théorique est basée sur la distance L1, pouvant ne pas refléter complètement la qualité réelle de la génération

Directions Futures

  1. Étendre le mécanisme d'allocation au niveau des têtes au scénario entre couches
  2. Développer l'analyse théorique correspondante entre couches
  3. Combiner avec l'analyse d'importance des têtes au moment de l'entraînement
  4. Optimisation conjointe avec d'autres techniques d'optimisation (quantification, attention éparse)

Évaluation Approfondie

Points Forts

  1. Contributions théoriques solides : établit un cadre théorique complet, de la dérivation de la borne supérieure de perte à la conception d'algorithmes avec une logique claire
  2. Méthode simple et efficace : algorithme concis et facile à comprendre, la caractéristique prête à l'emploi le rend facile à adopter
  3. Expérimentation complète et suffisante : évaluation complète sur 29 ensembles de données, incluant le scénario inconscient des questions souvent négligé
  4. Valeur pratique élevée : adoptée par plusieurs travaux ultérieurs, prouvant la valeur et l'impact de la méthode

Insuffisances

  1. Écart entre théorie et pratique : bien que théoriquement minimisant la borne supérieure de perte, ne peut garantir la minimisation de la perte réelle
  2. Sensibilité aux hyperparamètres : le choix du paramètre de protection de sécurité α nécessite un ajustement empirique
  3. Limitations d'extensibilité : considère actuellement uniquement l'allocation de budget au sein d'une seule couche
  4. Limitations d'évaluation : évaluation principalement sur des modèles de taille moyenne, l'efficacité sur les grands modèles reste à vérifier

Impact

  1. Contribution académique : fournit une nouvelle direction de recherche pour le domaine de l'optimisation du cache KV
  2. Valeur pratique : la caractéristique prête à l'emploi la rend facile à déployer dans les systèmes réels
  3. Reproductibilité : fournit du code open-source et des détails d'implémentation détaillés
  4. Inspirant : fournit un cadre théorique et une orientation méthodologique pour les recherches ultérieures

Scénarios d'Application

  1. Inférence sur longues séquences : particulièrement adaptée aux applications nécessitant de traiter de longs contextes
  2. Environnements aux ressources limitées : optimise l'efficacité d'inférence lorsque la mémoire GPU est limitée
  3. Systèmes en temps réel : équilibre la qualité et l'efficacité dans les services en ligne
  4. Dialogue multi-tours : le scénario de compression inconscient des questions est particulièrement adapté aux systèmes de dialogue

Références

L'article cite 64 références connexes, incluant principalement :

  • Travaux fondamentaux sur les modèles de langage de grande taille (GPT-4, Claude, Gemini, etc.)
  • Méthodes d'optimisation du cache KV (H2O, SnapKV, Pyramid, etc.)
  • Optimisation des mécanismes d'attention (FlashAttention, attention éparse, etc.)
  • Benchmarks de traitement de longues séquences (Ruler, LongBench, etc.)

Évaluation Générale : Ceci est un article de recherche de haute qualité qui atteint un bon équilibre entre contributions théoriques et valeur pratique. La méthode Ada-KV est simple et efficace, l'analyse théorique est rigoureuse, et la vérification expérimentale est complète. L'article non seulement résout les limitations importantes des méthodes existantes, mais fournit également un cadre et une direction précieux pour les recherches futures.