RateQuant:基于率失真理论的最优混合精度KV缓存量化方法
大型语言模型在生成过程中会缓存所有先前计算的键值对,即KV缓存。随着序列长度线性增长,KV缓存成为服务部署的主要内存瓶颈。将KV缓存量化到更少的比特位可以降低这一成本,但现有的量化器对所有注意力头分配相同的位宽,忽略了不同头的重要性差异。一个自然的想法是给重要头分配更多比特,其余头分配较少比特。然而,研究表明这种混合精度分配存在一个隐藏陷阱:每个量化器遵循不同的失真曲线 D(b)=alpha*beta^{-b},而衰减率 beta 在不同量化器设计间从 3.6 到 5.3 不等。将一个量化器的失真模型应用于另一个,会颠倒分配顺序,导致性能甚至不如均匀量化。
为解决这一问题,研究者提出了 RateQuant 方法。RateQuant 首先从一个小型校准集上为每个量化器拟合失真模型,然后通过率失真理论中的反向注水法,以闭式解形式解决位分配问题。实验表明,在 Qwen3-8B 模型上,平均位宽 2.5 时,校准后的 RateQuant 将 KIVI 的困惑度从 49.3 降低到 14.9(降低 70%),并将 QuaRot 的困惑度提升了 6.6。整个校准过程在单个 GPU 上仅需 1.6 秒,推理时零额外开销。
核心贡献
- 识别失真模型不匹配问题:首次指出混合精度量化中,不同量化器的失真曲线差异会导致位分配策略失效。
- 提出 RateQuant 框架:基于率失真理论,通过反向注水法实现最优位分配,无需额外推理开销。
- 显著性能提升:在多种模型和量化器上验证,PPL 大幅降低,且校准过程高效。
技术细节
RateQuant 的核心在于两步:首先,对每个量化器,从少量校准数据(约 128 个序列)中拟合出其失真模型参数 alpha 和 beta。然后,在给定平均位宽约束下,利用率失真理论中的反向注水法求解每个头的位宽分配,使得总失真最小。该方法避免了传统混合精度量化中位宽搜索的昂贵成本,且分配方案具有闭式解。
实验验证
在 LLaMA-2/3、Qwen2.5/3 等系列模型上,RateQuant 在多种位宽设置下均优于均匀量化及现有混合精度方法。例如,在 Qwen3-8B 上,2.5 位平均位宽时,KIVI 的 PPL 从 49.3 降至 14.9,降幅达 70%。同时,RateQuant 与 QuaRot 结合,进一步提升了后者的性能。
行业意义
KV 缓存量化的目标是减少大模型推理的内存占用,从而支持更长的上下文和更大的批量。RateQuant 通过理论指导的混合精度分配,在保持模型质量的同时更高效地压缩缓存。这一方法有望应用于实际推理系统,降低部署成本。此外,其零额外推理开销和极短的校准时间,使得它易于集成到现有量化流程中。