Index
2026-05-29 — Experiment

FRAPPE MoE 학습 완료 — midA frozen + 3-LoRA (dinov2/clip/vit) + gate router

GR00T-Dreams | FRAPPE Mixture-of-Experts | 4 GPU × 20K steps | eval 진행 중

TL;DR

20K
학습 Steps
3
LoRA 브랜치
4
GPU (B200)
~10h
학습 시간
RUNNING
Eval (job 10541)

1 배경 / 목적

FRAPPE 3-way 비교(base 63.5% / midA 67.1% / midB 65.8%)에서 midA가 최고 성능임을 확인했다. 이제 MoE(Mixture of Experts) 확장으로 alignment를 더 발전시킨다. 기존 midA는 단일 visual teacher를 사용하지만, MoE는 3개의 서로 다른 visual teacher(DINOv2, CLIP, ViT)를 병렬 LoRA 브랜치로 처리하고 gate network가 task/scene에 따라 가중치를 동적으로 조합한다.

가설: 서로 다른 visual teacher의 특성(DINOv2=구조적 특징, CLIP=언어 연결성, ViT=global attention)을 gate가 complementary하게 조합하면 단일 teacher 대비 더 robust한 표현 학습이 가능할 것.

midA frozen base를 출발점으로 사용함으로써 이미 학습된 alignment 표현 위에 MoE 구조를 추가하는 구성. Base Pi0.5 backbone은 완전 freeze, 학습 대상은 LoRA/gate/projector만.

2 작업 내용

MoE 아키텍처

Branch 1
DINOv2 LoRA
구조적 시각 특징
Branch 2
CLIP LoRA
언어-시각 연결
Branch 3
ViT LoRA
Global attention

각 branch는 독립적인 LoRA (r=16, α=32, dropout=0.0)를 가지며, gate router가 3개 branch의 출력을 가중합산해 최종 denoising에 사용한다. policy.type=pi05_frappe_moe.

학습 설정

script : frappe/scripts/finetune_pi05_frappe_moe.sh base : GR00T-Dreams/outputs/pi05_frappe_midA/checkpoints/020000/pretrained_model (frozen) dataset : DAVIAN-Robotics/robocasa-MG_3000 (local cache) output : GR00T-Dreams/outputs/pi05_frappe_moe/ # 주요 HP policy.tap_layer=13 # 어느 transformer layer에서 tap policy.num_learnable=256 # learnable visual token 수 policy.proj_coeff=0.05 # projector loss 가중치 policy.delta_lookahead=16 # temporal lookahead policy.lora_r=16 lora_alpha=32 lora_dropout=0.0 policy.optimizer_lr=1e-4 weight_decay=0.01 grad_clip=1.0 policy.scheduler: warmup=1K → decay=20K → floor=2.5e-6 batch_size=8 grad_accum=2 (effective=16) workers=16 steps=20000 save_freq=1000 eval_freq=1000 (CloseDoubleDoor, 20ep) tune_targets=[visual,llm,action_expert] PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True (MoE 활성화 ~3배) SLURM: job 10491 | 4 GPU B200 | 9h58m | COMPLETED (이전 시도 10485: 7분만에 실패, 10490: 30초 실패 후 세 번째 시도에서 성공)
OOM 주의: MoE는 branch별 full forward 3회 실행 → 활성화 메모리 ~3배. expandable_segments=True로 단편화 완화 처리. 초기 2회 시도(10485, 10490)는 빠르게 종료되었고, 세 번째 시도(10491)가 ~10h 정상 완료.

3 결과

학습 완료 현황

항목내용
학습 완료 step20,000
저장된 마지막 체크포인트020000 (checkpoints/last 심볼릭)
삭제된 중간 체크포인트016K, 017K, 018K, 019K (keep_last=5)
in-train eval (CloseDoubleDoor)step 20K: 16/20 = 80%
24-task evaljob 10541 RUNNING (~48분 경과, 약 7h 소요 예상)
학습 정상 완료: 20K steps 체크포인트 생성 확인. in-train eval CloseDoubleDoor 80%(16/20)는 midA(85%, 17/20)와 유사한 수준으로, 학습이 제대로 수렴했음을 나타낸다.

전체 eval 결과 (예정)

VariantSR (전체)상태
frappe_midA 현재 최고67.1% (322/480)완료
frappe_midB65.8% (316/480)완료
frappe_base63.5% (305/480)완료
frappe_moe eval 중job 10541 RUNNING
수치 미확정: frappe_moe 24-task eval 결과는 약 7시간 후 확인 가능. MoE가 midA(67.1%)를 넘으면 +gain 확인, 그렇지 않으면 MoE 복잡도가 이 task 범위에서는 과한 것.

4 Takeaway

FRAPPE MoE: 복잡도 vs. 성능 gain의 trade-off 검증 단계

MoE 구조는 학습 시 메모리와 시간을 ~3배 더 사용한다(4 GPU × ~10h, midA/midB는 각 4h). 이 추가 비용이 eval 성능 향상으로 돌아오는지가 핵심 질문이다.

in-train eval(CloseDoubleDoor 80%)은 midA와 비슷한 수렴 궤도를 보여, 학습 자체는 문제 없음. MoE gate가 3개 teacher를 실제로 유효하게 조합하는지는 전체 24-task eval로만 판단 가능하다.

만약 MoE > midA(67.1%)라면: teacher diversity가 robocasa 24-task 범위에서 complementary하게 작동하는 증거. 다음으로 MoE를 synthetic 데이터(DreamGen AR 비디오) 기반 mix 학습에 적용하는 것이 타당해진다.

5 Next Steps

즉시: frappe_moe eval 결과 확인 (job 10541)

약 7시간 후 완료. 결과가 나오면 base/midA/midB/moe 4-way 최종 비교 테이블 작성. MoE > midA이면 MoE를 canonical 방향으로 확정, 그렇지 않으면 midA가 FRAPPE 트랙의 실용적 best.

MoE gate 분석

gate router가 task/scene에 따라 어떤 teacher를 선호하는지 분석 필요. 예: PnP task에서 DINOv2 weight가 높은지, door/drawer task에서 CLIP이 높은지. Gate weight 히스토그램으로 각 teacher의 역할을 해석할 수 있다.

DreamGen synthetic + MoE 결합

현재 FRAPPE 트랙은 real MG-3000만 사용. DreamGen AR 비디오(init0_v2 cosmos) 기반 synthetic action을 MoE 학습에 추가하는 실험이 DreamData 전체 파이프라인의 다음 단계. open-loop sim 11.1% SR 결과 참고해 어느 task의 synthetic 데이터가 유효한지 선별 필요.