Index
2026-09-09 ~ 09-10 — Experiment

Press bench 첫 학습·평가 — pi0.5 vs MolmoBot

MolmoBot | FrankaPressButtonBench 200편, backbone 2종 × press 학습 유/무 4-way 비교

TL;DR

37.0%
Best SR (MolmoBot press)
+37.0pp
MolmoBot Δ (0→37%)
+7.0pp
pi0.5 Δ (16→23%)
200×4
Eval episodes

1 배경 / 목적

molmo-augment press 트랙(가전 버튼 누르기, 11,070편)이 09-07 HF에 업로드된 뒤 09-09에 전량 다운로드·전처리가 끝났고(260910-press_full_dataset_prep.html), 평가 수단인 FrankaPressButtonBench 200편도 09-08에 신설됐다(260909-press_bench.html). 데이터와 벤치가 모두 준비된 다음 질문은 단순하다: press 데이터를 실제로 섞어 학습하면 버튼 누르기를 습득하는가, 그리고 pi0.5와 MolmoBot 두 backbone 중 어느 쪽이 더 잘 배우는가. 학습 효과를 분리하려면 press 데이터를 전혀 보지 못한 기존 place+open/close 전용 체크포인트(no-press)를 같은 벤치에 먼저 돌려 baseline을 확보해야 한다.

기존 한계: press 트랙 확인(260909-molmo_augment_press_track.html) 이후로 실제 학습·rollout 수치는 이번이 처음 — 데이터 스키마 검증과 벤치 판정 로직 스모크만 통과한 상태였다.

2 작업 내용

기존 place_oc 학습 레시피에 press(coffeemaker+microwave, 7,466편)와 washer(세탁기+건조기, 2,663편)를 0.07 / 0.03 비중으로 추가하고, 기존 항목 비중은 0.9배로 축소했다(MolmoBot-Pi0/scripts/train_pi05_mlspaces.sh의 PRESS=1 분기, OPENCLOSE=1 동반 필수). 평가 벤치의 held-out 200채는 prep 단계(scripts/prep_press.sh)에서 이미 제외된 데이터라 학습·평가 누수는 없다.

[pi0.5] job 114512 (own, 8 GPU, 7h10m) INIT_CKPT=pi05_mlspaces_finetune/pi05_mlspaces_place_oc/20000 EXP_NAME=pi05_mlspaces_place_oc_press | NUM_STEPS=10000 | GOAL=0 mixture: main 0.216 / Pick 0.108 / PnP 0.072 / NextTo 0.108 / Color 0.072 / place 0.144 / open 0.09 / close 0.09 / press 0.07 / washer 0.03 최종 loss ~0.0075-0.0095 (step 9900 기준) [MolmoBot] job 115134 "mbot_press" (own, 8 GPU, 7h58m) init=molmobot_runs/molmobot_place_oc/10000 | steps 10000 global_bs 256 (device_bs 16 × nproc 8) | GOAL=0 goal_p 0.667 최종 action_flow_loss=0.0075 (val synthmanip_val)

평가는 두 backbone 각각 no-press baseline(기존 place_oc 체크포인트, 09-09 실행)과 press-trained(위 학습 결과, 09-10 실행)을 동일 rollout_press.sh로 FrankaPressButtonBench_20260908_200ep(coffeemaker 67·washer 50·dryer 43·microwave 40)에 돌렸다. 판정: 손끝-버튼 거리 ≤3cm ∧ 패널 접촉 ∧ 가전 이동 ≤5cm.

운영 노이즈: 이 4개 eval을 안정적으로 완주시키기까지 같은 잡 이름(press_pi05_press / press_pi05_place_oc_nogoal / press_base_own / press_eval_own)으로 71건이 제출 직후 취소(elapsed 00:00:00)됐다 — 원인 로그가 남지 않아(0초 종료로 출력 파일 자체가 없음) 근본 원인은 미규명, 최종 4건(114591/115551/116651/116652)만 완주해 아래 결과를 확보했다.

3 결과

모델별 종합 (FrankaPressButtonBench, n=200 내외)

모델press 학습Successpress@3cmpress@5cm최근접 중앙값job
MolmoBot no-press (place_oc/10k)✗0.0% (0/202)0.0%0.5%29.9cm114591
MolmoBot press (place_oc_press/10k)✓37.0% (74/200)37.0%58.5%3.2cm115551
pi0.5 no-press (place_oc_nogoal/20k)✗16.0% (32/200)16.0%25.5%6.6cm116651
pi0.5 press (place_oc_press/10k)✓23.0% (46/200)23.0%36.5%4.4cm116652

카테고리별 press@3cm (n=coffeemaker 67·washer 50·dryer 43·microwave 40)

카테고리MolmoBot no-pressMolmoBot presspi0.5 no-presspi0.5 press
coffeemaker0.0%46.3%7.5%20.9%
automaticwasher0.0%38.0%38.0%14.0%
clothesdryer0.0%37.2%16.3%37.2%
microwaveoven0.0%20.0%2.5%22.5%
핵심 발견: MolmoBot은 no-press 상태에서 202편 중 0편 성공(패널 접촉조차 39/202, 최근접 중앙값 29.9cm)이었으나, press 데이터 10% 비중 추가만으로 37.0%까지 뛰어 pi0.5 press 모델(23.0%)을 +14.0%p 앞선다. 새 스킬을 "백지에서" 빠르게 습득하는 패턴으로, open task에서 관찰된 "물체 단위로만 전이"(260910-open_slide_subset_analysis.html) 패턴과 대비된다.
이상 신호: pi0.5는 washer 카테고리에서 press 학습 후 오히려 38.0%→14.0%로 하락했다. washer는 편수(2,663)와 학습 비중(0.03) 모두 press(7,466편·0.07)보다 작아, 소량 비중이 기존 place_oc 레시피가 갖고 있던 washer 관련 표현을 잠식(forgetting)했을 가능성이 있다.

4 Takeaway

의미

press 트랙 도입은 명백히 유효하다 — 이전에 아예 커버리지가 없던 coffeemaker·microwave를 두 backbone 모두 0.0~7.5%에서 20.0~46.3%로 끌어올렸다. 동시에 backbone 간 격차가 뚜렷하게 드러났다: MolmoBot은 press 데이터가 없으면 완전히 무능(0%)하지만, 일단 데이터를 주면 pi0.5보다 더 크게 개선해(+37.0pp vs +7.0pp) 최종적으로 역전한다. 반대로 pi0.5의 washer 하락은 다중 스킬 mixture 학습에서 비중 배분이 기존 능력을 훼손할 수 있음을 보여주는 사례로, 향후 mixture 설계 시 "새 스킬 추가 = 항상 이득"이 아니라는 점을 감안해야 한다.

5 Next Steps

미해결 한계

pi0.5 washer 하락(38.0%→14.0%) 원인 미검증 — washer 비중을 press와 동률(0.05/0.05 등)로 재배분한 재학습으로 forgetting 여부를 분리해야 한다. microwaveoven은 press-trained 모델에서도 가장 약함(20.0~22.5%) — open task에서 확인된 "여닫이/미닫이 관절 종류 갭"과 유사한 구조적 한계인지 점검 필요. 이번 eval은 각 모델 1개 체크포인트(10k/20k)만 사용했고, loss로 ckpt를 고르면 안 된다는 기존 함정(#12, context.md)을 감안하면 5k/15k 등 다른 스텝의 rollout SR 곡선을 아직 확인하지 못했다.

다음 실험

(1) washer 비중을 올린 재학습으로 pi0.5 하락 원인 분리. (2) MolmoBot press 체크포인트의 다른 스텝(5k/15k/20k)에서 press bench SR 곡선 확보해 최적 스텝 탐색. (3) 71건 제출 즉시취소 재현 여부 확인 — 다음 sweep 전에 QOS/컨테이너 설정을 재점검해 운영 오버헤드를 줄인다.