TL;DR
- 현재 상태: Job 2448 PENDING (priority queue 뒤). 학습 시작되면 4-8h. 끝나면 ckpt → vocab sanity check → adapter
- 학습 환경 fix 2건:
deepspeed pip install + USE_HF=1 (ModelScope→HF 강제)
- 이전 세션(같은 날): 빌더 작성 / 데이터 빌드 / 학습 entry / SLURM 제출까지 완료
- 다음 세션 첫 작업: P0 status check → P1 ckpt 위치 → P2 swift export merge → P3 combo_002 probe → P4 adapter
- 3-venv cascade 설계 (robocasa / memer / sister .venv) + 검증 항목 5개 정리됨
1Status check (P0)
squeue -u taewoongkang -j 2448
sjob 2448
sacct -j 2448 --format=JobID,JobName,State,Elapsed,ExitCode
tail -50 /home/nas_main/taewoongkang/repos/Robotics/memer/slurms/robocasa_memer_tier1_lora_2448.out
| 상태 | 다음 액션 |
COMPLETED | P1 ckpt 위치 → P2 merge → P3 probe |
RUNNING | eval_loss 추이 보고 조기 stop 결정. 2 epoch ≈ 625 step |
FAILED | out 디버그. 알려진 위험: max_length=3200 부족, OOM |
PREEMPTED | extra QOS 자동 재제출 안 됨. 다시 sbm |
2LoRA ckpt 위치 + merge (P1, P2)
LATEST=$(ls -td /home/nas_main/taewoongkang/repos/Robotics/memer/runs/ckpts/robocasa_memer_tier1_lora_*/checkpoint-* 2>/dev/null | head -1)
echo "Latest LoRA ckpt: $LATEST"
conda activate memer
swift export --adapters $LATEST --merge_lora true \
--output_dir /home/nas_main/taewoongkang/ckpts/robocasa-memer-tier1-merged
merge가 실패하면 직접 peft로: PeftModel.from_pretrained(base, lora_dir).merge_and_unload() → save_pretrained().
3Vocab sanity check (P3 / task #7)
cd /home/nas_main/taewoongkang/repos/Robotics/memer
CUDA_VISIBLE_DEVICES=0 timeout 1800 python scripts/eval_scene_mem_one_scenario.py \
--scenario-dir ~/Dataset/scene-mem-benchmark/data/combo_002_L29_S48_0006 \
--model-path /home/nas_main/taewoongkang/ckpts/robocasa-memer-tier1-merged \
--output-dir eval_outputs/robocasa_tier1_combo_002_ep0006 \
--stride 100 --attn-implementation sdpa --save-raw-text
기대치 비교 (오전 dusting probe vs RoboCasa LoRA):
| metric | dusting | RoboCasa LoRA (목표) |
| top subtask vocab | "place X on top/bottom shelf" | "navigate to X" / "open X" / "pick X place Y" |
| object recognition | 정확 ✅ | 정확 ✅ (유지 기대) |
| keyframe pickup | instruction-blind | 제한적 개선 (Tier-1은 keyframe[0]만 학습) |
4Cascade adapter (P4 / task #8) — 3-venv 설계
| 컴포넌트 | venv | 역할 |
| eval_runner orchestrator | robocasa (3.11) | scene-mem env 로드 + BasePolicy 루프 |
| MemerPi05Policy wrapper | robocasa | reset / get_action 구현, subprocess RPC |
| MemER inference subprocess | memer (3.11) | LoRA merged ckpt + Qwen3-VL infer |
| Pi0.5 inference subprocess | robomme_policy_learning/.venv (3.12) | JAX/openpi action chunk emit |
IPC 프로토콜 (subprocess + stdin/stdout JSON, websocket 없이)
# memer_worker.py stdin: {"op": "reset"/"step", "images": [...], "instruction": "..."}
# stdout: {"current_subtask": "...", "keyframe_positions": [...]}
# pi05_worker.py stdin: {"op": "infer", "images": {...}, "state": [...], "prompt": "..."}
# stdout: {"action": [a0...a31]}
검증 항목 5개 (REFERENCE 명시, 다음 세션 1순위)
- Subtask vocab matching — LoRA 출력 vs Pi0.5 학습 분포 prompt
- Camera obs key — 비디오
robot0_agentview_left.mp4 vs robosuite live obs *_image
- Camera resolution — 비디오 256×256, MemER 320×180, Pi0.5 openpi config
- Action chunking — Pi0.5 action_horizon=50, 매 step vs chunk reuse
- State padding — PandaOmron 11 active dim → 32-dim padded 슬롯 매핑
5알려진 위험
swift export merge_lora 실패 가능 — fallback: peft로 직접 merge_and_unload
max_length=3200 silent truncation — 9 image × ~360 token ≈ 3240. 필요 시 4096
3-venv IPC 지연 — 1500 step × 100ms 목표
cascade 첫 시도 vocab mismatch — dusting LoRA placeholder로 cascade 동작 검증 → 그 다음 RoboCasa LoRA prompt 매칭 디버그
6핵심 파일 위치
| 파일 | 경로 |
| Pi0.5 ckpt | ~/ckpts/pi05_robocasa_pretrain_human300_step75000/pi05_pretrain_human300/multitask_learning/75000/ |
| RoboCasa dataset | ~/Dataset/robocasa_human_lerobot/ (410 ep) |
| Tier-1 학습 데이터 | ~/repos/Robotics/memer/data/robocasa_memer_tier1/ (3,519 sample) |
| 데이터 빌더 | ~/repos/Robotics/memer/scripts/build_robocasa_subgoal_tier1.py |
| 학습 entry | ~/repos/Robotics/memer/scripts/finetune_robocasa_memer_tier1.sh |
| Dusting ckpt (비교용) | ~/ckpts/memer-dusting-qwen3vl-4b-step-1500/ |
| scene-mem eval/ | ~/Dataset/scene-mem-benchmark/eval/ |
| scene-mem data (1 scenario) | ~/Dataset/scene-mem-benchmark/data/combo_002_L29_S48_0006/ |
| 자매 repo | ~/repos/Robotics/robomme_policy_learning/ |