Index
2026-05-11 — Analysis

mg30_real_h50 720ep 추출 + DAVIAN MG_30 동일성 검증

GR00T-Dreams | state schema fraud 해소 · v0.1 HDF5 직접 추출 · 698/698 demo match

TL;DR

720
추출 ep
206,570
총 frames
698/698
DAVIAN demo match
1h 5m
추출 wall time
1.1 GB
AV1 크기

1 배경 / 목적

Pi0.5 B0 baseline (real heldout 720 ep) 학습 중 state schema fraud 발견. Keh0t0/robocasa_heldout_real의 features.names는 H50 표준 16개 필드명을 쓰지만, 실제 저장된 값은 hyojinjang LeRobot v2.1 chain의 joint_pos[7] + gripper[1] + zero[8] 8-dim 데이터다.

dimBroken (Keh0t0)H50 표준 (MG_30)차이
base_to_eef_pos(-0.027, -1.045, -0.034) — joint_rad(0.257, 0.017, 0.606)완전히 다름
base_to_eef_quat(-2.286, 0.029, 1.506, 0.686) norm=2.85(-0.987, ...) norm=1.000norm 발산
gripper_qpos(0.478, 0.0)(0.0206, -0.0205)다름
base_pos(0, 0, 0)(1.2, -0.8, 0.7)전부 zero
base_quat(0, 0, 0, 0)(0, 0, 0.7071, 0.7071)norm=0
영향 범위: Pi0.5 B0/B2 학습 + IDM v2 (action+state) state supervision — 모두 재학습 필요. IDM state를 쓰지 않는 트랙(Latent-A/B/C, Pixel v2_8gpu action-only)은 영향 없음.

목표: v0.1 HDF5를 직접 읽어 올바른 16-dim H50 state를 생성하는 스크립트 작성 → 720 ep 추출 → DAVIAN MG_30과 동일성 검증.

2 작업 내용

① 신규 스크립트 (203 줄)

scripts/prepare_idm_heldout_dataset_h50compat.py:

② Quat 순서 사전 검증

v0.1 HDF5 demo_0 frame_0의 base_to_eef_quat = [-0.992, -0.022, -0.125, 0.016] (norm=1.0). H50 reference 동일 값 [-0.992, -0.023, -0.126, 0.017]와 거의 일치 → v0.1 HDF5는 이미 xyzw, reorder 불필요.

③ 24-ep dry-run → 720 ep 전체 추출

# dry-run (24 ep, 1 ep/task) python scripts/prepare_idm_heldout_dataset_h50compat.py \ --hdf5_base /home/nas_main/minhopark/datasets/robot/robocasa/v0.1/single_stage \ --source_dir /home/nas_main/hyojinjang/DATA/robocasa_mg3000_droid_lerobot_20fps_v2_merged \ --output_dir tmp/idm_heldout_h50_dryrun \ --num_eval_per_task 1 # 전체 720 ep python scripts/prepare_idm_heldout_dataset_h50compat.py \ --output_dir /home/nas_main/taewoongkang/Dataset/robocasa/mg30_real_h50 \ --demo_source mg_train --mg_train_size 30

3 결과 (수치)

추출 결과

720
episodes
206,570
frames
1.1 GB
AV1 128×128
1h 5m 16s
wall time
5.44 s/ep
av1 bottleneck

State 검증 (3-way 비교, CloseDoubleDoor ep0 frame0)

dimNEW h50compatDAVIAN MG_30broken Keh0t0
base_to_eef_pos(0.257, 0.017, 0.606)(0.243, -0.012, 0.592)(-0.027, -1.045, -0.034)
quat norm1.0001.0002.85 ❌
gripper_qpos(0.0206, -0.0205) byte-✓(0.0206, -0.0205)(0.478, 0.0)
base_pos(1.2, -0.8, 0.7) byte-✓(1.2, -0.8, 0.7)(0, 0, 0)

DAVIAN MG_30 전체 비교

항목우리 (mg30_real_h50)DAVIAN MG_30일치
codebase_versionv3.0v3.0
total_episodes720720
total_frames206,570206,570byte-exact ✓
total_tasks181181
fps2020
state.names (16-dim)H50 schemaH50 schema
Demo intersection (hash)698/698 ⭐ (22 collision 동일)same demos

24-task 전수 검증

720/720 ep 모두 통과:

미세 차이 (학습 영향 없음)

위 차이들은 학습에 영향 없음 — model은 (image, description, action) 학습, ep_index는 단순 indexing.

4 Takeaway

Schema fraud 완전 해소: v0.1 HDF5 직접 추출 → hyojinjang chain 우회 → H50/MG_30 표준 16-dim state 자동 생성.
DAVIAN MG_30과 동일 데이터셋 확보: 75% SR ref run의 source와 698/698 identical demo set. Pi0.5 재학습 시 같은 조건에서 비교 가능.

프로젝트 의미

이번 추출로 MG_30 train data의 "clean" 버전이 생겼다: /home/nas_main/taewoongkang/Dataset/robocasa/mg30_real_h50/. 이 데이터셋이 두 가지 용도로 사용된다: (1) IDM v2 Pixel 학습 source (quat sign 보존), (2) Pi0.5 B0 재학습의 real baseline. 두 용도 모두 같은 파일을 그대로 쓸 수 있어 버전 관리 단순화.

기존 B0 실험(17.2% SR)의 한계가 eval pipeline 버그 + state schema fraud의 복합 원인이었음이 확정됨. 이 데이터로 재학습하면 DAVIAN 75% SR과 동일 조건이 된다.

5 Next Steps

즉시

미해결 한계