当你与手机中的AI助手对话时,是否想过它是如何“记住”此前交流内容的?这背后依赖一种名为KV缓存的技术——AI每处理一句话,就会在内存中记录关键信息,以便后续回应。然而,随着对话内容增多、处理任务变复杂,KV缓存会迅速膨胀,最终挤占GPU的运算资源,限制AI同时服务的用户数量和处理内容的长度。如何压缩这份“笔记”成为突破性能瓶颈的关键。
主流方法采用“量化”技术,将原本用16位精度存储的数字压缩为更少位数,例如用2位整数(INT2)表示,理论上可将内存占用降至原来的八分之一。但极限压缩会导致严重信息失真,如何在压缩的同时保住AI的“智力”,一直是行业难题。一项由多所高校与科研团队联合完成的研究提出新方案,在涵盖文字、图文、语音视频的多种AI模型测试中刷新最优成绩,相关论文已以预印本形式发布。
研究团队发现,现有极限压缩方案失效的根源在于一种被忽视的现象——“令牌范数失衡”(Token Norm Imbalance,TNI)。在AI处理语言或图像时,每一层神经网络会生成Query、Key和Value三种向量,其中Key和Value会被存入缓存。Value向量数值分布均匀,压缩相对容易;但Key向量中存在“异常通道”——某些维度的数值远高于其他维度,像“钉子”一样突出。更关键的是,同一通道内不同“令牌”(如每个词、每帧图片的代表单元)的数值大小差异极大:极少数令牌的L2范数(可理解为向量的“整体能量”)远低于其他令牌,形成“弱小”与“强壮”的极端对比。
这种失衡导致量化时“尺子”难以适配所有令牌。例如,用同一把刻度为1厘米的尺子测量200米高楼和2厘米硬币,硬币的精度必然丢失。研究团队通过实验证明,量化块的重建误差(信息失真程度)根本上取决于块内最强与最弱令牌的范数差距——差距越大,误差越严重。TNI是按通道量化范式的结构性弱点,尤其在2位极限压缩时,现有方法因无法处理这种失衡而频繁失效。
进一步分析发现,低范数令牌与“注意力汇点”(Attention Sink)现象高度相关。在标准注意力机制中,softmax函数要求注意力权重总和为1,当AI无需特别关注任何内容时,只能将注意力分配给无关紧要的令牌(如句子开头的特殊标记符)。这些被迫承接注意力的令牌,其Value向量(包括Key和Query)的范数被压得很低,成为TNI问题的源头。在多模态模型中,TNI的表现更复杂:不同模态(文字、图片、语音)的令牌范数差异巨大,模态交界处会出现剧烈跳变;部分令牌的范数则极度高于平均水平,形成高范数异常点。
直接“缩放”令牌范数看似是简单解法,但研究团队发现这会导致新问题——“缩放诱导异常值效应”。正常令牌的向量中,少数维度数值特别大,而低范数令牌的数值均匀且较小。若将低范数令牌的范数放大至与正常令牌相同,其原本平坦的数值分布会变成“丘陵”——在正常令牌异常值通道之外的维度上,低范数令牌的数值反而更大,制造新的异常值,使量化精度进一步恶化。
为解决这一问题,研究团队提出名为OScaR(Omni-Scaled Canalized Rotation,全尺度通道化旋转)的两步方案。第一步是“通道化旋转”,利用Hadamard变换(快速哈达玛变换,FHT)将向量各通道的信息彻底混合,使原本集中在少数通道的异常能量均匀分布到所有通道。这一操作不改变令牌之间的范数差异,但消除了通道分布的不均匀性,避免了缩放时制造新异常值。第二步是“全令牌缩放”,在旋转后的向量上,计算每个令牌的L2范数并将其归一化,使所有令牌的“能量”统一。由于通道已均匀,缩放不再引发问题,TNI得以彻底解决。解码时,存储的范数值会被乘回向量,恢复原始大小关系;Query向量也需做相同旋转以保证注意力计算的正确性。
Value向量的处理更简单:因其无通道级异常值问题,只需用离线Hadamard变换预先处理权重矩阵,按令牌量化即可,几乎无额外开销。消融实验证明,两步缺一不可:单独旋转无法解决范数失衡,单独缩放会因诱导异常值而失效,只有组合使用才能同时消除两个问题。
在工程实现上,OScaR系统由三个CUDA核心构成:第一个核心在线执行Hadamard变换和令牌缩放;第二个核心完成量化打包;第三个核心负责解码时的反量化与注意力计算。团队采用两项关键技巧优化性能:其一,Hadamard变换的复杂度为O(d log d),远低于传统矩阵乘法的O(d²),且借助HadaCore优化进一步减少标量运算;其二,令牌缩放中使用GPU硬件加速的rsqrt指令计算平方和倒数平方根,速度比直接计算L2范数更快。系统还维护“打包缓存”和“残差缓存”,前者存储2位量化后的数据,后者暂存未满足量化块大小的令牌,以全精度FP16存储,避免频繁小批量量化带来的开销。
测试结果显示,OScaR在各类AI模型上表现优异。在纯文字模型中,Llama-3.1-8B的LongBench-E基准得分达41.75%,超越第二名1.01个百分点,甚至略高于16位全精度基准;Qwen3-8B的得分与16位基准仅差1.7%。在“大海捞针”测试中,OScaR的检索准确率达96.5%,超越所有量化方法及16位基准。图文多模态模型测试中,LLaVA-v1.6-vicuna-7B在OCRBench上得519分(16位基准536分),Qwen3-VL-8B得856分(差距仅0.2个百分点)。全模态模型Qwen3-Omni-30B在MMAU-Pro基准上,开放式问答、高质量回答比例和音频指令跟随三项指标均超16位基准。
效率方面,在单张H20 GPU上测试Qwen3-8B模型,128K超长文本场景下,OScaR的解码速度比16位精度的FlashDecoding-v2基准提升3.0倍,内存占用压缩至原来的五分之一,推理吞吐量提升4.1倍。与竞品TurboQuant+对比,短文本场景下TurboQuant+延迟更低,但随文本变长优势消失,128K令牌时OScaR延迟仅为其42%,且TurboQuant+使用2.5位混合精度量化,存储效率低于OScaR的纯2位方案。
研究团队也指出方案的局限性。现代语言模型普遍使用RoPE(旋转位置编码)机制,Key向量在注意力计算前需动态施加位置旋转,导致Hadamard变换必须在线计算,无法像处理Value那样离线完成,未来若能找到融合旋转的方案可进一步提升效率。当前实验主要针对标准LLM骨干网络,OScaR理论上适用于其他需KV缓存的自回归推理任务,但相关实验有待展开。论文完整版本已发布,包含详细实验数据、理论推导与CUDA实现细节。










