Decoding Looped Transformers Better for (Almost) Free
Weihao Liu, Huangjie Zheng, Tianrong Chen, Rohit Dilip, Richard He Bai, Yizhu Jiao, Yuyang Wang, Ruixiang Zhang
cs.LG
2026-10-02
用循环 Transformer 第 1 轮当免费弱参考做免训练对比解码,AIME pass@1 从 61.88% 升到 73.33%,半数循环仍追平全深度、省最多 48% FLOPs。
Looped Transformer(循环 Transformer)把「深度」和「参数量」拆开:同一组共享参数的 block 反复执行 R 次,计算量随迭代数增长,参数不动。Ouro、Huginn、Parcae、Looped-Qwen3 都走这条路,推理时模型在循环里逐轮打磨隐状态,到最后一轮才输出 token。
问题出在解码这一步。标准做法只读最后一轮的隐状态,前面 R−1 轮每轮其实都能解出一个合法的 next-token 分布,全被丢掉。另一边,contrastive decoding(对比解码)是个成熟思路:拿强预测减去一个对齐的弱预测,放大强模型的判断优势,但弱参考通常得专门构造,训一个小模型、扰动上下文或者挑中间层,成本和对不齐的麻烦都在。
这两件事拼起来就是这篇的切口:循环模型的第 1 轮,天然是一个与最终预测对齐的弱预测——同一个前缀、同一套输出头、同一个表征空间,只是算得少。弱参考是白送的。
LoopCD 的全部机制是一行外推:把最终预测沿「循环正在移动的方向」再推远一点。
为什么参考选第 1 轮:论文量化了每一轮预测与最终预测的散度距离,循环前几步移动最大、后面几乎不动;增益与「参考和最终答案的分歧率」直接相关,Huginn 第 1 步在 51% 的 ARC-Challenge 题上答案与最终不同、带来 +3.07 分,第 16 步只有 7% 分歧、只剩 +0.17。Huginn 是例外,它从高斯噪声初始化循环状态,hidden 空间的早期状态有毒(直接用第 1 步是 −0.58 分),要等 burn-in(从噪声到表征可用的预热期)过去,第 6 步才到峰值 +0.83。
同深度(不省算力)设置下,四个家族在数学、代码任务上的通过率(pass@1,单次采样)全部上涨:
| 设置 | 指标 | 基线 | LoopCD |
| Ouro-2.6B-Thinking | AIME 2024 pass@1 | 61.88% | 73.33%(Logits,自适应) |
| Ouro-2.6B-Thinking | AIME 2025 pass@1 | 49.58% | 56.88% |
| Ouro-2.6B-Thinking | OlympiadBench pass@1 | 64.05% | 67.29% |
| Huginn-0125(R=32) | HumanEval pass@1 | 22.56% | 31.71%(Hidden) |
| 四家族 × 七个多选 benchmark | 均值变化 | — | +0.29 +1.59 |
省算力模式:迭代数砍半,未引导模型在多选均值上掉 0.171.29 分,LoopCD 在半深度加回 0.751.29 分,六个设置(Huginn、Parcae、Looped-Qwen3)全部追平或超过全深度基线,省掉 22.5%48.2% 的 forward FLOPs。Huginn-0125 用 16/32 次迭代,在 LoopCD-Logits 下反超全深度基线 1.02 分,省 46% FLOPs;guided 半深度只需原始前向的 0.520.78。
机制上有三个硬结论。第一,对比向量里与最终 logits 正交的部分才是增益来源,它做的是 re-ranking(重排候选),平行的部分只相当于温度缩放;HellaSwag 上只用正交分量,Ouro-2.6B 在 ω=0.5 时 +2.27,比全更新的 +1.56 还高。第二,增益集中在模型不确定处:按置信度分五组,最不自信的五分之一题 +6.4+13.3 分,最自信的五分之一最多 +0.4;整体只有 5.8%14.9% 的答案被翻转。第三,强度窗口分任务:多选评分峰值在 ω≈0.5、容忍区间宽,自回归生成必须压在 0.20.3,超过约 0.6 就崩,因为早期 token 的偏移会沿生成前缀复合;自适应规则把稳定区间拉宽到 ωmax∈[0.5, 1.0]。
这是纯 inference-time 的方法:不训练、不改 checkpoint、不需要辅助模型。四个家族的训练范式各不相同(Ouro 对每轮输出做监督,Huginn 和 Parcae 预训练时采样循环深度,Looped-Qwen3 把冻结的 dense 模型改造成循环),全都有效,说明收益不绑某种特定训练目标。已经在跑循环模型的人可以直接接上。
省算力那条可能比涨分更实用。循环深度就是拿迭代数买准确率,这个方法在同等准确率下把前向计算砍掉最多接近一半,等于把准确率-算力的 Pareto 前沿整体外推。对做对比解码的人,它还给了一个天然对齐(同词表、同表征空间)的免费参考来源,替代要专门构造的弱模型。
幅度上要诚实:多选 benchmark 的均值提升在 0.31.6 分,属于温和改进;大头在数学和代码生成。渐进改进,但几乎零成本。
论文自己暴露的:生成任务的 ω 窗口窄(0.20.3),换任务要重调,自适应规则缓解但没消除;Hidden 变体在 Huginn 上必须绕开 burn-in 期,不是无脑即插即用;减半迭代的实验只覆盖 Huginn、Parcae、Looped-Qwen3 的六个设置,Ouro 不在其中。
读下来还有几处存疑:省的是解析的 forward FLOPs,论文没给 wall-clock 延迟,Logits 变体多出的那次输出 pass 要跑一遍全词表投影,真实部署里的耗时占比不清楚;AIME 2024/2025 各只有 30 题,+11.45 分约合 3.4 题,虽然 pass@1 由每题 16 次采样平均、噪声比单采样小,题量仍然限制了置信上限;方法只对循环架构成立,主流 dense 模型用不上;ω 按评估设置选取,正文没给出在未调参任务上的选取规则,泛化幅度存疑。