Prefix Sliding:高效测试时扩展
来自 arXiv · 期号 2026-08-27
摘要
测试时扩展(test-time scaling)让模型在推理时花更多计算来提升表现,但长思考链会把整个推理过程都留在注意力里,成本很高。 这篇论文发现,大部分中间推理 token 在后续推理中会失去重要性。基于这个观察,他们提出 Prefix Sliding:推理时只保留前缀(关键指令和工具)和最近几千个 token,中间的 token 直接丢弃。这样无论模型思考多久,内存需求都有上限。 不做训练的情况下,Prefix Sliding 能让现有模型快 3 倍,性能不变。用强化学习配合 Prefix Sliding 训练,可以扩展到超过十万 token 的推理链,效果更好。消融实验显示它优于对中间 token 做摘要或使用普通滑动窗口。 论文附了开源代码。
深读
导读 测试时扩展(test-time scaling)让模型在推理时花更多计算来提升表现,但长思考链会把整个推理过程都留在注意力里,成本很高。这篇论文发现大部分中间推理 token 在后续推理中会失去重要性,并据此提出 Prefix Sliding——推理时只保留前缀和最近几千个 token,中间的直接丢弃。读完能带走一个无需训练即可让现有模型快 3 倍、且能扩展到十万 token 以上推理链的实用方法。 关键信息 - 核心发现:大部分中间推理 token 在后续推理中会失去重要性,因此保留它们的成本不值得。 - 方法:Prefix Sliding 在推理时丢弃不属于前缀(关键指令和工具)或最近几千个 token 窗口的中间 token,使内存需求有固定上限。 - 性能:不做训练的情况下,Prefix Sliding 能让现有模型快 3 倍,且性能不变。 - 扩展性:用强化学习配合 Prefix Sliding 训练,可以扩展到超过十万 token 的推理链,效果更好。 - 消融实验:Prefix Sliding 优于对中间 token 做摘要或使用普通滑动窗口。 - 代码已开源:https://github.com/Muennighoff/prefix-sliding 逐节讲解 问题:长推理链的内存瓶颈 测试时扩展通过让模型在推理时花更多计算(例如让语言模型思考更久)来提升性能。但现有模型通过全注意力机制将整个推理过程保留在内存中,导致需要长思考的困难任务成本过高。论文指出,大部分中间推理 token 在后续推理中会失去重要性,这质疑了保留它们是否值得。 方法:Prefix Sliding 基于上述观察,论文提出 Prefix Sliding:推理时只保留两部分,前缀(关键指令和工具)和最近几千个 token(模型当前正在进行的推理)。中间的 token 直接丢弃。这样无论模型思考多久,总内存需求都有上限,从而实现高效的长时测试时扩展。 效果与扩展 不做训练的情况下,Prefix Sliding 能让现有模型快 3 倍,性能不变。用强化学习配合 Prefix Sliding 训练,可以扩展到超过十万 token 的推理链,效果更好。消融实验显示它优于对中间 token 做摘要或使用普通滑动窗口。 值得注意 本文基于论文摘要,具体实验设置、模型类型、基准测试任务和详细结果数据在摘要中未展开。论文声称“性能不变”和“效果更好”的具体衡量标准(如准确率、推理时间等)以及对比的基线模型细节,需要阅读全文才能确认。