TurboQuant:优化 AI 模型的 KV 缓存压缩算法
Google 的 TurboQuant 通过向量量化解决 Transformer KV 缓存的瓶颈,减少内存消耗,同时不牺牲准确性。该算法结合 PolarQuant 和 QJL,实现每元素低至 3 位压缩,同时在长上下文任务中保持性能。这使得在资源受限硬件上运行大型语言模型成为可能。
该方法针对注意力机制中的键值对,传统量化需为数据块存储常量,从而产生额外开销。TurboQuant 通过极坐标和残差误差量化消除这些成本。
PolarQuant:无开销压缩
PolarQuant 将内存向量的笛卡尔坐标转换为极坐标,消除冗余常量。该方法不存储沿 X、Y、Z 轴的距离,而是使用半径和角度最小化码本内存。
该方法的优势:
- 存储元数据零开销。
- 保留向量空间几何结构。
- 与现有向量搜索管道兼容。
这特别适用于加速语义搜索系统中的索引,TurboQuant 在 GloVe 数据集(d=200)上实现 1@k 召回率。
QJL:基于 Johnson-Lindenstrauss 的误差校正
PolarQuant 后,QJL 应用于 1 位残差。该算法利用 Johnson-Lindenstrauss 变换 (JLT) 将高维数据投影到低维空间,同时保留距离。
QJL 包括:
- 将误差投影到随机 JLT 矩阵上。
- 专用估计器平衡查询准确性和压缩数据。
- 解码无额外内存开销。
结果是无需微调模型即可实现高精度相似性恢复。
基准测试和性能
TurboQuant 在开放大型语言模型(Gemma、Mistral)上测试,涵盖 LongBench、Needle In A Haystack、ZeroSCROLLS、RULER 和 L-Eval 等基准。在 Llama-3.1-8B-Instruct 上,它在标量积失真和召回率方面优于基线,同时最小化 KV 缓存大小。
在 Needle In A Haystack 任务(长上下文查找片段)中,KV 压缩至 3 位保持原始模型准确性,并加速推理。相比优化的 JAX 基线,TurboQuant 在 3 至 8 位级别提供注意力 logits 加速。
关键指标:
- KV 缓存内存至少减少 6 倍。
- 索引更小,向量搜索更快。
- 无需重新训练保持稳定性能。
重要要点
- TurboQuant 结合 PolarQuant 和 QJL,实现极端 KV 缓存压缩无质量损失。
- 支持大型语言模型长上下文,提升推理速度 20-30%。
- 适用于向量搜索和语义索引,最小内存占用。
- 无需重新训练适用于 Gemma、Mistral 和 Llama 模型。
- 仅限推理,不解决训练挑战。
部署前景
该算法适用于大型向量数据库的生产场景,降低索引构建延迟。对于大型语言模型,它优化长序列 KV 缓存,使模型能在消费级硬件运行。ICLR 2026 展示将验证其可扩展性。
— Editorial Team
暂无评论。