사용자 지적으로 goal 실험의 프롬프트가 "Place the X next to the Y"임을 확인. 학습 config는 프롬프트 템플릿을 쓰지 않고 h5의 task_description 원문을 그대로 쓰는데, place 변환 스크립트가 원본 MolmoBot 문장("Pick up … next to …")만 보고 "Place … next to …"로 고쳤고, HF 업로더가 place-only 클립용으로 index.json에 넣어 둔 instruction "Place the X on the {받침면}."은 확인하지 않고 버렸다(내 실수). 언어가 위치(Y 옆)를 알려줘 goal 이미지 실험이 흐려진 상태였다.
| 조건 (프롬프트) | replace@5cm | @10cm | @15cm | goal까지 중앙값 | NextTo(구) | off-surface |
|---|---|---|---|---|---|---|
| place_oc goal on (on the {받침면}) | 12.0% (14) | 27.4% (32) | 44.4% (52) | 15.1 cm | 50.4% (59) | 20 |
| place_oc goal off (on the {받침면}) | 0.9% (1) | 6.8% (8) | 11.1% (13) | 44.2 cm | 19.7% (23) | 16 |
| place_oc 틀린 goal (on the {받침면}) | 2.6% (3) | 6.0% (7) | 12.8% (15) | 43.9 cm | 20.5% (24) | 26 |
| v2 goal on (on the {받침면}, 언어 OOD) | 11.1% (13) | 30.8% (36) | 49.6% (58) | 13.9 cm | 35.0% (41) | 17 |
| v2 goal on (next to the Y, 이전) | 12.8% (15) | 36.8% (43) | 53.0% (62) | 13.4 cm | 53.8% (63) | 18 |
| v2 goal off (next to the Y, 이전) | 1.7% (2) | 7.7% (9) | 13.7% (16) | 28.9 cm | 26.5% (31) | 17 |

| ckpt | on | off | wrong | goal 이득 |
|---|---|---|---|---|
| place_oc@10k (on the) | 0.0573 | 0.0958 | 0.1525 | −40.2% |
| place_oc@5k | 0.0597 | 0.1008 | 0.1692 | −40.8% |
| v2@10k (next to) | 0.0619 | 0.0871 | 0.1520 | −28.9% |
goal-off가 v2보다 나쁜 것(0.0958 vs 0.0871)은 언어가 참조 물체를 안 주기 때문이며 의도된 방향. goal-on은 최저치.
| 물체 | Open place_oc | Open 기준선 part1@15k (zero-shot, 같은 200편) | 증강 open 편수 | Close place_oc (200편) | Close 같은 50편: part1@15k → place_oc |
|---|---|---|---|---|---|
| chestofdrawers | 11/44 = 25.0% | 3/44 = 6.8% | 7,477 (99.5%) | 18/48 = 37.5% | 6 → 5 / 14 |
| refrigerator | 5/44 = 11.4% | 3/44 = 6.8% | 4 | 32/48 = 66.7% | 4 → 5 / 11 |
| desk | 3/44 = 6.8% | 3/44 = 6.8% | 31 | 17/48 = 35.4% | 6 → 6 / 13 |
| stand | 3/44 = 6.8% | 4/44 = 9.1% | 4 | 23/49 = 46.9% | 8 → 6 / 12 |
| microwaveoven | 0/24 | 0/24 | 0 | 1/7 | — |
| 전체 | 22/200 = 11.0% | 13/200 = 6.5% | 91/200 = 45.5% | 24 → 22 / 50 (p=0.80) |
행: place_oc goal ON / goal OFF / WRONG goal / v2 goal ON(같은 on-the 프롬프트). 열: 모델이 받은 goal 이미지 | exo | wrist. 노란 테두리 = hand-off 첫 8 프레임.
place_oc goal ON 2.2 cm(replace 성공). goal OFF 38 cm — 언어가 받침면만 말하니 아무 데나 놓음. v2(on-the)도 3.7 cm.
place_oc goal ON (on-the prompt): REPLACE OK (2.2 cm from goal) · place_oc goal OFF: FAIL: 38 cm from goal · place_oc WRONG goal: REPLACE OK (3.0 cm from goal) · v2 goal ON (on-the prompt, OOD): REPLACE OK (3.7 cm from goal)
place_oc 1.0 cm. goal OFF 37 cm. v2(on-the) 3.7 cm — 두 모델 모두 goal만으로 자리를 찾음.
place_oc goal ON (on-the prompt): REPLACE OK (1.0 cm from goal) · place_oc goal OFF: FAIL: 37 cm from goal · place_oc WRONG goal: FAIL: 46 cm from goal · v2 goal ON (on-the prompt, OOD): REPLACE OK (3.7 cm from goal)
place_oc 4.8 cm(경계). goal OFF 90 cm(다른 곳). v2(on-the) 5.3 cm 근접.
place_oc goal ON (on-the prompt): REPLACE OK (4.8 cm from goal) · place_oc goal OFF: FAIL: 90 cm from goal · place_oc WRONG goal: FAIL: 85 cm from goal · v2 goal ON (on-the prompt, OOD): near miss (5 cm from goal) | NextTo OK
place_oc 5.0 cm 근접 실패(경계 바로 밖). goal OFF 33 cm. v2 11.3 cm.
place_oc goal ON (on-the prompt): near miss (5 cm from goal) | NextTo OK · place_oc goal OFF: FAIL: 33 cm from goal · place_oc WRONG goal: FAIL: 29 cm from goal · v2 goal ON (on-the prompt, OOD): near miss (11 cm from goal)
반례: place_oc 20 cm 실패, v2(on-the)는 3.0 cm 성공. 같은 goal·같은 프롬프트에서 모델 차이/샘플링 분산.
place_oc goal ON (on-the prompt): FAIL: 20 cm from goal | NextTo OK · place_oc goal OFF: FAIL: 74 cm from goal · place_oc WRONG goal: FAIL: 75 cm from goal · v2 goal ON (on-the prompt, OOD): REPLACE OK (3.0 cm from goal)
참조 물체를 말하지 않는 지시("받침면 위에 놓아라")에서 goal 이미지만으로 replace@5cm 12%, 중앙값 15 cm — 이전 v2와 같은 정밀도이고, goal이 없으면 44 cm로 맹목이다. 이전 표의 goal-off 29 cm는 언어가 절반을 해 준 값이었고, 이제 goal 기여를 순수하게 잰 수치를 확보했다.
open/close 데이터를 얹어도 place는 손실이 없었지만, open은 학습 물체에서만 오르고 close는 천장 효과. 새 스킬의 일반화는 데이터의 물체 다양성에 달렸다.
(1) replace 정밀도: 마지막 5–15 cm(@5 12% vs @15 44%) — goal 존재 비율↑, 정밀 배치 데이터 가중, goal 프레임 팔 가림 제거. (2) 배포 조건 강건성: goal 시점·base 교란(산만 물체 교란은 완만한 감소 확인). (3) open/close: 냉장고·전자레인지 등 힌지 물체 데이터 추가 후 재학습.