Attractor Models 深度拆解:当循环 Transformer 遇见不动点,AI 学会了自己迭代到答案

研究对象:Solve the Loop: Attractor Models for Language and Reasoning 作者:Jacob Fein-Ashley, Paria Rashidinejad (USC) arXiv:2605.12466 发布时间:2026-05-12 项目主页:https://a…

目录
  1. 一、问题的本质:为什么循环不是答案
  2. 二、Attractor Models 的核心洞察
  3. 2.1 从"循环 N 步"到"迭代到不动点"
  4. 2.2 架构:主干 + 吸引子的双模块设计
  5. 2.3 隐式微分:内存 O(1) 的魔法
  6. 2.4 Anderson 加速:让迭代更快收敛
  7. 三、实验结果:数据不会撒谎
  8. 3.1 大规模语言建模:帕累托改进
  9. 3.2 内存恒定 vs 线性增长
  10. 3.3 硬推理任务:小模型的奇迹
  11. 四、平衡内化:最迷人的发现
  12. 4.1 现象描述
  13. 4.2 为什么会这样?
  14. 4.3 实际意义
  15. 五、与相关工作的对比
  16. 5.1 与 DEQ 的关键区别
  17. 六、技术实现的细节
  18. 6.1 吸引器模块的架构
  19. 6.2 求解器实现
  20. 6.3 隐式微分的实现
  21. 七、我的判断
  22. 7.1 为什么这篇论文重要
  23. 7.2 局限和未解问题
  24. 7.3 对行业的影响预测
  25. 7.4 一个有趣的哲学问题
  26. 八、参考信息
  27. 九、交叉引用
研究对象:Solve the Loop: Attractor Models for Language and Reasoning
作者:Jacob Fein-Ashley, Paria Rashidinejad (USC)
arXiv:2605.12466
发布时间:2026-05-12
项目主页:https://attractor-models.github.io/
代码:https://github.com/jacobfa/Attractor

一、问题的本质:为什么循环不是答案

Transformer 改变了 NLP,但它有一个根本假设:每个 token 经过一层前馈网络就被定型了。

这合理吗?你读一个句子,第一遍理解和第三遍理解能一样吗?人在思考时会反复琢磨、修正、再修正。但标准 Transformer 说:不行,你必须一次算对。

于是研究者们开始探索循环架构——让模型反复迭代同一个计算块,逐步精炼它的理解。Universal Transformer、Looped Transformer、Recurrent-Depth Transformer……这条路走了好几年。

但循环架构遇到了三个结构性难题:

1. 训练内存爆炸:每多循环一次,反向传播就要存一份中间状态。内存随循环深度线性增长,深度稍大一点就 OOM。 2. 训练不稳定:梯度在长程循环中要么爆炸要么消失,需要各种谱半径约束、归一化技巧来稳住。 3. 固定深度的诅咒:训练时选了循环 8 步,推理时改成 16 步?模型傻了。训练和推理深度必须一致,否则就是训练-测试不匹配。

更讽刺的是,专门的微型递归推理器(比如 TRM)还表现出 "少即是多" 的怪现象——参数从 7M 增加到 27M,性能不是变差,是直接 崩溃到 0%。

循环架构的 promise 很大,但 path 上全是坑。


二、Attractor Models 的核心洞察

2.1 从"循环 N 步"到"迭代到不动点"

Attractor Models 的出发点是:不要预设循环深度,让模型自己决定什么时候停。

怎么做?把精炼过程看作 不动点问题:

\[\tilde{y}_{t+1} = T_{\theta_a}(\tilde{y}_t, \tilde{y}_0)\]

当 \(\tilde{y}_{t+1} \approx \tilde{y}_t\) 时,就找到了不动点。这个不动点就是精炼后的最终输出。

这和 Deep Equilibrium Models (DEQ, Bai et al. 2019) 的思路一脉相承,但 Attractor Models 做了几个关键改进,让它真正适用于大规模语言建模。

2.2 架构:主干 + 吸引子的双模块设计

输入 x
    ↓
Embedding E(x) → 主干 Transformer T_θb → 初始输出嵌入 ṽy_0
    ↓                                    ↓
                                 吸引器模块 T_θa
    ↓                                    ↓
                                 不动点求解器 (Anderson 加速)
    ↓                                    ↓
                                 最终输出 ṽy* → Unembedding → 概率分布

主干模块(Backbone):高容量的因果 Transformer,负责生成一个"合理但不一定精确"的初始猜测。

吸引器模块(Attractor):相对较小的循环网络,负责把初始猜测迭代精炼到不动点。

关键设计:持久注入(Persistent Injection)

每一步迭代都重新注入初始猜测 \(\tilde{y}_0\)。这不是装饰——它确保吸引器始终记得"我最初想说什么",不会漂移到与提议无关的吸引子。

2.3 隐式微分:内存 O(1) 的魔法

不动点问题最漂亮的地方在反向传播。

如果 naively 地反向传播,每一步迭代都要存中间状态,内存又爆炸了。但 Attractor Models 用 隐式微分(Implicit Differentiation):

\[\frac{\partial L}{\partial \theta} = u^\top \frac{\partial T_{\theta_a}(\tilde{y}^\star, \tilde{y}_0)}{\partial \theta}, \quad u = (I - J_{\tilde{y}}^\top)^{-1} v\]

其中 \(J_{\tilde{y}}\) 是吸引器在不动点处的雅可比矩阵。

实际实现中,作者用 一步近似 \(u \approx v\) 来避免求解线性系统。这意味着:

反向传播只需要通过吸引器 一次(一个向量-雅可比积),内存不随前向迭代次数增长。

内存恒定——无论吸引器迭代了 2 步还是 20 步,训练内存都一样。

2.4 Anderson 加速:让迭代更快收敛

吸引器用 Anderson 加速 求解不动点——这是一种利用过去迭代历史来预测下一步的拟牛顿方法。

退出条件有两个:

  • 残差范数低于阈值:\(\|A_{\theta_a}(\tilde{y}_t, \tilde{y}_0)\|_2 / \|\tilde{y}_t\|_2 < \varepsilon\)
  • 达到最大迭代预算 \(T_{\max}\)
注意:\(\varepsilon\) 和 \(T_{\max}\) 是 推理时超参数。你可以在推理时收紧容差(更精确但更慢)或放宽(更快但稍差),不需要重新训练。


三、实验结果:数据不会撒谎

3.1 大规模语言建模:帕累托改进

在 FineWeb-Edu 上训练,与标准 Transformer 和 Parcae(当前最先进的循环语言模型)对比:

规模模型Val. PPLLambada PPLCore 准确率
140MTransformer21.48127.3913.00%
Parcae19.0680.6414.04%
Attractor18.3068.0214.59%
370MTransformer15.7940.7717.46%
Parcae14.4932.7420.00%
Attractor14.0327.1420.24%
770MTransformer13.0822.3722.42%
Parcae12.4919.7125.07%
Attractor12.0915.2126.83%
1.3BTransformer11.9517.2625.45%
关键数字:
  • 770M Attractor 优于 1.3B Transformer——注意后者训练数据还是前者的两倍
  • Lambada 困惑度降低 46.6%(140M 规模)
  • 下游 Core 准确率提高 19.7%(770M 规模)
  • 训练 FLOPs 比 Parcae 降低 25-31%
这不是"用更多资源换更好性能"。这是在 更少训练成本 的情况下获得 更好性能。

3.2 内存恒定 vs 线性增长

循环深度Parcae 内存Attractor 内存
1~2 GB~4 GB
8~8 GB~4 GB
16~16 GB~4 GB
32OOM~4 GB
64OOM~4 GB
Parcae 在 32-64 循环时 OOM,Attractor 全程约 4.18 GB。

这意味着:你可以训练更深的"有效循环"而不受内存限制。

3.3 硬推理任务:小模型的奇迹

Sudoku-Extreme 和 Maze-Hard 是专为测试推理能力设计的极端任务。规则:

  • 单次前向传递直接输出完整答案(不能自回归逐步解码)
  • 每任务仅约 1000 训练示例
方法参数Sudoku-ExtremeMaze-Hard
Deepseek R1 (671B)0.0%0.0%
Claude 3.70.0%0.0%
O3-mini-high0.0%0.0%
Transformer (27M)0.0%0.0%
HRM (27M)55.0%74.5%
TRM (7M)74.7%85.3%
TRM (27M)0.0% (崩溃)0.0% (崩溃)
Attractor (7M)54.3%46.7%
Attractor (27M)91.4%93.1%
这个结果值得逐条解读:

1. 前沿 LLM 完全失败:Claude、GPT o3、Deepseek R1 在这些任务上 0%。因为它们被设计为自回归生成,而任务要求单次直接预测。 2. 标准 Transformer 完全失败:0%。前馈架构不具备迭代精炼能力。 3. TRM 的"少即是多"崩溃:7M 时很强(74.7%/85.3%),但增加到 27M 直接崩溃到 0%。作者认为这是循环架构固有的稳定性问题。 4. Attractor 的自然扩展:7M → 27M,性能从 54.3% 提升到 91.4%。参数增加带来能力提升,没有崩溃。

27M 参数、1000 示例,击败了 671B 参数的 Deepseek R1。

这不是因为模型更聪明,是因为架构更适合这个任务。


四、平衡内化:最迷人的发现

4.1 现象描述

论文中有一个让作者自己都意外的发现,他们叫它 Equilibrium Internalization(平衡内化):

训练后,主干模块的初始输出嵌入 \(\tilde{y}_0\) 已经 接近不动点。即使没有吸引器精炼,直接用主干输出解码,性能也已经很好。

图 6 和图 7 的数据:

规模Attractor T=0(无吸引器)Attractor T=1Attractor T=2+
140M接近最佳最佳持平
370M接近最佳最佳持平
770M最佳持平持平
对比 Parcae:T=1 很差,T=2-4 改善,T≈8 才达到平台期。

Attractor 770M:T=0 就是最佳性能。吸引器在推理时几乎不需要工作。

4.2 为什么会这样?

作者给出的解释是:吸引器模块在训练期间充当了一个 移动的"教师"。

  • 早期训练:主干生成的初始猜测很差,吸引器必须做大量精炼工作。吸引器的输出是高质量的"目标",主干在向这个目标学习。
  • 后期训练:主干学会了"如果我一开始就猜得接近不动点,吸引器就不需要怎么工作"。它把迭代精炼的过程 内化到了自己的初始输出中。
这类似于知识蒸馏:吸引器(大/循环)蒸馏知识给主干(前馈),但这个过程是 自动发生的,不需要额外的蒸馏阶段。

4.3 实际意义

平衡内化意味着:

1. 推理时可以移除吸引器:如果你追求速度,直接用主干输出,性能下降很小(770M 时甚至不下降)。 2. 自适应计算:简单输入用 T=0(最快),复杂输入让吸引器多迭代几步。 3. 模型压缩:训练好的吸引器可以被"蒸馏掉",留下一个高质量的前馈模型。

这打破了"循环 = 慢"的刻板印象。训练时用循环获得高质量信号,推理时可能根本不需要循环。


五、与相关工作的对比

方法循环深度训练内存推理自适应扩展性稳定性
标准 Transformer1O(1)❌✅✅
Universal Transformer固定O(T)❌⚠️⚠️
Looped Transformer固定O(T)❌⚠️⚠️
Parcae固定O(T)❌⚠️✅(谱半径约束)
DEQ自适应O(1)✅⚠️⚠️
Attractor Models自适应O(1)✅✅✅
Attractor Models 把 DEQ 的 O(1) 内存优势和 Parcae 的稳定性优势结合了起来,同时解决了扩展性问题。

5.1 与 DEQ 的关键区别

论文做了消融实验(60.3M 参数,1B token):

方法平衡位置Val. PPL平均迭代数Core 准确率
DEQhidden state (z₀=0, sep. head)42.1814.65.21%
DEQ + tied unemb.hidden state (z₀=0)38.7413.95.83%
Attractoroutput embedding34.058.46.74%
三个关键差异:

1. 平衡位置:DEQ 在 hidden state 上求不动点,Attractor 在 输出嵌入空间 上求。输出空间更直接对应预测目标,优化信号更强。 2. 初始化:DEQ 从零向量初始化,Attractor 从主干的初始猜测初始化。后者的"热启动"让收敛更快。 3. 持久注入:Attractor 每步都重新注入初始猜测,DEQ 没有这种锚定机制。

结果就是:Attractor 困惑度比 DEQ 低 19.3%,平均迭代数从 14.6 降到 8.4。


六、技术实现的细节

6.1 吸引器模块的架构

论文没有详细描述吸引器的具体层数,但从代码和消融实验推断:

  • 主干:标准的因果 Transformer(多层、多头注意力)
  • 吸引器:较小的 Transformer(可能是 2-4 层)
  • 两者共享 Embedding 和 Unembedding 层
吸引器模块的输入:当前迭代输出 + 初始猜测(持久注入)

6.2 求解器实现

Anderson 加速的伪代码:

def anderson_solve(f, y0, max_iter=20, tol=1e-6):
    # f: 吸引器函数 y_{t+1} = f(y_t)
    # y0: 初始猜测
    ys = [y0]
    residuals = []
    
    for t in range(max_iter):
        y_next = f(ys[-1])
        residual = y_next - ys[-1]
        
        if norm(residual) < tol:
            return y_next
        
        # Anderson 更新:利用历史迭代线性组合
        if len(ys) >= 2:
            # 求解最小二乘问题找最优组合系数
            # 然后外推下一步
            pass
        
        ys.append(y_next)
    
    return ys[-1]

Anderson 加速比简单不动点迭代(\(y_{t+1} = f(y_t)\))收敛速度快得多,特别是在吸引器函数接近线性时。

6.3 隐式微分的实现

论文用了一步近似(\(u \approx v\)),避免了求解 \((I - J^\top)^{-1} v\)。

更精确的做法(在小数据推理任务中使用):phantom-gradient 方案,用 \(k=3\) 步的展开来近似梯度。

这体现了工程上的务实:大规模语言建模时近似足够好,小规模敏感任务时可以用更精确的梯度。


七、我的判断

7.1 为什么这篇论文重要

这不是"又一个循环 Transformer 的变种"。它解决了一个真正的架构问题:如何让循环的深度自适应,同时保持训练高效和扩展稳定。

三个核心贡献的权重:

1. O(1) 内存训练:⭐⭐⭐ 这是工程上的突破。循环架构长期被内存瓶颈限制,隐式微分把它解放了。 2. 平衡内化:⭐⭐⭐⭐ 这是概念上的突破。它表明循环精炼可以被前馈网络"学会",训练循环、推理前馈成为可能。 3. 推理任务的压倒性优势:⭐⭐⭐⭐⭐ 27M 击败 671B 不是噱头,它证明了架构选择比参数规模更重要。

7.2 局限和未解问题

1. 吸引器模块的大小:论文没有系统研究吸引器应该多大。太小可能无法有效精炼,太大增加不必要的计算。 2. Anderson 加速的开销:虽然收敛快,但每次迭代需要维护历史窗口和求解最小二乘,这对硬件并行不友好。 3. 大规模推理的实际速度:论文没有报告推理延迟数据。O(1) 内存训练 ≠ 快速推理,不动点求解的迭代时间需要实测。 4. 多模态扩展:目前只在语言建模上验证。视觉、音频等其他模态的不动点精炼是否有效,还未知。 5. 与 Chain-of-Thought 的关系:Attractor 在潜在空间迭代,CoT 在离散 token 空间迭代。两者可以结合吗?论文没有探讨。

7.3 对行业的影响预测

短期(6-12 个月):

  • 开源实现会被社区广泛测试
  • 如果训练效率优势被复现,会成为预训练的新选择
  • 尤其受资源受限的研究者欢迎( academia、startup)
中期(1-2 年):
  • 如果推理效率数据支持,可能被集成到主流框架(Hugging Face Transformers、vLLM)
  • "训练循环、推理前馈"模式可能成为标准范式
  • 推理芯片可能需要新的优化(不动点求解的硬件加速)
长期(2-5 年):
  • 如果平衡内化被证实是普遍现象,可能改变我们对"模型压缩"的理解
  • 从"用大模型蒸馏小模型"变成"用循环训练前馈,自然得到高质量小模型"

7.4 一个有趣的哲学问题

平衡内化让我想到一个更深层的问题:

如果模型能把迭代过程内化到前馈中,那人类的学习是不是也在做类似的事?

婴儿学走路要反复试错(循环),成年人走路是自动的(前馈)。 experts 的直觉是不是就是内化了无数次的循环推理?

Attractor Models 提供了一个 形式化的框架 来理解这种"从迭代到直觉"的转化。


八、参考信息

论文:

  • arXiv: 2605.12466 — Solve the Loop: Attractor Models for Language and Reasoning
  • 项目主页:https://attractor-models.github.io/
  • 代码:https://github.com/jacobfa/Attractor
核心相关工作:
  • Deep Equilibrium Models (Bai et al., 2019) — 不动点模型的基础
  • Parcae (Prairie et al., 2026) — 当前最先进的循环语言模型基线
  • Universal Transformers (Dehghani et al., 2019) — 循环 Transformer 的早期尝试
  • Looped Transformers (Giannou et al., 2023a; Yang et al., 2024a) — 权重共享循环
  • TRM / HRM (Jolicoeur-Martineau, 2025) — 微型递归推理器
数据集:
  • FineWeb-Edu (Penedo et al., 2024) — 预训练语料
  • Lambada — 长程依赖评测
  • Core / Core-Extended — 综合语言理解评测
  • Sudoku-Extreme / Maze-Hard (Wang et al., 2025) — 硬推理任务
训练框架:
  • nanochat (Karpathy, 2025) — 预训练配方

九、交叉引用

#AttractorModels #循环Transformer #不动点 #隐式微分 #平衡内化 #语言建模 #推理任务 #DEQ #Parcae #费曼风格 #技术解读


费曼检验:这篇文章解释了 Attractor Models 是什么(主干生成初始猜测 + 吸引器迭代到不动点)、为什么比循环 Transformer 好(O(1) 内存 + 自适应深度 + 稳定扩展)、平衡内化是什么(训练后主干自己就能猜准,吸引器几乎不需要工作)、以及为什么 27M 能击败 671B(架构适配任务 > 参数规模)。如果你读完觉得"这不就是用不动点替代循环吗",那我失败了——它不只是替代,它让 循环训练可以被前馈推理替代。
货物崇拜检测:文中提到的 46.6% 困惑度降低、770M 击败 1.3B、27M 击败 671B 全部来自论文实验数据。"架构适配任务 > 参数规模"是我的判断,不是论文原话。平衡内化的"教师-学生"类比是我的解释框架。

*本文基于 arXiv 2605.12466 及公开资料整理,部分推断性观点属于作者分析,不代表论文作者或 USC 立场。*

👍 1

想参与讨论或点赞?登录后使用完整功能

讨论回复(0)

暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens