pix_delta_diff(181mm) → CL 4위(577mm, +218%). averaging이 fragility를 가렸음pix_delta_reg 327mm — OL에서는 3위(303mm)였지만 CL에서 역전Open-loop eval은 IDM이 GT video만 보고 action을 미리 계산한 뒤 시뮬에서 순서대로 재생한다. Sim의 state drift가 모델에 피드백되지 않아 실제 deployment 환경과 다르다.
Closed-loop: 매 16 step(1 chunk)마다 sim의 현재 render + GT의 t+16 frame을 다시 모델에 입력해 재예측. Visual drift가 피드백됨.
gr00t-idm env(PyTorch 2.12, IDM)와 robocasa env(PyTorch 2.7, mujoco 3.2.6)가 의존성 충돌로 한 process 통합 불가. pickle-framed stdio subprocess 프로토콜로 분리:
| 학습 view (droid) | sim 대응 |
|---|---|
exterior_image_1_left | robot0_agentview_left |
exterior_image_2_left | robot0_agentview_right |
wrist_image_left | robot0_eye_in_hand |
ep_*/metrics.json 존재 시 skip + cache 반환. sbmr 20 retries 자동 requeue. 총 24ep × 4cell 완료까지 3번 preempt(Jobs 3158→3161→3163).
scripts/idm_inference_worker.py — IDM inference subprocess (gr00t-idm env)scripts/eval_idm_closed_loop.py — closed-loop sim eval main (robocasa env)scripts/run_eval_2x2x2_closed_loop_4gpu.sh — 4-cell parallel wrapper (srun --ntasks=4 --cpus-per-task=7)| Cell | OL (mm) | CL (mm) | Δ | %Δ | Grip(CL) |
|---|---|---|---|---|---|
pix_delta_reg | 303 | 327 | +24 | +8% | 84.7% |
pix_abs_reg | 364 | 354 | −10 | −3% | 88.0% |
pix_abs_diff | 339 | 436 | +97 | +28% | 59.2% |
pix_delta_diff | 181 | 577 | +396 | +218% ⚠ | 88.4% |
pix_delta_diff의 OL 우수성은 슬라이딩 윈도우 averaging 효과였음. single-prediction(CL 방식)에서 small artifact가 Δ frame에 그대로 들어가 폭발적 drift.| Task | abs_diff | abs_reg | delta_diff | delta_reg |
|---|---|---|---|---|
| CloseDoubleDoor | 900 | 349 | 1130 | 388 |
| OpenDrawer | 497 | 688 | 1120 | 460 |
| OpenSingleDoor | 473 | 706 | 581 | 298 |
| OpenDoubleDoor | 633 | 616 | 674 | 258 |
| Task | abs_reg | 비고 |
|---|---|---|
| CoffeePressButton | 46mm | OL feature cell(~105mm)에 근접 |
| TurnOffMicrowave | 79mm | stationary button-press |
| TurnOffSinkFaucet | 70mm | stationary twist |
pix_abs_reg가 stationary task에서 CL 최강. abs 표현이 단순 위치 유지 task에서 stable.
OL averaging이 fragility를 숨긴다. pix_delta_diff의 OL 우수성(181mm)은 16-frame 슬라이딩 윈도우 평균화가 single-prediction 잡음을 평균 내버린 결과. CL single-prediction에서는 +218% 폭발. 모델 자체의 robust성이 아니었음.
Regression이 CL에서 diffusion보다 안정적. Reg 2종 평균 340mm vs Diff 2종 평균 506mm(+49%). Visual distribution shift 하에서 deterministic 1-step prediction이 stochastic 16-step sampling보다 safe. Diff는 다양한 mode를 sample하다 엉뚱한 곳으로 drift할 위험이 큼.
Δ representation은 CL에서 loss 선택에 극도로 민감. delta_reg 327mm(CL best) vs delta_diff 577mm(CL worst). Δ frame이 OL averaging으로 잡음이 상쇄됐지만 CL single-shot에서 sim render artifact가 그대로 Δ에 반영.
Modality mismatch가 전체 CL 성능의 floor를 결정. 모든 CL 결과(327-577mm)가 OL feature cell(104-122mm)의 2.7-5.7×. sim robocasa view ≠ droid training view(다른 FOV/layout)가 가장 큰 drift source.
Feature OL이 104-122mm → Feature CL이 Pixel CL보다 훨씬 잘 할 가능성 높음(Cosmos 표현이 view 변화에 robust). 비용: Cosmos encoder forward ~5s × 26 chunk × 24ep × 4cell ≈ 3.5h. worker에 Cosmos encoder 추가 필요.
(a) 학습 데이터를 robocasa 직접 캡처로 재구성 — 근본 해결이지만 데이터 수집 비용 큼. (b) sim render에 Cosmos 적용 → droid-style view 변환(CL 시 매 step 적용, 비용 매우 큼). (c) qnorm 재학습 완료 후 CL 재측정 — 절대 수치 개선 확인.
averaging 효과를 분리하기 위해 chunk stride 16(single-prediction만 사용) open-loop 추가 측정. CL +218% drift 중 averaging-loss가 얼마나 차지하는지 확인. 구현 코스트 낮음.