jixiaxue 知识库
blog / kye-gomez-blog · 2026-04-18-openmythos-recurrent-depth-transformer

OpenMythos:Claude Mythos 架构的理论重建

2 个章节 · 0 条产出 · 1 条证据
2026-04-18

OpenMythos:Claude Mythos 架构的理论重建

来源:OpenMythos GitHub README(Kye Gomez)+ Parcae 研究博客(Sandy Research / ML 系统实验室) 作者:Kye Gomez(OpenMythos);Hayden Prairie、Zachary Novack、Taylor Berg-Kirkpatrick、Dan Fu(Parcae) 日期:2026-04-18(OpenMythos 发布)/ 2026-04-14(Parcae 发布) 原文链接

一句话总结

Anthropic 没公开 Claude Mythos 的架构,但研究社区基于公开证据推断出一个强共识:Mythos 是一个循环深度变换器(RDT)——同一批权重反复循环 T 次,在单次前向传播的连续潜在空间里完成多步推理,配合稀疏 MoE 提供知识广度、ACT 自适应停机防止过度思考、LTI 谱约束(ρ(A) < 1)保证训练稳定;实证上 770M 循环模型就能达到 1.3B 固定深度模型的质量。

速览

  1. 核心架构——三段式 Prelude → Recurrent Block (loop ×T) → Coda;中间块同权重循环 T 次,每次都重新注入原始输入 e,更新规则 h_{t+1} = A·h_t + B·e + Transformer(h_t, e)
  2. 隐式推理——每次循环 ≈ 一步 chain-of-thought,但在连续潜在空间完成,不输出任何 token;Saunshi 等(2025)已形式化证明。
  3. 行为证据——Mythos 在新问题上的”质变”对应循环模型独有的两个性质:系统性泛化(三阶段 grokking,第三阶段相变式出现)与深度外推(5 跳训练推广到 10 跳推理)。
  4. 训练稳定性——两个失败模式(残差爆炸、loss spike)都对应注入矩阵谱半径 ρ(A) ≥ 1;Parcae 的方案是用 A := Diag(-exp(log_A)) + ZOH 离散化,让 ρ(A) < 1 在构造上恒成立
  5. 规模律——同 FLOP 预算下,增循环数、减 token 数优于最小循环 + 更多数据;推理时循环数服从可预测的饱和指数衰减;770M 循环模型 ≈ 1.3B 固定深度模型质量。
  6. 深度 × 广度——循环提供深度,稀疏 MoE 提供广度;每次循环可能路由到不同专家子集,让共享权重做出计算上不同的事;~5% 激活率可以支撑数千亿总参数。
  7. 停机机制——ACT(自适应计算时间)让每个 token 学一个停机信号,避免过度思考(循环过深反而损害预测);该机制在特定假设下让模型图灵完备。
  8. 部署效率——连续深度批处理允许同一 batch 内不同 token 在不同深度退出循环,理论吞吐 2-3×。

核心内容

论点一:为什么”循环”能解释 Mythos 那种”像在想”的手感

标准 Transformer 把几十上百个互不相同的层叠起来,每层走一次。循环深度变换器(RDT)不一样——它把中间一块”循环块”跑 T 次,每次用完全相同的权重。推理的”深度”不靠参数堆出来,靠循环次数撑出来。

三段结构

输入 → [Prelude] → [Recurrent Block × T(每步注入 e)] → [Coda] → 输出

循环块更新规则:

h_{t+1} = A·h_t + B·e + Transformer(h_t, e)

每次循环重新注入 e(Prelude 编码的原始输入)是关键——它防止隐藏状态在循环中”漂走”,让模型始终记得它最初在处理什么问题。

为什么这对应 Mythos 的观察

  • 不需要显式 CoT 的多步推理:每次循环相当于一步隐式 CoT,全在潜在空间完成。Saunshi 等(2025)形式化证明了 T 次循环等价模拟 T 步 CoT。
  • 并行探索多条推理路径:连续潜在状态不像离散 token 需要”提交”一个方向,可以同时编码多条可能路径,接近宽度优先搜索而非贪心推理。
  • 系统性泛化:循环模型能通过”三阶段 grokking”走到分布外的新组合——记忆 → 分布内泛化 → 分布外泛化。第三阶段相变式出现,而不是渐进浮现。普通 Transformer 停在第二阶段。
  • 深度外推:5 跳训练、10 跳测试——普通 Transformer 失败,循环 Transformer 只要推理时多跑几圈就能成功。

论点二:循环模型历史上难训,Parcae 用谱约束解决了

训练循环模型有两个典型失败模式:残差爆炸(隐藏状态跨循环无界增长)与 loss spike(训练中途突然发散)。

动力系统视角:忽略 Transformer 的非线性贡献,循环简化成一个离散 LTI 系统 h_{t+1} = A·h_t + B·e,稳定性完全由 A 的谱半径 ρ(A) 决定:

  • ρ(A) < 1 → 稳定、收敛
  • ρ(A) ≥ 1 → 不稳定、发散

经验对照非常干净:每一次发散的 run 都学出了 ρ(A) ≥ 1,每一次收敛的 run 都保持 ρ(A) < 1。

Parcae 的解法:把约束烧进参数化设计,不靠训练自己找到稳定点。

  1. A 参数化为连续负对角矩阵
  2. ZOH/Euler 离散化:A_discrete = exp(Δt · A_continuous)
  3. 强制负值:A := Diag(-exp(log_A)),配合可学习的标量 Δt
  4. 结果:无论学习率多高、batch 噪声多大,ρ(A) < 1 恒成立

OpenMythos 把这个检查直接暴露为 API:

A = model.recurrent.injection.get_A()
print(f"Spectral radius ρ(A) max: {A.max().item():.4f} (must be < 1)")

Parcae 实证(FineWeb-Edu):把强 Transformer 基线改造成循环模型时,朴素的 RDM 实现会发散,Parcae 仍可训,下游质量还更高。

参数规模模型Val. PPLCoreCore-Extended
140MTransformer21.4813.00 ± 0.158.80 ± 0.21
140MParcae19.0614.04 ± 0.209.67 ± 0.28
370MTransformer15.7917.46 ± 0.0311.71 ± 0.22
370MParcae14.4920.00 ± 0.0612.75 ± 0.31
770MTransformer13.0822.42 ± 0.2014.20 ± 0.63
770MParcae12.4925.07 ± 0.3315.19 ± 0.43
1.3BTransformer11.9525.45 ± 0.0815.90 ± 0.23
1.3BParcae11.4228.44 ± 0.2817.08 ± 0.09

(770M Parcae 的 Core 分数 25.07 已经超过 1.3B Transformer 的 25.45,接近这是”半参数同质量”这一核心主张的直接佐证。)

论点三:循环提供深度,稀疏 MoE 提供广度

循环解释了 Mythos 的”推理深度”,但不解释”知识广度”。用同一批权重处理代码、数学、文学、科学、法律——那批权重覆盖的面太广。推测解法是循环块里的每一个 FFN 都是稀疏 MoE

  • 每个 FFN 被切分为很多小专家(各为正常大小的 1/m)
  • 路由器根据学到的亲和度,每 token 选 top-mK 个专家
  • 少数共享专家始终激活,吸收跨领域通用知识(语法、基础推理、通用上下文),避免被每个路由专家冗余学习
  • 路由 logits 上加一个动态调整的偏置项,防止路由坍塌、保持专家负载均衡——且不扭曲 loss 信号

循环与 MoE 的组合效应:随着隐藏状态跨循环演进,路由器在每次循环可能选中不同的专家子集。同一批权重,但每次循环在做计算上不同的事——这让循环块的有效表达力远超”同样权重重复跑”。

参数效率的含义:~5% 激活率意味着 Mythos 可以持有数千亿总参数,而每 token 只激活一小部分。一旦公布参数量,那也是存储数字,不是算力数字。

论点四:ACT 自适应停机——循环不是无限好

超过某个深度,过度循环会让隐藏状态漂过正确解、掉进噪声。这叫”过度思考”(overthinking)。

解法来自 Universal Transformer(Dehghani 2018)的 ACT(自适应计算时间)机制:每个位置学一个标量停机信号,动态决定何时停止循环——难的 token 多循环,简单的 token 早停。

Mythos 几乎肯定有某种版本的 ACT——不可能所有输入都跑满最大循环数。ACT 还让模型在特定假设下图灵完备,对它能处理的问题类别有深远理论含义。

论点五:规模律——循环比参数更值得投资

Parcae 给循环训练建立了第一套可预测的规模律:

  • 训练时:固定 FLOP 预算 + 固定参数量,增循环数、减 token 数 比 “最小循环 + 更多数据” 的验证损失更低。最优循环数与最优 token 数都服从幂律,指数跨规模一致。
  • 推理时:更多循环 → 更好质量,但服从可预测的饱和指数衰减——收益真实存在但递减。这与 chain-of-thought 的推理时规模律高度相似。

Pareto 前沿对比(Core 分数 vs FLOPs)

FLOPs (×10^18)最优循环 (140M)固定深度 (140M)
17.67.9
411.210.7
1614.613.0
6416.215.0

应用到 Mythos:如果它按这套规模律训练,真实参数效率可能远高于表面——能力有相当大比例来自循环深度,而不是原始参数量。Anthropic 一直不公布 Mythos 参数量或许正是这个原因:公布数字会让人误解模型的计算深度。

论点六:几项进阶设计(差异化、权重共享、吞吐优化)

循环块在每次迭代都完全相同吗?同一套权重必须同时负责”早期模式匹配”和”后期精炼”,这是个很紧的约束。三个补救设计把它撑开:

  • 循环索引嵌入(Loop Index Embedding):类似 RoPE,给每一步注入”我现在是第几次循环”的位置信号。同样权重能在不同迭代表现出功能上不同的操作,就像 RoPE 让同一注意力头在不同序列位置表现不同一样。每一次循环变成”独立的计算阶段”,共享权重但运行在不同表示状态。
  • LoRA 深度适配(Relaxed Recursive Transformers,Bae 2024):每次循环共享一个大的基础权重矩阵,外加一个小的秩-r 适配矩阵按迭代深度微调行为。参数开销很小,但把”纯权重绑定(最省但表达力弱)“与”完全独立层(最强但无节省)“之间的空间填起来。Mythos 很可能位于这个光谱上某处。
  • 连续深度批处理(Continuous Depth-wise Batching):由于所有 token 共享同一循环块,模型可以让不同 token、不同序列在不同深度退出——简单输入快速处理、困难输入多跑几圈,全部在同一 batch 内完成。理论吞吐提升 2-3×。对 Mythos 这种同时服务大量用户的部署,这是很实质的效率增益。

论点七:记忆-推理的结构性权衡

循环模型有一个干净的二分性:循环结构优化”迭代组合”,但并不天然改善”死记硬背”。架构在结构上偏向组合,不偏向记忆。

这与 Mythos 的一个可观察特征吻合:在从未见过的新问题上推理出色,但事实召回有时不稳定。

Saunshi 等(2025)的循环正则化方案提供了平衡思路:推理任务用更强的循环约束,检索任务则放松,让同一个模型能同时胜任两边。

论点八:Parcae 命名的冷知识

“PaRCae”指罗马神话中的三位命运女神:

  • Nona → Prelude(启动计算)
  • Decima → Recurrent(在深度中丈量)
  • Morta → Coda(收束输出)

名言金句

  1. “同一批权重。更多的循环。更深的思考。”
  2. “这不是 chain-of-thought。中间没有任何 token 输出。所有这些推理都悄无声息地发生在单次前向传播里,完全在连续的潜在空间中进行。”
  3. “循环提供深度,MoE 提供广度。”
  4. “一旦公布参数量,那也是存储数字,不是算力数字。”
  5. “参数数量不是这里最重要的东西。思考的次数,才是。“(微信解读)

可行建议

  • 想复现架构pip install open-mythos;示例代码带 MLA/GQA 两种注意力配置与稳定性检查(暴露 ρ(A) 的最大值)。
  • 想用稳定的循环模型做 LM 训练:直接用 Parcae 的 Hugging Face 模型和训练代码,避免自己实现 LTI 约束踩坑。
  • 想理解 Mythos 行为:把能力跃迁理解成相变式出现(三阶段 grokking 的第三阶段)而非线性增长;事实召回不稳定是”循环偏向组合”的结构性副作用,不是 bug。
  • 部署循环模型:优先实现”连续深度批处理”——同 batch 不同深度退出可带来 2-3× 理论吞吐提升。

资源清单

项目与博客

推文讨论(按主题)

关键论文

有人把 Claude Mythos 的架构逆向出来了

有人把 Claude Mythos 的架构逆向出来了

同一批权重,循环七次

Anthropic 没有公开 Claude Mythos 的架构。但研究社区没有等。

Kye Gomez,Swarms 框架的作者,发布了 OpenMythos——一个用 PyTorch 从头实现的 Claude Mythos 疑似架构重建项目。发布不到 24 小时,GitHub 已经有 175 个 Star,39 个 Fork。

这不是微调,不是 prompt 工程。是在说:我们根据公开研究推断出了 Mythos 的架构,然后把它完整实现了一遍。

Kye Gomez 发布 OpenMythos 的 X 帖子 Kye Gomez (@KyeGomezB) 在 X 上宣布发布 OpenMythos,173K 浏览量

01 先说结论

这个项目的核心主张是:Claude Mythos 很可能是一个「循环深度变换器」(Recurrent-Depth Transformer,RDT)。

不是更多层,不是更多参数。是同一批层,反复运行多次。

标准的 Transformer 会把 32 层、48 层、96 层叠在一起,每一层参数不同,依次往下走一遍。RDT 不这样——它把中间的一块「循环块」重复运行 T 次,每次用的是完全一样的权重。

推理深度不靠参数堆出来,靠循环次数撑出来。

这意味着什么?Parcae 研究的测试结果:一个 770M 参数的循环模型,达到了 1.3B 参数固定深度模型的同等质量。同样的任务,参数量少了 40%。

02 Claude Mythos 被怀疑是什么

在理解 OpenMythos 之前,先说一下背景。

Claude Mythos 是 Anthropic 的新模型。它在很多任务上的表现让研究者感到困惑:它对从未见过的新问题的处理方式,和以前的 Claude 有质的不同。不是更快地记起训练数据,而是更像是「在想」。

Sigrid Jin、rosinality 等研究者陆续发帖:Mythos 的行为模式高度符合循环深度变换器的理论预测。尤其是两个特征让人印象深刻:

第一,系统性泛化。把 Mythos 放到训练分布之外的新组合问题上,它不会像传统 Transformer 那样逐渐退化,而是在某个节点「突然」就会了。研究者把这个现象叫做三阶段 grokking:记忆 → 分布内泛化 → 分布外泛化。这第三个阶段,标准 Transformer 做不到,循环 Transformer 有理论证明可以做到。

第二,深度外推。在 5 跳推理链上训练,在 10 跳推理链上测试——标准 Transformer 失败,循环 Transformer 成功(只要在推理时多跑几个循环)。这直接对应了 Mythos 处理多步数学和长链规划时不需要显式 chain-of-thought 的观察。

OpenMythos GitHub 仓库 OpenMythos GitHub 主页:175 Stars,39 Forks,MIT 许可证

03 三段架构:Prelude、循环块、Coda

OpenMythos 实现的架构分三段:

输入

[Prelude]         — 标准 Transformer 层,只跑一次

[Recurrent Block] — 循环 T 次(推理时可变)
  ↑__________↓      每次循环都会重新注入原始输入信号 e

[Coda]            — 标准 Transformer 层,只跑一次

输出

循环块的更新公式:

h_{t+1} = A·h_t + B·e + Transformer(h_t, e)

其中 h_t 是第 t 次循环后的隐藏状态,e 是 Prelude 编码的原始输入,A 和 B 是可学习的注入参数。

关键细节:每次循环都会重新注入原始输入 e。这是防止模型在循环中「漂移」的机制——即使循环了七次,模型始终记得它最初在处理什么问题。没有这个 e 的重注入,多次循环会把隐藏状态推向与原始输入无关的方向。

OpenMythos 架构图 OpenMythos 发布时附带的架构图:Prelude → Recurrent Block(×7 loops)→ Coda

04 隐式的链式思维

这是整个架构里最反直觉的一点。

标准的 chain-of-thought 是「输出中间步骤」:模型把 step 1 的结果写成 token,再把 step 2 的结果写成 token,一步步把推理过程可视化出来。

循环 Transformer 不这样。它的每次循环,等价于 chain-of-thought 的一步,但这一步是在连续的潜在空间里发生的,不输出任何 token。

Saunshi 等人在 2025 年已经形式化证明了这一点:一个运行 T 次循环的循环模型,等价地模拟了 T 步的 chain-of-thought 推理,但全部发生在单次前向传播内部。

更有意思的是:连续潜在空间里的「思维步骤」,可以同时编码多条可能的推理路径。它不需要在 step 1 就提交一个具体的方向,而是可以在多条路径上并行探索,在循环过程中逐渐收敛。这接近于对推理空间做某种形式的宽度优先搜索,而不是一条走到底的贪心路径。

循环深度变换器架构示意图 循环深度变换器(RDT)三段架构示意:Prelude 编码输入,Recurrent Block 反复循环推理,Coda 解码输出

05 让循环模型稳定训练

循环深度变换器有一个工程上的大麻烦:训练极不稳定。

有两个主要失败模式:残差爆炸(h_t 跨循环无限增长)和 loss spike(训练中途突然发散)。

OpenMythos 采用了来自 Parcae 架构(Prairie 等,2026)的解决方案,用动力系统的角度来理解这个问题。把循环简化成一个线性时不变系统,这个系统是否稳定,完全取决于矩阵 A 的谱半径 ρ(A):

  • ρ(A) < 1 → 稳定,收敛
  • ρ(A) ≥ 1 → 不稳定,发散

Parcae 的解决方案是:把谱半径 < 1 的约束直接烧进参数化设计里。用 A := Diag(-exp(log_A)) 强制负值,配合 ZOH 离散化方案,无论学习率多高,ρ(A) < 1 总是成立。

OpenMythos 在代码里把这个检查暴露了出来:

A = model.recurrent.injection.get_A()
print(f"Spectral radius ρ(A) max: {A.max().item():.4f} (must be < 1)")

Parcae 论文博客 Parcae(Prairie 等,2026):为循环语言模型建立稳定训练方法和规模律,同等质量参数量减半

06 MoE:深度之外的宽度

循环机制解决了推理深度的问题,但没有解决知识广度的问题。用同一批权重处理代码、数学、文学、法律……这批权重要覆盖的东西太多了。

OpenMythos 的猜测是:Mythos 的循环块里每个 FFN 层都是稀疏的 MoE(混合专家)。

具体设计:每个 FFN 被切分成很多小专家(每个只有正常 FFN 的 1/m 大小);一个路由器每次只激活 top-K 个专家处理当前 token;少数几个共享专家(shared experts)始终激活,吸收跨领域通用知识——语法、基础推理、通用上下文。

估计激活比例大约是 5%。这意味着 Mythos 可以持有数千亿的总参数量,而每次推理只激活其中一小部分。

关键的组合效应:随着隐藏状态在循环中演进,路由器在每次循环时可能选择不同的专家子集。每次循环不只是在用同样的权重重复计算——路由决策不同,激活的专家不同,实际上是在用不同的「专家组合」处理同一个问题的不同推理阶段。MoE 提供宽度,循环提供深度。

07 停机问题:过度思考

更多循环不是总是更好。

超过某个深度之后,过度的循环会让隐藏状态漂离正确答案,预测质量开始下降。这叫「过度思考」(overthinking)问题。

解决方案来自 Universal Transformer(2018)的 ACT(自适应计算时间)停机机制:每个位置学一个标量停机信号,动态决定什么时候停止循环。处理难的 token 多循环几次,处理简单的 token 早点停。

OpenMythos 的猜测是:Mythos 几乎肯定有某种版本的停机机制。不可能对所有输入都跑最大循环次数——这需要一个学到的「答案已收敛」信号。ACT 机制还让循环 Transformer 在某些假设下变成图灵完备的,这对它能处理的问题类型有深远含义。

08 规模律:更少参数,更好效果

Parcae 为循环模型建立了第一套可预测的规模律:

对于固定的 FLOP 预算和固定的参数量,增加平均循环次数、减少 token 数量,比最少循环 + 更多数据的效果更好。最优循环次数和最优 token 数都遵循幂律,指数在不同规模下保持一致。

推理时的规律:更多循环带来更好质量,但服从预测性的饱和指数衰减——收益真实存在但递减。这和 chain-of-thought 的推理时规模律几乎一模一样。

实验数字:770M 参数的循环模型,在相同训练数据上,达到了 1.3B 参数固定深度 Transformer 的下游质量。

如果 Mythos 在这套规模律下训练,它的「能力」有相当大的比例来自循环深度而非参数量。Anthropic 从未公布 Mythos 的参数数量,这或许是原因之一——公布参数量不能反映实际的计算深度。

09 对我们意味着什么

OpenMythos 是一个 disclaimer 写得很清楚的项目:「这是独立的社区重建,基于公开研究和推测,与 Anthropic 无关。」

但这件事本身值得认真对待,原因有几个。

第一,研究社区围绕 Mythos 架构形成了相当强的共识。循环深度变换器不是一个新想法,Universal Transformer(2018)就提出了原型,但直到最近的一系列论文(Saunshi 2025、Prairie 2026),理论和工程上的难题才陆续被解决。公开证据从多个方向指向同一个架构类。

第二,循环推理有一个深刻的工程含义:推理时的计算量可以根据问题难度动态调整。简单的问题少循环几次,复杂的问题多循环几次,在同一个批次里混合处理,吞吐量理论上可以提高 2-3 倍。对于部署规模的模型,这不是学术上的细节。

第三,这条路线和「更大的模型 = 更强」的直觉不同。它说的是:同样的参数可以循环利用,推理深度可以在推理时动态控制。这对 AI 能力提升的路径有重要含义——不一定需要无限堆参数,但需要更聪明地利用有限的参数。

我在看完这个项目之后想了一个比喻:标准 Transformer 像一条流水线,每个工人做完自己的工序把零件传给下一个;循环 Transformer 像一个人反复审读同一份文稿,每次阅读都加深理解。七次循环,越来越接近答案。

参数数量不是这里最重要的东西。思考的次数,才是。


相关链接

  • OpenMythos 源码: github.com/kyegomez/OpenMythos
  • Parcae 论文博客: sandyresearch.github.io/parcae
  • 原始帖子: x.com/KyeGomezB/status/2045659150340723107

transcript

Part 1 — OpenMythos(GitHub README 中文翻译)

免责声明:OpenMythos 是一个独立的、由社区驱动的理论重建项目,完全基于公开研究与推测。它与 Anthropic 或其任何专有系统没有从属、背书或关联关系。

OpenMythos 是 Claude Mythos 模型的开源理论实现。它实现了一个三段式的循环深度变换器(Recurrent-Depth Transformer,RDT):Prelude(标准 Transformer 层)、循环运行若干次(最多 max_loop_iters 次)的Recurrent Block(循环块),以及最终的 Coda。注意力机制在 MLA 与 GQA 之间可切换;前馈网络使用稀疏 MoE,包含路由专家和共享专家,适合研究”算力自适应、深度可变”的推理架构。

安装

pip install open-mythos

# uv pip install open-mythos

用法

import torch
from open_mythos.main import OpenMythos, MythosConfig

attn_type = "mla"  # 或 "gqa"

base = {
    "vocab_size": 1000,
    "dim": 256,
    "n_heads": 8,
    "max_seq_len": 128,
    "max_loop_iters": 4,
    "prelude_layers": 1,
    "coda_layers": 1,
    "n_experts": 8,
    "n_shared_experts": 1,
    "n_experts_per_tok": 2,
    "expert_dim": 64,
    "lora_rank": 8,
    "attn_type": attn_type,
}

if attn_type == "gqa":
    cfg = MythosConfig(**base, n_kv_heads=2)
else:
    cfg = MythosConfig(
        **base,
        n_kv_heads=8,
        kv_lora_rank=32,
        q_lora_rank=64,
        qk_rope_head_dim=16,
        qk_nope_head_dim=16,
        v_head_dim=16,
    )

model = OpenMythos(cfg)
total = sum(p.numel() for p in model.parameters())
print(f"\n[{attn_type.upper()}] Parameters: {total:,}")

ids = torch.randint(0, cfg.vocab_size, (2, 16))
logits = model(ids, n_loops=4)
print(f"[{attn_type.upper()}] Logits shape: {logits.shape}")

out = model.generate(ids, max_new_tokens=8, n_loops=8)
print(f"[{attn_type.upper()}] Generated shape: {out.shape}")

A = model.recurrent.injection.get_A()
print(
    f"[{attn_type.upper()}] Spectral radius ρ(A) max: {A.max().item():.4f} (must be < 1)"
)

文档

页面描述
docs/open_mythos.mdOpenMythos 类的完整 API 参考——构造函数、forwardgenerate、所有子模块、配置参数与用法示例

核心假设

Claude Mythos 被怀疑是一种循环深度变换器(Recurrent-Depth Transformer,RDT)——又称 Looped Transformer(LT)。它不是把数百个互不相同的层堆叠起来,而是把一小段层循环复用,在单次前向传播中反复运行多次。同一批权重,更多的循环,更深的思考。

这不是 chain-of-thought。中间没有任何 token 输出。所有这些推理都悄无声息地发生在单次前向传播里,完全在连续的潜在空间中进行。


架构

循环 Transformer 把层分成三个功能块:

输入

[Prelude P]         — 标准 Transformer 层,只跑一次

[Recurrent Block R] — 循环 T 次
  ↑_______↓          (每次循环都用输入注入 e 更新隐藏状态 h)

[Coda C]            — 标准 Transformer 层,只跑一次

输出

循环块在第 t 步循环时的更新规则:

h_{t+1} = A·h_t + B·e + Transformer(h_t, e)

其中:

  • h_t 是第 t 次循环后的隐藏状态
  • e 是 Prelude 编码后的输入,在每次循环中重新注入
  • AB 是可学习的注入参数
  • Transformer 块照常执行注意力与 MLP

每步都重新注入 e,是防止模型漂移的关键——它让原始输入信号在整个循环深度里始终在线。

完整实现位于 open_mythos/main.py,详见 OpenMythos 类参考,里面有 API 解读、配置参数和使用示例。


为什么这能解释 Mythos

1. 系统性泛化

普通 Transformer 无法以训练中从未见过的方式组合知识。循环 Transformer 可以。这种能力通过三阶段 grokking 过程浮现:

  1. 记忆——模型拟合训练分布
  2. 分布内泛化——模型能处理已知的组合
  3. 系统性泛化——模型能处理分布外的新组合,突然地、迅速地出现

这就是为什么 Mythos 在新问题上的表现与其他模型在质上不同——能力是相变式出现的,而非逐渐浮现。

2. 深度外推

在 5 跳推理链上训练,在 10 跳上测试。普通 Transformer 失败。循环 Transformer 成功——只要推理时多跑几个循环。这直接对应了 Mythos 在处理多步数学、长链规划、多层论证等深度组合问题时不需要显式 chain-of-thought 的观察。

推理时循环数越多 = 推理链越深 = 能解决更难的问题。

3. 潜在思维作为隐式 chain-of-thought

每一次循环等价于 chain-of-thought 的一步,但在连续潜在空间中进行,而不是 token 空间。一个运行 T 次循环的模型隐式地模拟了 T 步 CoT 推理。这已经被形式化证明(Saunshi 等,2025)。

更重要的是:连续的潜在思维——不像离散的 token 输出——可以同时编码多条可能的下一步。这让模型在推理空间里更像做宽度优先搜索,而不是走一条已经提交的推理路径。模型实际上是在每一次前向传播中并行探索多条可能方向,逐步收敛。

4. 不会导致参数爆炸

一个循环 k 层 L 次的模型,可以在只用 k 层参数的情况下达到 kL 层非循环模型的质量。对 Mythos 这种规模的部署来说,这至关重要:

  • 内存占用不随推理深度增长
  • 推理时算力按循环次数而非模型大小缩放
  • 深度推理在参数意义上变得”免费”

稳定性问题(以及大概率的解决方案)

循环模型的训练出了名的不稳定,两种主要失败模式:

  • 残差爆炸——隐藏状态 h_t 跨循环无界增长
  • Loss spike——注入参数的谱范数过大导致训练突然发散

动力系统视角

把循环重新表述成一个定义在残差流上的离散线性时不变(LTI)动力系统。忽略 Transformer 的非线性贡献,递推变为:

h_{t+1} = A·h_t + B·e

对这个 LTI 系统,稳定性完全由 A 的谱半径决定:

  • ρ(A) < 1 → 稳定、收敛
  • ρ(A) ≥ 1 → 不稳定、发散

经验上:每一次发散的训练都学出了 ρ(A) ≥ 1;每一次收敛的训练都维持住了 ρ(A) < 1

修复方法

把注入参数约束住,让稳定性在构造上就成立:

  1. 把 A 参数化为连续的负对角矩阵
  2. 用 ZOH/Euler 方案离散化:A_discrete = exp(Δt · A_continuous)
  3. 通过 A := Diag(-exp(log_A)) 强制负值,配合可学习的标量 Δt
  4. 这样 ρ(A) < 1 恒成立,无论学习率多高、batch 噪声多大

结果:循环模型对超参选择显著更稳健,即使在高学习率下也能干净地训练。这就是 Parcae 架构(Prairie 等,2026),它代表了 Anthropic 让 Mythos 变得可训练最可能使用的解决方案类别。


循环模型的规模律

Parcae 为循环训练建立了第一套可预测的规模律:

  • 训练时:在固定 FLOP 预算与固定参数量下,增加平均循环次数、减少 token 数量比”最少循环 + 更多数据”的训练损失更低。最优循环数与最优 token 数都遵循幂律,指数在不同规模下保持一致。
  • 推理时:更多测试时循环带来更好的质量,服从可预测的饱和指数衰减——收益真实存在但递减。这与 chain-of-thought 的推理时规模律高度相似。

在 770M 参数规模上,循环模型在相同训练数据下达到了 1.3B 参数固定深度 Transformer 的下游质量——大约同等质量只需一半参数

应用到 Mythos:如果它在这套规模律下训练,其真实参数效率可能远高于表面数字,“能力”有相当大的比例来自循环深度而非原始参数量。


循环索引嵌入假设

一个关键的开放问题:循环块在每次迭代时是完全相同的行为,还是可以在不同循环深度学会做不同的事?

如果没有跨循环的位置信号,同一套权重必须同时负责早期的模式匹配和后期的精炼——这是一个很紧的约束。一个**类 RoPE 的”循环索引嵌入”**在每一步与输入一起注入,可以让同一套参数在不同迭代中实现功能上不同的操作——就像 RoPE 让同一个注意力头在不同序列位置上表现不同一样。

如果 Mythos 使用了这个技巧,每次循环就不是重复,而是一个独立的计算阶段——共享权重,但运行在不同的表示状态下。这能在不增加参数的前提下大幅提高循环块的表达力。


过度思考问题

更多循环并不总是更好。超过某个深度之后,过度的循环会损害预测——隐藏状态漂离解、掉进噪声里。这就是”过度思考”(overthinking)失败模式。

原始的 Universal Transformer(Dehghani 等,2018)用自适应计算时间(ACT)停机机制解决了这个问题:每个位置学一个标量,动态决定什么时候停止循环。难处理的位置得到更多计算;简单 token 提早停机。

Mythos 几乎肯定有某种版本的停机机制。模型不可能对所有输入都暴力跑满最大循环数——它需要一个学到的”答案已收敛”信号。ACT 机制在某些假设下还让模型变成图灵完备,这对它能处理的问题类别有深远理论含义。


混合专家(MoE)——为大参数量而存在的猜测

循环 Transformer 解释了 Mythos 推理深度,但没有解释知识广度。用同一批权重处理代码、数学、文学、科学、法律——这批权重要覆盖的东西太多。解决方案是混合专家(MoE)。

推测的设计把循环块中的每一个 FFN 都换成细粒度 MoE 层:每个 FFN 被切分成很多小专家(每个是正常 FFN 的 1/m 大小);路由器根据学到的亲和度分数,每 token 选 top-mK 个专家;还有少数几个共享专家(shared experts)无论路由怎么选都始终激活,吸收跨领域的通用知识——语法、基础推理、通用上下文——否则这些会被每个路由专家重复学习。为了防止”路由坍塌”,通过在路由 logits 上加一个动态调整的偏置项,在不扭曲 loss 信号的前提下保持各专家负载均衡。

随着隐藏状态 h_t 跨循环演进,路由器在每一次循环都可能选择不同的专家子集,让每个循环在共享权重下依然在做计算上不同的事。MoE 提供广度,循环提供深度。如果激活比例是 ~5%,Mythos 可以握有数千亿总参数,而每 token 只激活其中一小部分——真实参数量一旦公开,也只是存储数字,不是算力数字。


记忆-推理权衡

循环模型表现出一个有趣的二分性:循环提升推理,但可能损害记忆。循环结构为”迭代组合——把一个推理链向前推演”而优化,但并不天然提升事实的死记硬背能力。

这和 Mythos 一个可观察的特征吻合:它对从未见过的新问题推理得非常好,但事实召回有时不稳定。架构在结构上偏向组合、不偏向记忆

基于循环的正则化(Saunshi 等,2025)可以在训练中平衡这种权衡——推理任务用更强的循环约束,检索任务则放松循环约束。


通过 LoRA 适配实现参数复用

来自 Relaxed Recursive Transformers(Bae 等,2024)的一个互补思路:不要求每次循环用完全相同的权重,而是在每次循环加一个小的深度方向 LoRA 模块。这既保留了权重共享的紧凑性,又允许每次循环的行为略有不同。

结果:

  • 每次循环共享一个大的基础权重矩阵(递归基底)
  • 一个小的秩-r 适配矩阵按迭代深度调整行为
  • 总参数开销极小

这架起了”纯权重绑定(最省参数、表达力最弱)“和”完全独立层(表达力最强、无参数节省)“之间的桥梁。Mythos 很可能位于这个光谱的某处。


连续的按深度批处理

递归架构带来的一个下游后果:连续深度批处理(Continuous Depth-wise Batching)。由于所有 token 共享同一个循环块,模型可以让不同 token、不同序列在不同深度退出循环——简单输入快速处理,困难输入多跑几圈,全部在同一个 batch 内完成。

理论分析显示吞吐量可以提升 2–3 倍。对 Mythos 这种同时服务大量用户的部署模型,这是很实质的效率增益。


总结:Mythos 大概率是什么

属性描述
架构循环深度变换器(Prelude + 循环块 + Coda)
FFN 层疑似 MoE——细粒度专家 + 始终激活的共享专家
参数规模总量很大;每 token 激活比例很小(估计 ~5%)
推理机制通过潜在状态迭代更新实现隐式多跳推理——步骤之间无 token 输出
推理时规模化循环越多 = 推理越深,服从可预测的指数衰减
训练稳定性LTI 约束的注入参数,谱半径 < 1
循环差异化很可能使用类似 RoPE 的循环索引位置嵌入
停机自适应计算时间或学到的收敛判据
规模律最优训练同时缩放循环数与数据,而不是单纯堆参数
推理 vs 记忆结构上偏向组合;记忆需要单独处理
部署连续深度批处理,每个请求算力可变

参考文献

Twitter / X

论文


引用

@software{gomez2026openmythos,
  author    = {Kye Gomez},
  title     = {OpenMythos: A Theoretical Reconstruction of the Claude Mythos Architecture},
  year      = {2026},
  url       = {https://github.com/kyegomez/OpenMythos},
  note      = {Recurrent-Depth Transformer with MoE, MLA, LTI-stable injection, and ACT halting}
}

许可证

MIT License — 版权所有 (c) 2026 Kye Gomez。


Part 2 — Parcae 研究博客(Sandy Research)

来源:https://sandyresearch.github.io/parcae/ — 发布于 2026-04-14 作者:Hayden Prairie、Zachary Novack、Taylor Berg-Kirkpatrick、Dan Fu(Sandy Research / ML 系统实验室,负责人 Dan Fu) 标题:Parcae:用稳定的循环模型,以更少参数做更多事

摘要

作者提出 Parcae——一个稳定的循环语言模型架构,“在干净、可预测的训练下达到了参数量两倍的 Transformer 的质量”。这种方法让模型质量可以通过增加循环次数而非扩充参数来提升,为内存受限的部署带来效率收益。

把参数用到极致

传统的规模化路线要么扩参数要么扩数据来增加 FLOP。但随着模型迁移到推理成本高涨的边缘设备,作者探索是否能在”不膨胀内存占用”的前提下提升质量——用循环架构:让激活值经过相同的层多次。

关键成果:

  • 验证困惑度比之前的循环模型低最多 6.3%
  • 770M 参数的 Parcae 模型匹配 1.3B Transformer 的性能
  • 为循环建立了规模律,揭示”算力最优训练”需要同时平衡循环次数与数据规模

循环模型很酷,但工程上难训

层循环通过把 Transformer 分成三块来复用权重:Prelude(嵌入变换)、Recurrent(迭代状态更新)、Coda(输出生成)。循环块在 T 次循环中更新隐藏状态,每次都注入嵌入信号。

但循环模型长期以来”受困于残差状态爆炸和 loss spike”,训练稳定性很糟。

理解循环的不稳定性

作者把循环重新表述成”定义在残差上的非线性时变动力系统”。通过分析其线性部分,他们识别出稳定性取决于谱范数 ρ(∆A)——注入矩阵的最大特征值。ρ(∆A) < 1 的系统稳定;ρ(∆A) ≥ 1 的发散。

实证验证:发散的训练会学出 ρ(∆A) ≥ 1;稳定的训练会保持 ρ(∆A) < 1。这一理论洞见直接指导了实际的稳定性设计。

Parcae:一个稳定、无需调参的循环模型

Parcae 用连续时间的表述加上 ZOH/Euler 离散化,在构造上保证稳定。注入矩阵参数化为 A := Diag(-exp(log_A)),强制负对角,自动保证 ρ(∆A) < 1。

在谱约束之外还有一些技术细节进一步提高训练可靠性。

回到语言建模:把 Parcae 扩上去

小规模验证困惑度对比:

规模RDMParcae
100M14.2313.59
350M10.7610.09

把强 Transformer 基线改造成循环模型后,Parcae 依然可训,而基线 RDM 实现会发散。

FineWeb-Edu 上的完整规模语言模型结果:

参数规模模型Val. PPLCoreCore-Extended
140MTransformer21.4813.00 ± 0.158.80 ± 0.21
140MParcae19.0614.04 ± 0.209.67 ± 0.28
370MTransformer15.7917.46 ± 0.0311.71 ± 0.22
370MParcae14.4920.00 ± 0.0612.75 ± 0.31
770MTransformer13.0822.42 ± 0.2014.20 ± 0.63
770MParcae12.4925.07 ± 0.3315.19 ± 0.43
1.3BTransformer11.9525.45 ± 0.0815.90 ± 0.23
1.3BParcae11.4228.44 ± 0.2817.08 ± 0.09

循环 or 不循环?

在固定 FLOP 预算下,增加平均循环次数、减少训练数据,比”最小循环 + 最多数据”的验证损失更低。最优循环数和 token 分配都在不同规模下遵循幂律。

在最优循环规模律下对比循环与固定深度模型:循环建立了更严格的 Pareto 前沿,并转化为下游表现的提升。

下游表现(Core 分数):

FLOPs (×10^18)最优循环 (140M)固定深度 (140M)
17.67.9
411.210.7
1614.613.0
6416.215.0

接下来 & 自己试试 Parcae

作者强调在推理时的内存约束下参数效率的重要性。他们已经放出训练代码和 Hugging Face 模型供社区使用。

联系方式:Hayden Prairie(hprairie@ucsd.edu

命名说明

“PaRCae”指罗马神话中的三位命运女神:Nona(Prelude——启动计算)、Decima(Recurrent——在深度中丈量)、Morta(Coda——收束输出)。

致谢

Together AI 提供算力;Austin Silveria 和 Jonah Yi 提供了反馈。

证据原始数据 (1 条)
transcript-raw
/Users/eamanc/Documents/pe/jixiaxuegong/blog/kye-gomez-blog/2026-04-18-openmythos-recurrent-depth-transformer/transcript-raw.md