KV Cache Transform Coding for Compact Storage in LLM Inference
Konrad Staniszewski, Adrian Łańcucki
TL;DR
KVTC introduces a transform-coding approach to compress large KV caches used in LLM inference. It performs a one-time calibration to learn a PCA-like basis, followed by DP-guided perceptual-like bit allocation and lossless entropy coding, enabling up to about 20× average compression with negligible accuracy loss and over 40× in some scenarios. The method preserves model parameters, supports reuse across turns, and complements existing cache-management strategies, offering a practical path to memory-efficient, scalable LLM serving. Across multiple models and benchmarks, KVTC consistently outperforms inference-time baselines such as eviction, low-rank, and simple quantization methods while delivering favorable latency characteristics.
Abstract
Serving large language models (LLMs) at scale necessitates efficient key-value (KV) cache management. KV caches can be reused across conversation turns via shared-prefix prompts that are common in iterative code editing and chat. However, stale caches consume scarce GPU memory, require offloading, or force recomputation. We present KVTC, a lightweight transform coder that compresses KV caches for compact on-GPU and off-GPU storage. Drawing on classical media compression, KVTC combines PCA-based feature decorrelation, adaptive quantization, and entropy coding. It requires only a brief initial calibration and leaves model parameters unchanged. By exploiting redundancies in KV caches, KVTC achieves up to 20$\times$ compression while maintaining reasoning and long-context accuracy, and 40$\times$ or higher for specific use cases. We test KVTC with Llama 3, Mistral NeMo, and R1-Qwen 2.5 models across benchmarks including AIME25, LiveCodeBench, GSM8K, MMLU, Qasper, RULER, and MATH-500. It consistently outperforms inference-time baselines such as token eviction, quantization, and SVD-based methods, while achieving higher compression ratios. These results support KVTC as a practical building block for memory-efficient LLM serving with reusable KV caches.
