KV缓存压缩竞赛:TurboQuant vs OSCAR vs EpiCache
长上下文大语言模型面临KV缓存内存瓶颈,本文对比了TurboQuant、OSCAR和EpiCache三种压缩方案。TurboQuant提供数据无关的3-4位近无损压缩,OSCAR实现可部署的INT2压缩并配备生产级系统支持,EpiCache则针对多轮对话场景进行缓存管理。三者互补而非竞争。
长上下文大语言模型(LLM)面临一个与模型权重无关的内存瓶颈。在解码过程中,Transformer会缓存每个token在每个层的键和值(KV)向量,以避免重新计算注意力。这个缓存随序列长度和批大小线性增长,在长上下文和高并发场景下,其大小可能远超模型本身。
以Llama-3.1-70B(BF16)为例,其KV缓存每个token约需0.31 MB(80层×8个KV头×128维头维度×2个张量×2字节)。在128K token下约为40 GB,在1M token下超过300 GB——比140 GB的权重本身还大。更糟的是,每个新解码的token都必须从高带宽内存(HBM)中流式读取整个缓存,这使得解码受限于内存带宽而非计算。因此,缩小KV缓存是降低成本和解码延迟最直接的手段。
当前方法大致分为五类:token逐出(H2O、SnapKV)、量化(KIVI、GEAR)、低秩投影(Palu)、合并(KVMerger)和架构共享(MLA)。近期的2026年工作大力推动了超低位量化前沿。Google和NYU的TurboQuant(ICLR 2026)以及Together AI的OSCAR从相反方向攻击同一问题,而Apple的EpiCache则解决了前两者均未涉及的问题。
大多数KV量化器都在对抗同一个底层敌人:离群通道——少数具有异常大幅值的通道主导了量化范围,将其他信号挤压到仅剩几个可表示的水平。这就是朴素INT2量化(仅四个水平)崩溃至近乎零精度的原因。
KIVI在此建立了标准基线。它表明键向量在token间具有固定的离群通道,而值向量则没有,因此它按通道量化键,按token量化值。这种免调优的2位配方将端到端峰值内存(含权重)削减约2.6倍,是后续方法构建的参考点。
TurboQuant:数据无关且理论最优
TurboQuant无需查看数据即可处理离群值,分两个阶段:
第一阶段:每个向量被随机旋转,使其坐标近似独立且接近高斯分布,从而可以对每个坐标应用最优预计算标量(Lloyd–Max)量化器。
第二阶段:对残差应用1位量化Johnson–Lindenstrauss(QJL)变换,提供注意力logits的可证明无偏估计,且无归一化常数开销。
卖点是理论性:TurboQuant的失真被证明在信息论下限的恒定因子(约2.7倍)内。实际上,在4倍压缩下,它在“大海捞针”任务上达到接近全精度的召回率,论文报告每通道3.5位下绝对质量中性,2.5位下仅轻微退化。由于无需校准,它可原样用于任何模型,并兼作快速向量数据库量化器。
一个值得注意的细节:广泛流传的“H100上注意力8倍加速”来自Google博客而非论文,且指的是狭窄的注意力logits微基准。TurboQuant记录的最佳点是3–4位近无损区间。
OSCAR:注意力感知且可部署
OSCAR押注相反方向。其前提是,在INT2的四个水平下,数据无关旋转是错误的工具——当几乎没有精度可浪费时,盲目平滑范围是不够的。因此,OSCAR从一次性离线校准中计算注意力感知旋转:键被旋转到查询协方差的本征基,值被旋转到分数加权值协方差的本征基。然后通过Hadamard变换和位反转排列将通道重要性均匀分布到量化组中。
OSCAR的独特之处在于它作为一个完整系统发布,而不仅仅是算法:
- 混合精度分页缓存:sink和最近token保持BF16,历史压缩至INT2——在128K上下文中仅约0.24%的token保留在BF16。
- 融合Triton内核,完全集成SGLang(兼容分页注意力和前缀缓存)。
- 预计算旋转(“RotationZoo”),适用于Qwen3-4B/8B/32B、GLM-4.7-FP8和MiniMax-M2.7——无需重新校准。
在有效2.28位下,OSCAR在Qwen3-8B上保持在BF16的1.42分以内,在Qwen3-32B上基本持平(0.02分差距)。在GLM-4.7-FP8上——朴素INT2坍塌至零,数据无关基线仅达到低个位数——OSCAR匹配BF16,甚至在报告基准上略微领先(在噪声范围内)。Together AI报告在100K上下文中,作业级吞吐量提升高达7.83倍,KV缓存内存减少约8倍,解码速度提升约3倍。
那么谁赢了?
两者都没有——这是诚实的答案。对于支持模型上128K token的可部署INT2,OSCAR是目前唯一未崩溃的演示选项,并配有生产级SGLang支持。对于免训练、模型无关的3–4位量化,TurboQuant提供更广泛的通用性。
OSCAR论文报告TurboQuant在可比预算下下降超过40分——但该评估在OSCAR自身框架内运行,量化所有层,使用单一随机种子,且远低于TurboQuant的目标位宽,因此作为正面比较的基础薄弱。更有趣的可能性是两者互补:将校准感知旋转与最优标量量化器结合是一个有前景的组合,尚未有人实现。(两个团队都已公开注意到相同想法。)
第三个维度:EpiCache
TurboQuant和OSCAR都针对单一长上下文构建。两者均未处理扩展的多轮对话,其中历史跨越多次交流累积。Apple的EpiCache是一个免训练的KV缓存管理框架,正针对这一空白:
- 分块预填充:按块处理历史以保持峰值内存有界。
- 情节聚类:将对话分割为连贯的语义“情节”,每个情节拥有自己的压缩缓存。
- 情节匹配检索:在推理时将每个查询路由到最相关的情节。
- 自适应逐层预算分配:测量每层对逐出的敏感性,并相应分配内存预算。
在LongMemEval、RealTalk和LoCoMo上,EpiCache报告相比逐出基线准确率提升高达40%,在4–6倍压缩下接近全缓存准确率,峰值内存降低高达3.5倍(延迟降低约2.4倍)。由于它决定保留哪些token而非如何精确存储,因此可直接与OSCAR或TurboQuant组合以实现复合节省。
关键要点
- TurboQuant推动理论、模型无关的前沿——适用于任何模型的3–4位近无损压缩。
- OSCAR在可部署INT2上领先,在支持模型上100K上下文中吞吐量提升高达7.83倍,内存减少约8倍。
- EpiCache解决跨轮对话内存——相比逐出准确率提升高达40%,峰值内存降低3.5倍——并与任一量化器组合。
- 根据约束选择:位宽预算、模型可移植性或对话长度,然后组合适用的正交方法。这些方法互补而非竞争。