batch_input_full.json으로 각 synthetic ep의 원본 heldout ep + init_frame 역추적 → real prefix(k frame) + P2 suffix(93 frame) 이어붙인 1440 ep 빌드B1 (P2 synthetic-only 1440 ep) mid-training eval @ step 015500에서 4-task SR = 0/32 (0%)가 확인됐다. loss는 0.018로 잘 수렴하고 있으므로 데이터 구조 자체의 문제로 판단된다.
목표: real data를 policy 학습에 직접 활용하는 두 가지 전략(B2 Mix, B3 Stitch)을 설계하여 DreamGen 합성 데이터의 marginal gain을 정량화한다.
구현 방법: LeRobot MultiLeRobotDataset 또는 torch.utils.data.WeightedRandomSampler 기반 wrapper. train_bc.py에 cfg.dataset.repo_ids 리스트 분기 추가.
핵심 아이디어: P2 1440 ep 각각에 대해 batch_input_full.json에서 heldout_ep_idx=j, init_frame=k를 역추적. 새 ep = heldout[j][0:k] (real prefix) + P2[i][0:93] (synthetic suffix).
B3 첫 스파이크는 Option 0 (fps=20으로 metadata만 통일, frame 그대로 stitch)으로 빠르게 시도. 실패 시 P2 → 20fps upsample (Option 1) 전환.
B3 stitched dataset과 heldout original을 50:50 batch mix. B2의 multi-dataset 패치에서 P2를 stitched로 교체하면 됨.
| 순위 | 실험 | 구현 난이도 | 예상 효과 |
|---|---|---|---|
| 1 | B0 (real heldout-only) | 낮음 (이미 제출) | 필수 baseline |
| 2 | B2 (real + synthetic mix) | 중간 (multi-dataset 패치) | High — real로 task 전체 분포 학습 |
| 3 | B3 (stitched) | 높음 (변환 + push) | Unknown — long-horizon 가설 |
| 4 | B4 (stitch + mix) | 높음 | B2 + B3 결합 |
| 실험 | 데이터 | 검증 가설 |
|---|---|---|
| B0 | real 720 ep | real만으로 무엇이 가능한가 (baseline X%) |
| B1 | synth 1440 ep | 0% 예상 — synthetic-only 한계 |
| B2 | real + synth mix | (B2 - B0) > 0 → synthetic이 augmentation 효과 = DreamGen 가치 |
| B3 | stitched 1440 ep | (B3 - B1) > 0 → stitch가 synthetic-only보다 좋음 |
| B4 | stitched + real | (B4 - B2) > 0 → stitch가 mix보다 좋음 |
이 plan이 성공하면 (B2 - B0) = synthetic의 marginal gain, (B4 - B2) = stitching의 추가 가치를 각각 수치로 제시할 수 있다. DreamGen 파이프라인(Cosmos 생성 + IDM pseudo-action)의 ROI를 최초로 정량화하는 실험.
B3의 핵심 장점: P2 batch_input_full.json이 heldout_ep_idx, init_frame, seed를 모두 보존하고 있어서 각 synthetic ep의 기원을 정확히 역추적할 수 있다. 이를 이용해 task 시작부터의 통합 trajectory 학습이 가능해진다.
train_bc.py multi-dataset 패치 + scripts/launch_pi05_b2_mix_full.sh 작성 + sbmr 제출 (4 GPU, core-on-sub). B0/B1 완료 후 즉시 시작.
scripts/build_stitched_dataset.py: P2 + heldout + batch_input_full.json → stitched 1440 ep → HF push (Keh0t0/robocasa_dream_p2_stitched). 우선 Option 0 (fps=20 metadata 통일)으로 빠르게 시도.
모든 실험 step 20000 ckpt에서 24 task × 24 ep SR eval. per-task SR 비교 + 평균 SR. video 정성 분석.
P2 비디오를 20fps로 interpolation 후 IDM 재실행 → fps 일치된 P2_v2. B3 stitching의 fps mismatch를 근본적으로 해결. 비용 큼 (IDM 재실행 ~수 시간), 우선순위 낮음.