Index
2026-08-12 — Progress

τ₀-WM VAM RoboCasa Posttrain 파이프라인 구축

tau-0-wm | 데이터 → 학습 → 저장/재개 → 평가 브릿지 전 구간 검증, job 78541 제출

TL;DR

300,304
train clips
107 GB
peak mem (bs12)
6.0 s/it
login 1-GPU
0.24 s
policy call
75.3%
비교 앵커

1 배경 / 목적

τ₀-WM VAM의 naive 성능(TTC off, 기본 5-step 추론)을 RoboCasa 24-task에서 측정해 X-WAM released robocasa_sft 75.3%(동일 pretrained-init 조건의 앵커)와 비교한다. 사용자 결정: τ₀ pretrained init. 데이터·평가 하네스·샘플 예산을 X-WAM과 정렬해 교란을 최소화.

2 작업 내용

데이터 — LeRobot 변환 없이 X-WAM 포맷 직독

data/robocasa_xwam.py (신규) video (3,3,9,192,256) [-1,1] · actions (33,7) raw_actions 무변환 · state (1,7)=[pos,rotvec,grip] gripper 무플립 → 정책 출력이 env.step 규약 그대로 (X-WAM의 이중 플립은 end-to-end no-op) configs/data/stat_file/robocasa_xwam.json — 전 프레임 mean/std, action gripper는 0/1 고정
state rotvec ±π 불연속: EE 방향 median 168.8° (p95 178.8°)로 π 경계 근처 → ch0 std 2.26 bimodal. 기준 회전 합성(Rx/Ry/Rz π)으로도 해소 불가(분포 자체가 넓음). X-WAM canonical quat도 동종 문제(w≈0)로 75.3% 달성 → naive 원칙대로 수용.

학습 — τ₀ 기본 레시피 + 샘플 매칭

bs 12/GPU × 8 = eff 96 · lr 5e-5 constant+warmup · bf16 · 192×256 3뷰 · chunk 9 / action 33 train_steps 27,000 = 2.59M 샘플 ≈ X-WAM eff128 × 20k = 2.56M scripts/train_robocasa.sh — NGPU를 CUDA_VISIBLE_DEVICES에서 계산 (§11 함정 회피)

업스트림 버그 수정 2건

① 기동 불가: runner/posttrain.py:55forward_pass import — 리포 전체에 정의 없음(죽은 import). 제거.
② 무한 퇴화 epoch: max_train_steps 도달 시 batch 루프만 break → epoch당 1 step + dataloader 재생성 반복(60 step 설정에 813 epoch 실측). epoch 말미 종료 조건 추가 — 27k run에서 수 시간 낭비 방지.

평가 브릿지 — X-WAM 하네스 재사용

web_infer_utils/robocasa_zmq/server_zmq.py — broker DEALER 프로토콜(READY/WORK/RESULT) (3,256,256,3) f32 → resize (192,256) · proprio 16d → state 7d (quat→rotvec) · seed=md5(동일 규약) TauPolicy.play: 5-step euler shift 1.0, execution_step 32 scripts/eval_robocasa_tau.sh — broker·24 client·merge는 X-WAM 그대로, 서버만 교체

3 결과

검증 항목결과비고
Dataset 단독 테스트통과300,304 clips, shape/finite 정상
partial load (20→7)설계대로mismatched 3텐서만 (action in/out proj)
스모크 60 step loss유한total 0.5-0.7 (video 0.13-0.18 / action 0.32-0.6), NaN 0
메모리 (bs 12, 1 GPU)107 GB / 180 GB8-GPU 동일 bs 여유
저장/재개정상step_50 11GB + accelerator_state, config 제자리 갱신 → 풀 재개
브릿지 왕복통과actions (32,7) finite, 0.24s/call (첫 콜 1.78s)
학습 속도6.0 s/itlogin 1-GPU bs12 = 0.51 s/sample, X-WAM 대비 3× — worker 실측 필요
job 78541PENDINGcore 풀 포화 (own 8/8 본인 사용 중), sbmr 자동 재큐 10회
속도 우려: worker에서도 6 s/it이면 27k ≈ 45h. 로그인 CPU 경합/NAS mp4 디코드(3 open/sample) 의심 — RUNNING 전환 후 sjob으로 실측하고 병목이면 개선.

4 Takeaway

의미

X-WAM 앵커와 데이터(동일 1,235 ep)·평가(동일 클라이언트/시드/1,200 rollouts)·샘플 예산(2.56M)이 정렬된 naive 비교가 준비됐다. 추론 비용도 동급(0.24s vs ~0.18s/call)이라 평가 조건 차이는 아키텍처(action expert + 1-pass video feature vs in-sequence token + 10-step joint denoise)로 수렴한다.

5 Next Steps

job 78541 감시

RUNNING 전환 시 sjob 78541로 8/8 GPU active + it/s 실측 (단일-GPU 사고 방지 절차). 속도가 나쁘면 dataloader 프로파일.

평가

완료 후 MODEL_PATH=experiments/posttrain_robocasa/run1/step_27000 bash scripts/eval_robocasa_tau.sh — EVAL_RANKS=0 스모크 → full 24×50 sbm 제출. 중간 ckpt 조기 평가도 고려.