MolmoAct2-LIBERO-LP-VTP-SD — 통합 압축 (Layer Prune + Vision Token Prune + Step Decrease)
allenai/MolmoAct2-LIBERO (5.44B VLA)에 세 가지 압축 기법을 동시 적용해 LIBERO로 fine-tune한 LeRobot 포맷 체크포인트.
| 기법 | 내용 | 효과 |
|---|---|---|
| LP (layer pruning) | ViT 25L → 10L 학생(xpuenabler/MolmoAct2-LIBERO-ViT10L)에서 시작 | ViT 파라미터 439M → 212M |
| VTP (vision token pruning) | Grid Sampler, 이미지당 K=16 토큰 | prefill seq_len 489 → 129 |
| SD (step decrease) | flow-matching num_flow_timesteps=2 학습, 2-step 디코드 / n_action_steps=2 | action head 디코드 ~5× 축소 |
학습
- 코드:
nota-github/xpu-lerobot@feat/lp+vtp+sd-libero(scripts/train_molmoact2_libero_vtp+lp+sd.sh) - 데이터:
allenai/MolmoAct2-LIBERO-Dataset, 20000 steps, effective batch 32 (4×B200 DDP, per-GPU 8), bf16, seed 1000 - Grid Sampler 가중치는 random init에서 학습, 나머지는 ViT10L 학생에서 warm-start
성능
⚠️ 정확도 주의: LIBERO 4-suite 평가(10000-step 체크포인트, 2-step 디코드, 50 ep/task = 2000 ep, seed 1000) 결과 47.2% — 개별 기법(ViT10L 96.0%, GridS K=16 97.1%) 대비 큰 폭 하락. 3중 압축의 단순 결합 FT는 배포 기준 미달이며, step-distillation 등 후속 레시피 개선 대상.
| libero_10 | libero_goal | libero_object | libero_spatial | 전체 |
|---|---|---|---|---|
| 22.8 | 58.2 | 41.8 | 66.0 | 47.2% |
- B200 batch=1 (2-step 디코드): TOTAL ~94ms/decision (vision 5.8 / llm 20.3 / action head 52.4 ms), teacher 10-step 296ms 대비 3.1×.
- 상세 분석: Confluence "Pruning/Distilation 종합 (LP+VTP+SD) MolmoAct2 적용 및 성능 평가" (본 repo는 최종 20000-step, 평가는 10000-step 기준).
사용 (LeRobot)
lerobot-eval \
--policy.path=xpuenabler/MolmoAct2-LIBERO-LP-VTP-SD \
--policy.inference_action_mode=continuous \
--policy.num_inference_steps=2 \
--env.type=libero ...
주의: Grid Sampler는 single-crop(crop_mode="resize") 전용.