长上下文推理正在重塑大模型应用的边界,但 KV 缓存的膨胀速度已成为显存瓶颈的核心矛盾。当上下文长度从 4K 扩展到 128K 甚至 1M,缓存占用的显存呈线性增长,在批量推理场景下很快触及硬件上限。传统的解决方案分为两派:一派追求有损压缩,通过量化或剪枝换取空间,代价是质量损失的不确定性;另一派尝试分页和驱逐策略,在内存层级间腾挪数据。本文介绍一种第三条路径 —— 推测性 KV 编码(Speculative KV Coding),它利用熵编码理论,通过一个小型预测模型驱动算术编码器,在保持无损的前提下实现缓存体积 4 倍缩减。
从信息论视角重新审视 KV 缓存
KV 缓存的本质是确定性的:给定固定的模型权重和输入提示,前向传播产生的键值张量是唯一确定的。这意味着从信息论角度看,缓存的 "真实分布" 是一个 delta 函数,熵为零。任何编码开销本质上都是模型分布与真实分布之间的 KL 散度代价。
推测性 KV 编码的核心洞察在于:如果我们能构建一个足够接近真实 KV 缓存的预测分布,算术编码器就能以接近该分布的负对数概率对真实值进行编码。编码比特率直接量化了预测模型的校准质量 —— 更好的预测意味着更短的编码长度。
具体而言,系统采用高斯分布作为预测模型:q (x) = N (x; μ, σ²)。编码成本分解为两个相互制衡的项:spread cost(½ln (2πσ²))随方差增大而增加,miss cost((KV-μ)²/2σ²)则在预测偏差大时爆炸。最优方差设定在经验残差方差处,此时期望比特率为 ½ln (2πeσ²),即残差幅度的对数。
预测模型的工程选择
预测模型的设计是压缩效率与计算成本之间的权衡。极端情况下,若预测器就是目标模型本身,则 μ=KV_full、σ=0,无需传输任何比特,但编码端需要额外执行一次完整的前向传播,得不偿失。另一端则是纯噪声预测,需要约 16 比特 / 标量,几乎无压缩收益。
实践中,最自然的预测器选择是目标模型的量化版本。以 FP8 量化模型为例:编码端运行完整精度的目标模型获得 KV_full,同时运行 FP8 版本的同一模型获得 KV_quant 作为预测均值 μ。残差 KV_full - KV_quant 具有良好结构 —— 量化引入的扰动在参数层面是小幅且可控的,在前向传播中保持这种特性。残差的通道级统计量 σ 可在小型校准集上一次性测量并冻结,后续编解码双方仅需在提示上运行 FP8 预测器即可重建 (μ,σ) 对。
为进一步捕捉残差的长尾特性,作者采用三组分混合分布优化编码效率:95% 权重分配给主高斯 N (μ,σ²),覆盖典型残差;3% 分配给宽高斯 N (μ,(3σ)²),吸收中等偏离;剩余 2% 退化为经验 bf16 边际分布,处理深度异常值。这种混合策略避免了单一高斯在异常值上的代价爆炸。
实测压缩率与规模效应
在 Qwen3 模型族(0.6B 至 32B 参数)上的实验揭示了有趣的规模效应:更大的目标模型反而获得更好的压缩率。
使用单高斯预测器时,比特率从 0.6B 模型的 6.87 比特 / 标量单调下降至 32B 模型的 5.98 比特 / 标量,对应压缩比从 2.37× 提升至 2.70×。引入混合分布模型后,32B 模型达到 5.92 比特 / 标量,压缩比 2.70×。
更值得关注的是与有损量化的叠加效应。当目标缓存本身已是 FP8 格式(e4m3)时,推测编码在 8 比特基础上进一步压缩至 2.05-2.59 比特 / 元素,实现额外 3.08× 至 3.90× 压缩。综合 bf16→FP8 的 2× 和 FP8→编码的约 4×,原始 bf16 缓存可获得 6-8 倍总体积缩减。
这一结果具有工程意义:FP8 作为 vLLM、SGLang、TRT-LLM 等推理引擎的默认缓存格式,已成为生产环境的基线。推测编码与其正交叠加,不引入额外的质量损失路径。
应用场景与落地参数
推测性 KV 编码的价值在带宽受限或内存稀缺场景中最为凸显。
跨数据中心分离式预填充(Disaggregated Prefill):将预填充与解码阶段分离到不同节点是提升吞吐的经典策略,但跨数据中心的慢速链路使 KV 缓存传输成为瓶颈。Kimi 团队近期工作通过混合注意力机制实现 10-36× 缓存缩减,推测编码可在此基础上无损压缩剩余部分,两者乘法叠加。
Prefix 缓存扩容:系统级提示、检索文档、多轮对话中的共享前缀通常被缓存以避免重复计算。压缩存储的缓存条目可在命中时解压缩使用,等效于以计算换容量。当缓存需卸载至主机内存并通过 PCIe 传输时,压缩收益更为清晰 —— 解压缩开销可掩盖原本带宽受限的传输延迟。
工程落地的关键参数包括:
- 吞吐匹配:算术编码器需维持不低于缓存消费速率的解码吞吐,否则成为新瓶颈
- 比特一致性:预测器必须在编解码两端产生 bit-identical 的 (μ,σ),算术编码对 CDF 的微小分歧零容忍
- 校准集规模:作者使用 128 条、每条 1024 token 的 C4 样本进行 σ 估计,该规模可作为起点
局限与未来方向
当前实现采用静态的每通道 σ,忽略了残差在位置、通道、层之间的联合结构,也未考虑提示级别的方差变化。引入位置感知的动态 σ 估计或捕捉层间相关性的更复杂残差模型,有望进一步压低比特率。
更具前瞻性的方向是异构预测器 —— 使用与目标模型不同架构、不同规模的小模型作为预测器。这需要在预测器输出与目标 KV 形状之间引入可学习的映射层,但可能大幅降低预测端计算成本。预测器是否 "回本"—— 即节省的带宽 / 内存是否超过额外计算开销 —— 是实际部署前的核心评估问题。
推测性 KV 编码为长上下文推理的显存困境提供了一条无损路径。它不替代量化、分页或注意力机制优化,而是作为正交维度与这些技术叠加。在显存墙日益凸显的当下,任何乘法性的体积缩减都值得认真评估。
参考来源
- Fergus Finn, "Speculative KV coding: losslessly compressing KV cache by up to ~4× using a predictor model", 2026
内容声明:本文无广告投放、无付费植入。
如有事实性问题,欢迎发送勘误至 i@hotdrydog.com。