SpeCache: Speculative Key-Value Caching for Efficient Generation of LLMs
Shibo Jie, Yehui Tang, Kai Han, Zhi-Hong Deng, Jing Han
TL;DR
SpeCache tackles the VRAM bottleneck in long-sequence LLM inference by offloading the full KV cache to CPU memory and using a speculative decoding step to prefetch the most relevant KV pairs into VRAM. It maintains a low-bit KV copy in GPU memory and decodes two tokens in parallel, enabling effective latency hiding without retraining. Across LongBench and Needle-in-a-Haystack benchmarks, SpeCache achieves substantial VRAM reductions and throughput gains, maintaining near baseline accuracy even with high KV compression. The method is training-free and complementary to existing KV quantization techniques, making long-context generation and retrieval-augmented tasks more practical.
Abstract
Transformer-based large language models (LLMs) have already achieved remarkable results on long-text tasks, but the limited GPU memory (VRAM) resources struggle to accommodate the linearly growing demand for key-value (KV) cache as the sequence length increases, which has become a bottleneck for the application of LLMs on long sequences. Existing KV cache compression methods include eviction, merging, or quantization of the KV cache to reduce its size. However, compression results in irreversible information forgetting, potentially affecting the accuracy of subsequent decoding. In this paper, we propose SpeCache, which takes full advantage of the large and easily expandable CPU memory to offload the complete KV cache, and dynamically fetches KV pairs back in each decoding step based on their importance measured by low-bit KV cache copy in VRAM. To avoid inference latency caused by CPU-GPU communication, SpeCache speculatively predicts the KV pairs that the next token might attend to, allowing us to prefetch them before the next decoding step which enables parallelization of prefetching and computation. Experiments on LongBench and Needle-in-a-Haystack benchmarks verify that SpeCache effectively reduces VRAM usage while avoiding information forgetting for long sequences without re-training, even with a 10x high KV cache compression ratio.
