Post-Training Sparse Attention with Double Sparsity

Shuo Yang, Ying Sheng, Joseph E. Gonzalez, Ion Stoica, Lianmin Zheng
8/11/2024
cs.LGcs.AIcs.CL

Official code: andy-yang-1/DoubleSparse (107 stars, MIT, last commit 2025-03-26).

Abstract

The inference process for large language models is slow and memory-intensive, with one of the most critical bottlenecks being excessive Key-Value (KV) cache accesses. This paper introduces "Double Sparsity," a novel post-training sparse attention technique designed to alleviate this bottleneck by reducing KV cache access. Double Sparsity combines token sparsity, which focuses on utilizing only the important tokens for computing self-attention, with channel sparsity, an approach that uses important feature channels for identifying important tokens. Our key insight is that the pattern of channel sparsity is relatively static, allowing us to use offline calibration to make it efficient at runtime, thereby enabling accurate and efficient identification of important tokens. Moreover, this method can be combined with offloading to achieve significant memory usage reduction. Experimental results demonstrate that Double Sparsity can achieve $\frac{1}{16}$ token and channel sparsity with minimal impact on accuracy across various tasks, including wiki-2 perplexity, key-value retrieval, and long context benchmarks with models including Llama-2-7B, Llama-2-70B, and Mixtral-8x7B. It brings up to a 14.1$\times$ acceleration in attention operations and a 1.9$\times$ improvement in end-to-end inference on GPUs. With offloading, it achieves a decoding speed acceleration of 16.3$\times$ compared to state-of-the-art solutions at a sequence length of 256K. Our code is publicly available at https://github.com/andy-yang-1/DoubleSparse.

View on arXivView PDF

Code Implementations(1)

MIT

16-fold memory access reduction with nearly no loss

1079Shell, PythonAug 18, 20241 years agoMIT

Similar Papers

Cite this paper

@article{yang2024posttraining,
  title  = {Post-Training Sparse Attention with Double Sparsity},
  author = {Shuo Yang and Ying Sheng and Joseph E. Gonzalez and Ion Stoica and Lianmin Zheng},
  year   = {2024},
  eprint = {2408.07092},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2408.07092v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2408.07092.svg)](https://codeofpaper.com/paper/2408.07092)

Discussion