GR00T-Dreams 파이프라인의 핵심은 action label 없는 비디오(Cosmos 생성 데이터)에 pseudo action을 부여하는 것이다. 이를 위해 IDM(Inverse Dynamics Model) — 연속 프레임으로부터 action trajectory를 역추정하는 모델 — 을 RoboCasa 데이터로 학습해야 한다.
첫 단계로 공식 MG-30 서브셋(24 task × 30 ep = 720 episodes)을 사용해 소규모 테스트를 진행했다. 목표는 학습 가능성 검증과 데이터 파이프라인 구축이며, 이후 MG-3000 풀 데이터로 확장 예정.
원본 DROID-style LeRobot(/home/nas_main/hyojinjang/DATA/robocasa_mg3000_droid_lerobot_20fps_v2_merged/)에서
HDF5 mask(/home/nas_main/minhopark/datasets/robot/robocasa/v0.1/single_stage/)의 공식 30_demos episode ID를
추출해 24개 task를 병합했다.
원본 action 컬럼(28-dim joint-space) 대신 action_eef(12-dim EEF-space)를 사용.
IDM은 manipulation 동작에서 end-effector 표현이 더 compact하고 학습이 안정적이기 때문.
| 인덱스 | 의미 | 차원 |
|---|---|---|
| [0:3] | eef_position delta | 3 |
| [3:6] | eef_rotation delta (axis-angle) | 3 |
| [6:7] | gripper (-1/1) | 1 |
| [7:11] | base_motion | 4 |
| [11:12] | control_mode | 1 |
gr00t-idm: vggrpo(PyTorch 2.12 + B200 호환) 환경 clone 후 GR00T-Dreams 의존성 추가 설치.
SigLIP backbone은 pretrained 가중치 로드, 나머지는 random init.
| 지표 | 값 |
|---|---|
| 초기 loss (step 0) | ~1.04 |
| step 500 | ~0.16 |
| step 1,000 | ~0.13 |
| step 5,000 | ~0.11 |
| 최종 loss (step 10,000) | 0.109 |
| grad_norm (최종) | 0.27 |
| 학습 속도 | 1.85 it/s |
| 총 학습 시간 | 85분 |
| 총 epoch | 3.1 |
| 모델 크기 | 612M params, 2.5GB safetensors |
HDF5 MG mask 추출 → LeRobot 변환 → IDM 학습 → safetensors 저장까지 전체 파이프라인이 동작함을 확인. 720 ep(MG-30) 소규모 데이터에서도 loss 0.109까지 수렴 — 시각 정보(3-view camera)로부터 EEF action을 학습 가능함을 증명.
action_eef 컬럼 활용으로 기존 IDM SinglePandaGripper config와 호환되는 EEF-space action 표현 확립.
다음 단계인 MG-3000 풀 스케일 학습과 DreamData pseudo action dump의 기반이 마련됐다.
GT action 대비 MSE, cosine similarity를 계산해 IDM 예측 품질을 정량화. 현재 loss 0.109가 실제로 얼마나 정확한 action을 예측하는지 불명확.
720 ep → ~72,000 ep(MG-3000)으로 확장. 데이터 규모가 100× 증가할 때 loss 및 action 예측 품질 변화 측정.
학습된 IDM 체크포인트(outputs/idm_robocasa_mg30/model.safetensors)로 Dataset/robocasa/DreamData/MG-30/의 Cosmos 생성 비디오에 action 부여. IDM_dump/dump_idm_actions.py 사용.
현재 [0, 16] 고정. 20fps 데이터에서 최적 관측 간격 탐색 필요 (간격이 너무 크면 motion blur, 너무 작으면 정보 부족).