nvidia/Cosmos-Policy-RoboCasa-Predict2-2B on B200 (venv-only, no docker)TurnOffMicrowave (50/50, 47/50, 50/50) — pretrained 체크포인트가 우리 worker 환경에서 paper급 수치opencv-python → opencv-python-headless 강제, (2) libglvnd EGL libs LD_LIBRARY_PATH 주입, (3) worker는 libX11/libxcb/libxshmfence 113개 추가 필요NVIDIA Cosmos Policy OSS 레포가 막 풀려서, 우리 클러스터(B200, k8sl Slurm)에서 그대로 동작하는지 검증할 필요. README의 Quick Start는 Docker 기반인데 우리 worker 노드는 docker 미지원 → venv-only 경로로 실행 가능한지가 핵심 질문.
ubuntu:22.04 최소 이미지, login도 docker는 DinD sidecar(GPU 없음). 모든 학습/추론은 NAS 상의 venv를 활성화하는 방식으로 풀어야 함.torch 2.7.0+cu128, transformer-engine 2.2+cu128, mujoco 3.2.6, robocasa 0.2.0.
첫 실행에서 ImportError: libGL.so.1: cannot open shared object file. 원인은 pyproject.toml + robocasa-cosmos-policy/setup.py가 모두 opencv-python을 선언해서 GUI 빌드가 headless보다 우선 적재되었기 때문.
두 번째 실행에서 AttributeError: 'NoneType' object has no attribute 'eglQueryString'. 시스템에 libEGL_nvidia.so.0만 있고 libglvnd 로더(libEGL.so.1)가 없어 PyOpenGL.EGL이 ctypes dlopen 실패.
download_kitchen_assets.py로 textures / fixtures / objaverse / generative_textures 4종(~5GB) 다운/압축해제. aigen_objs는 스크립트가 의도적으로 skip.
HF 캐시(/home/nas_main/.cache/huggingface/)에 다른 사용자가 이미 체크포인트를 받아둬서 추가 다운로드 없이 즉시 로드됨.
| Episode | Success | Length (steps) | Note |
|---|---|---|---|
| 0 | ✅ | 311 | press_the_stop_button_on_the_microwave |
| 1 | ✅ | 278 | — |
| 2 | ✅ | 277 | 최단 |
| 3 | ✅ | 357 | — |
| 4 | ✅ | 358 | 최장 |
| Avg | 5/5 (100%) | 316.2 | seed=195, deterministic |
cosmos_policy/experiments/robot/robocasa/logs/ENV_EVAL-TurnOffMicrowave-cosmos-2026_05_13-15_50_10--smoke5-egl.txtlogs/rollout_data/TurnOffMicrowave--2026_05_13-15_50_10/Cosmos Policy OSS 레포가 우리 B200 + venv-only 환경에서 그대로 동작한다. Docker 의존성 없이 sbm 워커로 fan-out 가능. 환경 픽스 두 개(opencv-python headless 강제, libglvnd LD_LIBRARY_PATH 주입)는 worker에서도 그대로 필요하지만, tmp/egl_libs/가 NAS 상에 있어 자동으로 보일 것이 거의 확실.
Worker(ubuntu:22.04) 첫 sbm 시도(job 2422)에서 mujoco import가 AttributeError: 'NoneType' object has no attribute 'glGetError'로 죽음. 진단 스크립트(scripts/diag_gl.sh, job 2423) ldd libGL.so.1 결과:
Worker 기본 이미지가 X11 라이브러리 부재. 해결: ~/conda_envs/envs/gr00t-idm/lib/의 libX*, libxcb*, libxshmfence* 113개 파일을 tmp/egl_libs/에 symlink. 재진단(job 2424): mujoco 3.2.6 ok. Worker smoke (5 trials, job 2425): 5/5 100%, avg 316.2, 5:31 elapsed — login과 정확히 동일.
TurnOffMicrowave × 3 seeds × 50 trials스크립트가 SEED/TRIALS/NOTE env로 파라미터화되어 있어 3 sbm fan-out:
| Seed | Job | Success | Avg len | Elapsed |
|---|---|---|---|---|
| 195 | 2428 | 50/50 (100%) | 228.9 | 29:09 |
| 196 | 2429 | 47/50 (94%) | 247.4 | 30:33 |
| 197 | 2430 | 50/50 (100%) | 221.8 | 28:13 |
| Mean | 98.0% | 232.7 | ~30min (병렬) | |
같은 eval_robocasa_smoke.sh + TASK= env로 24개 task 모두 → 72 sbatch (24 × 3 seed). 각 ~30분, extra quota 내 동시 24+ fan-out 가능. RoboCasa task 리스트는 cosmos_policy/experiments/robot/robocasa/robocasa_utils.py 또는 paper Table 참조.
72개 결과 텍스트(logs/ENV_EVAL-*--full50_seed*.txt)에서 success rate / avg length 파싱 → task별 평균 표 자동 생성. Paper Table과 1:1 비교용.
본인 HF_HOME 분리하거나 락 권한 풀어 noise 제거.