Index
2026-05-15 — Analysis

Pi0.5-Delta IDM — v1 vs v2 24-task 비교 + 실패 근본원인 + Exp A

GR00T-Dreams / DreamGen | forward-delta(xt+16−xt) IDM, pretrained PaliGemma backbone

TL;DR

562→540
EEF mm (v1→v2)
2.2→0.4%
SR (악화)
107
baseline mm
~5x
격차
3533
Exp A job

1 배경 / 목적

Action label 없는 비디오로부터 action을 역추정하는 IDM에서, 기존 트랙은 from-scratch SigLIP2 인코더를 쓴다. 가설: Pi0.5의 pretrained PaliGemma backbone이 더 풍부하니, forward-delta 이미지(xt+16−xt, 3 cam)를 입력으로 IDM-style 학습하면 EEF 정확도가 개선될 것.

기존 한계: v1(state off)이 24-task 562mm로 SigLIP2 baseline(Latent-IDM A 107mm, Pixel-IDM 134mm)의 5배. v2(state on)로 격차를 메울 수 있는지 + "왜 이렇게 나쁜가" 규명 필요.

2 작업 내용

(1) v2 24-task heldout eval 완주(jobid 3335-3358, throttled), (2) v1 vs v2 동일 24-task 직접 집계(16-task 부분집합 아닌 전체), (3) eval→preprocessor→monkey-patch→SigLIP→flow-sampler 데이터 경로 코드 정독으로 근본원인 규명, (4) 가장 싸고 결정적인 ablation(Exp A) 설계·제출.

eval: scripts/eval_pi05_delta_idm.py — heldout HDF5 프레임으로 chunk별 action labeling 후 open-loop sim replay, terminal-EEF L2(mm) + rollout SR 경로: eval /255 [0,1] → compute_delta(images[:,1]-images[:,0]) [-1,1] sparse → 공유 _preprocess_images: img = img*2.0-1.0 (modeling_pi05.py:1176) → SigLIP/PaliGemma (pretrained, [-1,1] 자연이미지 기대) Exp A: modeling_pi05_delta.py _preprocess_images_with_delta forward-delta(T=2)일 때 d = (d+1)/2 → 하류 *2-1 이 정확히 역변환 → SigLIP이 delta를 [-1,1] 0-center(정적배경=0)로 수신

3 결과

v1 vs v2 — 24-task 전체

TrackEEF mean (mm)SR (성공/720)비고
Latent-IDM A (SigLIP2, baseline)107정상기존 best
Pixel-IDM v2 (SigLIP2)~134정상 
Delta-Pi0.5 v1 (state off)562.12.2% (16/720)24-task 완료
Delta-Pi0.5 v2 (state on)539.90.4% (3/720)SR 5배 붕괴
핵심 반전: 직전 핸드오프의 "v2 ~12% 개선"은 알파벳 16-task 부분집합 artifact. 전체 24-task로는 EEF ~4%만 감소, SR은 v1 16/720 → v2 3/720으로 5배 악화. v1의 진짜 성공(CoffeePressButton 23.3%, TurnSinkSpout 16.7%)을 v2가 전부 0%로 소멸시켰고, v2의 3개 "성공"은 EEF 730–897mm짜리 fluke(IDM 정확도가 아닌 env success 우연 트립). state는 일관 개선이 아니라 task별 trade-off + SR 손실.

근본원인 (코드 확정)

#원인판정
픽셀 차분이 pretrained PaliGemma에 OOD. (A) 범위: compute_delta([−1,1] sparse, 정적≈0) 위에 img*2-1이 [−3,1]로 piled → SigLIP 범위 이탈. (B) 내용: 차분 이미지는 자연 이미지 아님(저주파 상쇄, 음수, motion-residual) → pretrained edge/texture/object prior 무용. from-scratch SigLIP2는 차분 통계 맞춰 학습하니 유리.최대 원인
flow-matching head가 결정론적 역문제에 부적합? — 철회: baseline IDM도 동일 flow head 사용(확인). flow가 IDM에서 작동 증명됨 → 원인 아님. 진단이 입력축 단일로 좁혀짐.기각
단일 차분 = 경로 정보 붕괴(net displacement 1장으로 16-step chunk 예측, underdetermined). 단 "입력 추가형은 더 안 됨" 사전 실험 결과로 minimal delta 채택 — 설계상 수용된 한계.한계
open-loop replay(피드백 없이 ≤800 step, OSC delta 적분) → 절대 수치 큰 이유. 모든 트랙 동일하니 비교는 유효(EEF-mm은 가혹한 proxy).증폭
state가 학습 중 shortcut(base-rel eef pose ↔ 단기 action 강상관) → v2가 망가진 시각 경로 대신 state 의존 → heldout 일반화 실패 → SR 2.2→0.4.SR 악화
flow-head 철회의 가치: head가 baseline과 동일하므로 107 vs 540 격차가 입력/인코더 경로 단일축으로 깨끗하게 좁혀짐. 진단 명료화.

Exp A — 범위 정규화 ablation (제출 완료, RUNNING)

수정 1지점 (train+eval 동시): modeling_pi05_delta.py forward-delta(T=2)일 때 d = (d+1)/2 → 범위(A) 해소, 내용(B)은 그대로(=실험 질문) 부수: launch_pi05_delta_idm.sh EXP_TAG 추가 (기존 v2 ckpt resume 함정 회피, 산출물 격리) train_bc.py debug=True(SyncVectorEnv) → Async 원복 (hang 근본원인=asset stub 이미 fix) 제출: STATE=on EXP_TAG=_normfix sbmr 5 "bash scripts/launch_pi05_delta_idm.sh" \ --gres=gpu:4 -c 32 --mem 800GB --qos=extra --time=08:00:00 → jobid 3533 (lineage orig-3533), wandb dreamgen-pi05 / pi05_delta_idm_4gpu_state_on_normfix 검증: resolved cfg disable_proprioceptive_obs=False (state ON), fresh start, v2 산출물 보존
실험 규율: 한 변수(범위 정규화)만 변경한 ablation. 거의 안 변하면 (B) 내용 OOD가 dominant 확정 → 픽셀 차분으로는 pretrained backbone 회생 불가. 크게 개선되면 (A) 범위가 dominant였음.

4 Takeaway

의미

가설 기각 확정 — pretrained PaliGemma backbone은 state를 켜도 SigLIP2 IDM의 ~5배(EEF), SR≈0이고 state는 SR을 오히려 악화시킨다. flow-head 철회로 진단이 입력 표현 단일축으로 명확해졌다: 픽셀 차분이 pretrained 자연이미지 prior를 범위+내용 양면에서 파괴해 backbone swap의 이득이 소멸한다. 학습은 정상 수렴(loss 0.46→0.02)했으므로 이는 compute/objective 문제가 아닌 구조적(표현) 결함 — scale-up은 무의미하다. Exp A는 "범위만 맞추면 backbone이 회생하는가"를 정확히 격리하는 마지막 저비용 검증이다.

5 Next Steps

Exp A (job 3533) 결과 해석

20K 완료 후 24-task heldout eval(run_pi05_delta_eval_throttled.sh). 거의 안 변함 → (B) 내용 OOD dominant 확정 → 입력 표현 재설계 or 트랙 종료 판단. 크게 개선 → (A) 범위 dominant, 추가 튜닝 여지. 5K/10K ckpt eval로 학습곡선 평탄 여부 sanity.

보류된 대안

픽셀차분 폐기·2-frame multi-token 방식은 "입력 추가형은 더 안 됨" 사전 실험 결과가 있어 제외. Exp A 결과에 따라 트랙 종료 가능성.

6 업데이트 — Exp A(normfix) 확정 결과

job 3533 학습(20K, ~4h, fresh, state ON) + 24-task eval(3585-3608) 완료. eval도 동일 patched _preprocess_images_with_delta(normfix) 경유 → train/eval 정규화 일관.

TrackEEF mean (mm)SR (/720)vs baseline 107mm
v1 (state off)562.1~2.2% (16)5.3x
v2 (state on)539.90.42% (3)5.0x
normfix (Exp A)395.91.11% (8)3.7x
가설 실질 확인: Δ(normfix−v2) = −144.0mm = −27% — 이 실험 라인 단일 개입 최대 효과(state-on은 ~4%). 범위/정규화(img*2-1 차분에 중복)는 noise가 아니라 에러의 ~27%를 차지한 first-order 버그. 큰 개선 task: PnPMicrowaveToCounter −443, TurnOffSinkFaucet −338, PnPStoveToCounter −315, TurnSinkSpout −309, TurnOnMicrowave −308.
그러나 잔여 (B) dominant: normfix 395.9mm = baseline의 3.7x, SR≈0(1.11%) — task 완수 능력 사실상 없음. 차분=비자연 입력이 pretrained PaliGemma에 OOD인 구조적 한계는 정규화로 안 풀림. 원가설 최종 기각 유지, 트랙 종료 권고.
방법론 교훈: n=7 부분집합 평균으로 "noise·효과 미미" early verdict 냈다가 14→24task에서 정정. task별 분산 극단적 + alphabet 순 부분집합 편향 — 전수 완료 전 결론 금지. 차분-입력 backbone-swap 계열은 정규화 중복(d→*2-1) 필수 점검(재사용 가치 있는 발견).