Stage 1 · Wan Multi-view LoRA Finetune

DreamData — Weekly Progress

260406-260412 · Robotics video world model for VLA augmentation

Active Layouts3
Step Target8000
SLURM Jobs≥50
Best Model14B
Hardware4×B200

Research Goal

제한된 teleop 데이터를 video world model로 증강하여 VLA(Vision-Language-Action)의 few-shot post-training 성능을 극대화한다. Baseline은 DreamGen / DreamZero. 핵심 기여 3가지: (1) CA-LoRA(concept-aware LoRA로 domain-aligned smart finetune), (2) diffusion model의 intermediate feature에서 perception annotation을 추출하는 label decoder, (3) diverse rollout generation. 5단계 로드맵 중 현재 Stage 1 (Wan multi-view LoRA finetune)에 있다.

이번 주 핵심 진전 (Why → How → Result)

1. Multi-view Layout 비교 실험: Layout A I2V가 베스트로 확정

Why: RoboCasa MG-30은 3개 카메라(ext1/ext2/wrist)를 갖는다. 이를 한 프레임 안에 어떻게 배치해야 video diffusion이 multi-view consistency를 가장 잘 학습하는지 미해결 상태였다. DreamGen은 2×2 grid를 쓰지만 wrist는 외부 뷰와 분포가 매우 달라 강제 포맷이 차이를 가릴 우려가 있었다.

How: 3 layout × 2 conditioning을 직교 비교. Layout A (1×3 가로, 192×960), Layout B (역삼각형, 352×640), Layout C (2×2 black-fill, DreamGen 방식). T2V는 Wan2.1-T2V-1.3B, I2V는 Wan2.1-I2V-14B-480P. LoRA rank=32, alpha=32, lr=5e-5, warmup=100, effective batch=32, 8000 step. 데이터: 23 task × 30 ep × sliding window (49f, stride 10~25 random) ≈ 10K clips.

Result:

실험최종 step3분할GT 일관성wrist 구분
Layout A T2V (1.3B)8000 ✅보임낮음약함
Layout A I2V (14B)8000 ✅매우 명확높음약간 보임
Layout B I2V (14B)8000 ✅약함중간약함
Layout B T2V3000 / 8000 🔄진행 중
Layout C T2V1000 / 8000 ❌체크포인트 손상, 재시작 필요
Layout C I2V7500 / 8000 🔄진행 중

Takeaway: 첫 프레임 conditioning(I2V)이 T2V를 압도. Layout A의 가로 1×3 배치가 stretch 없이 view boundary를 명확히 학습. Layout B는 wrist를 가로 2배로 늘려 distortion 유발. 현재 베스트는 Layout A + I2V 14B 조합으로 확정.

2. I2V 학습 인프라 확립 (commit 8533de4)

Why: 처음에는 T2V만 검증되어 있었으나 Layout A T2V 결과에서 view 분리가 약해 I2V 우위가 강하게 시사. I2V 경로를 빠르게 확보해야 했다.

How: finetrainers의 WanModelSpecificationtransformer_config.image_dim != None으로 I2V를 자동 감지한다는 점을 확인 → 코드 수정 없이 모델 체크포인트만 Wan2.1-I2V-14B-480P-Diffusers로 교체. 14B는 1.3B 대비 ~10× 크므로 batch 8→2, grad_accum 1→4 (effective batch 유지). 추론 스크립트 scripts/infer_i2v.py는 학습 데이터의 첫 프레임을 자동 추출해 WanImageToVideoPipeline에 conditioning으로 주입.

Result: 단일 commit에 17 files / +1277 lines로 I2V 학습 + external precompute + overfit 실험 셋업을 일괄 추가. Layout A I2V 8000 step을 약 14h GPU 시간으로 완료(Job 37401, 13h50m completed).

3. External Precompute 파이프라인 분리

Why: 학습 루프 안에서 precompute를 재진입할 때 multi-GPU 환경에서 SIGKILL/nvlink 에러 간헐 발생. 학습 시작 시 VAE/T5 모델이 GPU에 잔류하면서 multi-GPU 전환 시점에 메모리 충돌. 동일 데이터를 학습마다 다시 인코딩하는 것도 시간/VRAM 낭비.

How: precompute를 학습과 분리. 별도 1-GPU 스크립트가 모든 클립에 대해 T5 텍스트 인코딩 → condition-{rank}-{idx}.pt, VAE 비디오 인코딩 → latent-{rank}-{idx}.pt (I2V는 첫 프레임 VAE + CLIP image embedding 추가). finetrainers의 기존 파일명 규칙({type}-0-{idx}.pt) 유지 → 학습 스크립트는 --precomputation_dir만 지정.

Result: 학습 루프에서 VAE/T5 로드 자체가 사라져 VRAM 절약 + multi-GPU 전환 문제 해결. 한 번의 precompute로 layout × conditioning 여러 실험에서 재사용 가능. 전체 10K 클립 커버.

Strengths & Weaknesses

Strengths

Weaknesses / 한계

Takeaway & Next Steps

의미: 이번 주로 Stage 1의 표현 공간(layout × conditioning)이 결정됐다. 향후 모든 실험의 default는 Layout A + I2V로 고정한다. multi-view Wan I2V LoRA finetune이 RoboCasa 분포에서 작동한다는 baseline이 확보되어 DreamGen 재현이 사실상 가능해졌다.

다음 단계