KV 缓存淘汰不必精挑细选:Random Attention 的反直觉方案
长链路推理让大语言模型能够处理更复杂的问题,但不断增长的思维过程也会迅速推高 KV 缓存的显存占用。当前许多 KV 缓存压缩方法都遵循相似路线:为已经缓存的 token 计算某种“未来重要性”分数,再保留得分最高的部分。Random Attention 则提出了一个更激进的反问:这个分数真的有必要吗?
论文的做法十分直接。它固定保留 prompt,在每个注意力头内部对其余缓存 token 进行均匀随机淘汰,不再计算 token 级别的选择信号。作者在四个模型和六项推理任务上进行评估,结果显示,随机策略的效果可以匹配最强的既有淘汰方法;在 vLLM 部署中,吞吐量则提升了 32% 至 43%。
核心要点
- 提示词需要被区别对待。 受控实验表明,prompt 是缓存中更脆弱的部分。不同选择器之间的性能差距,很大程度上取决于其信号是否碰巧保留了提示词相关内容。
- 推理轨迹具有文本冗余。 模型在继续推理时,往往会重新表述仍然需要的信息。即使早先的某些 token 被淘汰,后续文本也可能留下可用副本。
- 注意力头之间存在副本。 不同注意力头会分别保存推理轨迹的表示。随机淘汰并不需要准确判断哪个 token 最重要,只要整体保留了足够多的副本,模型便可能继续工作。
- 简单策略降低了服务开销。 省去缓存打分和排序,可以减少压缩过程本身的计算与实现复杂度,这也是吞吐提升的重要来源。
这项工作并不是说所有 token 都同样重要,也没有证明随机淘汰适用于所有上下文场景。它更准确的意义在于:对于包含长推理轨迹的任务,缓存中的冗余可能已经提供了安全余量,复杂选择器带来的收益未必与其开销相称。未来的 KV 缓存系统或许可以把资源集中在真正脆弱的区域,例如 prompt 保护和缓存预算控制,而不是对整段推理轨迹进行精细排序。
对推理服务来说,这是一种值得关注的工程思路:先用低成本规则守住关键上下文,再利用模型自身的重复表达和多头结构承受随机性。它能否推广到更长上下文、不同任务和更严格的质量约束,仍需要进一步验证。
评论
正在确认登录状态……
正在加载评论……