lerobot/pi05_base (Pi0.5). DAVIAN fork(robot-data-gen/resfit) 기반 train_bc.py 사용tune_targets=[] default → 모든 param frozen, 학습 안 됨. tune_targets=[visual, llm, action_expert] 명시 필수disable_proprioceptive_obs=true (state zero-pad 대응). n_action_steps=16 (IDM horizon 정합)DreamGen Datagen P2(1440 ep) HF push 완료(260430)로 Phase 4 진입 조건 충족. 원래 GR00T N1 policy fine-tuning 예정이었으나, 사용자 측에서 Pi0.5 코드(DAVIAN robot-data-gen fork)를 제공하기로 변경.
목표: synthetic-only(B1) 먼저 → real heldout + synthetic mix(B2). 시뮬레이터에서 24 robocasa task SR 측정 → DreamGen 합성 데이터 효과 검증. 현재 real-only baseline(B0) 대비 얼마나 올라가는지가 핵심 지표.
train_expert_only 옵션이 DAVIAN fork에서 tune_targets 리스트로 표현됨. 두 코드베이스 차이를 미리 파악하지 않으면 silent-freeze 함정에 빠짐.lerobot upstream Pi0.5 default: freeze_vision_encoder=false, train_expert_only=false = full fine-tune. DAVIAN fork는 그 위에 update_method_to_partial_tuning을 항상 호출하여 먼저 모든 param frozen, 이후 tune_targets에 명시된 것만 unfreeze.
tune_targets=[] default 그대로 두면 모든 gradient frozen, 학습 자체가 안 됨. 오류 메시지도 없음.| # | 항목 | 결정 | 근거 |
|---|---|---|---|
| 1 | Pi0.5 base ckpt | lerobot/pi05_base | pi05_droid HF에 없음 (초기 추측 오류) |
| 2 | fine-tune scope | tune_targets=[visual, llm, action_expert] | lerobot upstream full fine-tune 기본값과 동등 |
| 3 | proprioception | disable_proprioceptive_obs=true | P2 state 모두 zero placeholder |
| 4 | data mix 순서 | B1(synthetic-only) → B2(real+syn) | DreamGen 효과 측정 baseline 먼저 |
| 5 | n_action_steps | 16 | IDM horizon 정합 (pi05_base default 50 override) |
| 6 | dtype / 메모리 | bf16 + compile + gradient_checkpointing | lerobot 표준 |
| 7 | eff batch | 32 × 8 GPU × grad_accum 1 = 256 | lerobot pi05 권장 256과 정합 |
검증: from resfit.lerobot.scripts.train_bc import train import OK + ENV_ROBOTS에 CloseDoubleDoor 등 24 task PandaOmron 매핑 확인.
스크립트 핵심 파라미터: --steps=20000, --batch_size=32, eval_freq=2000, eval_env_name=CloseDoubleDoor, --eval.n_episodes=24. eval 2K마다 SR 추세 모니터.
| Run | 데이터 | 의미 |
|---|---|---|
| B0 | real heldout 720 ep only | synthetic 없는 baseline |
| B1 ← 이번 차례 | synthetic P2 1440 ep only | DreamGen 단독 효과 |
| B2 | real + synthetic 50:50 | DreamGen 논문 권장, 베스트 시나리오 |
P2 1440 ep synthetic 데이터 확보 → Pi0.5 fine-tuning 설계 완료. DAVIAN fork의 tune_targets 함정과 projection 동결 한계를 미리 파악하여 실수 없이 진행 가능. B1 결과가 나오면 DreamGen 합성 데이터의 실제 policy improvement 효과를 최초로 측정할 수 있음.
action_in_proj/out_proj/time_mlp/state_proj 항상 frozen. action 12→32→12 매핑 핵심 모듈에 grad 안 켜짐. 학습 불안정 시 train_bc.py 패치 검토24 task × 24 ep 시뮬레이터 SR 측정 → per-task SR heatmap. B0(real-only baseline) 대비 delta 확인. B2 mix 진행 여부 결정. DreamGen 논문 비교: B0 vs B1 vs B2 SR 표.