dreamzero와 GR00T-Dreams 두 repo 모두 multi-view 로봇 비디오를 단일 frame으로 stitching해 Cosmos/Wan 모델에 입력한다. 두 repo의 layout 방식과 그에 대응하는 text prompt 템플릿이 어떻게 설계되어 있는지 코드 레벨에서 파악하고, 향후 통합·이식 시 참조할 수 있도록 정리.
두 repo 코드 직접 분석:
groot/vla/model/dreamzero/transform/dreamzero_cotrain.py — T-자형 stitching + umt5-xxl promptGR00T-Dreams/scripts/prepare_robocasa_for_cosmos.py — 2×2 grid stitching + DROID_PROMPT_TEMPLATEcosmos-predict2/imaginaire/auxiliary/text_encoder.py — T5 / Qwen 텍스트 인코더cosmos-predict2/cosmos_predict2/data/dataset_video.py — 학습 시 .pickle 캐시 로드┌─────────────────────────┐ │ wrist (×2 wide, 복제) │ 상단 ├────────────┬────────────┤ │ left_ext │ right_ext │ 하단 └────────────┴────────────┘
┌────────────┬────────────┐ │ ext_left │ ext_right │ 상단 ├────────────┼────────────┤ │ wrist │ BLACK │ 하단 (우하단 항상 검정) └────────────┴────────────┘
| 항목 | dreamzero | GR00T-Dreams |
|---|---|---|
| View 수 | 3 (wrist + L/R ext) | 3 + black filler |
| 상단 | wrist 1개 좌우 복제 | ext_left / ext_right |
| 하단 | left_ext / right_ext | wrist / black |
| 빈 영역 | training 시 view dropout 가능 | 우하단 항상 검정 |
| Tokenizer | google/umt5-xxl | T5(학습 캐시) / Qwen chat(inference) |
| 사전 캐시 | 없음 (런타임 토큰화) | .pickle T5 임베딩 캐시 |
| System role | 없음 (raw text) | Qwen path: system msg 있음 |
| Instruction 반복 | 앞뒤 2회 | 앞뒤 2회 |
| Max length | 512 | 512 |
| Inference prefix 옵션 | — | --prompt_prefix 지원 |
| 단계 | dreamzero | GR00T-Dreams |
|---|---|---|
| 토큰화 | dreamzero_cotrain.py:153런타임 tokenizer(output_values) | 학습: dataset_video.py:124 .pickle 로드Inference: text_encoder.py Qwen/T5 |
| DiT 진입 | wan_flow_matching_action_tf.py:566encode_prompt(input_ids, mask)padding을 0으로 zero-out | video2world_gr00t.pyQwen: chat template → hidden states T5: batch_encode_plus → embeddings |
GR00T-Dreams의 Cosmos 모델(mg30_real iter_47200)은 2×2 grid(ext_left/right 상단, wrist 좌하단, black 우하단) + DROID_PROMPT_TEMPLATE으로 학습됨. 이 모델을 dreamzero 코드베이스로 이식하거나 반대 방향으로 이식할 때, layout만 바꾸면 모델이 잘못된 view를 wrong position으로 해석하여 생성 품질이 심하게 저하됨.
DreamGen datagen에서는 GR00T-Dreams의 2×2 layout + DROID_PROMPT_TEMPLATE을 그대로 사용 중 — 이 일관성이 Cosmos 추론 품질의 핵심.
dreamzero가 OXE_DROID embodiment로 학습한 Cosmos/Wan 모델이 있다면, T-자형 layout으로 별도 학습된 모델을 써야 함. GR00T-Dreams의 2×2 Cosmos 모델을 T-자형 dreamzero에 그냥 쓰면 view 혼동 발생.
dreamzero_cotrain.py:318-355scripts/prepare_robocasa_for_cosmos.py:42-64prepare_robocasa_for_cosmos.py:207, scripts/build_datagen_seeds.py:177-178cosmos_predict2/data/dataset_video.py:124-141