微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 南京航空航天大学与腾讯微信AI联手突破:AI大模型"记忆压缩"难题终于有了不依赖经验值的新解法

南京航空航天大学与腾讯微信AI联手突破:AI大模型"记忆压缩"难题终于有了不依赖经验值的新解法

2026-07-03 14:47
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-07-03 14:47 科技行者

这项由南京航空航天大学、腾讯微信AI、复旦大学及独立研究者联合开展的研究,以预印本形式发布于arXiv平台,编号为arXiv:2502.16886,最新版本更新于2026年6月26日。有兴趣深入了解的读者可通过该编号查询完整论文。

当你和一个AI助手聊天时,它需要记住你们整个对话的内容,才能给出前后连贯的回答。这种"记忆"在技术上叫做KV缓存(Key-Value Cache),可以把它理解成AI在工作时用来随手记录信息的一块临时草稿纸。问题在于,这张草稿纸非常占地方——一个拥有700亿参数的大型AI模型,仅仅处理2万个词的内容,就需要高达50GB的显存来维持这份"记忆"。这相当于同时运行几十个高清视频游戏的内存消耗。

为了节省这块"草稿纸"的空间,研究人员们想出了一个办法:把不重要的内容从草稿纸上擦掉,只保留关键信息。这听起来很合理,就像你在整理笔记时会划掉废话、保留重点一样。然而,这个办法藏着一个长期被忽视的隐患,而这正是这项研究所要正面解决的核心问题。

一、被忽视的"隐患":擦多少才合适?

回到草稿纸的比喻。假设你要用这张纸完成两项任务:一项是记录一道简单的加减法题,另一项是推导一道复杂的几何证明。对于加减法,你可能只需要留下两三行笔记;但对于几何证明,你恨不得把整张纸都用上,因为每一步推导都可能在后面用到。

现有的AI记忆压缩方法,面临的正是这个困境。研究人员在使用这些方法时,必须事先手动设定一个"保留比例"——比如规定只保留20%的缓存,或者保留1024个位置。这个预设值就像是你在开始做题之前,就被要求决定"只能用这张纸的三分之一",而不管题目有多难。

研究团队通过实验揭示了这一问题的严峻性。他们测试了几种主流的压缩方法,包括H2O、StreamingLLM和SnapKV,分别在数学推理题(GSM8K)、研究生级别科学问题(GPQA)和对话问答(CoQA)三类任务上进行对比。结果发现,当保留比例设为50%时,H2O在GSM8K上的表现只有满分的41%,但在CoQA上却高达99%。当比例压缩到20%时,H2O在GSM8K上更是跌落到只有3%的水平。这意味着,同一个设置,在一个任务上表现优秀,在另一个任务上却几乎完全失效。

这背后的原因很直观:数学推理题需要AI记住每一个中间计算步骤,上下文缺失一点都可能导致整个推理链断裂;而对话问答题通常只需要记住最近几句话就够了。不同类型的任务,对"草稿纸"的需求量天差地别。

在现实世界中,用户的提问从来不会按照类型整整齐齐地分开。一个普通用户可能这一条消息在问数学题,下一条消息在聊日常八卦,再下一条消息在请AI帮忙写代码。在这种混杂的实际场景下,任何固定的保留比例都会在某些任务上表现不佳。研究团队把这个问题概括为:现有方法依赖"数据敏感的阈值",而这个阈值在真实世界的开放域场景中根本无法预先确定。

二、新目标:让AI自己决定记多少

面对这个困境,研究团队提出了一个全新的研究方向,他们称之为"无阈值"压缩目标。这个目标的核心思想可以用一句话概括:与其让人提前决定保留多少,不如让AI自己根据题目的难度动态决定需要多少记忆空间。

这个想法有两个关键原则。第一,方法本身不应该依赖任何需要针对特定任务或输入进行调整的参数,换句话说,无论面对什么样的问题,用同一套标准就能工作得很好。第二,无论压缩了多少,最终的输出表现都应该和不压缩时基本持平,不能因为节省内存而损害AI的能力。追求最大压缩率,反而是在这两个条件都满足之后才考虑的事情。

研究团队将实现这个目标的方法命名为ReFreeKV,这个名字来自"thReshold-Free KV"的缩写,直译就是"无阈值KV缓存压缩"。他们自称这是第一个真正意义上实现这一目标的方法。

三、ReFreeKV的工作方式:先排序,再"见好就收"

ReFreeKV的运作过程可以用一个图书馆整理书架的场景来理解。

假设图书馆的书架快满了,馆长需要把一些书暂时放进仓库,只留下最可能被用到的书。馆长的做法分两步:第一步,按照某种规则对所有书进行初步排序,把最重要的书排在最前面,最不重要的排在最后面;第二步,从最重要的书开始往后扫描,不断往仓库里放书,同时持续检查"现在留在书架上的书,是否已经足够应对读者的需求"。一旦发现继续放书会显著影响服务质量,就立刻停止,不再往仓库里放了。

**第一步:按位置给信息排队**

ReFreeKV的第一步是对所有缓存位置进行初步排序。排序的依据非常简单——就是词语在原文中出现的位置。

排序规则是这样的:先把序列开头的m个词排在最前面(这些词通常是最重要的,因为它们往往是问题或任务的核心描述,而且AI模型对序列开头的词有天然的高度关注,这在研究领域被称为"注意力汇聚"现象),然后从序列末尾开始,把剩余的词倒着排在后面(最近的词通常也比较重要,因为AI在生成回答时更依赖最新的上下文)。中间那些既不在最开头也不在最末尾的词,被认为重要性相对较低,自然就排到了队伍的最后。

这种基于位置的排序方式看起来很简单,但研究团队的实验证明,它的效果出人意料地好,而且计算代价极低,根本不需要额外的神经网络或复杂计算来评估每个词的重要性。

**第二步:用"注意力健康度"决定何时停手**

初步排序只是解决了"按什么顺序保留信息"的问题,但核心难题还没解决:到底保留到哪里为止?

研究团队提出了一个叫做"Uni-Metric"(通用度量指标)的东西,可以把它理解为衡量"记忆删减后,AI的注意力是否受损"的健康指数。

这个健康指数基于一个数学工具——注意力矩阵的Frobenius范数(L2范数)。听起来复杂,实际上概念很直白:AI在处理文本时,会产生一张"注意力地图",记录每个词对其他词的关注程度。这张地图可以用一个数字来概括它的"信息总量"。当你从缓存中删除某些位置后,这张地图就会变小,它的"信息总量"也会随之下降。

ReFreeKV要做的,就是不断模拟"如果我把位置i之后的所有缓存都删掉,注意力地图的信息总量会减少多少"。当这个减少量达到1%时,就立刻停止删除——因为超过1%意味着对AI能力的损害开始变得明显。这个1%的阈值,是研究团队通过大量实验确定的一个"通用值",在不同模型、不同任务、不同语言上都表现稳定。

有一个小细节值得一提:精确计算整张注意力地图的信息总量,计算量会随着文本长度的平方增长,对于很长的文本来说开销太大。研究团队找到了一个聪明的近似方法:只用最后一行的注意力分数来代替整张地图进行计算。这样计算复杂度从O(n?)降到了O(1),也就是说计算量基本不随文本长度变化——这个近似效果也经过实验验证是足够准确的。

**保护"基础神经":始终保留前两层的完整缓存**

研究团队还发现了一个重要的工程细节:AI模型最底部的几层(前两层)的注意力分布往往非常均匀,还没有形成明显的"重要vs不重要"的区分。如果在这两层也强行压缩缓存,会导致后续所有层都丢失了一些关键的基础信息,最终产生混乱的输出。

他们用一个案例展示了这个问题:当对所有层都应用压缩时,AI在回答"一件长袍需要多少布料"这样的简单数学问题时,会不断重复"bolts bolts bolts..."(布料 布料 布料...)陷入死循环;在回答"棉花是什么颜色"时,会不断重复"Question: What is the question..."(问题是什么:问题是什么...)也陷入了循环。为了避免这种情况,ReFreeKV在实现时固定保留前两层的完整KV缓存,从第三层开始才进行压缩。

四、实验结果:自动驾驶比固定路线更聪明

研究团队在13个不同的数据集上对ReFreeKV进行了全面测试,覆盖了数学推理、科学问答、常识推理、阅读理解、多文档问答、文本摘要和代码补全等多种任务类型,使用的模型包括Llama3(8B和70B版本)、Mistral-7B以及Qwen2.5(7B、32B和72B版本)。

结果显示了ReFreeKV的核心价值。以Llama3-8B为例,ReFreeKV在13个数据集上的平均表现比不压缩时还要高出0.12%,而它平均只使用了63.68%的缓存空间。换句话说,它不仅没有因为压缩而变差,反而还稍微变好了,同时节省了超过三分之一的内存。Qwen2.5-7B上的结果更加突出,平均表现提升了2.63%,平均使用了76.02%的缓存。在Mistral-7B上,ReFreeKV也实现了约15%的压缩,仅带来1.5%的性能下降。

ReFreeKV的一个特别有意思的特性是它能自然反映任务难度。在数学和科学类任务上,它的缓存使用率往往超过90%——因为这些任务确实需要大量上下文才能做出正确推理。而在文本摘要任务(如QMSum)上,它的缓存使用率可以低至15%——因为摘要任务往往只需要抓住几个关键段落就够了。这种自动适应难度的特性,正是固定阈值方法所无法做到的。

相比之下,固定阈值方法的表现就显得捉襟见肘了。在90%的高预算下,H2O、StreamingLLM、SnapKV等方法还能维持相对不错的表现;但当预算降到50%时,很多数据集上的表现开始大幅下滑,比如SnapKV在GSM8K上跌到只有12.96分(原本75.28分),H2O在同一任务上只剩31.08分。当预算进一步压缩到20%时,几乎所有方法在数学类任务上都接近崩溃,分数普遍在个位数徘徊。这充分说明,固定阈值在现实开放域场景中的脆弱性。

研究团队还将ReFreeKV与另一个思路相近的方法Twilight进行了比较。Twilight采用了类似"top-p采样"的机制来动态选择保留哪些缓存位置,在某些数据集上效果不错,但它的核心参数p值需要针对不同模型分别调整(Llama3-8B用p=0.95,Mistral-7B用p=0.85)。实验结果显示,两个方法在这些数据集上表现相近,ReFreeKV在不需要任何手动调参的情况下达到了同等效果。

五、效率分析:快,而且越大越快

节省内存只是一方面,压缩本身是否会拖慢AI的推理速度,是另一个关键问题。

研究团队测量了ReFreeKV的端到端推理时间,将其与H2O、StreamingLLM和SnapKV在50%预算设置下进行比较。结果显示,ReFreeKV的压缩操作本身耗时极短,与其他方法基本持平。更重要的是,由于ReFreeKV会自动调整到合适的压缩率(有时比50%压缩得更多),它在12组比较中有8组实现了最快的总体推理速度。

在批量处理场景下(即同时处理多个用户请求),ReFreeKV相比不压缩的基准方法,吞吐量(单位时间内能处理的词数)提升了10%到20%,而且随着批量大小增加,这种优势依然稳定存在。这对于实际部署大型语言模型的服务提供商来说,是一个非常实际的性能改善。

六、研究局限与未来空间

研究团队也坦诚地指出了ReFreeKV目前的局限性。

最主要的局限是,ReFreeKV的实际压缩率与理论最优值之间还存在差距。以Mistral-7B在QMSum任务上的表现为例,ReFreeKV保留了84.3%的缓存,而实验表明50%的缓存实际上就已经足够维持性能了。换句话说,ReFreeKV"过于谨慎",在某些情况下压缩得不够彻底。研究团队认为这是未来改进的重要方向——如何在不损害性能的前提下,实现更激进的压缩。

另一个局限是理论保证的缺失。目前ReFreeKV能够近似无损压缩是通过大量实验验证的,但并没有从数学上给出严格的性能保证。在Mistral-7B上1.5%的性能下降虽然很小,但在理论层面仍然是一个待解决的问题。如何建立更严密的理论框架,确保压缩后性能损失可以被精确控制,是后续研究的重要课题。

说到底,ReFreeKV解决的是一个非常实际的工程问题:在真实世界中部署AI模型时,你不可能对每一类输入都手动调参,你需要一套能自动适应的机制。这项研究的贡献,与其说是发明了一种更强的压缩算法,不如说是重新定义了"好的压缩"应该是什么样的——它应该像一个聪明的速记员,根据会议内容的复杂程度自动决定记多少笔记,而不是被老板提前规定"今天只能记半页纸"。

这项研究的意义对普通人而言也不陌生。当你使用AI助手、智能客服或者大型语言模型驱动的任何产品时,背后的计算成本和内存消耗直接影响服务的响应速度和运营成本。更高效的内存管理意味着同样的硬件可以服务更多用户,或者让AI处理更长、更复杂的对话。ReFreeKV这类技术推动的,正是让AI变得更便宜、更快、更普及的基础工程。

对这个领域感兴趣的读者,可以通过arXiv编号2502.16886查阅完整论文,代码也已在GitHub上公开,地址为Patrick-Ni/ReFreeKV项目。

Q&A

Q1:KV缓存压缩为什么需要提前设定保留比例,这有什么问题?

A:现有方法在压缩AI的"工作记忆"时,需要人工预先设定保留多少比例的缓存,比如20%或50%。问题在于,不同任务对记忆的需求差异极大——数学推理题需要保留几乎全部上下文,而简单问答只需要少量信息。固定比例在某类任务上可能表现很好,换到另一类任务就会大幅失效,在真实场景中根本无法提前知道该设多少合适。

Q2:ReFreeKV的1%阈值是怎么来的,为什么不用更小或更大的值?

A:研究团队通过大量实验,测试了从0.1%到10%之间多个阈值在不同模型和任务上的表现。结果显示,当阈值低于1%时,压缩效果有限但性能几乎没有提升;当阈值超过1%时,性能开始出现较明显的下滑,尤其是在高难度任务上。1%这个点恰好是在"压缩足够多"和"性能损失可忽略"之间的平衡点,在所有测试的模型和数据集上都表现稳定,因此被选为通用阈值。

Q3:ReFreeKV和Twilight这两种自适应压缩方法有什么本质区别?

A:两种方法都旨在动态调整KV缓存的保留量,不依赖固定比例。核心区别在于Twilight使用了一个类似"top-p"的参数p来控制保留程度,这个p值需要针对不同模型分别调整(比如Llama3用0.95,Mistral用0.85),依然存在一定的手动调参负担。ReFreeKV则使用基于注意力矩阵范数变化量的1%通用阈值,在所有测试的模型上无需任何调整就能直接使用,实现了真正意义上的跨模型通用。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-