← 全部笔记

LOOPED LANGUAGE MODELS · 演化与研究问题

Loop LLM:同一组参数,多算几遍为什么会更好?

把不同层依次计算,改成同一个模块反复更新隐藏状态。关键不只是共享参数,而是学会迭代、让额外计算有用,并把节省落实到真实推理系统。

中文研究笔记面向有 AI 基础的读者由 gpt-6-astra 完成

1. 相对 LLaMA,循环的到底是什么?

本篇把 Loop LLM 理解为 沿网络深度反复执行共享模块的语言模型,也覆盖 Ouro 论文中的 LoopLM 路线。这里的循环发生在隐藏状态中;外部 agent 反复调用模型、生成“反思—修改”文本属于另一种系统,不能直接混用结论。

普通 decoder 的层可以写成 \(h^{\ell+1}=F_\ell(h^\ell)\),不同层通常有不同参数。深度循环模型则反复执行同一个核心模块 \(R_\theta\):参数相同,输入的隐藏状态在变,因此每一轮输出仍然可以不同。 核心内部仍可以是熟悉的 attention、MLP、残差与归一化。L2 L8

\[\begin{aligned} e&=P(x),\\ s_{r+1}&=R_\theta(s_r,e),\\ \text{logits}&=C(s_R). \end{aligned}\]

\(P\) 是输入前端,\(e\) 是持续可用的输入表示,\(s_r\) 是第 \(r\) 轮状态,\(C\) 是输出端。此式采用 Huginn 一类的分工来说明,并非所有循环模型都采用相同的初始化、输入注入或输出头。

图 1 · 参数只存一份,状态走过 R 轮
前端 P · 编码输入token → 输入表示 e。它为后续每一轮提供原始问题的信息。
核心 Rθ · 反复更新s₀ → s₁ → s₂ → … → sR
每轮读取上一轮状态,也可再次读取 e。
↻ 同一组权重 θ,重复 R 次
输出端 C · 读出答案把最后状态变成词表 logits,再决定输出 token;内部循环不必逐轮输出文字。
概念图采用前端—共享核心—输出端结构。深度循环可以在已有 token 位置上展开;额外 latent slot 是另一个可组合的设计轴。[L8、L14]

三件容易混淆的事

做法 增加计算的方式 需要单独验证什么
参数共享,如 ALBERT 不同深度复用权重 参数变少,并不自动意味着测试时多跑几层就更好 L3
深度循环,如 Huginn / Ouro 对同一批位置反复更新隐藏状态 模型是否学到可重复的更新规则;训练外的轮数是否有效 L8 L10
连续思维,如 Coconut 把隐藏表示作为后续输入 embedding 可能增加 latent 序列位置;不能把它等同于固定位置上的深度循环 L6

文本 CoT 则通过生成中间 token 扩展序列。两者可以结合:例如 LOTUS 同时引入 latent slots 和循环,并使用显式 CoT token 监督。因此“有没有输出文字”“有没有增加位置”“有没有共享模块”是三个不同的问题。L14

2. 演化主线:共享计算 → 学会迭代 → 按预算执行

循环并不是近两年才出现的想法。新的进展在于把它训练成规模更大的语言模型,并处理不同计算预算、训练信号和推理缓存之间的关系。

时间与工作 解决的核心问题 应怎样理解它的贡献
2016 · ACT 简单与困难输入是否需要同样多的计算? 让循环网络学习内部计算步数,并引入计算代价。L1
2018 / ICLR 2019 · Universal Transformer attention 能否与深度递归结合? 共享变换沿深度更新各位置,并研究位置级自适应停止。L2
2019 · ALBERT 深模型的参数存储能否减小? 跨层共享参数;这是 encoder 的参数效率路线,不等于可变深度 decoder 已经成立。L3
2019 · DEQ 能否不显式保存任意多层的反向图? 把表示定义为固定点,以求解器和隐式微分训练;是与有限展开循环相邻的分支。L4
2021 · PonderNet 停止决策怎样与任务学习结合? 学习停止步数的概率分布及其计算权衡,早于现代 Loop LLM 的出口门。L5
2023 · 可编程循环与学习算法 循环能表示什么?又能学到什么? Giannou 等用构造权重实现迭代程序;Yang 等训练循环模型完成上下文数据拟合。前者证明可表达,后者研究能否学到,证据性质不同。L20 L21
2024 · 长度泛化与时间编码 输入变长、循环变多时,更新规则能否延续? 在有迭代解法的算法任务上研究自适应循环;时间编码工作分析共享更新的表达限制,并引入随轮数变化的缩放。L22 L23
2024.12 · Coconut 中间思维一定要立刻解码成词吗? 把连续隐藏表示反馈为后续输入,打开连续思维分支。L6
2025.02 · 理论与 Huginn 循环是否能提供有效深度,并扩展到语言预训练? 理论工作分析迭代任务;Huginn 展示 3.5B 级模型的深度循环预训练。理论存在性与实际训练成功需分别看。L7 L8
2025.07 · Mixture-of-Recursions(MoR) 不同 token 是否需要同样轮数? 结合递归模块、路由和 KV 策略,使计算分配与系统执行一起设计。L9
2025.10 · Ouro / LoopLM 循环路径与出口怎样一起学? 使用多出口训练及两阶段出口学习,研究可扩展的共享深度语言模型。L10
2026.02 · LoopFormer 给定计算预算时,短路径也能否预测好? 用时间/步长条件和一致性训练学习不同长度的计算轨迹;区别于只随机截断一个循环。L11
2026.04–05 · Parcae / Attractor Models 多跑很多轮时怎样保持可控? 分别研究稳定的循环动力学,以及固定点细化、隐式微分与自适应求解。L12 L13
2026.06 · LOTUS 潜在轨迹能否得到更明确的监督? 在并行 latent slots 上循环,并从 CoT token 获得训练信号;其思维阶段加速不能直接当作端到端加速。L14
2026.07,09.02 修订 · CHASE 真正跳过循环会破坏未来缓存吗? 在循环状态空间模型中适配跳步造成的状态缺口;v2 已包含实际跳步,不能沿用 v1 的仅选择出口理解。L15

HRM 与 TRM 也是重要的邻近路线:前者采用多时间尺度递归模块,后者用更小的共享网络简化递归求解。它们在结构化推理任务上的结果提供了设计线索,但不等于已经证明一个小递归模型普遍胜过通用预训练 LLM。L16 L17

3. 同一个模块,怎样做到第一轮和第二轮干不同的事?

一个可手推的例子:重复“查下一跳”

设输入保存三个映射:A → C、C → D、D → B。问题是“从 A 出发,沿映射走两步到哪里?”如果共享模块学到的是“用当前节点查询下一跳”,执行过程就是:

状态 本轮读取的映射 更新后的状态
初始:A A → C 第 1 轮:C
第 1 轮:C C → D 第 2 轮:D

两轮的权重可以完全相同:第一轮的 query 表示 A,第二轮的 query 表示 C,所以 attention 读取了不同信息。若用 one-hot 状态和一个手工矩阵 \(M\) 表示这个查找算子,就是 \(s_1=Ms_0\)、\(s_2=M^2s_0\)。重复的是更新规则,而不是重复把同一个输入送进去、得到同一个输出。

这是说明迭代可能有用的构造例子,并不声称 Huginn 或 Ouro 内部真的实现了这张离散表。自然语言任务还需要保留问题、目标步数与更多连续状态;只会不停“查下一跳”,也不会自动知道什么时候该停。循环深度对若干迭代任务的价值有理论与实验研究,但不能因此推出所有语言任务都随轮数提升。L7

共享参数省了多少?多算了多少?

用“2 层前端 + 4 层核心 + 2 层输出端”作例子,这也对应 Huginn 报告的模块层数。唯一的 Transformer block 共 8 个;核心循环 \(R\) 次,则一条路径执行 \(2+4R+2\) 个 block。L8

核心循环次数 独立的 block 数 执行的 block 次数
1 8 8
4 8 20
8 8 36

表格是层数核算,不是准确参数量或延迟。输入注入层、输出头和不同宽度还会贡献参数;硬件也不会按这个比例保证加速。一个 4 轮模型至少应与两种普通模型分别比较:8 层模型用于理解相近参数预算下的效果;20 层模型用于理解相近执行深度下的效果。两种对照回答不同问题。

训练难点一:每一轮都需要知道原始问题

在足够多轮更新后,只沿残差状态传递的信息可能被改变。Huginn 的核心显式接收当前状态和前端表示,将二者拼接再投影,使每一轮都能重新读取输入。它还随机采样循环次数,并只对最后一段循环反向传播,以控制训练内存。L8

截断反向传播不是免掉早期计算:早期轮仍要前向执行,只是其完整梯度链被切断。因此需要区分参数显存、反向激活显存、总训练 FLOPs 与推理轮数四个量。也不能把 Huginn 的 3.5B 参数直接当成普通 3.5B 模型的推理成本。

训练难点二:只监督最后一轮,前几轮未必能输出好答案

Ouro 用各出口的预测损失训练循环路径。可把其第一阶段目标的结构理解为 \(\sum_r q(r\mid x)\mathcal L_r-\beta H(q)\):出口分布加权任务损失,熵项鼓励训练覆盖多个出口。之后再训练出口选择,使其偏向合适的退出位置。这个熵项本身并不是显式的“每多算一步罚多少钱”。L10

LoopFormer 处理的是另一种需求:用户先给计算预算,模型应该在该预算内走完一条有用的轨迹。它加入时间与步长条件,用一致性约束联系不同长度的轨迹。这样,“跑 4 小步”和“跑 2 大步”可以被当作相关的训练目标;这与让每个 token 自行决定第几轮退出不同。L11

因此要分别检查三件事:代码是否允许改轮数;模型在这个轮数下是否训练过或能泛化;执行系统是否真的跳过了不用的步骤。第一件成立,不保证后两件。

系统难点:权重共享,为什么 KV 不一定能共享?

在自回归解码中,第 \(r\) 轮 attention 通常需要历史 token 在对应计算深度产生的 key/value。即使投影矩阵相同,\(K_r=W_Ks_r\)、\(V_r=W_Vs_r\) 仍会随 \(s_r\) 改变。同一份权重会产生不同的中间状态,缓存保存的是这些状态的投影。 Ouro 的缓存实验也区分了不同共享策略与 prefill / decode 阶段,不能从局部结果推出普遍无损共享。L10

图 2 · 深度与 token 时间,是两根独立的轴
核心的循环深度历史 token 1…t−1当前 token t
第 1 轮缓存 K₁、V₁查询对应轮的历史
第 2 轮缓存 K₂、V₂用更新后的状态查询
第 3 轮缓存 K₃、V₃若此时才执行第 3 轮,需要可用的历史
固定轮数、各轮保留缓存的概念布局,省略核心内部的多层。历史 token 如果在第 2 轮退出,第 3 轮就可能缺少它的对应状态;需要明确采用稀疏注意力、缓存复用、补算或专门训练的规则。图不是所有循环模型的唯一缓存实现。[L9、L10]

在各轮独立保留标准 KV 的设定下,核心缓存的量级约为

\[2\,B\,N\,L_{core}\,R\,n_{kv}\,d_{head}\,b\quad\text{bytes}.\]

这里 \(B\) 是 batch size,\(N\) 是已缓存序列长度,\(L_{core}\) 是核心层数,\(n_{kv}\) 是 KV 头数,\(d_{head}\) 是头维度,\(b\) 是每个元素的字节数;开头的 2 对应 K 和 V,尚未计入前端与输出端。公式只是布局推导:MQA 可以减小 \(n_{kv}\),但仅共享参数不能自动删掉 \(R\)。

MoR 把 token 路由与递归缓存共同设计,包括只保留活跃 token 的递归缓存,以及共享缓存等不同方案。L9 CHASE 则在循环状态空间模型上研究真正跳步后的状态缺口适配;它的 2026 年 9 月修订已经包含实际跳步,状态空间缓存与 Transformer KV 不能直接当作同一种结构。L15

提前退出还会改变 batch 内的工作形状:一个 token 少跑两轮,未必能让整个 GPU kernel 同比例缩短。需要量实际首 token 延迟、逐 token 延迟、吞吐与峰值缓存,而不是只统计平均循环次数。

4. 怎样区分“多算有效”“收敛了”和“答案正确”?

循环提供了可复用的计算深度,但没有保证每多一轮都更好。 测试时应直接画出轮数—质量曲线,并注明哪些轮数在训练范围内。只有在相同数据、训练预算或明确匹配的推理预算下,才能判断收益来自循环结构,还是来自多做了计算。L7 L8

稳定性也有两层含义。例如自造更新式 \(s_{r+1}=0.5s_r+1\),从 0 出发得到 1、1.5、1.75……并趋向 2。它数值上非常稳定,但如果任务答案应该是 3,收敛并没有解决问题。小状态变化、低输出熵、固定点残差小,都不能单独证明语义正确。

Parcae 从动力学角度控制循环更新;其局部或线性化分析应按假设理解,不能自动扩展为所有非线性输入上的全局保证。L12 DEQ 和 Attractor Models 用固定点及隐式梯度探索另一条路线:减少对完整展开反向图的依赖,不代表求解器的前向时间免费。L4 L13

最后,可解释的中间状态是线索,不是机制证明。循环表示中能读出某个推理阶段,可能只是相关信息;要证明它影响后续答案,需要在控制其他变量的前提下干预该状态。近期机制分析、LOTUS 的轨迹监督与 RLTT 的潜在轨迹奖励,为这个问题提供了不同入口。L19 L14 L18

5. 三个可以落实的研究方向

以下提案尚未实验验证。最近的工作已经覆盖共享权重、学习出口和稳定循环,研究问题应进一步说明“在什么条件下,哪一部分仍未得到可靠验证”。

方向 A · 预测“多算一轮的收益”,而不只预测“现在有多自信”

已有工作与差别。 PonderNet、MoR、Ouro 已有停止或路由机制,LoopFormer 研究预算条件,CHASE 处理实际跳步后的状态问题。更具体的目标是:在分布变化和真实缓存成本下,学习下一轮的预期净收益,而不是再提出一个出口门。L5 L9 L10 L11 L15

可证伪假设。 当前输出熵相近的样本,继续计算的收益可能截然不同;用状态变化与任务特征预测后续损失下降,在新任务和长输入上仍能形成更好的质量—延迟曲线。

最小实验。 先冻结一个可修改循环与缓存实现的小模型,在训练划分离线记录完整轨迹,构造各出口后续收益的监督信号。模型在测试时只能读取当前已有状态,不能读取未来状态或正确答案。比较固定轮数、熵阈值、状态收敛阈值、已有出口策略,以及学到的收益策略;同时设置只改变预算、没有动态门的对照。

真正要量的东西。 必须实现实际跳步,把补算、缓存维护与 batch 调度计入端到端时间。在相同硬件和输出长度协议下,报告质量、首 token 延迟、逐 token 延迟、吞吐和峰值显存,分别覆盖不同 batch size 与输入长度。如果只减少轮数却没有节省时间,或遇到未见任务就过早退出,不能算目标实现。

方向 B · 看起来像推理的中间状态,是否真的推动了答案?

已有工作与问题。 LOTUS 给潜在位置更明确的 CoT 监督,RLTT 研究轨迹奖励,机制分析描述循环中可识别的阶段。它们共同引出一个更强的验证目标:有用的中间状态是否对最终正确性具有可复现的因果作用?L14 L18 L19

可证伪假设。 在同一问题的多条轨迹中,将一个关键中间状态替换为匹配条件下的有效状态,会定向改变后续求解;反之,破坏它会削弱正确率,而且影响不能由扰动幅度解释。

最小实验。 从可控制的多跳、算术与约束任务开始,对同一输入、相同循环深度的轨迹做配对干预。干预时要一致处理依赖该状态的缓存,必要时从该位置重算。加入未改动、等范数随机扰动、无关位置替换和相同额外计算量的对照;随机噪声造成的离流形损伤不能作为关键状态的证据。

下一步与失败条件。 若干预效应稳定存在,再比较只监督最终答案、轨迹监督、轨迹奖励三种训练方案,并匹配数据与训练计算。正确答案只用于离线分析和训练监督,不能进入测试决策。如果只能从状态中解码出步骤,却无法通过受控干预影响答案,应把结论限定为表示相关性。

方向 C · 为了稳定而收缩状态,会不会损害长程算法进展?

已有工作与问题。 迭代推理需要在多轮中持续推进;Parcae 和固定点模型又要求更新保持可控。两者是否在某些任务上存在取舍,不能仅凭稳定训练曲线回答。L7 L12 L13

可证伪假设。 强收缩约束能改善长循环的数值稳定性,却可能让需要持续改变状态的长链任务过早趋于静止;输入或时间条件化的更新能在相同预算下缓解这种现象。

最小实验。 在可负担的小规模模型上控制训练循环范围,例如 2 / 4 / 8 轮,测试 16 轮及更长任务;这些数字是实验设计示例。比较普通残差循环、已有稳定化设计、不同强度的约束,以及显式轮数/步长条件的方案。长度泛化和时间条件化都有先例,必须以相应早期方法及 LoopFormer 为对照。L22 L23 L11

判断依据与失败条件。 同时记录任务正确率、每轮是否取得算法进展、状态范数、误差传播与局部 Jacobian 估计;匹配总训练计算,并与合适的非共享深层网络比较。若只是数值更稳,而训练外轮数和任务长度没有收益,结论就是稳定性改进;若简单轮数条件已足够,也不需要更复杂的动力学约束。

资源有限时,可以先做方向 A 的离线收益可预测性诊断,但最终仍要回到真实跳步的系统实验。方向 B 更适合机制研究;方向 C 需要可控的预训练或从头训练环境。

与 TabPFN 的交叉问题

两篇笔记可以在一个具体问题上相遇:固定推理预算,应该多读一些训练行,还是对现有行表示多算几轮? 可以先在小型行表示模型上扫描“上下文行数 × 循环次数”,记录质量、缓存和时间,再判断自适应分配是否有意义。循环式上下文拟合已有 Yang 等的工作 L21,自适应表格计算也已有 TabSwift,因此“给表格模型加循环/早停”不足以构成贡献;更有价值的是解释何种任务受益于更多证据,何种任务受益于更深计算。这里不假设 TabPFN 的产品 “Thinking” 已采用这种实现。

参考文献与阅读范围

年份通常指 arXiv 首发年,发表时间可能更晚。下面区分已读正文相关章节和仅依据摘要的文献;结论按对应版本记录。研究方向是待验证的提案。

  1. L1 Adaptive Computation Time for Recurrent Neural Networks
    Alex Graves · 2016 · arXiv(年份为首发) · 摘要与元数据
  2. L2 Universal Transformers
    Mostafa Dehghani, Stephan Gouws, Oriol Vinyals et al. · 2018 · arXiv(年份为首发) · 摘要与元数据
  3. L3 ALBERT: A Lite BERT for Self-supervised Learning of Language Representations
    Zhenzhong Lan, Mingda Chen, Sebastian Goodman et al. · 2019 · arXiv(年份为首发) · 摘要与元数据
  4. L4 Deep Equilibrium Models
    Shaojie Bai, J. Zico Kolter, Vladlen Koltun · 2019 · arXiv(年份为首发) · 摘要与元数据
  5. L5 PonderNet: Learning to Ponder
    Andrea Banino, Jan Balaguer, Charles Blundell · 2021 · arXiv(年份为首发) · 摘要与元数据
  6. L6 Training Large Language Models to Reason in a Continuous Latent Space
    Shibo Hao, Sainbayar Sukhbaatar, DiJia Su et al. · 2024 · arXiv(年份为首发) · 摘要与元数据
  7. L7 Reasoning with Latent Thoughts: On the Power of Looped Transformers
    Nikunj Saunshi, Nishanth Dikkala, Zhiyuan Li et al. · 2025 · arXiv(年份为首发) · 摘要与元数据
  8. L8 Scaling up Test-Time Compute with Latent Reasoning: A Recurrent Depth Approach
    Jonas Geiping, Sean McLeish, Neel Jain et al. · 2025 · arXiv(年份为首发) · 正文相关章节
  9. L9 Mixture-of-Recursions: Learning Dynamic Recursive Depths for Adaptive Token-Level Computation
    Sangmin Bae, Yujin Kim, Reza Bayat et al. · 2025 · arXiv(年份为首发) · 正文相关章节
  10. L10 Scaling Latent Reasoning via Looped Language Models
    Rui-Jie Zhu, Zixuan Wang, Kai Hua et al. · 2025 · arXiv(年份为首发) · 正文相关章节
  11. L11 LoopFormer: Elastic-Depth Looped Transformers for Latent Reasoning via Shortcut Modulation
    Ahmadreza Jeddi, Marco Ciccone, Babak Taati · 2026 · arXiv(年份为首发) · 正文相关章节
  12. L12 Parcae: Scaling Laws For Stable Looped Language Models
    Hayden Prairie, Zachary Novack, Taylor Berg-Kirkpatrick et al. · 2026 · arXiv(年份为首发) · 摘要与元数据
  13. L13 Solve the Loop: Attractor Models for Language and Reasoning
    Jacob Fein-Ashley, Paria Rashidinejad · 2026 · arXiv(年份为首发) · 摘要与元数据
  14. L14 Bridging the Gap Between Latent and Explicit Reasoning with Looped Transformers
    Ying Fan, Anej Svete, Kangwook Lee · 2026 · arXiv(年份为首发) · 摘要与元数据
  15. L15 CHASE: Cache-Hole-Adapted Skip Exit for Looped State-Space Language Models
    Zhenxuan Yu, Takeshi Kojima, Yutaka Matsuo et al. · 2026 · arXiv(年份为首发) · 摘要与元数据
  16. L16 Hierarchical Reasoning Model
    Guan Wang, Jin Li, Yuhao Sun et al. · 2025 · arXiv(年份为首发) · 摘要与元数据
  17. L17 Less is More: Recursive Reasoning with Tiny Networks
    Alexia Jolicoeur-Martineau · 2025 · arXiv(年份为首发) · 摘要与元数据
  18. L18 Prioritize the Process, Not Just the Outcome: Rewarding Latent Thought Trajectories Improves Reasoning in Looped Language Models
    Jonathan Williams, Esin Tureci · 2026 · arXiv(年份为首发) · 摘要与元数据
  19. L19 A Mechanistic Analysis of Looped Reasoning Language Models
    Hugh Blayney, Álvaro Arroyo, Johan Obando-Ceron et al. · 2026 · arXiv(年份为首发) · 摘要与元数据
  20. L20 Looped Transformers as Programmable Computers
    Angeliki Giannou, Shashank Rajput, Jy-yong Sohn et al. · 2023 · arXiv(年份为首发) · 摘要与元数据
  21. L21 Looped Transformers are Better at Learning Learning Algorithms
    Liu Yang, Kangwook Lee, Robert Nowak et al. · 2023 · arXiv(年份为首发) · 摘要与元数据
  22. L22 Looped Transformers for Length Generalization
    Ying Fan, Yilun Du, Kannan Ramchandran et al. · 2024 · arXiv(年份为首发) · 摘要与元数据
  23. L23 On Expressive Power of Looped Transformers: Theoretical Analysis and Enhancement via Timestep Encoding
    Kevin Xu, Issei Sato · 2024 · arXiv(年份为首发) · 摘要与元数据

关联笔记:TabPFN:把学习算法装进一次前向传播