Index
2026-07-01 — Progress

Cosmos-Predict2.5 RoboCasa 3-view multiview 파인튜닝 — 데이터/config 배선 완료

DreamData / GR00T-Dreams (실 작업 위치: Robotics/cosmos-predict2.5) | Path A — view-embedding, DROID init 없음

TL;DR

1425
train clips (pilot)
75
val clips (pilot)
3
Phase 완료
0
모델 코드 수정 줄

1 배경 / 목적

Cosmos Predict로 RoboCasa 3개 멀티뷰 비디오를 생성하는 world model을 파인튜닝하려면 착수 전에 (1) 어느 레포/서브시스템이 실제 학습 코드인지, (2) RoboCasa 데이터가 어디 어떤 포맷으로 있는지, (3) 3-view가 코드상 지원되는지, (4) 학습 커맨드/체크포인트/데이터 포맷이 뭔지를 확정해야 했다. Robotics/GR00T-Dreams/는 IDM/GR00T N1/DreamGenBench용이지 비디오 모델 학습 코드가 아니라는 점을 먼저 확인했고, 실제 본체는 Robotics/cosmos-predict2.5/임을 확인했다.

확인 필요했던 리스크: cosmos-predict2.5 안에 multiview 서브시스템이 두 종류(view-embedding / camera-conditioned) + policy 하나가 섞여 있어 잘못된 경로를 고르면 카메라 파라미터 준비 등 불필요한 작업이 크게 늘어날 수 있었음.

2 작업 내용

병렬 Explore agent 3개로 (A) multiview 학습 파이프라인, (B) gr00t/robocasa/action 레시피, (C) 로컬 robocasa 데이터셋 인벤토리를 조사(NAS broad-scan 금지 규칙 준수, 디렉토리별 targeted ls만 사용).

cosmos-predict2.5 내 multiview 서브시스템 비교

서브시스템방식카메라 파라미터학습 레시피채택
_src/predict2_multiview/view-embedding (MultiViewDiT)불필요있음 (post-training_multiview.md, Waymo 5뷰)✅ 채택
_src/predict2/camera/camera-conditionedextrinsic/intrinsic 필요inference만 문서화, 학습 레시피 없음
_src/predict2/cosmos_policy/action+image policy (HDF5)불필요외부 cosmos-cookbook❌ (비디오생성 부차적)

Phase 1 — 데이터 스키마 파악 (완료)

경로: /home/nas_main/hyojinjang/DATA/robocasa_mg3000_droid_lerobot_20fps_v2_merged. LeRobot v2.1, 23종 task dir, task당 3000ep, 예 PnPCounterToCab: total_frames 777,674, total_videos 9000(=3000×3뷰). 뷰: exterior_image_1_left, exterior_image_2_left, wrist_image_left — 뷰별 mp4 이미 분리 저장 (videos/chunk-{c:03d}/{video_key}/episode_{i:06d}.mp4), 180×320/h264/yuv420p/20fps, 에피소드 길이 214~323 frame(~10~16초). 캡션은 meta/episodes.jsonltasks[0]에 직접 존재(짧은 단문 템플릿), task_index 조인 불필요.

Phase 2 — 데이터 변환 (완료)

신규: scripts/convert_robocasa_to_mv.py RoboCasa LeRobot 3뷰 mp4 → 심링크(재인코딩 없음)로 datasets/multiview/robocasa/{train,val}/<task>_<ep:06d>/{exterior_1,exterior_2,wrist}.mp4 + caption.jsonl 뷰 매핑: exterior_image_1_left→exterior_1, exterior_image_2_left→exterior_2, wrist_image_left→wrist 파일럿: 5 task(PnPCounterToCab, OpenSingleDoor, CloseDrawer, TurnOnSinkFaucet, CoffeePressButton) × 300ep → train 1425 / val 75 Gate: 3뷰 모두 354 frames / 320×180 / 20fps 완벽 동기(av로 검증), 심링크 resolve, caption.jsonl 유효

Phase 3 — Config 배선 (완료, 모델코드 0줄)

dataloader_local.py: register_robocasa_dataloader() 추가 - 3뷰, view_mapping {exterior_1:0, exterior_2:1, wrist:2} - resolution_hw=(720,1280), num_video_frames=29, fps_downsample_factor=4 (원본 ~116프레임=5.8s 커버, state_t=8 유지) - single_caption_camera_name=exterior_1, camera_prefix_mapping, train/val 별도 dir experiments/multiview/robocasa.py 신규(waymo.py clone): - SAMPLE_N_VIEWS=3, base=AUTO_MULTIVIEW(524af350), CP=8, max_iter=4000 환경 블로커 해결: opencv-python(non-headless)+headless 동시설치 충돌 → libGL.so.1 요구(헤드리스 노드에 없음) → uv pip uninstall opencv-python + headless --reinstall

학습 런처

torchrun --nproc_per_node=8 -m scripts.train \ --config=cosmos_predict2/_src/predict2_multiview/configs/vid2vid/config.py \ -- experiment=predict2_multiview_post_train_robocasa 신규: scripts/train_robocasa_mv.sh (.venv activate + GPU 수 자동감지 + override pass-through) 제약: CP≥3(n_views=3) → 1 GPU 불가, dry-run도 최소 3~4GPU 필요 → 로그인 아닌 sbatch

3 결과

Gate 통과 3건: (1) 1 ep의 3 mp4 경로 + 캡션 확보 확인(Phase 1), (2) 3뷰 완벽 동기(354f/320×180/20fps) + 심링크/캡션 유효성(Phase 2), (3) make_config() 에러 없이 실행, ConfigStore에 experiment/data_train/data_val=robocasa 등록 확인(Phase 3).
load_path 자동 해결: checkpoint_db.download_checkpoint(uri)s3://bucket/... URI를 non-INTERNAL registry로 판단해 HF(nvidia/Cosmos-Predict2.5-2B auto/multiview 524af350)로 자동 다운로드 — waymo와 동일 방식이라 robocasa.py 수정 불필요.
미실행: Phase 4 dry-run은 아직 착수 전 — HF 토큰 + NVIDIA Cosmos 라이선스 수락 여부 확인 필요(auto/multiview 2B + Reason1.1-7B 다운로드).

4 Takeaway

의미

RoboCasa가 원천적으로 3-view라 요청과 완벽히 부합하며, 별도 뷰 생성이 불필요하다는 점이 확인됐다. view-embedding 경로는 모델 수술 없이 데이터 변환 + config 2개만으로 3-view RoboCasa 파인튜닝이 가능해, 카메라 파라미터가 필요한 camera-conditioned 경로보다 압도적으로 간단하다. 이전 세션이 이미 환경/구조 이해를 확보해둔 덕에 착수 비용이 낮았다. 같은 예산(8GPU)으로 병행 중인 Path B(DROID init, 2×2 그리드, 14B)와 비교하면, Path A는 DROID init은 없지만 진짜 3-view이고 즉시 dry-run 가능한 상태(2.5, cu128, B200-native)라는 점이 대비된다.

5 Next Steps

미해결 한계

캡션이 짧은 단문 템플릿이라 다양성이 부족할 수 있음(1차는 그대로 사용, 부족 시 VLM enrich 검토). 파일럿 5 task/300ep만 검증됐고 전체 23 task/3000ep 스케일 변환은 아직 실행 안 함.

다음 실험

HF 토큰 + Cosmos 라이선스 수락 확인 → 4GPU/CP=4/max_iter~20 소규모 sbatch(sbm, --qos=extra)로 데이터→VAE→텍스트→fwd/bwd→loss→ckpt 파이프라인 검증 → 통과 시 8GPU/CP=8 본학습(max_iter=4000)으로 확장. Path B(DROID grid) 본학습과 loss curve/생성 품질 비교 예정.