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.
Ссылки и действия
Дополнительные ресурсы: