论文

ResidualQuant:用两比特残差压缩循环模型KV缓存

ResidualQuant: KV Cache Quantization for Looped Transformers with 2-Bit Residuals

模型优化模型架构模型推理递归架构KV Cache量化

摘要

循环 Transformer 通过在多个循环中重复应用共享 Transformer 块来提高参数效率,从而在不增加参数数量的情况下增加计算深度。然而,KV 缓存内存仍然随着循环数量而扩展,成为限制批量大小和推理吞吐量的关键内存瓶颈。 KV 缓存量化可以缓解这一瓶颈,但现有方法在严重的低精度情况下常常会遭受严重的精度下降。我们观察到,循环 Transformer 提供了一个独特的机会:循环之间的 KV 状态高度相似。基于这一观察,我们提出了 ResidualQuant,它使用最终循环的 KV 状态作为参考,并用低精度残差表示剩余的循环。我们的方法进一步结合了应用于残差的最小二乘缩放和旋转,以及循环混合精度,以实现低至 INT2 的精确量化,同时保持高效的重建。跨多个循环 Transformer 模型以及数学推理和代码生成基准, 与最先进的基于旋转的 KV 量化相比,ResidualQuant 始终如一地改善了准确性与内存的权衡。特别是,我们的方法在混合精度设置下保持了接近 BF16 的精度,同时将理论 KV 存储减少了 80.7%,在相同的内存预算下,比基于旋转的基线提高了 13.0% 的精度。在 RTX 5090 上,减少的 KV 内存流量可将固定批次解码吞吐量提高高达 2.73 倍,而较小的内存占用量可实现高达 2 倍的大批次,从而将峰值吞吐量提高高达 4.15 倍。

ResidualQuant:用两比特残差压缩循环模型KV缓存:论文原图
图 2:Ouro-1.4B 中 RoPE 后的关键震级。左:循环 1,|K1||K_{1}|。中:循环 2,|K2||K_{2}|。右:循环 1 的键进行最小二乘缩放后的残差 |K2−α2K1||K_{2}-\alpha_{2}K_{1}|。所有面板都使用相同的高度和色标。附录 C 中提供了可视化详细信息和最后一个循环锚点比较。