Back to Blog
BlogMarch 29, 20266

什么是TurboQuant?谷歌突破性AI压缩技术实现6倍KV缓存缩减和8倍推理加速

什么是TurboQuant?谷歌突破性AI压缩技术实现6倍KV缓存缩减和8倍推理加速

关键要点

  • TurboQuant 是谷歌研究院提出的在线向量量化算法,可将大型语言模型中的键值缓存压缩至每个值仅需 3 比特,同时在 LongBench、Needle-in-a-Haystack 和 RULER 等基准测试中实现 零精度损失
  • 基准测试表明,与 32 位基线相比,KV 缓存在内存占用上可降低 6 倍,在 NVIDIA H100 GPU 上的注意力对数计算速度提升最高达 8 倍
  • 该方法 无需训练或微调,可立即应用于现有模型,如 Gemma、Mistral、Llama 和 Qwen。
  • 社区反馈显示,它能使消费级硬件处理显著更长的上下文窗口,同时输出质量与全精度推理近乎一致。
  • 该技术结合了随机正交旋转、用于主要压缩的 PolarQuant,以及用于残差校正的 1 比特量化 Johnson-Lindenstrauss。

TurboQuant 是什么?

TurboQuant 是谷歌研究院开发的一种高级向量量化方法,重新定义了大型语言模型和高维向量搜索的效率。它于 2026 年 3 月下旬发布,并将在 ICLR 2026 上展示,主要针对 Transformer 推理中的关键内存瓶颈:KV 缓存。

分析表明,随着上下文长度增长至数万甚至数十万令牌,KV 缓存——存储每个令牌预计算的键和值向量——可消耗数 GB 的 GPU 内存,并主导推理成本。TurboQuant 将这些高维向量(通常为 16 或 32 位浮点数)压缩至超低精度,而不会在模型质量或速度上做出传统权衡。

与通常需要校准数据且仍会导致精度下降的传统训练后量化不同,TurboQuant 是 数据无关 的,并被数学证明在均方误差和内积失真方面接近信息理论极限。

现代 LLM 中的 KV 缓存瓶颈

在 Transformer 架构中,自注意力机制依赖 KV 缓存来避免为先前看到的令牌重新计算键和值。对于一个隐藏维度为 d、序列长度为 n 的模型,缓存大小随着 O(n × d × 层数 × 头数 × 每个值的字节数) 线性增长。

基准测试显示,在长上下文任务中,此缓存大小可能超过模型权重本身。标准的 16 位 KV 存储在消费级 GPU 或高吞吐量服务环境(如 vLLM)中很快变得难以承受。先前的压缩尝试(例如使用每块缩放因子的 4 位或 8 位量化)因存储归一化常数而引入了内存开销,将实际收益限制在最多 2-3 倍,同时还存在输出偏移的风险。

TurboQuant 完全消除了这种开销,使得模型在先前仅能处理 8k 上下文的硬件上,实际部署 32k–128k+ 上下文窗口成为可能。

TurboQuant 工作原理:技术深度解析

TurboQuant 采用两阶段在线算法,同时针对 MSE(均方误差)和内积保真度进行优化——这对准确计算注意力分数至关重要。

第一阶段:随机旋转 + PolarQuant 压缩

  1. 随机正交旋转:每个输入的 KV(键值)向量会经过一次数据无关的随机正交变换(通过高斯矩阵的 QR 分解实现)。这会将系数幅值均匀重新分配到各个维度,从而将大语言模型激活中典型的准稀疏结构转换为分布良好的数据。

    旋转后,每个坐标在 [-1, 1] 区间内遵循已知的 Beta((d-1)/2, (d-1)/2) 分布。这种可预测性使得可以通过解析方法预先计算出最优量化质心。

  2. PolarQuant(高质量标量量化)

    • 向量被归一化,并通过递归配对维度从笛卡尔坐标转换为极坐标。
    • 半径捕捉幅度;角度编码方向(语义)信息。
    • 由于角度分布集中且可预测,因此消除了昂贵的每块归一化常数。
    • 专为 Beta 分布上的 MSE 优化的 Lloyd-Max 量化器,将每个坐标映射到低比特离散值(例如,主阶段总共使用 3 比特)。

此阶段实现了主要的压缩(大部分比特),同时几乎保留了所有向量信息。

第二阶段:QJL 残差校正

PolarQuant 后仍存在微小的残差误差。TurboQuant 使用仅 每向量 1 比特(+1 或 -1 符号)应用 **量化约翰逊.

林登斯特劳斯 (QJL)** 变换。这校正了内积偏差,而不会增加内存开销。

结果是:重构向量与原始向量实现了近乎完美的余弦相似度和内积相关性(社区测试中,3 比特下达到 0.983 以上)。

整个过程对加速器友好,融合的 Triton 内核支持直接从压缩索引计算注意力对数——在推理过程中无需完全反量化。

基准测试与实际性能表现

独立的基准测试和谷歌内部评估均证实了卓越的性能:

  • 内存占用:相比 16 位基线,3 位 KV 缓存实现了约 6 倍的内存减少;在某些工作负载中,4 位变体实现了 8 倍的有效增益。
  • 速度:相比未经量化的 32 位键值,4 位 TurboQuant 在 H100 GPU 上的注意力计算最高可达 8 倍加速
  • 准确性:在 8k–64k 上下文长度的“大海捞针”(Needle-in-a-Haystack)测试中,实现完美召回。在包括 Gemma、Mistral 和 Qwen3.5 在内的模型上,于 LongBench、ZeroSCROLLS、RULER 和 L-Eval 等评估中,准确率零下降。
  • 社区测试(例如,在 RTX 4090 上测试 Gemma-3-4B):
    • 2 位融合内核:与 fp16 基线输出完全相同,KV 缓存从 26 MB 减少到 7 MB。
    • 端到端吞吐量达到或超过基线,同时使用少于 70% 的 VRAM。

在 GloVe(d=200)上的向量搜索评估显示,相比 Product Quantization(PQ)和 RabbiQ,尽管使用更小的码本且无需进行数据集调优,其 top-k 召回率仍表现更优。

如何实现 TurboQuant:分步指南

谷歌尚未发布官方生产代码,但开源社区在公告发布后的几天内就提供了可用的实现方案。以下是如何立即开始。

1. 使用 PyTorch 快速入门(研究/原型开发)

使用 tonbistudio/turboquant-pytorch 提供的从头开始实现方案:

  • 克隆仓库并安装依赖项(PyTorch + Triton)。
  • 为模型的隐藏维度和目标位宽预计算 Lloyd-Max 码本。
  • 对 Hugging Face 的 DynamicCache 进行补丁,使其在每次 cache.update() 调用时进行量化。
  • 运行演示脚本:对于 Gemma-3-4B 或类似模型,使用 python run_demo.py --fused --bits 3

融合的 Triton 内核预先旋转查询一次,并直接从 uint8 索引计算点积,实现端到端 1.2 倍以上的加速。

2. 使用 vLLM 进行生产部署

使用分叉的 vLLM 集成方案(例如 mitkox/vllm-turboquant 或 flash7777/vllm 的 turboquant 分支):

  • 安装自定义构建的 vLLM。
  • 在引擎参数中启用 TurboQuant(支持 2-4 位键值)。
  • 使用现有的 OpenAI 兼容服务器进行部署,无需更改模型。
  • 对于长上下文工作负载,可立即获得 KV 缓存节省和更高的吞吐量。

3. 在 Apple Silicon(MLX)上进行本地推理

MLX 原生移植版本(例如 helgklaizar/turboquant_mlx)支持在 M 系列 Mac 上运行 TurboQuant:

  • 使用 pip install mlx-turboquant(社区包可用)。
  • 通过 MLX 加载模型并应用缓存包装器。
  • 非常适合在本地设备上进行超过 32k 上下文长度的实验。

4. llama.cpp 集成(CPU/GPU)

实验性分支(TheTom/llama-cpp-turboquant)正在积极优化,以适配 GGUF 兼容模型。

专业提示

  • 从 3 位或 4 位量化开始,以实现零感知质量损失。
  • 在融合内核中使用预旋转查询路径以最小化开销。
  • 先在“大海捞针”测试中验证保真度。
  • 使用 nvidia-smi 等工具监控显存——预计有效上下文可扩展 4 至 7 倍。

随着优化成熟,预计几周内 vLLM、TensorRT-LLM 和 llama.cpp 将提供主流支持。

TurboQuant 与传统量化方法对比

传统方法(例如 GPTQ、AWQ 或基本 int4)依赖于每组分度与校准,通常会为每个值引入 1-2 位的开销,并在长上下文场景中性能下降。产品量化则需要大型的、特定于数据集的码本和离线调优。

TurboQuant 则不同:

  • 零开销:不存储常量或每块元数据。
  • 数据无关性:可对任何模型开箱即用。
  • 近乎最优的失真:在均方误差和内积方面均经数学证明。
  • 在线友好:在推理过程中运行,延迟可忽略不计。

社区实践表明,即使使用激进的 2 位 TurboQuant,也能匹配全精度输出的质量,而标准的 4 位方法在这方面可能失败。

应用与未来影响

TurboQuant 解锁了以下能力:

  • 在消费级硬件上支持更长上下文(例如在单张 RTX 4090 上实现 128k tokens)。
  • 降低成本:为云服务提供商降低 50% 以上的推理成本。
  • 边缘 AI:高效的语义搜索与设备端 LLM。
  • 向量数据库:更快速、更密集的索引,达到最新水平的召回率。

随着采用率提高,预计混合权重 + KV 缓存量化流程将使 700 亿+参数模型进入手机和笔记本电脑领域。

结论

TurboQuant 代表了 AI 系统工程中罕见的飞跃:在不妥协质量的前提下实现极致的效率提升。通过优雅的数学洞察——随机旋转、极坐标几何与残差校正——来解决 KV 缓存的瓶颈,谷歌研究院提供了蓝图,社区已经将其转化为生产就绪的工具。

无论你是运行本地模型、提供高吞吐量 API,还是构建向量搜索应用,现在正是进行实验的时机。克隆一个社区实现,与当前设置进行基准测试,并大幅扩展你的上下文窗口。受内存限制的 AI 时代正在结束——TurboQuant 使得更大、更快、更便宜的推理在今天成为现实。

Share this article