Q-Filter: Nutzung der QK-Geometrie zur effizienten KV-Cache-Komprimierung
Q-Filters: Leveraging QK Geometry for Efficient KV Cache Compression
March 4, 2025
Autoren: Nathan Godey, Alessio Devoto, Yu Zhao, Simone Scardapane, Pasquale Minervini, Éric de la Clergerie, Benoît Sagot
cs.AI
Zusammenfassung
Autoregressive Sprachmodelle nutzen einen Key-Value (KV)-Cache, der die Neuberechnung vergangener versteckter Zustände während der Generierung vermeidet und somit den Prozess beschleunigt. Mit zunehmender Modellgröße und Kontextlänge wird der KV-Cache jedoch zu einem erheblichen Speicher-Engpass, was Kompressionsmethoden erforderlich macht, die seine Größe während der Generierung begrenzen. In diesem Artikel entdecken wir überraschende Eigenschaften von Query (Q)- und Key (K)-Vektoren, die es uns ermöglichen, Attention-Scores effizient zu approximieren, ohne die Attention-Maps zu berechnen. Wir schlagen Q-Filters vor, eine trainingsfreie KV-Cache-Kompressionsmethode, die weniger wichtige Key-Value-Paare basierend auf einer einzigen kontextunabhängigen Projektion herausfiltert. Im Gegensatz zu vielen Alternativen ist Q-Filters mit FlashAttention kompatibel, da es keinen direkten Zugriff auf Attention-Gewichte erfordert. Experimentelle Ergebnisse in Langzeitkontexten zeigen, dass Q-Filters bei Retrieval-Aufgaben mit attention-basierten Kompressionsmethoden wie SnapKV konkurrenzfähig ist und effiziente Kompressionsverfahren wie Streaming-LLM in Generierungsszenarien durchgängig übertrifft. Bemerkenswerterweise erreicht Q-Filters eine 99%ige Genauigkeit in der „Nadel im Heuhaufen“-Aufgabe bei einem Kompressionsfaktor von x32 und reduziert den Perplexitätsabfall in der Textgenerierung im Vergleich zu Streaming-LLM um bis zu 65%.
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