| 벤치 | 모델 | 에피소드 | 성공률 | 비고 |
|---|---|---|---|---|
| Open | mix@10k | 50 | 4.00% (2/50) | 공식 벤치 stride-4 서브샘플 |
| Open | part1@15k | 200 | 6.50% (13/200) | 공식 벤치 전량 |
| Close | mix@10k | 50 | 58.00% (29/50) | 수정본 벤치 서브샘플 |
| Close | part1@15k | 50 | 48.00% (24/50) | 수정본 벤치 서브샘플 |
| 비교 | Δ | z | 판정 |
|---|---|---|---|
| mix: Close vs Open | +54.0%p | +7.19 | 압도적 비대칭 |
| part1: Close vs Open | +41.5%p | +5.70 | 압도적 비대칭 |
| Close에서 mix vs part1 | +10.0%p | +1.01 | 차이 없음 |
두 모델 모두 open/close 학습 데이터가 0이다. 그런데 두 모델이 독립적으로 같은 비대칭을 재현했고, Close에서는 서로 구분되지 않는다(z=1.01). 후자가 특히 중요하다 — 이 벤치가 모델의 무엇도 변별하지 못한다는 직접 증거다.
학습 데이터가 없는 태스크에서 58%가 나오면 먼저 의심해야 한다. 50개 에피소드의 리워드 궤적을 직접 열었다.
FrankaCloseHardBench 계열은 정책 비교용 변별력이 약하다.
접근만 해도 절반 이상 성공하므로, 향후 close 성능을 논할 때 이 벤치 수치를 그대로 인용하면 과대평가가 된다.FrankaOpenHardBench는 반대로 학습 없이는 바닥(4~6.5%)이다.
open 데이터 확보의 가치를 정량적으로 뒷받침하는 숫자이자, 앞으로 open 학습의 baseline이 된다.미완의 대조군: no-op / random 정책 베이스라인. 현재 eval 코드에 무동작 정책이 없어
(policies/에 pi/stateful/websocket뿐) 즉시 실행이 불가능했다. Open(4%)이 사실상 대리 대조군 역할을 했지만
정식 베이스라인은 아니며, 이걸 돌리면 "접근=밀기" 가설이 확정된다.
측정을 시작하자마자 전 에피소드가 task sampling에서 실패했다.
benchmark_schema.py는 이 필드를 float으로 선언하는데 배포 벤치는 200/200 전부 1-원소 list로 저장하고,
정작 소비처 json_eval_task_sampler.py:390은 list를 기대해 [0]로 인덱싱한다.
검증 spec이 task_cls 기준으로 정해져 Open/Close 양쪽이 동일하게 막혔다.
즉 이 릴리스에서 Franka Open/Close 벤치는 한 에피소드도 실행된 적이 없다.
복구를 위해 venv 패치 4건을 적용했다: task_cls 정규화, displacement assert 완화,
opening_tasks.py의 task_type="open" 무조건 대입 제거(close 분기 되살림),
OpenCloseTaskSpec에 1-원소 list 언랩 validator 추가. 추가로 Close 벤치는 지시문 200개가 전부
"Open the ..."이어서 task_type="close" 주입 + 지시문 교정한 파생본을 만들었다 —
따라서 close 수치는 공식 벤치와 직접 비교 불가하다.
클러스터 포화로 4시간 잡이 반복 preempt되며, preempt가 세 가지 다른 얼굴로 나타남을 확인했다.
| 위장 | 겉보기 | 실제 |
|---|---|---|
| ① 조용한 소멸 | 로그 파일 없음 | setup 중 evict |
| ② 정상 요약 | Success count: 0, Total count: 0 / Success rate: 0.00% | SIGTERM 종료 핸들러 출력 |
| ③ 진짜 버그처럼 보이는 트레이스백 | AssertionError: No episodes found from eval | 0 에피소드 상태로 collect_info 진입 |
Total count >= 목표 에피소드 수일 때만 완주 인정해야 한다.또한 eval에는 중간 저장이 없어 preempt 시 전량 손실이다(실제로 82 house / 2시간 12분 손실). 포화 시에는 200ep 대신 stride-4 서브샘플 50ep로 잡을 1시간대로 줄이는 것이 실제 수치를 얻는 길이었다. QOS는 share보다 extra가 안정적이다 — share는 own·extra 양쪽에 밀린다.