TL;DR
- pi0.5 공개 체크포인트(원형 peg 4/8/12/16mm, 30 ep씩): 0/30, 1/30, 4/30, 2/30 → 7/120 = 0.06. 목표 p 0.2~0.6보다 낮음
- one_leg Long-WAM: step 10000 seated 6/30(0.20) → 13690 1/30(0.03). lateral_min 중앙값 3.8→32.5 mm
- harness 버그 4건: curl --retry 바이트 중복, group=1, slot token 위치, sim watchdog hang
1 배경/목적
self-improvement 실험 전에 AssembleBench에서 기준 성공률 p(목표 0.2~0.6)를 알아야 한다. 기준 1은 공개 hud-evals/pi05-AssembleBench-cgdagger-r3, 기준 2는 같은 시연(원형 peg 4종, 각 약 100개)으로 fine-tune한 Long-WAM.
2 작업 내용
다운로드: scripts/assemblebench/hf_fetch.sh (curl 16 range 병렬, sha256 검증)
- 단일 스트림 0.5 MB/s → 병렬 5~14 MB/s
- 버그: range 요청 curl --retry가 시작점부터 재전송해 바이트 중복(9.82 GB 깨진 파일) → --retry 제거
- 11 MB 파일 36분+ → 단일 스트림 임계값 200→8 MB
평가: eval_pi05.sh / eval_longwam.sh (GPU 1장에 Kit env 서버 + agent), run_eval_pi05.py(group=n)
변환: convert_ab_to_longwam.py (CPU job 192463, 1h11m) → 395 ep / 123,689 frames
학습: 4 GPU extra, init libero-idm-droid8.pt (action/proprio만 재초기화, loaded=1646 missing=3)
serve_longwam.py: 연결별 _inference_optimization_prepared=False 복원 (reference backend 한정, 아니면 assert)
평가 harness 버그 4건
| 증상 | 원인 | 수정 |
| wave당 롤아웃 1개 (4mm 0/2, 8mm 0/2) | hud a08d8d83에서 Taskset.run(group)=task당 롤아웃 수, upstream은 group=1 | group=n |
| 0/30 ×4, "tokenless claim needs exactly one claimed slot, found 15" | env.py가 token을 "robot" 아래 yield, hud는 "bindings"에서만 읽음 | {"bindings":{"robot":{"token"}}} |
| 시작 6~10분 뒤 hang, GPU 0% 2.5h | watchdog.py: step 60 s 초과 시 sim SIGKILL (15 env × 카메라 2, B200) | env 15→5 × 6 wave, sim 사망 시 agent 종료 |
| one_leg step10000 평가 192501 실패 | initialize_policy 2회 → "already prepared" | 연결별 flag 복원 |
3 결과
pi0.5 공개 체크포인트 (5 env × 6 wave = 30 ep)
| peg | 성공 | job |
| 4mm | 0/30 | 192741 |
| 8mm | 1/30 | 192742 |
| 12mm | 4/30 (wave 0,2,1,1,0,0) | 192853 (192743 preempt 후 재제출) |
| 16mm | 2/30 | 192744 |
| 합계 | 7/120 = 0.06 | watchdog 0회 |
one_leg Long-WAM (seed 0~9 × 3, replan 10)
| step | 4000 | 6000 | 8000 | 10000 | 12000 | 13690 |
| seated | 5/30 | 3/30 | 5/30 | 6/30 | 2/28 | 1/30 |
10000: assembled 4/30(0.13), assembled|seated 0.67, per-seed var 0.049 (iid 0.053). pi0.5 one_leg는 0.30. lateral_min 중앙값 3.8 mm(10000) → 32.5 mm(13690), 최대 213 mm.
4 Takeaway
p≈0.06: 원형 peg에서 pi0.5 기준 p가 목표 범위(0.2~0.6) 아래라 k회 재시도 luck baseline 자체가 작다. 12/16mm가 4/8mm보다 낫다는 점은 model card("later rounds improved looser clearances; 4 mm stayed flat")와 방향이 같다.
upstream 평가 스크립트는 현재 hud와 group/token 의미가 어긋나 그대로 쓰면 2 ep만 돌거나 전부 에러 처리된다. one_leg Long-WAM은 10000 이후 접근 자체를 못 하는 ep가 늘었다(과적합 가능성, 미검증). 기준선은 step 10000(0.20) 사용.
5 Next
- AssembleBench Long-WAM 학습 192506(0.15 step/s, ETA 약 17h) 완료 후
eval_longwam.sh 평가 - task 선택 재검토: 16mm 또는 dense reward 기준, p 0.2~0.6 구간 task family 탐색
- 15 env watchdog 원인(B200 렌더 지연) 미검증 — step 시간 로깅
- one_leg 후반 하락이 LR 하강 과적합인지 검증