Q-Filters : Exploiter la géométrie QK pour une compression efficace du cache KV
Q-Filters: Leveraging QK Geometry for Efficient KV Cache Compression
March 4, 2025
Auteurs: Nathan Godey, Alessio Devoto, Yu Zhao, Simone Scardapane, Pasquale Minervini, Éric de la Clergerie, Benoît Sagot
cs.AI
Résumé
Les modèles de langage autorégressifs s'appuient sur un cache Clé-Valeur (KV), qui évite de recalculer les états cachés passés lors de la génération, rendant ainsi le processus plus rapide. À mesure que la taille des modèles et la longueur des contextes augmentent, le cache KV devient un goulot d'étranglement mémoire significatif, ce qui nécessite des méthodes de compression pour limiter sa taille pendant la génération. Dans cet article, nous découvrons des propriétés surprenantes des vecteurs Requête (Q) et Clé (K) qui nous permettent d'approximer efficacement les scores d'attention sans calculer les cartes d'attention. Nous proposons Q-Filters, une méthode de compression du cache KV sans entraînement, qui filtre les paires Clé-Valeur moins cruciales en se basant sur une projection unique et indépendante du contexte. Contrairement à de nombreuses alternatives, Q-Filters est compatible avec FlashAttention, car il ne nécessite pas d'accès direct aux poids d'attention. Les résultats expérimentaux dans des contextes de longue durée montrent que Q-Filters est compétitif par rapport aux méthodes de compression basées sur l'attention, comme SnapKV, dans les tâches de recherche, tout en surpassant systématiquement les schémas de compression efficaces, tels que Streaming-LLM, dans les configurations de génération. Notamment, Q-Filters atteint une précision de 99 % dans la tâche de l'aiguille dans une botte de foin avec un niveau de compression x32, tout en réduisant la baisse de perplexité lors de la génération de texte jusqu'à 65 % par rapport à Streaming-LLM.
English
Autoregressive language models rely on a Key-Value (KV) Cache, which avoids
re-computing past hidden states during generation, making it faster. As model
sizes and context lengths grow, the KV Cache becomes a significant memory
bottleneck, which calls for compression methods that limit its size during
generation. In this paper, we discover surprising properties of Query (Q) and
Key (K) vectors that allow us to efficiently approximate attention scores
without computing the attention maps. We propose Q-Filters, a training-free KV
Cache compression method that filters out less crucial Key-Value pairs based on
a single context-agnostic projection. Contrarily to many alternatives,
Q-Filters is compatible with FlashAttention, as it does not require direct
access to attention weights. Experimental results in long-context settings
demonstrate that Q-Filters is competitive with attention-based compression
methods such as SnapKV in retrieval tasks while consistently outperforming
efficient compression schemes such as Streaming-LLM in generation setups.
Notably, Q-Filters achieves a 99% accuracy in the needle-in-a-haystack task
with a x32 compression level while reducing the generation perplexity drop by
up to 65% in text generation compared to Streaming-LLM.Summary
AI-Generated Summary