Index
2026-08-17 · X-WAM_MoT · PLAN

X-WAM MoT — 설계 확정 + 구현 계획

action/proprio 토큰을 shared trunk에서 분리해 전용 expert 타워(MoT)로 — arm A 61.0% 정면 비교

TL;DR

1.39B
expert 추가 파라미터
61.0%
비교 앵커 (arm A)
20k
게이트 step (eff 128)
7
구현 task

1배경/목적 (왜)

X-WAM은 video(720토큰)·action(32)·proprio(9)를 하나의 시퀀스로 concat해 30개 블록의 동일 가중치로 처리한다. 저차원 robot state와 고차원 video가 같은 파라미터를 공유하는 것이 최적인지는 열린 질문이며, π0의 action expert와 FastWAM-joint는 반대 설계(전용 타워 + joint attention)를 택했다.

기회: FastWAM(src/fastwam/models/wan22/mot.py)에 같은 Wan2.2 백본 기반의 완성된 MoT 구현이 있고, X-WAM에는 검증된 게이트 레시피 + arm A/B 앵커가 있다. 두 검증된 조각의 조합이라 신규 리스크가 좁다.

2확정된 설계 (사용자 승인)

결정선택근거
Expert 폭hidden 1024 / ffn 4096 / 30 layersFastWAM·π0 선례, attention은 24×128=3072 공간(트렁크 동일)에서 joint. dohyunlee 동일 구성 RoboCasa 61%
InitRandom (std 0.02)π0 방식, 자기완결·비교 깨끗. ActionDiT ckpt 로드는 2차 옵션
Expert 범위action + proprio 단일 타워timestep 공유, 둘 다 저차원 robot state
첫 실험no-deptharm A 61.0% 정면 비교, 학습 ~27% 빠름
Expert cross-attn트렁크 임베딩 text(3072) 공유기존 WanCrossAttention(q_dim≠kv_dim) 재사용, text 경로 동일

Per-layer forward (mixed attention)

trunk block : video 토큰 Q/K/V (video RoPE + trunk AdaLN) ─┐ expert block : robot 토큰 Q/K/V (기존 action/proprio RoPE 무수정) ─┤ concat → joint attention (mask 없음) ─┘ → split → 각자 post-block (o-proj → cross-attn → FFN)

유지: view embedding, async noise(expert 자체 AdaLN 1024), decoupled sampling, depth branch(joint K/V를 cache로 전달), REPA hook, CFG. 제거: MetaView geometry hook (타 프로젝트 패치).

유일한 주요 리스크: expert random init의 초기 gradient가 joint attention을 타고 트렁크로 역류. 100-step 스모크에서 video_loss가 baseline의 0.5×~2.0× 밴드인지로 조기 감지 (260807 스모크에서 arm 간 video_loss는 0.508~0.515로 동일했음).

3구현 계획 (7 tasks)

Task내용검증
1리포 스캐폴드 (코드 복사 + checkpoints/sft_datasets/third_party symlink)import + 경로 확인
2modules/mot_expert.py — ExpertSelfAttention + RobotExpertBlocktiny unit test (로그인 GPU, 초 단위)
3modules/wan_model_mot.py — XWAMMoTModel (_forward_single override)unit test 8종 (shape/grad/CFG/depth/per-frame t)
4러너 use_mot 분기 + yaml + gate_base.sh mot arm실 5B 파라미터 카운트 (expert≈1.39B, total≈6.4B)
5로그인 100-step 스모크 A/B (baseline vs MoT)NaN 0 + video_loss 밴드
68-GPU 게이트 학습 (sbmr, eff 128 / lr 3e-5 / 20k step)sjob 8/8 GPU + rank 파일 8개
7RoboCasa 24 task × 50 rollout 평가 + 비교 분석z-검정 vs arm A/B

판정 밴드 (사전 등록)

≥ 65% : 유의미 개선 (z≈2, SE≈1.95%p) 57~65% : 동등 — 50 rollout으론 구분 불가 → 100 rollout 재평가 후보 < 57% : 회귀

4Takeaway

속도는 arm A(0.374 it/s)와 유사 예상 — joint attention의 총 토큰 수(761)가 동일하고, robot 41토큰의 FFN이 14336→4096으로 오히려 작아진다. 트렁크 파라미터 이름을 전부 보존하고 expert를 build_mot_expert()로 post-hoc 생성하는 설계라 Wan2.2 base 로딩·러너·평가(zmq policy server) 경로가 전부 무수정이다.

분석 노트

이 실험은 X-WAM 본체의 World Forcing 축(depth/REPA — "표현에 기하를 넣기")과 직교하는 "용량 분리" 축이다. MoT가 arm A를 이기면 이후 depth/REPA arm을 MoT 트렁크 위에 다시 쌓는 조합 실험이 자연스러운 2차가 된다.

5Next

① Task 1~4 구현 → ② 스모크 통과 시 게이트 제출 (GATE_GPUS=8 GATE_SAVE_TOP_K=1 sbmr 20 "bash scripts/gate_base.sh mot" --qos=extra --gres=gpu:8 -c 64 --mem 1600GB --time 24:00:00) → ③ 평가·판정. 2차 후보: ActionDiT pretrained init, MoT+depth (vs arm B 66.0%), expert 폭 스윕.

문서: 스펙 docs/superpowers/specs/2026-08-17-xwam-mot-design.md · 계획 docs/superpowers/plans/2026-08-17-xwam-mot.md