Index
2026-04-17~20 — Experiment

Wan LoRA MG-30 v2: Layout B/C I2V 학습 진행

DreamData | sliding window 클립 전처리 + Layout B/C I2V 480×832, 반복 preemption

TL;DR

50K
Layout A v2 step
3K
Layout C v2 step
1K
Layout B v2 step
480×832
B/C 해상도

1 배경 / 목적

v1 전처리의 핵심 문제: 에피소드 전체(100~500 프레임)를 49프레임으로 uniform downsampling하면 실제 재생 시 7배속처럼 보임. 모션이 왜곡되어 video generation 모델이 자연스러운 모션을 학습하기 어렵다.

v1 한계: 49프레임 uniform downsampling → 평균 에피소드 길이 343프레임 기준 7× 빠른 재생. 생성된 비디오에서 부자연스러운 빠른 모션 관찰.

v2에서는 sliding window로 연속 49프레임 클립을 생성하여 자연 속도(20fps)를 보존한다. 또한 해상도를 Wan 기본 480P bucket(480×832)로 맞춰 사전학습 분포와의 gap을 줄인다.

2 작업 내용

v2 전처리 핵심 변경사항

스크립트: scripts/prepare_robocasa_data.py (v2 표기) 변경점: v1: 에피소드 전체 → uniform sampling → 49프레임 1개 클립 v2: 에피소드 → sliding window(stride_min~stride_max) → 49프레임 N개 클립 (에피소드 길이 < 49프레임이면 skip) TARGET_FRAMES = 49 # (T-1) % 4 == 0, Wan-VAE constraint fps = 20fps 그대로 (속도 보존) 클립명: {task}_ep{ep:04d}_clip{clip:02d}.mp4

Layout 별 학습 설정

Layout해상도모델스크립트rank/alphatrain_steps
A I2V v2192×960Wan2.1-I2V-14B-480Ptrain_MG30_layout_A_i2v_v2.sh128/6450,000
B I2V v2480×832Wan2.1-I2V-14B-480Ptrain_MG30v2_layout_B_i2v.sh128/6450,000
C I2V v2480×832Wan2.1-I2V-14B-480Ptrain_MG30v2_layout_C_i2v.sh128/6450,000
공통 학습 하이퍼파라미터 (B/C v2): optimizer: AdamW (beta1=0.9, beta2=0.99, eps=1e-8, wd=1e-4) lr: 1e-4, scheduler: constant_with_warmup (100 steps) batch_size: 2/GPU × 4GPU = effective 8 (grad_accum=4 → effective 32) target_modules: blocks.*(to_q|to_k|to_v|to_out.0) precomputation_items: 10,172 (B/C 모두) checkpointing: 매 1,000 steps, 최근 4개 유지

3 결과 (SLURM 실행 이력)

SLURM Job 이력 (preemption 상세)

Job ID실험상태실행 시간비고
48006Layout A I2V v2COMPLETED1h 25m50K step 완료
49582Layout C I2V v2COMPLETED3h 22m3K step 도달
48020, 48021B/C I2V v2 초기PREEMPTED~1h1K 미만
48068, 48071B/C I2V v2PREEMPTED2h/5hB 1K, C 일부
48168, 48235B/C I2V v2PREEMPTED7h/4h누적 중
48427, 48502B/C I2V v2PREEMPTED2h/2h누적 중
49614~50112B I2V v2PREEMPTED1~4h 반복현재 1K step
Layout B가 심각하게 막혀 있음: 총 10회 이상 preemption, 누적 실행 시간 약 25h에도 불구하고 1K step. checkpointing_steps=1000이라 첫 checkpoint 저장 전 preemption이 반복됨.

완료된 학습 검증 (Layout A I2V v2)

출력 디렉토리: output/MG-30_layout_A_i2v_v2/ 최종 checkpoint: finetrainers_step_50000/ Validation 비디오: step 38000, 40000, 42000, 44000, 46000, 48000 생성 확인 → 각 step마다 2 prompt × 2 sample = 4개 mp4
Layout A I2V v2 50K 완료: validation 비디오 38K~48K step 생성. 질적 평가(v1 대비 모션 자연스러움) 필요.

현재 checkpoint 상태

Layout최고 stepcheckpoint 위치
A I2V v250,000output/MG-30_layout_A_i2v_v2/finetrainers_step_50000/
C I2V v23,000output/MG-30-v2_layout_C_i2v/finetrainers_step_3000/
B I2V v21,000output/MG-30-v2_layout_B_i2v/finetrainers_step_1000/

4 Takeaway

v2 전처리의 의미

sliding window 클립이 핵심 개선. v1의 uniform downsampling은 에피소드 전체를 7배 빠르게 압축했기 때문에 생성 모델이 "빠른 로봇 동작"을 학습하게 됨. v2에서는 20fps 자연 속도의 연속 클립으로 학습하여, 생성 비디오의 모션 속도가 실제 로봇과 일치할 것으로 기대.

Layout A v2가 50K 완료되었으므로 v1 대비 질적 비교가 가능. v1 A I2V(8K step)와 v2 A I2V(50K step)를 같은 프롬프트로 추론하여 모션 자연스러움을 비교해야 함.

Layout B preemption이 bottleneck. --qos=core-extra이므로 반복 preemption은 예상된 결과지만, 첫 1K checkpoint 이전에 계속 preempt되는 것은 비효율. checkpoint 주기를 500 steps로 줄이거나 core-own으로 한 번 제출 필요.

5 Next Steps

# Layout B checkpointing 개선 예시 sbm "bash scripts/train_MG30v2_layout_B_i2v.sh" \ --qos=core-own --gres=gpu:4 -c 96 --mem=800GB # 또는 checkpointing_steps=500으로 스크립트 수정