什么是 KVarN?
KVarN(Variance Normalized KV-Cache)是华为中央软件实验室为 vLLM 开发的原生 KV-cache 量化后端。
核心理念:现有的 KV-cache 量化方法(如 TurboQuant)虽然增加了缓存容量,但以降低吞吐量为代价(TurboQuant 报告 40-52% 更低的 throughput 换取 2.3-3.7x 容量)。同时,激进的低比特量化还会损失精度。KVarN 的目标是同时保留速度和精度。
关键指标
- 3-5x 更多 KV-cache 容量(对比 FP16)
- 高达 ~1.3x 吞吐量提升(对比 FP16)
- FP16 级别的精度
- 无需校准,即插即用
- 原生 vLLM attention 后端:只需加一个 flag,无需改模型
技术原理
KVarN 使用方差归一化(Variance Normalization)对 KV-cache 进行量化。具体来说,它利用注意力头之间的方差差异,自适应地分配量化位宽,从而达到更好的精度/压缩比平衡。
支持多种量化配置:k4v2(4-bit key + 2-bit value)、k4v4、k2v2 等。
性能对比
- 对比 FP16:3-5x 容量,~1.3x 吞吐量
- 对比 TurboQuant:~2.4x 吞吐量,相同容量,更高精度
- 适合 Agent 和长上下文场景
使用方式
git clone https://github.com/huawei-csl/KVarN.git
cd KVarN
VLLM_USE_PRECOMPILED=1 pip install -e .
然后在 vLLM 代码中设置 kv_cache_dtype="kvarn_k4v2_g128" 即可启用。
意义
KVarN 解决了生产环境中 KV-cache 量化"开不动"的问题:之前的方案要不开着掉速,要不掉精度。KVarN 同时保住了速度和精度,是目前少有的适用于生产部署的 KV-cache 量化方案。