LoopVQ:面向循环 Transformer 的低于 1 比特 KV 缓存量化
LoopVQ: Sub 1-bit KV Cache Quantization for Looped Transformers
精选理由
深度 91 / 新颖度 88,来自 arXiv cs.AI。
AI 摘要
循环 Transformer 是标准 Transformer 在语言建模中的一种参数高效替代方案。通过在多个循环步骤中重复使用相同的层,近期的循环语言模型以远小于非循环模型的参数规模,达到了后者数倍规模模型的性能。尽管这种架构有效减少了参数内存,但每个循环步骤仍会存储各自的键和值,因此键值(KV)缓存会随循环步骤数线性增长,并成为主要的内存瓶颈。我们观察到,循环模型的 KV 缓存沿循环轴存在高度冗余,并且不同循环步骤对量化的敏感度差异显著。基于这些观察,我们提出了 LoopVQ,这是一种面向循环 Transformer 的 KV 缓存向量量化方法,可联合编码多个循环步骤的通道,并对码本进行微调,使其匹配全精度模型的输出。在每元素 0.5 比特的设置下,使用 Ouro 和 Huginn 模型进行通用任务、长链式思维推理任务以及长上下文检索任务时,LoopVQ 的表现优于现有面向标准 LLM 的 KV 缓存向量量化方法。LoopVQ 的设计与这些方法正交,与 TaSQ 结合后,即使在每元素 0.25 比特的设置下,仍能保留 BF16 精度的大部分性能。我们还在 SGLang 中实现了 LoopVQ:在 32K token 上下文长度下,解码延迟几乎降低了一半;与 BF16 基线相比,在 1.4B 和 2.6B Ouro 模型上,峰值服务吞吐量最高分别提升至 4.3 倍和 6.1 倍。