万次 test-time 循环不再发散:循环原生注意力残差到底改了什么
十月九日,arXiv 上挂出一篇题为 Scaling to Tens of Thousands of Test-Time Iterations with Loop-Native Attention Residuals 的论文,作者来自包括北大、慕尼黑工业大学在内的一组机构。它要解决的问题很具体:当下大模型靠 test-time compute 变聪明,无非是让同一个网络反复前向、把中间状态在循环里转很多圈;可一旦圈数拉到几千上万步,绝大多数架构要么发散,要么直接忘了自己这一圈在算什么。这篇论文给出的答案是循环原生的注意力残差:不要再把每一圈当独立前向,而是让注意力残差沿着回路跨步携带,给漫长的递归一条稳定的记忆主干。 为什么普通循环模型转不了几千步就崩? 递归式 transformer 这类架构,本质是把同一个权重块反复调用,试图用「重复前向」换取算力深度,而不是把网络堆深。想法很美:一个 2 层的块转一万次,等效于两万层的推理。但实测里,递归块的步数一旦过百,注意力头的分布就开始漂移,反馈回路里的微小误差被一圈圈放大,最后输出震荡、收敛到平庸解。过去的做法是加 LayerNorm、缩短递归块尺寸、在每步重新注入输入,本质都是在「压住」这个不稳定系统,代价是有效循环长度被死死锁在几十步量级。 注意力残差沿回路携带,到底改了哪根线? 这篇论文的核心动作,是把 transformer 里本来只在单层内部流动的注意力残差,改成跨递归步持续存在的状态。普通前向里,注意力输出经过残差连接融进隐藏状态,下一层就当新的输入重来;而循环原生设计里,模型不再每圈从零算注意力,而是把上一圈算好的注意力残差作为条件带进来,让递归过程变成一个有惯性的动力系统。作者观察到,这样一来递归过程中注意力头的行为会显著稳定化,前向推理可以反复进行而不抖。配合对递归块尺寸与输入注入位置的消融,他们报告说可以把 test-time 迭代扩展到上万步量级,而强化学习回路里甚至能跑到十万 token 以上的尺度。 这和「多算几遍」的老思路差在哪? 关键区别在记忆的位置。Chain-of-thought 式多算,是把思考写在 token 序列里,靠下一个 token 记住上一步;循环原生残差是把思考写在网络内部的一个持续状态里,不消耗上下文窗口,也不要求模型把理由逐字吐出。这意味着它更像大脑的「工作记忆」而不是「笔记本」:不需要把每一步都讲出来,却能沿着回路不断打磨同一个解。对那些需要长时间沉淀、又不希望推理成本随上下文线性膨胀的任务,这条路线值得盯紧。 当然,论文是预印本,上万步的收益究竟来自循环残差还是来自更长的等效深度,还需要独立复现。但它至少说明一件事:test-time compute 的下一仗,可能不在「多想几行字」,而在「让网络本身转得动」。 去论坛讨论 前往 silicon-agi.com 论坛 参与讨论