Index
2026-09-23 — Engineering

Online GT Eval(실험 3) — 다른 서버에서 같은 실험 재현하기

scene_bench | docs/reproduce/online_gt_eval/ | 번들 ~/bundles/online_gt_eval_260923

TL;DR

126 MB
번들(ckpt 제외)
19 GB
ckpt(선택)
384
프롬프트 바이트 동일
628
컨텍스트 파일 md5
1,490
칸(preflight OK)

1배경/목적

실험 3 을 재현하는 데 필요한 요소 대부분이 git 밖에 있다.

목표는 다른 서버에서 같은 코드·데이터·체크포인트·모델 입력 바이트로 돌리는 것이다.

2작업 내용

파일역할
pack_bundle.sh원본 서버에서 스냅샷·셀·scene card·MolmoBot 패치(git diff origin/main + 미추적 tar)·env 동결 목록·매니페스트 4종(sha256·프롬프트 지문·md5·ckpt)을 싣는다
setup_target.shcheck · repos · conda(yml + pip freeze) · venvs(freeze, cu128) · data(HF 두 리비전, 157편) · assets · ckpt · verify
run_shard.shsubmit_shard + worker + babysitter 를 합친 러너. 서버는 유지하고 하네스만 --max-episodes 단위로 재시작. SMOKE=1 이면 셀 1개
serve_policy.shserve_molmobot_goal.sh 와 같은 명령, 경로만 env.sh 에서
README.md구성요소 표 · 셋업 · 실행 · 집계 · 함정 11개
cd ~/repos/Robotics/scene_bench && conda activate mlspaces INCLUDE_CKPT=1 bash docs/reproduce/online_gt_eval/pack_bundle.sh # 원본 bash $OGE/reproduce/setup_target.sh all # 타깃 SMOKE=1 bash $OGE/reproduce/run_shard.sh find 0 0 # 스모크 sbatch --gres=gpu:1 -c 8 --mem=128G --time=48:00:00 --wrap "bash $OGE/reproduce/run_shard.sh restore 5"

3결과

검증결과
스냅샷 sha256(71 .py)SNAPSHOT_SHA_OK
프롬프트 패리티(--oracle-axes)384개 바이트 동일, 배선 파일 6개 동일
스냅샷 정합모듈 71개 호출부 불일치 0
preflight P5·P3find 셀 750·편 80 / restore 셀 740·편 77 OK
체크포인트model.pt·config.yaml sha256 OK
MolmoBot 패치33c0ca7 clone 에 적용한 결과가 원본 molmobot_pi0/·olmo/·config/·lock 과 동일
env 해석(dry-run)mlspaces pip 179 · MolmoBot 229 · Pi0 273 전부 해석, conda yml 해석 OK
원본 venv ≠ uv.lock: uv sync --frozen --dry-run 결과 MolmoBot 은 109개 제거·16개 설치(torch cu128→cu126), Pi0 은 65개 제거였다. 그래서 freeze 기반 설치로 바꿨다. 재해석을 하면 jax==0.5.3(override) 와 molmo-spaces 의 jax>=0.6.2 가 충돌하므로 --no-deps 를 쓴다.
conda env 에는 EGL 런타임(libglvnd·mesa-libegl)이 conda 패키지로 들어 있다. 그래서 env 를 pip 목록만이 아니라 yml 로 만든다. nltk wordnet 은 ~/nltk_data 로 받는다(에어갭 안내에 반영).

4Takeaway

코드·셀·데이터·체크포인트·프롬프트 동일성을 타깃에서 기계적으로 확인할 수 있게 됐다. 칸 단위 결과는 원본에서도 비결정적(VLA flow 샘플링·VLM 응답)이다. 그래서 재현 판정 기준은 arm 간 짝비교 결론이 유지되는가로 정했다. 서버 env 를 재현하는 정본은 lock 이 아니라 freeze 다.

5Next