![]()
「以棱镜之思,折射 AI 研究的多维光谱」——学术棱镜是 CSDN 旗下 AI 科技大本营推出的精品论文栏目,专注遴选全球顶会顶刊及产业前沿的优质研究成果。我们相信,每一篇扎实的论文都是照亮技术未来的光束,而棱镜,让光芒绽放出应有的色彩。
原文作者|Zhongzhu Zhou
整理 | CC
责编 | 张红月
出品丨AI 科技大本营(ID:rgznai100)
这个五月,一篇来自 TogetherAI 和悉尼大学联合团队的论文悄然挂上了 arXiv。
标题很长:Of fline Spectral Covariance-Aware Rotation for 2-bit KV Cache Quantization,缩写 OSCAR。读完的第一感受,不是「又一篇量化论 文」,而是「这件事他们真的做成了」。
![]()
论文作者: Zhongzhu Zhou, Donglin Zhuang, Jisen Li, Ziyan Chen, Shuaiwen Leon Song, Ben Athiwaratkun, Xiaoxia Wu
论文:https://arxiv.org/abs/2605.17757;
项目主页:https://oscar-quantize.github.io/
代码:https://github.com/FutureMLS-Lab/OSCAR;
RotationZoo: https://huggingface.co/Zhongzhu/OSCAR-RotationZoo
![]()
那么问题来了:2-bit KV Cache,究竟难在哪里?
大模型在做长上下文推理时,每生成一个 token,都要回头读取所有历史的 Key 和 Value——这套缓存机制叫 KV Cache。上下文越长、批次越大,KV Cache 消耗的显存和带宽就越惊人。如今的长上下文模型往往支持 128K 甚至更长的窗口,服务端的瓶颈往往不是算力,而是显存被 KV Cache 撑满了。
理论上,把历史 KV 从 BF16(16-bit)压缩到 INT2(2-bit),存储量可以减少接近 8 倍。但 INT2 只有 4 个量化等级,精度极度稀疏。真正的麻烦在于,KV activation 里常常存在少数幅值极大的「异常通道」(outlier channel)。这些 outlier 一旦主导了量化的比例尺,大多数正常值就被挤压进极窄的区间,attention 分布随之漂移,模型的推理能力迅速崩溃。
Hadamard 旋转是业界常见的应对手段,通过旋转变换把 outlier 扩散到各个维度,让量化更均匀。但它有一个根本局限:它不知道模型在 attention 计算里真正依赖哪些方向。换句话说,Hadamard 旋转优化的目标是「让 KV 向量重建得更准」,而不是「让 attention 的计算结果受干扰最小」。
这两个目标,看起来相近,实际上并不等价。OSCAR 的核心贡献,正是把这个区别想清楚了。
![]()
把旋转对准 attention 真正「在意」的方向
OSCAR 的动机可以用一张图来理解(论文图 1)。它对比了 naive INT2、Hadamard-only、clip-only 和 OSCAR 在量化误差传播链路上的差异。关键发现是:原始 KV 向量的重建误差,并不能完全预测模型最终的表现;真正影响推理质量的是 attention-score KL 散度、attention block 输出的 MSE,以及后续 hidden-state 的误差传播。
![]()
图 1:为什么只看 K/V 重建误差会误导判断
OSCAR 的设计逻辑由此展开。
对 Key 而言,量化误差会进入 attention logits,即 Q 和 K 的点积 QKᵀ,因此 OSCAR 用 query covariance(QᵀQ) 构造 Key 的旋转目标,让旋转后 attention 最敏感的方向得到最好的保留。对 Value 而言,误差经注意力权重进入输出,OSCAR 则用 score-weighted value covariance(VᵀSᵀSV) 构造旋转。
这两个协方差矩阵在离线校准阶段,从少量校准样本中估计出来,为每一层、每个 attention head 生成专属的旋转矩阵和 clipping 阈值。
最终旋转矩阵写作 R = U · Hadamard · bit-reversal 三者的组合:U 将旋转方向对准 attention 敏感轴,Hadamard 分散 outlier,bit-reversal 平衡 INT2 的分组,防止某个 group 被少数通道主导。
这套设计的本质是:把量化误差推向 attention 不敏感的方向,而不是让向量数值更平滑。
![]()
从论文到上线:一整套 2-bit serving pipeline
OSCAR 的另一个值得关注的地方,是它没有停在论文层面。
很多 KV 量化工作的生命周期是:跑完实验,得出图表,发表论文。能否在真实推理框架里部署,是另一回事。
OSCAR 已经接入 SGLang,可以直接用于长上下文 serving,并非停留在实验室里的精度数字。
![]()
图 2:OSCAR 整体流程图
具体来说,在 SGLang 中,OSCAR 将 token 池划分为三段:
BF16 sink(64 tokens)
INT2 history(约 2.28 bits per element)
BF16 recent(256 tokens)
最前端的 sink token 和最近的 recent window 保持 BF16,分别保护 attention sink 和短期局部上下文;中间最长的历史段以旋转后的 INT2 存储。
新 token 进入 recent window,随解码推进,最老的 recent token 由一个融合的 Triton kernel 依次完成旋转、clip、量化、打包四个步骤,迁移进 INT2 history;每 4 个 2-bit 值打包进 1 个 byte。解码阶段,INT2 kernel 负责 unpack、scale/zero point 还原与浮点累加,BF16 kernel 处理 sink 和 recent,最终以 online softmax merge 合并。整套系统兼容 paged KV、radix prefix cache 和 SGLang 的 fused kernel pipeline。
这套系统设计的意义在于工程上的整体性:没有对某些层做混合精度的「选择性高精度」保留,历史 KV 的主体是统一的 INT2,只有 sink 和 recent 两个很小的窗口维持 BF16。这使得系统在 paged cache、prefix cache 和批量调度的接入上更干净,也更接近真实服务场景下的显存预算约束。
![]()
在 2-bit 下,推理能力究竟还剩多少
论文在 Qwen3-4B-Thinking、Qwen3-8B、Qwen3-32B 和 GLM-4.7-FP8 四个模型上做了系统评测,任务覆盖 GPQA、HumanEval、LiveCodeBench v6、AIME25、MATH500,最高生成长度 32K,每组设置运行 5 次取均值。
结果有几个关键节点值得单独说明。
Qwen3-4B-Thinking是整套对比里最能体现难度落差的模型:
BF16 基准均分 75.64;
TurboQuant 全层 3-bit K/V(无混合精度保护)为 31.74;
QuaRot-INT2 降至 1.40;naive INT2 为 0.00;
OSCAR 在 2.28 BPE 下达到 71.86,距离 BF16 仅差 3.78 分,相对 TurboQuant 提升 40.1 分。
这一对比需要一点背景说明。TurboQuant 是当前公认的强 baseline,它压缩的是向量本身,但没有针对 attention 的感知。这里的比较,用的是 TurboQuant 无混合精度保护的「公平设置」——也就是不借助对部分层保留高 bit 的策略。在这个前提下,TurboQuant 在小模型推理任务上的分数下滑明显。
Qwen3-8B上,OSCAR 均分 69.42,距离 BF16 的 70.84 仅差 1.42,TurboQuant 同设置为 56.88。Qwen3-32B 和 GLM-4.7-FP8 上,OSCAR 基本与 BF16 持平。
AIME25 数学推理任务另有一组专项比较,对象是 KIVI-KV2 和 Kitty(由于这两个方法缺乏 framework 支持,无法完成长上下文运行,仅取其在 32K 汇报的 AIME25 结果)。
Qwen3-8B 上,OSCAR 以 2.38 BPE 达到 66.67,基本追平 BF16 的 66.00;Qwen3-32B 上,OSCAR 达到 74.00,甚至略高于 BF16 的 72.59,同时超过 Kitty 的 69.26。
论文还在 128K 长上下文设置下,对 Qwen3-8B 和 GLM-4.7-FP8 做了 RULER-NIAH 检索测试。OSCAR 在两个模型上都保持了明显更稳定的检索性能,说明 attention-aware 旋转的保护效果不只在短评测上成立,也能抵抗超长历史中 KV 误差随序列长度累积的问题——这对真实 Agent 场景尤其关键。
![]()
系统收益:显存、速度、吞吐,三件事同时成立
精度之外,系统层面的数字同样直接。
相对 BF16 历史存储,OSCAR 减少约 8 倍 KV Cache 内存占用。在 100k 上下文、batch-size-1、full prefix-cache hit 的纯 decode 场景下,最高带来约 3 倍 decode 加速。在固定显存预算、batch size 增大时,KV footprint 的降低可以显著提升并发吞吐,job-level throughput 最高约 7 倍。
![]()
图 3:完整主结果表,多种 KV 量化方法同场对比
![]()
图 4:AIME25 32K 生成,和 KIVI / Kitty 的专项对比
![]()
图 5:100k 长上下文下的 decode / batch throughput
prefix cache 命中率的影响也单独做了测试:从 cache disabled,到 normal cache,再到接近 100% warmup replay,吞吐前沿随命中率提升逐步外扩。OSCAR 保持了标准的 paged KV 和 prefix cache 抽象,共享系统提示、多轮 Agent、工具调用循环等长前缀复用场景可以无缝受益。
![]()
图 6:prefix cache 命中率越高,吞吐前沿越往外推
这一点对长上下文 Agent 的服务提供者来说意义具体:真实 Agent workload 往往包含很长的系统提示、工具说明、历史对话和检索内容,不同请求之间存在大量共享前缀。如果 KV Cache 只能以 BF16 存储,显存很快成为瓶颈;若直接采用 naive INT2,推理链条容易失真。OSCAR 的分段设计——长历史用 INT2 降显存与带宽,关键 sink/recent 窗口用 BF16 保稳定性,再配合 prefix cache 复用共享前缀——把「能压到 2-bit」和「能上线 serving」放在同一个系统里同时解决。
![]()
一个值得注意的边界
OSCAR 的论文对 TurboQuant 的定位有一段值得引用的描述:
TurboQuant 是强通用在线向量量化方法;OSCAR 针对的是 attention-aware 的 2-bit KV serving。二者不是简单的替代关系。
论文也明确提到,未来可以将 OSCAR 的 attention-aware rotation 与 TurboQuant 更强的 codebook 结合,把压缩推向更极致的方向——这个空间目前是开放的。
从更大的图景来看,OSCAR 的工作说明了一件事:大模型推理效率的优化,不只是在量化精度上做文章,而是需要把算法设计的出发点落回到「模型真正在计算什么」上。
旋转有没有对准 attention,这个问题在 4-bit 时代影响不大,但在 2-bit 这个边界上,它决定了一个方法能不能用。
关于作者
Zhongzhu Zhou 是 TogetherAI 的 Senior Research Scientist,悉尼大学博士,研究方向为高效机器学习系统,方向覆盖 模型训推算法与系统协同设计,LLM压缩与量化。团队成员来自TogetherAI,悉尼大学以及伊利诺伊大学厄巴纳—香槟分校。
Together AI 于 2022 年 6 月创立,由苹果前高管 Vipul Ved Prakash、斯坦福大模型研究中心主任 Percy Liang、芝加哥大学副教授 Ce Zhang、Flash Attention作者 Tri Dao联合创办。
![]()
免费领 100 小时云算力|AI 科技大本营读者专属福利
适配 DeepSeek、Qwen 等主流大模型
扫码即刻领取,每月还有显卡、AIPC等实物好礼抽奖
当日前 50 名送瑞幸咖啡: https://s.csdn.cn/4nPsO p
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.