← 返回 2026-05-21

OScaR:面向大模型及多模态LLM极限KV缓存量化的奥卡姆剃刀 OScaR: The Occam's Razor for Extreme KV Cache Quantization in LLMs and Beyond

Zunhai Su, Rui Yang, Chao Zhang, Yaxiu Liu, Yifan Zhang, Wei Wu, Jing Xiong, Dayou Du, Xialie Zhuang, Yulei Qian, Yuchen Xie, Yik-Chung Wu, Hongxia Yang, Ngai Wong 📅 2026-05-19 👍 40 2026-07-13 08:36
Attention Sink Hadamard变换 INT2压缩 KV Cache量化 多模态LLM 大模型推理 系统优化

用旋转+Token缩放解决TNI,实现近无损INT2 KV量化。

前置知识

KV Cache(键值缓存)

Transformer自回归解码时,为每个注意力层缓存历史token的Key/Value矩阵,避免重复计算。它随序列长度线性增长,长上下文与多模态场景下常占满GPU显存,是高吞吐推理的主要瓶颈。

本文的全部动机都围绕KV缓存的显存压力展开,只有先理解它线性增长、占满HBM这一事实,才能理解为何INT2极限量化是必需品。

Per-channel 量化(KIVI 范式)

对Key矩阵按通道维度分块,每块各自计算量化步长$\Delta$与零点$z$,从而适配Key中固有的稀疏通道异常值。配合高精度残差窗口(本文R=128)实现自回归生成,是KIVI、OTT等工作的核心范式。

OScaR正是建立在per-channel范式之上,只是修复了其在极低位宽下的失效点TNI。不先理解per-channel的工作机制就无法读懂'共享量化参数被token范数失衡撑大'这一核心痛点。

Hadamard 变换与 FHT(快速哈达玛变换)

哈达玛变换是由±1元素构成的正交线性变换,可经快速哈达玛变换(FHT)在$O(d\log d)$复杂度内完成(远低于普通矩阵乘的$O(d^2)$)。常用于把异常通道能量均匀打散到所有维度,使分布更平滑。

OScaR的Canalized Rotation就是一次在线FHT,理解FHT的正交性(不改变attention输出)与$O(d\log d)$复杂度,才能明白为何它轻量、且不会改变attention语义。

Attention Sink(注意力槽)token

注意力槽token指序列前若干个L2范数异常低、却持续吸引大量注意力权重的特殊token。本文证明它们正是TNI中低范数离群token的物理来源,是限制per-channel量化精度的最薄弱环节。

TNI不是抽象统计现象,而是有明确物理对应物(Attention Sink)。理解这一对应关系,才能理解为何Omni-Token Scaling能从根上消除TNI。

研究动机

随着长上下文推理与多模态智能的发展,KV缓存的显存占用随序列长度线性增长,在128K乃至更长上下文场景下成为现代加速器HBM容量的主要瓶颈,严重限制batch size与高吞吐部署。极端低位量化(INT2)因此成为必需,而针对Key张量中显著的通道异常值,per-channel量化(如KIVI、OTT)已被公认为有效范式。但作者从经验与理论两方面均证明:per-channel在极低位宽下精度急剧退化,根因是一种被长期忽略的结构性现象——Token范数失衡(TNI):同一通道块内不同token的L2范数差异巨大,少数范数离群token会把共享量化参数$\Delta$、$z$的动态范围撑大,块内精度崩坏。同时,现有方法(TurboQuant、QuaRot、RotateKV、OTT)多依赖在线量化叠加复杂辅助机制(随机旋转+残差校正、混合精度保留少量离群token),引入大量计算开销与额外参数,部署困难、理论保证与实际收益脱节。

本文的目标是本文目标明确遵循奥卡姆剃刀原则:设计一个准确、轻量、训练-free的KV缓存压缩框架OScaR,使其在INT2极限位宽下对文本、多模态、全模态LLM(统称X-LLMs)都达到接近无损的精度。具体目标分四层:(1) 从理论上彻底解释per-channel范式为何在极端压缩下失效,定位其结构性瓶颈;(2) 提出比KIVI/OTT/QuaRot/RotateKV/TurboQuant更简洁、推理更快的方案,全程训练-free、不依赖复杂辅助管线;(3) 在LongBench-E、NIAH、OCRBench、DocVQA、MMAU-Pro等长上下文/多模态基准上稳定逼近16-bit基线,刷新精度-效率Pareto前沿;(4) 配套优化CUDA kernel与系统设计,把理论收益转化为可测的解码加速、显存节省与吞吐提升,做到即开即用。

与已有工作不同的是,独特切入点在于:现有工作要么用复杂随机旋转加残差校正(TurboQuant)硬性降低误差上界,要么用混合精度保留少量离群token(OTT/RotateKV),都回避了per-channel范式的根本病灶。作者逆其道而行,先用token-wise范数热图与解析推导把TNI定位为唯一结构性瓶颈,再用两个简单却互相必需的组件——Canalized Rotation消除Scaling-Induced Outlier Artifact、Omni-Token Scaling均衡序列维度范数——直接根除TNI。这与'打补丁式'方法形成本质区别,也解释了为何OScaR在不加任何复杂辅助机制的情况下就能达到SOTA。作者还首次指出TNI在多模态LLM中呈现跨模态范数跳变、超大范数token等多种新形态,使框架天然适配X-LLMs。

核心方法

OScaR整体思路是:先把Key张量中的通道异常值能量打散,再按token做范数均衡,最后套用标准per-channel量化。直觉上,per-channel量化的痛点是同一通道块内token范数差异过大(TNI),最朴素的想法是直接对token做缩放、归一到统一范数;但作者发现直接缩放会触发Scaling-Induced Outlier Artifact——低范数离群token被等比放大后,反而成为新的人工通道异常值,撑大per-channel量化范围、精度更差。技术路线因此分两步:先做Canalized Rotation(Hadamard变换)把通道能量均匀化,再做Omni-Token Scaling(token-wise范数归一),二者缺一不可。整个框架训练-free,仅依赖一次在线FHT、一次基于rsqrt的缩放和一次标准量化,理论上极轻量。

核心创新是发现并工程化'TNI是per-channel量化的根本瓶颈'这一观点,并用一对互锁组件解决。Canalized Rotation不是简单套用Hadamard——它专门用来先消毒通道异常值,使后续token缩放不再制造人工异常;这正是与QuaRot/RotateKV最本质的差异:后者的旋转是为per-token量化平滑通道,而OScaR的旋转是为per-channel量化做前置准备。Omni-Token Scaling则对序列维度做全模态、全token的L2范数均衡,覆盖TNI在文本与多模态下的多种形态(attention sink低范数、跨模态范数跳变、超大范数token)。两组件互为前提:单独旋转无法消除TNI,单独缩放会引入artifact,只有合用才能根除TNI——这一'互锁'关系在Figure 5的消融可视化中得到直接验证。

方法步骤详情

OScaR推理流水线分三路。(1) Query:在线对$q$做FHT,与Key的FHT在attention中相消,保持attention输出不变(旋转的正交性保证语义不损)。(2) Key:先在线FHT(Canalized Rotation),再对每个token计算L2范数做Omni-Token Scaling归一到统一范数,再做block-wise per-channel INT2量化(块大小$G=32$,残差长度$R=128$);反量化时先做逆token缩放再参与attention。(3) Value:离线对Value与attention输出权重矩阵做Hadamard变换并融合进权重,推理时直接做per-token量化,零额外运行开销。系统侧用三个CUDA kernel实现:①融合FHT+Scaling kernel;②量化kernel(同时处理Key/Value);③融合反量化+反缩放+attention kernel。FHT复杂度仅$O(d\log d)$,Omni-Token Scaling用硬件加速的rsqrt指令。Algorithm 1给出完整伪代码。

技术新颖性

新颖性体现在四点。第一,首次把TNI从经验现象提升为per-channel量化的理论瓶颈,并给出量化误差与块内token范数极差的解析关系(附录G式11),证明per-channel误差受token范数极差系统性放大。第二,提出'Canalized Rotation为token缩放铺路'的范式,区别于以往'旋转即为per-token量化'的用法,是OScaR与QuaRot/RotateKV最本质的差异。第三,揭示并命名Scaling-Induced Outlier Artifact,从理论上解释为何'直接token缩放'反而劣化精度——这是过去工作从未点破的关键陷阱。第四,工程上提供完整CUDA kernel(基于HadaCore与BitDecoding)与系统设计,把训练-free的两步操作落到FlashDecoding-v2上实现3.0×解码加速、5.3×显存节省、4.1×吞吐提升,做到即开即用,填补了'方法论文缺乏可部署系统实现'的空白。

L2 norm distributions (top row) and heatmaps (bottom row) of Query, Key, and Value states
Figure 3: L2 norm distributions (top row) and heatmaps (bottom row) of Query, Key, and Value states
Conceptual overview of OScaR
Figure 4: Conceptual overview of OScaR
Key magnitude (top row) and L2 norm distribution (bottom row) across different processing stages
Figure 5: Key magnitude (top row) and L2 norm distribution (bottom row) across different processing stages

实验结果

实验覆盖文本LLM(Llama-3.1-8B/Qwen3-8B)、多模态LLM(Qwen3-VL-4B/8B等)、全模态LLM(Qwen3-Omni-30B-A3B)。LongBench-E(Table 1)上,Llama-3.1-8B平均精度41.75%,比次优OTT的40.74%高1.01pp;Qwen3-8B上48.74%,比16-bit基线49.56%仅降1.7%。NIAH(Figure 29)上OScaR检索精度96.5%,显著超次优92.7%,甚至略超16-bit基线96.0%。OCRBench上Qwen3-VL-4B比次优高2.5pp;MMAU-Pro(全模态)上open-ended QA/Good Rate/audio指令跟随分别超次优1.2/2.8/4.6pp。效率(Figure 6)上,单H20 GPU、Qwen3-8B,相对BF16 FlashDecoding-v2基线在128K上下文取得3.0×解码加速、batch 48下显存降5.3×、吞吐升4.1×。INT2对比中残差长度统一128、组大小32,与KIVI/OTT公平对齐。

LongBench-E evaluation results
Table 1: LongBench-E evaluation results
Efficiency analysis of OScaR against BF16 FlashDecoding-v2
Figure 6: Efficiency analysis of OScaR against BF16 FlashDecoding-v2
查看结构化数据
任务指标本文基线提升
LongBench-E 长上下文文本理解(Llama-3.1-8B,8子项平均) 平均准确率 (%) 41.75% (INT2, group=32, residual=128) OTT 40.74%, TurboQuant+ 40.03%, KIVI 39.84%, RotateKV 37.98%, QuaRot 37.94%, 16bit 43.57% 比次优OTT高+1.01pp,超KIVI +1.91pp,逼近16bit基线(仅-1.82pp)
LongBench-E 长上下文文本理解(Qwen3-8B,8子项平均) 平均准确率 (%) 48.74% (INT2) OTT 48.21%, KIVI 47.95%, TurboQuant+ 47.56%, RotateKV 42.95%, QuaRot 40.13%, 16bit 49.56% 比次优OTT高+0.53pp,相对16bit基线仅降1.7%
NIAH 大海捞针长上下文检索 检索准确率 (%) 96.5% 次优方法 92.7%,16bit基线 96.0% 比次优高+3.8pp,甚至略超16bit基线+0.5pp,证明长上下文检索鲁棒性
MMAU-Pro 全模态理解(Qwen3-Omni-30B-A3B) open-ended QA / Good Rate / audio指令跟随 (%) 三子项均居量化方法之首 次优量化方法 分别超次优 +1.2 / +2.8 / +4.6 pp,audio指令跟随提升最显著
解码效率(Qwen3-8B,单H20 GPU) 解码加速 / 显存节省 / 吞吐提升 (×) 3.0× / 5.3× / 4.1×(相对BF16 FlashDecoding-v2) BF16 FlashDecoding-v2 基线 128K上下文3.0×解码加速,batch 48下5.3×显存降、4.1×吞吐升,建立新精度-效率Pareto前沿

局限与改进

作者承认的局限包括:(1) 主表只对比INT2(group=32),对更低位(sub-2bit)或更大组的行为未深入讨论;(2) TurboQuant官方未开源,只能用社区复刻TurboQuant+,公平性存疑且作者在附录N专门说明;(3) 多模态TNI的多种形态只在附录(F/J)做可视化,缺少逐模态的量化误差拆解。我自己观察到的局限:(a) 离线Value旋转需改动attention输出权重,对已部署权重不友好,且与LoRA/适配器场景的兼容性未讨论;(b) Q与K需在线FHT,虽复杂度低但仍引入常数开销,对极短序列或小batch未必有正向收益;(c) Omni-Token Scaling依赖rsqrt近似,与FP8/低精度attention叠加的效果未验证;(d) 评测集中于7B~30B规模,70B+与更大上下文(>128K)未覆盖。

独立分析的弱点

独立分析的弱点:(1) Omni-Token Scaling的目标范数选择(附录T有ablation)对外文/代码token的鲁棒性未充分验证,若TNI模式随prompt变化剧烈,固定缩放策略可能不稳,改进方向是自适应或content-aware的缩放目标;(2) Canalized Rotation用固定Hadamard基底,对极深模型的累积数值误差缺乏分析,可探索随机化旋转或层间自适应旋转基底;(3) 系统设计依赖H20 GPU与特定Tensor Core路径,跨厂商(NVIDIA其他型号、AMD MI300)可移植性未讨论,工程上可补一套Triton/cutlass实现降低门槛;(4) 残差窗口R=128在超长上下文(1M+)下仍会带来显存碎片,与prefix cache/page-attention(vLLM)的协同未量化,这是与主流推理栈集成的关键缺口。

未来方向

作者隐含的未来方向:把OScaR推广到更激进的sub-2bit、与speculative decoding结合进一步降低延迟、扩展到更大模型(70B+)与更长上下文。基于成果可延伸的方向:(1) Omni-Token Scaling可与动态稀疏attention(Spark/Gear)结合,做量化+稀疏的联合压缩;(2) Canalized Rotation思想可迁移到权重量化(AWQ/SmoothQuant的激活侧),统一处理权重与KV;(3) 把TNI作为可学习目标,用少量校准数据自适应选择每层的旋转基底,而非全局固定Hadamard;(4) 探索TNI与训练阶段的关系——是否可在预训练中加入范数均衡正则,从源头消除TNI、让推理量化更易;(5) 多模态场景下研究跨模态token范数跳变的成因(是否与视觉/音频encoder的归一化设计有关)。

复现评估

复现性整体较好。代码已在 https://github.com/ZunhaiSu/OScaR-KV-Quant 公开,包含CUDA kernel实现与算法。论文给出关键超参:INT2量化、group size 32、残差长度R=128、离线Value旋转、FHT、rsqrt-based缩放;评测基准LongBench-E、NIAH、OCRBench、DocVQA、MMAU-Pro均为公开数据集,模型Llama-3.1-8B/Qwen3-8B/Qwen3-VL-4B/8B/Qwen3-Omni-30B-A3B均开源。主要挑战在于:(1) CUDA kernel需H20/A100等高端GPU,复现3.0×/5.3×/4.1×效率数据需特定硬件与BF16 FlashDecoding-v2基线严格对齐;(2) TurboQuant+等基线需单独复现对齐;(3) 多模态与全模态评测(Qwen3-Omni-30B)显存需求大,普通实验室难以复现全表。综合属'中等偏上可复现',算法部分门槛低、系统效率部分门槛高。