OpenMythos 徹底解説 — コミュニティが再構築した Claude Mythos のアーキテクチャ
はじめに
OpenMythos は、Anthropic が 2026年4月に発表した Claude Mythos のアーキテクチャを、公開研究文献のみから再構築した オープンソース実装 です。開発者は Kye Gomez。GitHub で ⭐12.5k、Fork 2.9k を獲得する注目プロジェクトに成長しています。
pip install open-mythos
Disclaimer: OpenMythos は独立したコミュニティ主導の理論的再構築であり、Anthropic とは一切関係ありません。
本記事では、OpenMythos の技術的全容を解説します。
OpenMythos とは
| 項目 | 内容 |
|---|---|
| 開発者 | Kye Gomez |
| ライセンス | MIT |
| 言語 | Python (PyTorch) |
| インストール | pip install open-mythos |
| GitHub Stars | 12.5k |
| 提供形態 | 1B ~ 1T パラメータの事前設定済み config |
| 前提 | Anthropic 非公式・研究文献のみからの理論的再構築 |
中心仮説: Recurrent-Depth Transformer
OpenMythos の中核仮説は、Claude Mythos が Recurrent-Depth Transformer (RDT)、すなわち Looped Transformer であるというものです。
通常の Transformer が何百もの一意なレイヤーを積み重ねるのに対し、RDT は一部のレイヤーを 再利用 し、1回の forward pass で 複数回ループ します。
従来の Transformer:
Layer 1 → Layer 2 → Layer 3 → ... → Layer N (すべて異なる重み)
Looped Transformer:
Prelude → [Recurrent Block × T ループ] → Coda (Recurrent Block は同一重み)
これは chain-of-thought とは異なります。中間トークン出力は一切なく、すべての推論は 単一 forward pass 内の連続潜在空間 で暗黙的に行われます。
アーキテクチャ
3 段構成
OpenMythos は入力から出力までを 3 つの機能ブロックに分割します。
入力
↓
[Prelude P] — 標準 Transformer レイヤー(1回のみ実行)
↓
[Recurrent Block R] — T 回ループ
↑_______↓ (入力注入 e で隠れ状態 h を更新)
↓
[Coda C] — 標準 Transformer レイヤー(1回のみ実行)
↓
出力
ループ更新則
各ループステップ t における更新式:
h_{t+1} = A·h_t + B·e + Transformer(h_t, e)
| 変数 | 説明 |
|---|---|
h_t | ループ t 実行後の隠れ状態 |
e | Prelude からの入力符号化(全ループで注入) |
A, B | 学習される注入パラメータ |
Transformer | Attention + MLP の通常の処理 |
入力 e を毎ステップ注入することで、元の入力信号が再帰の全深度にわたって保持 され、情報の消失を防ぎます。
コード例
import torch
from open_mythos.main import OpenMythos, MythosConfig
# 設定: MLA 注意機構を使用
cfg = MythosConfig(
vocab_size=1000,
dim=256,
n_heads=8,
n_kv_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="mla",
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)
ids = torch.randint(0, cfg.vocab_size, (2, 16))
logits = model(ids, n_loops=4)
# スペクトル半径の確認(1未満であること)
A = model.recurrent.injection.get_A()
rho = torch.linalg.eigvals(A).abs().max().item()
print(f"Spectral radius ρ(A) = {rho:.4f} (must be < 1)")
Attention 実装
OpenMythos は cfg.attn_type で 2 種類の注意機構 を切り替え可能です。
| 設定 | クラス | 説明 |
|---|---|---|
"gqa" | GQAttention | Grouped Query Attention — KV ヘッド数 < Q ヘッド数、Flash Attention 2 対応 |
"mla" | MLAttention | Multi-Latent Attention — KV を低ランク潜在変数に圧縮(DeepSeek-V2 方式) |
GQA (Grouped Query Attention)
KV-cache のメモリ消費を削減する標準的な手法。n_kv_heads < n_heads とすることで、KV-cache サイズが n_heads / n_kv_heads 分の1になります。
MLA (Multi-Latent Attention)
OpenMythos が特に注力している方式です。従来の K/V 全体をキャッシュする代わりに、圧縮された KV 潜在変数 (kv_lora_rank) のみをキャッシュします。
# 通常の Attention の KV-cache:
K = W_k · h # フル次元(dim)
V = W_v · h # フル次元(dim)
# MLA の KV-cache:
k_latent = W_k_proj · h # 低次元(kv_lora_rank=32 など)
v_latent = W_v_proj · h # 低次元
RoPE は Q と K に圧縮前に適用されるため、キャッシュされた値は再ルーティング不要です。
MoE (Mixture of Experts)
ループによる「深さ」の拡張だけでは、多様なドメイン(コード・数学・文学・科学・法律)を同一重みで扱う「広さ」が不足します。OpenMythos はこの問題を Mixture of Experts (MoE) で解決します。
設計
各 FFN を細粒度の MoE 層に置き換え:
- N 個のルーティングエキスパート(小規模)
- K 個の共有エキスパート(常時活性化)
- Top-mK のエキスパートを選択
| 要素 | 説明 |
|---|---|
| ルーティングエキスパート | 専門知識を担当。ルーターがトークンごとに選択 |
| 共有エキスパート | 構文・基本推論など共通知識を吸収。常時活性化 |
| 負荷分散 | バイアス項による動的調整。ルーティング崩壊を防止 |
| 活性化率 | 全パラメータの約 5% のみがトークンごとに活性化 |
MoE × ループの相互作用
ループが進むにつれて隠れ状態 h_t が変化するため、ルーターは 各深度で異なるエキスパートのサブセット を選択できます。
Loop 1: コード構文解析エキスパートが活性化
Loop 2: アルゴリズム推論エキスパートが活性化
Loop 3: メモリ最適化エキスパートが活性化
重みは共有されていても、各ループは計算論的に異なる処理 を実行します。
安定性の課題と解決: Parcae
Looped Transformer の学習は歴史上不安定でした。OpenMythos は Parcae アーキテクチャ (Prairie et al., 2026) に基づく解決策を実装しています。
2 つの主要な失敗モード
| 失敗モード | 現象 |
|---|---|
| 残差爆発 | ループ間で隠れ状態 h_t が無限に成長 |
| Loss スパイク | 注入パラメータのスペクトルノルムが過大になり学習が発散 |
力学系的視点
ループを 離散線形時不変 (LTI) 力学系 として再解釈:
h_{t+1} = A·h_t + B·e
この LTI 系の安定性は A のスペクトル半径 ρ(A) で完全に決まります。
| 条件 | 結果 |
|---|---|
| ρ(A) < 1 | 安定、収束 |
| ρ(A) ≥ 1 | 不安定、発散 |
解決策: 構造的安定性保証
# 1. A を連続負対角行列としてパラメータ化
# 2. ZOH/Euler スキームで離散化: A_discrete = exp(Δt · A_continuous)
# 3. 負値性を強制: A := Diag(-exp(log_A))
# 4. ρ(A) < 1 が構造的に保証される
実装上は以下の 1 行で確認可能:
rho = torch.linalg.eigvals(A).abs().max().item()
assert rho < 1, "Spectral radius must be < 1"
スケーリング則
Parcae は Looped Model のスケーリング則を初めて確立しました。
学習時
- 固定 FLOP 予算のもとで、ループ回数を増やしトークン数を減らす ほうが低 loss を達成
- 最適なループ回数と最適なトークン数は、いずれも 冪乗則 に従う
推論時
- テスト時のループ回数増加は 予測可能な飽和指数関数的減衰 に従って品質が向上
パラメータ効率
770M パラメータの Looped Model は、同じデータで学習した 1.3B の固定深度 Transformer と同等の品質を達成。同じ品質に必要なパラメータが約半分。
モデルバリアント
OpenMythos は 7 段階のスケールを事前設定済みで提供します。
| バリアント | dim | エキスパート数 | expert_dim | ループ回数 | コンテキスト | 最大出力 |
|---|---|---|---|---|---|---|
mythos_1b | 2048 | 64 | 2048 | 16 | 4k | 4k |
mythos_3b | 3072 | 64 | 4096 | 16 | 4k | 4k |
mythos_10b | 4096 | 128 | 5632 | 24 | 8k | 4k |
mythos_50b | 6144 | 256 | 9728 | 32 | 8k | 4k |
mythos_100b | 8192 | 256 | 13568 | 32 | 1M | 128k |
mythos_500b | 12288 | 512 | 23040 | 48 | 1M | 128k |
mythos_1t | 16384 | 512 | 34560 | 64 | 1M | 128k |
from open_mythos import mythos_10b, OpenMythos
cfg = mythos_10b() # 10B パラメータ設定
model = OpenMythos(cfg)
mythos_100b 以上のバリアントは 1M トークンのコンテキスト に対応しており、長文処理が可能です。
学習設定
OpenMythos は 3B モデルの学習スクリプトを同梱しています。
| 項目 | 設定 |
|---|---|
| 最適化器 | AdamW |
| データセット | FineWeb-Edu (sample-10BT デフォルト, 最大 sample-100BT) |
| Tokenizer | openai/gpt-oss-20b (MythosTokenizer) |
| 並列化 | PyTorch DDP (torchrun) |
| 精度 | bfloat16 (H100/A100) / float16 + GradScaler |
| スケジュール | Linear warmup (2000 steps) → Cosine decay |
| 目標トークン数 | 30B tokens(ループ構造に合わせて Chinchilla 調整) |
# シングル GPU
python training/3b_fine_web_edu.py
# マルチ GPU
torchrun --nproc_per_node=$(python -c "import torch; print(torch.cuda.device_count())") training/3b_fine_web_edu.py
理論的示唆
体系的汎化 (Systematic Generalization)
Looped Transformer は 3 段階の grokking 過程 を経て、学習時に見たことのない構成の知識を組み合わせる能力を獲得します。
- 暗記 — 学習分布へのフィッティング
- 分布内汎化 — 既知の組み合わせを処理
- 体系的汎化 — 未知の組み合わせを突然処理(相転移的)
Mythos が既存モデルと「質的に異なる」と評価される理由は、能力が段階的ではなく 相転移的 に現れるためです。
深度外挿 (Depth Extrapolation)
- 学習: 5-hop 推論で訓練
- テスト: 10-hop 推論で評価
- 通常の Transformer → ❌ 失敗
- Looped Transformer → ✅ 成功(推論時のループ回数を増加)
暗黙的 CoT (Latent Thoughts)
各ループ反復は 1 ステップの chain-of-thought と機能的に等価 ですが、トークン空間ではなく連続潜在空間で動作します(Saunshi et al., 2025 で理論証明済み)。
さらに、連続潜在思考は離散トークン出力と異なり、複数の次善手を同時にエンコード できます。これは 幅優先探索 に近い推論を単一 forward pass 内で実現することを意味します。
Overthinking 問題と ACT
ループを増やせば常に良いわけではありません。一定深度を超えると、隠れ状態が解を通り過ぎてノイズに遷移します。
OpenMythos は Adaptive Computation Time (ACT) 機構を採用していると推測されます:
各位置のトークンが学習された停止信号を出力
→ 難しいトークンはより多くのループを消費
→ 簡単なトークンは早期停止
→ Turing 完全性も達成(理論的)
記憶 vs 推論のトレードオフ
Looped Model は興味深い二面性を示します:
| 能力 | 影響 |
|---|---|
| 推論 (composition) | 改善 — ループが反復的構成を最適化 |
| 記憶 (rote facts) | 低下 — 事実の蓄積には寄与しない |
これは Mythos の観察可能な特性(未知問題への推論は卓越、事実想起は不安定)と一致します。
LoRA 適応によるパラメータ再利用
Relaxed Recursive Transformers (Bae et al., 2024) のアプローチでは、各ループに depth-wise LoRA モジュール を追加することで、重み共有のコンパクトさを保ちつつループごとの動作を微妙に適応させます。
各ループ:
- 大規模共通重み行列(再帰ベース): 共有
- 小規模 rank-r 適応行列: ループごとに個別
パラメータオーバーヘッドは最小限で、純粋な重み結合と完全個別レイヤーの中間点を提供します。
Continuous Depth-wise Batching
再帰的アーキテクチャの実用的な利点として、Continuous Depth-wise Batching があります。
すべてのトークンが同じ Recurrent Block を共有するため、モデルは トークンやシーケンスごとに異なる深度でループを終了 できます。
同一バッチ内:
トークン A (簡単): 2 ループで終了
トークン B (難しい): 8 ループ実行
理論的分析では、推論スループットが 2-3 倍向上 するとされています。
Mythos の全体像まとめ
OpenMythos の推測に基づく Claude Mythos の全体像:
| プロパティ | 説明 |
|---|---|
| アーキテクチャ | Recurrent-Depth Transformer (Prelude + Looped Recurrent Block + Coda) |
| FFN 層 | MoE — 細粒度ルーティング + 常時活性共有エキスパート |
| パラメータ数 | 総数は極大、トークンあたり活性化は約 5% |
| 推論機構 | 暗黙的マルチホップ — ループ間の中間トークン出力なし |
| 学習安定性 | LTI 拘束付き注入パラメータ (ρ(A) < 1) |
| ループ分化 | ループ位置埋め込み(RoPE 類似)で反復ごとに異なる機能 |
| 停止機構 | Adaptive Computation Time |
| Attention | GQA (Flash Attention 2) または MLA (低ランク KV 潜在変数) |
| スケーリング則 | ループ回数とトークン数を同時に最適化 |
| 推論 vs 記憶 | 構造的に構成推論にバイアス |
| デプロイ | Continuous Depth-wise Batching でリクエストごとに可変計算量 |
今後の展望
オープンソース研究の加速
OpenMythos の登場により、研究者は以下の実験を自由に行えるようになりました:
- Looped Transformer の学習安定性に関する実証研究
- 異なる Attention 方式 (MLA vs GQA) の比較
- ループ回数とパラメータ数のトレードオフ探求
- ACT 機構の実用的実装
関連研究との統合
以下の最新研究と OpenMythos の統合が期待されます:
| 研究 | arXiv | 内容 |
|---|---|---|
| Hyperloop Transformers | 2604.21254 | より効率的なループ機構 |
| Recurrent Transformer | 2604.21215 | 効率的デコードと実効深度 |
| Mixture-of-Depths Attention | 2603.15619 | 深度方向の混合戦略 |
実用的学習への道
現在の OpenMythos は理論的再構築であり、実際に 100B 級の学習を完了したわけではありません。今後の課題:
- 学習済みウェイトの提供
- Looped スケーリング則に基づく効率的な事前学習
- MLA の大規模検証
- RVQC (Recurrent Value Queue Cache) による長文脈推論
まとめ
OpenMythos は、Claude Mythos のアーキテクチャを公開情報のみから推定・再構築した コミュニティ駆動の野心的プロジェクト です。
その中心仮説である Recurrent-Depth Transformer は、Mythos の卓越した推論能力を(1)ループによる暗黙的な多段階推論、(2)MoE による多ドメイン対応、(3)力学系的制約による学習安定性、の 3 軸で説明します。
⭐12.5k という注目度は、この理論的アプローチへのコミュニティの期待の大きさを示しています。今後の学習済みウェイトの公開や、Hyperloop 等の最新研究との統合により、オープンソース Looped Transformer の実用化が進むことが期待されます。
- GitHub: https://github.com/kyegomez/OpenMythos
- PyPI:
pip install open-mythos - ライセンス: MIT
参考文献
| 文献 | リンク |
|---|---|
| Loop, Think, & Generalize | arXiv:2604.07822 |
| Parcae — Scaling Laws for Looped LMs | arXiv:2604.12946 |
| Reasoning with Latent Thoughts | arXiv:2502.17416 |
| Relaxed Recursive Transformers | arXiv:2410.20672 |
| Universal Transformers | arXiv:1807.03819 |
| Hyperloop Transformers | arXiv:2604.21254 |
| The Recurrent Transformer | arXiv:2604.21215 |