TL;DR
- Pick은 mixture 압도 — 4개 ckpt 전부 우세, 3개가 통계적으로 유의(z = 2.9~4.5). 최고 21.0% @10k는 part1 최고치(9.5%)의 2.2배
- PnP는 part1의 15k 정점만 못 따라감 — mixture PnP는 30.5→37.0→36.5→34.0으로 평탄, part1은 15k에서 48.5%로 급등. 유의한 차이는 15k 한 칸뿐
- NextTo는 전용 데이터 37k eps를 넣고도 무변화 — 4칸 전부 노이즈 범위. 이번 실험의 핵심 negative result
- 범용 최적 ckpt =
pi05_mlspaces_mix/10000 (3태스크 평균 24.0%) / PnP 단일 최대화 = pi05_mlspaces_part1/15000 (48.5%)
21.0%
Pick 최고 (mix@10k) — part1 9.5%
48.5%
PnP 최고 (part1@15k) — mix 37.0%
17.0%
NextTo 최고 (mix@15k) — part1 15.0%
24.0%
3태스크 평균 최고 (mix@10k)
1배경 — 무엇을 검증했나
Phase 1(part1 단독)은 PnP 데이터 221,109 eps만으로 학습해 PnP 48.5%로 논문 레퍼런스(36%)를 넘겼지만,
학습 데이터에 없는 Pick 9.5% / NextTo 12%로 범용성이 약했다. 공식 MolmoBot-Pi0 레시피의 aux mixture(5종 1,383,333 eps)를
쓰면 Pick/NextTo가 오를 것으로 기대했고, 진짜 관건은 main PnP 비중이 0.35로 희석돼도 48.5%를 지키는가였다.
A (part1 단독) job 81047 → pi05_mlspaces_part1 | 데이터 221,109 eps
B (aux mixture) job 84260 → pi05_mlspaces_mix | 데이터 1,383,333 eps
가중치: main 0.35 / Pick-p0 0.20 / PnP-p0 0.10 / NextTo-p2 0.20 / Color-p0 0.15
공통: 20k step, batch 256, 8×B200, init pi05_droid_pytorch (JAX→PyTorch 변환본)
eval: HardBench 200 에피소드 × {Pick, PnP, NextTo} × ckpt {5k, 10k, 15k, 20k}
v1(job 83196)은 tyro dict 파싱 버그로 aux 4종 중 Color만 반영돼 폐기했다 — 플래그를 반복하면 마지막 항목만 남는다.
단일 플래그에 모든 (path, weight) 쌍을 나열하는 형태로 고친 v2가 이 리포트의 정본이다.
2최종 A/B 표
| ckpt | Pick (mix / part1) | PnP (mix / part1) | NextTo (mix / part1) | 3태스크 평균 |
| 5k | 15.00 / 4.50 | 30.50 / 36.36¹ | 10.00 / 15.00 | 18.50 / 18.62 |
| 10k | 21.00 / 6.00 | 37.00 / 33.00 | 14.00 / 8.50 | 24.00 / 15.83 |
| 15k | 15.00 / 9.50 | 36.50 / 48.50 | 17.00 / 12.00 | 22.83 / 23.33 |
| 20k | 17.00 / 7.50 | 34.00 / 42.50 | 9.00 / 10.50 | 20.00 / 20.17 |
¹ part1 5k PnP만 preempt로 66 에피소드 부분 집계(24/66, σ≈6.8%p) — 이 칸은 비교 근거가 약하다. 나머지 23칸은 전부 n=200.
유의성 검정 (두 독립 비율 차, z = Δ/σ)
| 비교 | Δ (mix − part1) | σ | z | 판정 |
| 10k Pick | +15.00%p | 3.33 | +4.50 | mixture 우세 |
| 5k Pick | +10.50%p | 2.92 | +3.60 | mixture 우세 |
| 20k Pick | +9.50%p | 3.24 | +2.93 | mixture 우세 |
| 15k PnP | −12.00%p | 4.91 | −2.45 | part1 우세 |
| 20k PnP | −8.50%p | 4.84 | −1.76 | 노이즈(경계) |
| 15k Pick | +5.50%p | 3.27 | +1.68 | 노이즈 |
| 10k PnP | +4.00%p | 4.77 | +0.84 | 노이즈 |
| NextTo 4칸 전부 | −5.0 ~ +5.5%p | 3.0~3.5 | −1.52 ~ +1.75 | 전부 노이즈 |
n=200에서 σ는 3~5%p. 따라서 8%p 미만 차이는 노이즈로 취급했다.
3해석
Pick — 데이터를 넣은 만큼 정직하게 올랐다. Pick-p0 772,971 eps를 가중치 0.2로 추가하니 4개 ckpt 전부 우세,
최고 21.0%로 part1의 2.2배. tyro 버그로 Pick이 빠졌던 v1이 10k에서 3.5%에 그쳤던 것과 대조하면 인과가 명확하다.
PnP — "못 배웠다"가 아니라 "정점을 못 만든다". mixture PnP 곡선은 30.5→37.0→36.5→34.0으로 평탄하고,
10k에서는 오히려 part1보다 높다(37.0 vs 33.0). 유의한 열세는 part1이 급등하는 15k 한 칸뿐이다.
main 노출이 100%→35%로 줄면서 후반에 나오던 정점이 사라진 것으로 읽힌다.
NextTo — 이번 실험의 핵심 negative result. NextTo 전용 37,392 eps를 Pick과 동일한 가중치 0.2로 넣었는데도
4칸 전부 노이즈 범위. 가중치가 같고 데이터 크기만 20배 차이(772,971 vs 37,392)났다는 점에서,
이득을 좌우한 것은 가중치가 아니라 추가 데이터의 절대량이라는 해석이 자연스럽다.
실무적으로 가장 값비싼 교훈: loss로 ckpt를 고르면 틀린다.
mixture 최종 loss 0.0038 < part1 0.011인데 PnP 성공률은 오히려 낮다.
또 mixture는 10k에서, part1은 15k에서 평균이 정점 — 총 데이터가 6배 크면 같은 step에서 더 많은 고유 샘플을 보므로
앞으로 mixture 계열 실험의 eval 예산은 10k 부근에 집중하는 게 효율적이다.
20k 기준으로 보면 Pick +9.5%p를 PnP −8.5%p로 거의 정확히 맞바꾼 형태다(평균 20.0 vs 20.2).
하지만 10k에서는 세 태스크 모두 mixture가 앞선다(21.0/37.0/14.0 vs 6.0/33.0/8.5) — 이 지점이 트레이드오프 없는 유일한 칸이다.
4Next
- NextTo 무변화 원인 규명 (최우선). 세 가설 — (a) 37k eps로는 장면/객체 다양성 부족, (b) HardBench NextTo의 실패가
"옆에 놓기"라는 공간 언어가 아니라 일반 조작 능력에 지배됨, (c) part2 shard의 벤치 분포 불일치.
가장 싼 검증은 (b) — 기존 rollout 영상에서 실패 시점을 파지 실패 vs 배치 위치 오류로 분류하면 바로 갈린다.
- 희석 완화 변형: main 0.35 → 0.5, Color(28k eps로 작음) 축소. 가설 = PnP 후반 정점을 되찾으면서 Pick 이득은 유지.
- 20k 이후 연장 학습은 불필요 — 양쪽 다 20k에서 평균이 정점 대비 하락. 추가 step보다 데이터 구성 조정이 낫다.
- part1 5k PnP 칸(n=66) 재실행 — 표 완성도용, 1잡 ~4h. 결론은 바뀌지 않는다.