Kitty: Accurate and Efficient 2-bit KV Cache Quantization with Dynamic Channel-wise Precision Boost
Haojun Xia, Xiaoxia Wu, Jisen Li, Robert Wu, Junxiong Wang, Jue Wang, Chenxi Li, Aman Singhal, Alay Dilipbhai Shah, Alpay Ariyak, Donglin Zhuang, Zhongzhu Zhou, Ben Athiwaratkun, Zhen Zheng, Shuaiwen Leon Song
TL;DR
Kitty addresses the KV cache memory bottleneck in long-context LLM inference by enabling aggressive $2$-bit quantization with minimal accuracy loss. It introduces Dynamic Channel-wise Precision Boost, which preserves a small subset of Key channels in higher precision ($INT4$) while quantizing the rest to $INT2$, together with preserving initial tokens in full precision, forming a practical mixed-precision approach. The system uses a page-centric KV layout with a Dense–Sparse decomposition and Triton-based dequantization kernels to maintain memory coalescing and low divergence, enabling end-to-end inference. Across Qwen3 and LLaMA3 models and long-context benchmarks, Kitty achieves up to $8\times$ memory reduction and throughput improvements of $2.1$–$4.1\times$ under the same memory budget, with accuracy approaching FP16; the authors also release the implementation.
Abstract
The KV cache is a dominant memory bottleneck for LLM inference. While 4-bit KV quantization preserves accuracy, 2-bit often degrades it, especially on long-context reasoning. We close this gap via an algorithm-system co-design for mixed-precision KV caching: Kitty. On the algorithm side, extensive experiments show that Dynamic Channel-wise Precision Boost -- which ranks Key-cache channels by sensitivity and keeps only a small fraction at higher precision -- maintains near-zero loss in accuracy drop while approaching 2-bit memory. The main challenge is handling dynamic 4-bit channel boosts while keeping the page layout coalesced and the dequantization uniform, with no scattered reads or hard-coded masks. Kitty addresses these issues by decompose each mixed-precision Key page into two tensors with unified 2-bit precision. Based on this, Kitty provides a page-centric KV layout, Triton-compatible page dequantization kernels, and a lightweight runtime pipeline that preserves coalescing and avoids divergence. Across seven tasks and two model families (Qwen3, LLaMA3), Kitty cuts KV memory by nearly 8x with negligible accuracy loss, enabling up to 8x larger batches and 2.1x-4.1x higher throughput under the same memory budget. We release the full implementation of Kitty at https://github.com/Summer-Summer/Kitty.
