CompressKV: Semantic Retrieval Heads Know What Tokens are Not Important Before Generation
2508.02401v1
cs.CL, cs.AI
2025-08-09
Авторы:
Xiaolin Lin, Jingcun Wang, Olga Kondrateva, Yiyu Shi, Bing Li, Grace Li Zhang
Резюме на русском
**Резюме**
Современные большие языковые модели (LLMs) сверточных архитектур способны обрабатывать длинные контексты, однако впоследствии сталкиваются с проблемой эффективности памяти из-за растущего размера кэша ключ-значение (KV). Большинство методов сжатия KV-кэша основываются на групповом запросе (GQA) и используют все аттенционные головы для определения важных токенов. Это приводит к неоптимальным выборам, так как не все головы имеют одинаковый вклад в выделение смысла.
Предлагаемый подход CompressKV расширяет эту идею, идентифицируя головы каждого слоя, которые особенно эффективны в поиске ключевых токенов и учете их семантического окружения. Эти головы используются для определения важных токенов и сохранения соответствующих им пар KV-кэша. Также вводится адаптивная стратегия распределения KV-кэша по каждому слою. Эксперименты показали, что CompressKV превосходит современные методы по индикаторам потребления памяти и производительности на LongBench и Needle-in-a-Haystack. Результаты доступны в открытом доступе по адресу: https://github.com/TUDa-HWAI/CompressKV.git.
Abstract
Recent advances in large language models (LLMs) have significantly boosted
long-context processing. However, the increasing key-value (KV) cache size
poses critical challenges to memory and execution efficiency. Most KV cache
compression methods rely on heuristic token eviction using all attention heads
in Grouped Query Attention (GQA)-based LLMs. This method ignores the different
functionalities of attention heads, leading to the eviction of critical tokens
and thus degrades the performance of LLMs.
To address the issue above, instead of using all the attention heads in
GQA-based LLMs to determine important tokens as in the previous work, we first
identify the attention heads in each layer that are not only capable of
retrieving the initial and final tokens of a prompt, but also capable of
retrieving important tokens within the text and attending to their surrounding
semantic context. Afterwards, we exploit such heads to determine the important
tokens and retain their corresponding KV cache pairs. Furthermore, we analyze
the cache eviction error of each layer individually and introduce a
layer-adaptive KV cache allocation strategy. Experimental results demonstrate
the proposed CompressKV consistently outperforms state-of-the-art approaches
under various memory budgets on LongBench and Needle-in-a-Haystack benchmarks.
Our code is publicly available at: https://github.com/TUDa-HWAI/CompressKV.git.
Ссылки и действия
Дополнительные ресурсы: