학술 파이프라인 전체를 위한 Claude Code 스킬: 연구, 작성, 검토
한국어는 runchr 제공 번역입니다. 원문 README는 English tool page.
OpenMythos
OpenMythos는 prelude, looped recurrent block, coda 단계와 MLA/GQA를 구현한 이론적 recurrent-depth transformer를 구현하는 PyTorch 라이브러리입니다.
- Install
- pip install open-mythos
프로젝트 README (번역)
GitHub ↗Written by the project's own authors, not by runchr. Snapshot taken 2026-10-30.
OpenMythos
면책 조항: OpenMythos는 공개적으로 이용 가능한 연구와 추측만을 기반으로 한 독립적이고 커뮤니티 주도의 이론적 재구성입니다. Anthropic 또는 그들의 독점 시스템과 제휴, 보증 또는 연결되어 있지 않습니다.
OpenMythos는 Claude Mythos 모델의 오픈소스 이론적 구현입니다. 세 단계로 구성된 Recurrent-Depth Transformer(RDT)를 구현합니다: Prelude(트랜스포머 블록), 루프되는 Recurrent Block(최대 max_loop_iters까지), 그리고 최종 Coda. Attention은 MLA와 GQA 간에 전환 가능하며, feed-forward는 라우팅된 전문가와 공유 전문가로 구성된 sparse MoE를 사용하여 컴퓨팅 적응형, 깊이 가변적 추론을 탐구하기에 이상적입니다.
설치
pip install open-mythos
# uv pip install open-mythos
GQAttention에서 Flash Attention 2를 활성화하려면(CUDA 및 빌드 도구 필요):
pip install open-mythos[flash]
사용법
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 ()
rho = torch . linalg . eigvals ( A ). abs (). max (). item ()
print (
f"[ { attn_type . upper () } ] Spectral radius ρ(A) = { rho :.4f} (must be < 1)"
)
모델 변형
1B에서 1T 파라미터까지 사전 구성된 스케일:
from open_mythos import (
mythos_1b ,
mythos_3b ,
mythos_10b ,
mythos_50b ,
mythos_100b ,
mythos_500b ,
mythos_1t ,
OpenMythos ,
)
cfg = mythos_7b () # MythosConfig를 반환
model = OpenMythos ( cfg )
total = sum ( p . numel () for p in model . parameters ())
print ( f"Parameters: { total :, } " )
변형
dim
Experts
expert_dim
Loop iters
Context
Max output
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
학습
FineWeb-Edu에서 3B 모델을 위한 학습 스크립트는 training/3b_fine_web_edu.py 에 있습니다.
단일 GPU:
python training/3b_fine_web_edu.py
멀티 GPU(GPU 개수 자동 감지):
torchrun --nproc_per_node= $( python -c " import torch; print(torch.cuda.device_count()) " ) training/3b_fine_web_edu.py
주요 설계 선택:
기능
세부 사항
Optimizer
AdamW
Dataset
HuggingFaceFW/fineweb-edu (기본값은 sample-10BT, 전체 실행 시 sample-100BT 또는 default로 전환)
Tokenizer
MythosTokenizer를 통한 openai/gpt-oss-20b
Parallelism
torchrun을 통한 PyTorch DDP, 샤딩된 스트리밍 데이터셋
Precision
H100/A100에서 bfloat16, 구형 GPU에서 float16 + GradScaler
Schedule
선형 워밍업(2000 스텝) → 코사인 감쇠
Target
30B 토큰(루프 아키텍처에 맞춰 Chinchilla 조정)
문서
페이지
설명
docs/open_mythos.md
OpenMythos 클래스의 전체 API 레퍼런스 — 생성자, forward, generate, 모든 서브 모듈, 구성 레퍼런스 및 사용 예제
docs/datasets.md
모델 크기별 토큰 예산 가이드와 함께 권장되는 학습 데이터셋
핵심 가설
Claude Mythos는 Recurrent-Depth Transformer(RDT) — 또는 Looped Transformer(LT)라고도 불림 — 로 추정됩니다. 수백 개의 고유한 레이어를 쌓는 대신, 레이어의 일부를 재활용하여 각 forward pass마다 여러 번 실행합니다. 동일한 가중치. 더 많은 루프. 더 깊은 사고.
이것은 chain-of-thought가 아닙니다. 중간 토큰 출력이 없습니다. 이 모든 추론은 단일 forward pass 내부에서, 연속 잠재 공간에서 조용히 일어납니다.
아키텍처
루프되는 트랜스포머는 레이어를 세 개의 기능적 블록으로 나눕니다:
Input
↓
[Prelude P] — 표준 트랜스포머 레이어, 한 번 실행
↓
[Recurrent Block R] — T번 루프
↑_______↓ (은닉 상태 h는 입력 주입 e와 함께 각 루프마다 업데이트됨)
↓
[Coda C] — 표준 트랜스포머 레이어, 한 번 실행
↓
Output
각 루프 스텝 t에서의 recurrent block 업데이트 규칙:
h_{t+1} = A·h_t + B·e + Transformer(h_t, e)
여기서:
h_t는 루프 t 이후의 은닉 상태
e는 (Prelude로부터의) 인코딩된 입력으로, 매 루프마다 주입됨
A와 B는 학습된 주입 파라미터
Transformer 블록은 평소처럼 attention과 MLP를 적용
매 스텝마다 e를 주입하는 것이 모델이 표류하는 것을 방지합니다 — 전체 재귀 깊이에 걸쳐 원래 입력 신호를 살아 있게 유지합니다.
전체 구현은 open_mythos/main.py 에 있습니다. 자세한 API 워크스루, 구성 옵션 및 사용 예제는 OpenMythos 클래스 레퍼런스를 참조하세요.
Attention 구현
Attention 레이어는 cfg.attn_type 을 통해 전환 가능합니다:
옵션
클래스
설명
"gqa"
GQAttention
Grouped Query Attention(Ainslie et al., 2023) — Q 헤드보다 적은 KV 헤드(n_kv_heads < n_heads)로, KV-cache 메모리를 n_heads / n_kv_heads 만큼 감소시킵니다. flash-attn>=2.8.3이 설치된 경우 Flash Attention 2(Dao et al., 2023)를 사용합니다: GQA가 네이티브로 처리되고(KV 헤드 확장 없음), I/O 바운드 최적이며, 패키지가 없을 경우 수동 scaled dot-product attention으로 투명하게 폴백합니다.
"mla"
MLAttention
Multi-Latent Attention(DeepSeek-V2) — 전체 K/V 대신 압축된 KV 잠재(kv_lora_rank)를 캐시하며, 위치 인식 압축을 위해 RoPE / no-RoPE 헤드 차원이 분리됩니다.
RoPE는 캐싱 전에 Q와 K에 적용되므로, 캐시된 값은 검색 시 다시 회전할 필요가 없습니다.
이것이 Mythos를 설명하는 이유
1. 체계적 일반화
바닐라 트랜스포머는 학습 중에 본 적 없는 방식으로 지식을 결합하는 데 실패합니다. 루프 트랜스포머는 이 테스트를 통과합니다. 이 능력은 3단계 grokking 과정을 통해 나타납니다:
암기 — 모델이 학습 분포에 적합
분포 내 일반화 — 모델이 알려진 구성 처리
체계적 일반화 — 모델이 OOD의 새로운 구성 처리, 갑작스럽고 급격하게
이것이 Mythos가 새로운 질문에서 다른 모델들과 질적으로 다르게 느껴지는 이유입니다 — 능력이 점진적으로 나타나는 것이 아니라 상전이처럼 나타납니다.
2. 깊이 외삽
5-hop 추론 체인으로 학습합니다. 10-hop으로 테스트합니다. 바닐라 트랜스포머는 실패합니다. 루프 트랜스포머는 더 많은 추론 시 루프를 실행함으로써 성공합니다. 이는 Mythos가 명시적 chain-of-thought 없이 깊이 구성적인 문제(다단계 수학, 장기 계획, 계층적 논증)를 처리한다는 관찰과 직접적으로 대응됩니다.
추론 시 더 많은 루프 = 더 깊은 추론 체인 = 더 어려운 문제 해결.
3. 잠재 사고로서의 암묵적 Chain-of-Thought
각 루프 반복은 chain-of-thought의 한 단계와 기능적으로 동등하지만, 토큰 공간이 아닌 연속 잠재 공간에서 작동합니다. T번 루프를 실행하는 루프 모델은 암묵적으로 T단계의 CoT 추론을 시뮬레이션합니다. 이는 공식적으로 증명되었습니다(Saunshi et al., 2025).
더욱이, 연속 잠재 사고는 — 이산 토큰 출력과 달리 — 여러 대안적 다음 단계를 동시에 인코딩할 수 있습니다. 이를 통해 단일 확정된 추론 경로가 아닌, 추론 공간에 대한 너비 우선 탐색에 더 가까운 것이 가능해집니다. 모델은 수렴하기 전에 각 forward pass 내부에서 많은 가능한 방향을 효과적으로 탐색합니다.
4. 파라미터 폭발 없음
k개 레이어를 가진 루프 모델을 L번 실행하면 kL 레이어의 비루프 모델 품질을 달성하며, 파라미터는 k개 레이어 분량만 필요합니다. Mythos 규모의 배포에서 이는 막대하게 중요합니다:
메모리 풋프린트가 추론 깊이에 따라 증가하지 않음
추론 시 컴퓨팅이 모델 크기가 아닌 루프 수에 따라 확장됨
이는 더 깊은 추론을 파라미터 측면에서 "무료"로 만듦
안정성 문제(그리고 그것이 어떻게 해결되었을 가능성이 높은지)
루프 모델 학습은 악명 높게 불안정합니다. 두 가지 실패 모드가 지배적입니다:
잔차 폭발 — 은닉 상태 h_t가 루프에 걸쳐 무한히 증가
손실 스파이크 — 주입 파라미터의 큰 스펙트럼 노름으로 인해 학습이 갑자기 발산
동적 시스템 관점
루핑을 잔차 스트림에 대한 이산 선형 시불변(LTI) 동적 시스템으로 재해석합니다. 비선형 Transformer 기여를 무시하면, 재귀는 다음과 같아집니다:
h_{t+1} = A·h_t + B·e
이 LTI 시스템의 경우, 안정성은 전적으로 A의 스펙트럼 반경에 의해 결정됩니다:
ρ(A) < 1 → 안정, 수렴
ρ(A) ≥ 1 → 불안정, 발산
경험적으로, 모든 발산하는 학습 실행은 ρ(A) ≥ 1 을 학습합니다. 모든 수렴하는 실행은 ρ(A) < 1 을 유지합니다.
해결책
안정성이 구성에 의해 보장되도록 주입 파라미터를 제약합니다:
A를 연속 음의 대각 행렬로 파라미터화
ZOH/Euler 방식으로 이산화: A_discrete = exp(Δt · A_continuous)
A := Diag(-exp(log_A)) 와 학습된 스칼라 Δt를 통해 음수성 강제
이는 학습률이나 배치 노이즈에 관계없이 ρ(A) < 1 이 항상 성립하도록 보장합니다
결과: 루프 모델은 하이퍼파라미터 선택에 훨씬 더 견고해지고 높은 학습률에서도 깔끔하게 학습됩니다. 이것이 Parcae 아키텍처(Prairie et al., 2026)이며, Anthropic이 Mythos를 학습 가능하게 만들기 위해 사용했을 가능성이 가장 높은 솔루션 클래스를 나타냅니다.
루프 모델의 스케일링 법칙
Parcae는 루프 학습에 대한 최초의 예측 가능한 스케일링 법칙을 확립합니다:
학습: 고정된 파라미터로 고정된 FLOP 예산에 대해, 평균 재귀를 늘리고 토큰 수를 줄이면 더 많은 데이터에 최소 루프로 학습하는 것보다 낮은 손실을 얻습니다. 최적 재귀와 최적 토큰 수 모두 스케일 전반에 걸쳐 일관된 지수를 가진 거듭제곱 법칙을 따릅니다.
추론: 더 많은 테스트 시 루프는 예측 가능하고 포화하는 지수 감쇠를 따라 품질을 향상시킵니다 — 이득은 실재하지만 체감합니다. 이는 chain-of-thought의 추론 시 스케일링을 반영합니다.
770M 파라미터에서, 루프 모델은 동일한 데이터로 학습된 1.3B 고정 깊이 Transformer의 다운스트림 품질을 달성합니다 — 동일한 품질에 대해 약 절반의 파라미터.
Mythos에 적용: 이러한 스케일링 법칙 하에 학습된다면, Mythos는 겉보기보다 훨씬 더 파라미터 효율적일 수 있으며, 겉보기 "능력"의 상당 부분이 원시 파라미터 수가 아닌 루프 깊이에서 비롯될 수 있습니다.
루프 인덱스 임베딩 가설
핵심 미해결 질문은 루프 블록이 모든 반복에서 동일하게 작동하는지, 아니면 다른 루프 깊이에서 다른 것을 하도록 학습할 수 있는지입니다.
루프 전반에 걸친 위치 신호 없이는, 동일한 가중치가 초기 단계 패턴 매칭과 후기 단계 정제를 모두 처리해야 합니다 — 이는 빡빡한 제약입니다. 각 스텝에서 입력과 함께 주입되는 루프 인덱스의 RoPE 유사 임베딩은 동일한 파라미터가 반복 전반에 걸쳐 기능적으로 구별되는 연산을 구현할 수 있게 합니다. 이는 RoPE가 동일한 attention 헤드가 서로 다른 시퀀스 위치에서 다르게 작동할 수 있게 하는 방식과 매우 유사합니다.
Mythos가 이 기법을 사용한다면, 각 루프는 반복이 아니라 — 가중치를 공유하지만 서로 다른 표현 체제에서 작동하는 — 별개의 계산 단계입니다. 이는 파라미터 수를 늘리지 않고도 recurrent block의 표현력을 상당히 증가시킬 것입니다.
과잉 사고 문제
더 많은 루프가 항상 더 나은 것은 아닙니다. 특정 깊이를 넘으면, 과도한 재귀는 예측을 저하시킵니다 — 은닉 상태가 해를 지나 노이즈로 표류합니다. 이것이 "과잉 사고" 실패 모드입니다.
원래의 Universal Transformer(Dehghani et al., 2018)는 이를…
Other tools that do the same work
280개 이상의 piece를 MCP 서버로 노출하는 오픈소스 AI 워크플로 자동화.
CLI 및 MCP 서버로, 에이전트에게 소셜 및 비디오 콘텐츠에 대한 검색 및 읽기 접근 권한을 제공합니다
No comments yet.
to comment.