SparK: Query-Aware Unstructured Sparsity with Recoverable KV Cache Channel Pruning

2508.15212v1 cs.CL, cs.AI, cs.LG 2025-08-23
Авторы:

Huanxuan Liao, Yixing Xu, Shizhu He, Guanchen Li, Xuanwu Yin, Dong Li, Emad Barsoum, Jun Zhao, Kang Liu

Резюме на русском

#### Контекст Современные боLты на основе текста сталкиваются с значительными проблемами в обработке длинных контекстов. Это связано с тем, что хранилище ключ-значение (KV cache) растет линейно с увеличением длины последовательностей, в то время как вычисление внимания происходит квадратично. Это приводит к значительным ограничениям в памяти и вычислительной сложности. Одним из главных подходов является сжатие KV-хранилища по временной оси с помощью таких методов, как удаление токенов, объединение каналов или мерджинг. Однако эти методы часто не учитывают тонкости важности каналов (например, на строковой оси), что ограничивает их эффективность. Наша мотивация заключается в разработке метода, который бы учитывал важность каналов в зависимости от контекста, чтобы эффективно уменьшить вычислительные затраты. #### Метод Мы предлагаем SparK, совершенно новый метод, который уменьшает нагрузку на KV-хранилище при обработке ввода, используя спарсинг по каналам. SparK применяет неструктурированную спарсингу на уровне каналов, что означает, что он удаляет некоторые каналы, но восстанавливает их при вычислении скорости внимания. Этот подход позволяет сохранить модельную точность, даже если большая часть каналов будет удалена. Метод не требует обучения и является взаимозаменяемым с другими методами сжатия KV-хранилища. #### Результаты Мы провели эксперименты на различных датасетах, включая LongBench, Long-Range Arena и другие. Проанализировали поведение SparK в сценариях с длинными контекстами и по сравнению с другими методами сжатия KV-хранилища. Наши результаты показали, что SparK уменьшает расход памяти на более чем 30% по сравнению с удалением токенов, при этом сохраняя почти те же результаты точности. Кроме того, даже при сжатии на 80%, SparK сохраняет модельную точность близкую к базовому методу с восстановлением токенов. Эти результаты демонстрируют высокую эффективность SparK в уменьшении нагрузки на KV-хранилище. #### Значимость SparK широко может быть применен в области обработки естественного языка, где требуется обработка длинных контекстов. Этот метод имеет преимущества перед существующими подходами, так как он уменьшает нагрузку на память, не требуя дополнительного обучения. Также SparK может быть интегрирован с другими методами сжатия KV-хранилища для дополнительного увеличения производительности. Это открывает новые возможности для работы с большими моделями и длинными контекстами. #### Выводы Мы представили метод SparK, который предлагает новый подход к сжатию KV-хранилища при обработке длинных контекстов. Метод SparK демонстрирует высокую эффективно

Abstract

Long-context inference in large language models (LLMs) is increasingly constrained by the KV cache bottleneck: memory usage grows linearly with sequence length, while attention computation scales quadratically. Existing approaches address this issue by compressing the KV cache along the temporal axis through strategies such as token eviction or merging to reduce memory and computational overhead. However, these methods often neglect fine-grained importance variations across feature dimensions (i.e., the channel axis), thereby limiting their ability to effectively balance efficiency and model accuracy. In reality, we observe that channel saliency varies dramatically across both queries and positions: certain feature channels carry near-zero information for a given query, while others spike in relevance. To address this oversight, we propose SPARK, a training-free plug-and-play method that applies unstructured sparsity by pruning KV at the channel level, while dynamically restoring the pruned entries during attention score computation. Notably, our approach is orthogonal to existing KV compression and quantization techniques, making it compatible for integration with them to achieve further acceleration. By reducing channel-level redundancy, SPARK enables processing of longer sequences within the same memory budget. For sequences of equal length, SPARK not only preserves or improves model accuracy but also reduces KV cache storage by over 30% compared to eviction-based methods. Furthermore, even with an aggressive pruning ratio of 80%, SPARK maintains performance with less degradation than 5% compared to the baseline eviction method, demonstrating its robustness and effectiveness. Our code will be available at https://github.com/Xnhyacinth/SparK.

Ссылки и действия