跳到正文
IFAI

开源项目

开源算法 RotorQuant 击败谷歌:10 倍显存压缩下预填充提速 5.3 倍

首次发布 传播指数 48

开源 KV 缓存压缩算法 RotorQuant 亮相。它利用克利福德旋转器简化了谷歌 TurboQuant 的全局矩阵运算,在提供 10 倍显存压缩的同时,将预填充速度拉高 5.3 倍、解码提速 28%。这意味着单张消费级显卡跑超长上下文大模型变得容易得多。

开源算法 RotorQuant 击败谷歌:10 倍显存压缩下预填充提速 5.3 倍
图:themenonlab.blog

RotorQuant 是一个开源的 KV 缓存压缩工具,能把大语言模型的上下文显存占用直接砍掉 10 倍,同时让长文本的预填充速度提速 5.3 倍。

如果你在本地跑大模型,肯定遇到过显存不够的问题。以 FP16 精度的 8B 模型为例,吃下 128K 上下文光是 KV 缓存就要占掉大约 4.6 GB 显存。要是换成 32B 模型,基本上就必须上多张专业显卡了。

它是怎么做到的

此前谷歌在 ICLR 2026 上提出了 TurboQuant,先把向量旋转打散再去量化成 3-bit,虽然实现了 10 倍压缩,但它用的沃尔什-哈达玛变换(WHT)是个全局稠密矩阵。对于 128 维向量,每个向量要跑 16000 多次浮点乘加操作,算力开销非常大。

RotorQuant 发现注意力向量其实集中在低维流形上,根本不需要全局大变换。它引入了三维空间的克利福德代数(Clifford rotators),把向量拆成每组 3 个数字的小块独立做正交旋转。

这么一改,每次向量操作从 16000 次骤降到大约 200 次,压缩变换本身所需的参数量比 TurboQuant 少了 44 倍。更妙的是,局部的块对角旋转反而更好地保留了向量的方向特征,困惑度不仅没崩,反而更好了。

在 Llama 3.1 8B 的 3-bit 测试中,RotorQuant 的困惑度达到 6.91,好于 TurboQuant 的 7.07。它的解码速度达到每秒 119 token,比 TurboQuant 快 28%;预填充速度更是从每秒 722 token 飙升到 3822 token,快了 5.3 倍。

在实际体验中,处理一份 1 万 token 的长文档,原本 TurboQuant 需要 14 秒,RotorQuant 不到 3 秒就搞定了。此外它还有一个非对称模式,只压缩 K 缓存,能做到 5 倍压缩的同时困惑度仅增加 0.8%。

怎么跑起来

这个项目是以 llama.cpp 分支形式开源的,不需要重新训练模型,也不需要做格式转换,直接指定缓存参数就能用。

硬件支持上,英伟达 CUDA 显卡和苹果 Apple Silicon 都已经支持。你只需要克隆代码库并切换到对应特性分支,在 Linux 或 Windows 上用 cmake 打开 GGML_CUDA 编译,在 Mac 上打开 GGML_METAL 编译即可运行。

为什么重要

对于在本地跑 RAG、代码库分析或长文档阅读的开发者和玩家来说,RotorQuant 非常值得现在就上手试试。长上下文本地推理最大的痛点往往不是生成慢,而是刚塞进长文档时漫长的预填充卡顿,RotorQuant 刚好补上了这块短板。

和谷歌这类大厂的原型方案相比,开源社区直接在推理框架底层把它做成了即插即用的工具。我们认为,这种把几何代数巧妙塞进量化流程的思路,很可能会迅速被更多主流推理框架采纳,让单张 24GB 消费级显卡跑 32B 模型的超长上下文真正变成常态。

来源 (1)

  1. [1]

每日 AI 内容精选