Index
2026-05-13 — Progress

DreamGen P3 Droid IDM Re-dump & HF Upload 완료

GR00T-Dreams | H50 IDM OOD → Droid IDM siglip-only | 3 stage, 3 jobs COMPLETED

TL;DR

10/13
Task 정상화
3
Stage 완료
~5.5h
Stage당 Dump 시간
1,855 MB
HF 총 업로드

1 배경 / 목적

DreamGen P3 파이프라인에서 cosmos AR output → IDM action dump → Pi0.5 학습 순으로 진행되는데, 기존 _v2 dump (H50 IDM, 128×128 center-crop 입력)로 만든 synthetic dataset을 sim replay 했을 때 motion이 거의 살아나지 않는 문제가 발견됐다.

OLD H50 IDM action range collapse: H50 IDM은 robomimic 128×128 agentview에서 학습됨. cosmos output은 droid 240×416 stretched aspect → 128×128 center-crop 시 44% horizontal FOV 손실 + cam 분포 mismatch (droid vs robomimic agentview). IDM이 OOD 시각 입력에 대해 confused → 전 task action range 붕괴.

OLD H50 IDM 증상 (13 task 모두 붕괴)

EpTaskOLD H50 IDM Action Range
0CloseDoubleDoor[-1.0, 0.364]
60CloseDrawer[-1.0, 0.179]
120CloseSingleDoor[-1.0, 0.577]

나머지 10 task도 동일하게 편향. 이상적 범위는 [-1.0, 1.0].

2 작업 내용

1. Droid IDM 선택 — siglip-only preprocessing

outputs/idm_robocasa_mg30_h50_droid_v2_8gpu/checkpoint-60000 (5/12 학습 완료): video source = idm_mg30 v2.1 (droid 3 cam 180×320 native), state source = mg30_real_h50 v3.0. 핵심: siglip-only preprocessing — VideoCrop/Resize/ColorJitter 우회로 cosmos quadrant native 384×216을 그대로 siglip 256으로 입력. H50 IDM의 128×128 center-crop 없이 cosmos mp4 → IDM 직결 가능.

2. Cosmos output 4-view layout 검증

prepare_robocasa_for_cosmos.py 확인: cosmos 학습 데이터 = droid stitch (768×432 tile). 각 quadrant 384×216이 곧바로 droid 3 cam (exterior_L / exterior_R / wrist_L + black)과 매칭됨. 새 droid IDM이 native 해상도로 직접 받을 수 있는 format.

3. 13-task smoke test 선행

scripts/dump_droid_idm_from_cosmos.py 로 init0_v2 13개 task 1 ep씩 dump → sim replay 비교. 10/13 task full ±1 확인 후 full re-dump 결정.

4. Full re-dump 스크립트 구현

scripts/dump_droid_idm_full_synthetic.py 입력: cosmos mp4 (각 stage generated/) — 384×216 quadrant 직접 split 처리: split → siglip 256 → droid IDM → action[12] + state[16] (denorm + quat unit-norm + gripper bipolar threshold at 0) 출력: synthetic_lerobot의 meta/videos 복사 + parquet action/state만 덮어씀 출력 dir: outputs/cosmos_datagen_{stage}/synthetic_lerobot_droid_idm/ scripts/run_dump_droid_idm_full.sh — sbatch wrapper (STAGE env로 선택) scripts/push_dreamgen_droid_to_hf.py — HF push (_droid suffix, README 명시)

5. 3 stage 병렬 제출

Job 1975 STAGE=ar_p3_init0_v2 --gres=gpu:1 -c 8 --mem 200GB --qos=own → COMPLETED Job 1976 STAGE=ar_p3_mid_v2 --gres=gpu:1 -c 8 --mem 200GB --qos=own → COMPLETED Job 1977 STAGE=ar_p3_random_v2 --gres=gpu:1 -c 8 --mem 200GB --qos=own → COMPLETED

3 결과

Dump 시간

JobStageElapsed규모처리속도
1975init0_v25h 18m1440 ep~13s/ep
1976mid_v25h 35m1440 ep~14s/ep
1977random_v25h 39m1440 ep~14s/ep

Action Range 정상화 — OLD vs NEW 비교

EpTaskOLD H50 IDMNEW Droid IDM
0CloseDoubleDoor[-1.0, 0.364][-1.0, 0.691]
60CloseDrawer[-1.0, 0.179][-1.0, 0.605]
120CloseSingleDoor[-1.0, 0.577][-1.0, 1.000]
240CoffeeServeMug편향[-1.0, 1.000]
360~1320Open/PnP/Turn 10개편향[-1.0, 1.000]
10/13 task full ±1 정상화: OLD는 13/13 모두 붕괴, NEW는 10/13이 full range. 나머지 3 task (CloseDoubleDoor, CloseDrawer, TurnOffSinkFaucet)는 여전히 한쪽 편향 — cosmos 자체 motion quality 한계로 추정.

HF 업로드 완료

StageHF DatasetSize
init0_v2_droidKeh0t0/dreamgen_robocasa_p3_init0_v2_droid628 MB
mid_v2_droidKeh0t0/dreamgen_robocasa_p3_mid_v2_droid604 MB
random_v2_droidKeh0t0/dreamgen_robocasa_p3_random_v2_droid623 MB

모두 private (Keh0t0 namespace). v3.0 tag 생성 완료. meta/info.json: fps=16, codebase=v3.0, 1440 ep, 535680 fr, action[12]/state[16], 3 cameras. OLD _v2와 schema 완전히 동일 → Pi0.5 input compatible.

4 Takeaway

IDM training distribution ↔ cosmos output 분포 정렬이 핵심

Cosmos AR synthetic 데이터의 IDM action quality는 IDM training visual distribution과 cosmos output visual distribution의 일치도에 직결된다. H50 IDM (robomimic 128×128 native agentview)에 cosmos droid stretched output을 center-crop해서 넣는 건 근본적으로 OOD. Siglip-only preprocessing은 cosmos quadrant 384×216을 그대로 siglip 256으로 보내 training 분포와 완전히 매칭되게 한다.

이 패턴 — "cosmos 학습 데이터와 inference input의 시각 분포를 byte-level로 매칭" — 은 향후 새 IDM 학습 시마다 적용해야 하는 설계 원칙이 된다.

남은 3 task 편향 (CloseDoubleDoor, CloseDrawer, TurnOffSinkFaucet): cosmos AR 자체가 해당 motion을 충분히 생성하지 못하는 가능성. Pi0.5 real + synth joint training으로 real h50 데이터와 섞으면 회복될 것으로 기대.

5 Next Steps

Pi0.5 B2 P3 Mix NEW IDM — 3 variants 학습 완료 (Jobs 2077/2078/2079)

mg30_real_h50 720 ep + _v2_droid 1440 ep (5:5 batch mix) 학습. 학습 코드/하이퍼파라미터/main dataset/seed 완전 동일 (DAVIAN H50 ref) — 변수는 aux dataset 하나. OLD H50-IDM vs NEW droid-IDM 단일 변수 ablation SR 비교로 IDM 품질의 downstream 영향 정량화.

128×128 video cam mismatch — 장기 검토 사항

synthetic_lerobot videos는 cosmos quadrant center-crop → 128 resize한 droid view 그대로 유지. Pi0.5 input이 h50 agentview 분포(robomimic cam)와 cam identity mismatch 있음. 단기 영향은 Pi0.5 mix 학습 SR 결과로 판단. 필요 시 video도 re-tile하여 진짜 agentview로 변환 고려.

fps mismatch 모니터링

cosmos 16fps vs real 20fps 차이. Pi0.5가 action magnitude scale을 적응하는지 train loss + eval SR으로 확인.