你让 AI 解一道很长的题。它一边推理,一边把读过和写过的内容记在“草稿纸”上。推理越长,草稿纸占的显存越多。纸放不下时,常见做法是仔细评分,只留下看起来最重要的记录。新论文《Random Attention: Rethinking KV Cache Eviction for Efficient Reasoning》却提出:先把题目完整留住,其他记录随机删,效果可能并不比精挑细选差。
这个反直觉结果值得看,不只是因为方法简单。它追问了一个更基础的问题:复杂的缓存淘汰算法,是否高估了“重要性分数”的可靠性?本文实验结果与机制解释均来自论文团队及其公开代码,尚不能视为独立复现。
它随机删的究竟是什么?
语言模型生成当前文字时,会用“注意力”为前文不同位置分配参考权重。权重越高,表示模型此刻越集中地读取那里。与此同时,模型会把前文各位置的中间表示存进 KV cache(键值缓存),避免每生成一个新词都从头计算。
问题在于,KV cache 会随着上下文变长而线性增长。推理模型可能生成数万 token——token 可以粗略理解为模型处理文字的基本单位——缓存很快就会成为显存瓶颈。
缓存淘汰就是给这块记忆设一个固定预算。新记录不断加入,旧记录一旦被删便无法恢复。既有方法通常先给每个位置算“未来可能有多重要”,再保留高分项。评分依据各不相同:有的累计历史注意力,有的只看最近一段注意力,还有的结合内容重复程度、数值幅度或位置信息。
Random Attention 不计算这些分数。它只做两件事:
- 永远保留整个 prompt,也就是系统提示、对话模板和用户问题。
- 对模型后来生成的推理轨迹,在每个 attention head 内独立、均匀地随机淘汰。attention head 是模型并行运行的多组注意力计算,不同组会寻找不同关系。
像清理书桌时先把题目钉在桌面,再从演算纸中随机抽取一部分留下。它不是随便忘掉一切,而是把“不可替代的输入”和“不断改写的推理过程”区别对待。
这也不同于我们 9 月 3 日报道的 Qwen Sparse Attention。后者先给文本块评分,只让更相关的部分参与当前计算,但所有缓存仍留在内存里。这里讨论的是永久淘汰:删掉以后,显存占用才真正受到固定预算约束。
真正重要的可能不是评分
论文在 Qwen3-4B、Qwen3-14B、Qwen3-32B 和 Phi-4-reasoning 四个模型上测试,任务覆盖数学、科学与代码推理。按作者在六项任务、指定缓存预算和采样设置下的结果,Random Attention 整体可比最强既有淘汰器;主结果表的 60 个基线比较中,它显著领先 31 个,只在 Qwen3-32B 的代码推理上显著落后一次。
这不等于随机策略追平完整注意力。以 Qwen3-32B 的 MATH500 为例,不淘汰缓存的 Full attention 准确率为 0.950,Random Attention 为 0.891;在 LiveCodeBench 上则分别为 0.886 和 0.806。论文更窄、也更有针对性的结论是:在相同缓存预算下,复杂评分没有稳定胜过这个极简对照。
作者随后把“保不保留 prompt”与“用什么分数选择”拆开测试。结果显示,一旦所有方法都强制保留 prompt,原本很大的方法差距多数消失。比如 Phi-4-reasoning 的 GPQA-D 上,SnapKV 加入 prompt 保护后,准确率从 0.442 升至 0.667;Random Attention 则从不保护时的 0.434 升至 0.678。最极端的是简单的近期窗口策略:它原本只留最近内容,在 Qwen3-4B 的 MATH500 上仅得 0.246;保留 prompt 后升至 0.843。
换句话说,部分所谓“评分能力”,可能其实是在弥补算法误删问题原文造成的损失。作者据此主张,在其测试条件下,选择信号本身贡献很小。这个结论不应外推成所有模型和任务的普遍规律。
为什么随机删除没有立刻毁掉推理?
论文给出两层冗余解释。
第一层在文字里。模型推理时会反复重述仍在使用的中间结果。某个信息即使从较早位置被删,后面改写过的副本仍可能留下。问题原文则通常只出现一次,所以更加脆弱。
第二层在注意力头之间。每个 KV head 都保存同一 token 的一份中间表示,而淘汰在各头内独立进行。一个位置只有在所有相关头里都被删掉,才算真正失去。作者通过植入人造事实的受控实验发现:事实只留在一个头时几乎无法取回,分散保留在多个头时,成功率会明显上升;副本具体落在哪些头、是否构成连续片段,影响反而较小。
这解释了独立随机抽样的一个好处:它把幸存副本分散到不同头中。随机策略没有判断哪段推理最重要,但有机会保住足够多、彼此不同的副本。
简单还带来了系统收益
评分不只可能选错,也要花时间。Random Attention 无需校准、调参或额外扫描缓存来计算重要性。在论文的 vLLM 部署实验中,相比最强既有基线 TriAttention,它在相同内核和缓存预算下将吞吐量提高了 32%—43%。这是单位时间处理 token 数的提升,不是节省了同等比例的 KV cache,也不代表延迟下降同样幅度。
作者认为,单次评分本身并不昂贵,但服务多个请求时,淘汰会频繁发生在批处理同步点。某个请求计算分数,整批请求都可能等待。分页存储下,依赖缓存内容的评分还需要额外遍历 KV 状态;随机策略只做双方都需要的缓存压缩,因此小开销会在高并发服务中累积成明显差距。
为什么值得关注
这项工作的价值更像一次“对照实验纠偏”。过去的研究容易把注意力放在如何设计更聪明的分数,却没有完全对齐各方法如何保护 prompt。Random Attention 把评分信号降到近乎为零,迫使新方法回答一个更严格的问题:在相同预算、相同 prompt 保护下,你的分数是否真的比随机选择更有用?
如果后续独立实验仍支持这一结果,研究重点可能会从“更精细地排列所有缓存”转向两个更具体的问题:怎样分配 prompt 的保护预算,以及怎样识别随机策略最容易漏掉的稀有信息。
局限与未知
- 结果来自同一研究团队的论文、页面与代码,尚无独立复现;“评分信号几乎无贡献”只适用于其四个模型、六项任务、缓存预算和部署配置。
- Random Attention 保留整个 prompt。代码任务的 prompt 较长,最长可占缓存预算的一半;全部锁定可能挤压后续推理空间。
- 随机策略不擅长处理“只说一次、很久以后才要用”的事实。论文的口令实验中,Random Attention 无法复现这类信息,而内容相关的选择器有时能够保住它。