1 배경 / 목적
prefix LoRA(Wan2.1 14B, 49f chunk)는 609f에서 호떡 +92%, 종이접기 +56% 밝기 누적, 후반 색 노이즈. LongLive-2.0-5B(block AR + KV cache)는 T2V 509f에서 ±5%였으므로, 공개 가중치에서 EgoX 조건을 붙여 미세조정(GGA 없음, 사용자 결정).
2 작업 내용
입력: latent 프레임마다 [exo 448×768 | ego 448×448] 폭 방향 concat (28×76 latent, 프레임당 532 토큰)
exo 토큰: 항상 clean, 토큰별 modulation t=0, loss 없음
ego 토큰: 블록별 timestep 노이즈, flow-matching loss
ego prior: patch embedding 입력 채널 +48 (0 초기화, ego 열만) → 시작 시 원 모델과 동일
코드: wan_5b/modules/causal_model.py(per-token modulation, exo_cols), utils/wan_5b_wrapper.py,
model/egox_diffusion.py(egox_loss, error recycling ego 열만), utils/egox_dataset.py,
scripts/egox/train_egox.py(FSDP, 자동 재개), scripts/egox/infer_egox.py
설정 configs/egox_ar.yaml: 81f(21 latent, 블록 3 latent → 7블록), teacher forcing, lr 1e-5, betas (0,0.999),
10k step, 1k마다 저장, error recycling(버퍼 200/bucket, step 1,000부터)
데이터: EgoExo4D 81f 99,587클립 / job 190775 (own, 4 GPU, sbmr 5)
추론 configs/egox_infer.yaml: 40 step, cfg 3.0, local attention 21 latent, sink 3
평가: eval_ckpt.sh(val 4클립 81f + 609f), eval_wild.sh(호떡/드럼 609f, 학습 형식 캡션), tmp/eval_long_single.py(40f 구간 밝기/선명도, 12f 블록 경계/프레임차 중앙값 비율)
평가 세트 변경: 종이접기는 exo부터 1인칭이라 제외. 피아노(yt_tTGEo3scnq8_007099)는 shot 검출이 디졸브를 못 잡아(~221f에서 얼굴 클로즈업) 609f 평가 무효 → 격리, 드럼(yt_UsJ3QGPVoZY_003063, 한 shot)으로 교체.
3 결과
학습
3.3 s/step (4 GPU), 36.1GB/GPU, loss 0.10–0.34, grad norm 0.14–0.37, 10k step 9시간58분.
Step 1,000 — 609f vs prefix LoRA v3
| 클립 | 방식 | 경계 ≤1.5x | 밝기 첫→끝 | 후반 |
| 호떡 | LongLive s1000 | 43/50 (최대 2.8x) | 92.6→70.1 (−24%) | 330f 이후 내용 붕괴 |
| 호떡 | prefix v3 | 12/14 | 55.2→105.8 (+92%) | 442f 이후 색 노이즈 |
| 종이접기 | LongLive s1000 | 40/50 (최대 2.9x) | 79.6→58.2 (−27%) | 330f 이후 바닥 무늬 뒤틀림 |
| 종이접기 | prefix v3 | 8/14 (최대 10.2x) | 41.5→64.6 (+56%) | — |
Step 추이 (eval_wild 캡션)
| 클립 | step | 경계 ≤1.5x (최대) | 밝기 첫→끝 |
| 호떡 | 1k | 42/50 (4.3x) | 106.8→39.7 (−63%) |
| 호떡 | 3k | 40/50 (4.0x) | 78.7→62.5 (−20%) |
| 호떡 | 5k | 40/50 (2.5x) | 76.9→60.7 (−21%) |
| 호떡 | 10k | 47/50 (1.6x) | 69.3→70.4 (+2%) |
| 드럼 | 1k | 43/50 (2.0x) | 37.4→20.1 (−46%) |
| 드럼 | 3k | 49/50 (1.8x) | 31.0→17.6 (−43%) |
| 드럼 | 5k | 34/50 (2.8x) | 31.5→7.6 (−76%) |
| 드럼 | 10k | 42/50 (2.4x) | 34.8→11.1 (−68%) |
609f 최종 비교 (10k vs prefix v3/v4)
| 클립 | 방식 | 경계 ≤1.5x (최대) | 밝기 첫→끝 | 내용 |
| 호떡 | LongLive s10000 | 47/50 (1.6x) | 69.3→70.4 (+2%) | 165f 이후 비닐/금속 덩어리로 장면 이탈 |
| 호떡 | prefix v3 | 12/14 | 55.2→105.8 (+92%) | 442f 이후 색 노이즈 |
| 호떡 | prefix v4 | 11/14 (3.6x) | 52.6→81.3 (+55%) | 331f 이후 가장자리 색 노이즈 |
| 드럼 | LongLive s10000 | 42/50 (2.4x) | 34.8→11.1 (−68%) | 드럼·심벌 442f까지 유지 후 암전 |
| 드럼 | prefix v3 | 6/14 (2.0x) | 141→153 (+8%) | exo와 다른 밝은 청록 톤 |
| 드럼 | prefix v4 | 3/14 (5.4x) | 131→156 (+19%) | 노출 과다, 276f 이후 붕괴 |
같은 s1000 호떡이라도 긴 캡션 −24%, 짧은 캡션 −63% → 캡션 형식이 장기 밝기에 영향. 호떡 prior는 철판 일부만 렌더, 종이접기 prior는 후반에 비거나 조각남 → 후반 붕괴 일부는 prior 품질 영향. prefix 평가는 share에서 반복 preempt(11~59분 후 취소, 이어하기 없음, 15 chunk≈2시간) → extra로 재제출(191624~191626) 완료.
4 Takeaway
이음새 문제 해결(경계 최대 10.2x → 1.6~2.9x), 밝은 장면 밝기 누적 해소, 색 톤이 exo와 일치(드럼 exo는 어두운 붉은 무대, prefix는 밝은 청록).
prefix 노이즈 증강(v4)은 v3 대비 개선 없음(드럼 경계 6→3/14, 붕괴) → prefix LoRA 라인 중단 권장.
남은 문제는 학습 길이(81f) 초과 구간의 장면 이탈(호떡)과 어두운 장면 암전(드럼 −43~−76%, step 증가로 미해결).