← Index
2026-10-07 — Experiment

Long video prefix 조건 LoRA pilot (300 / 3,510클립)

Exo-to-Ego_Wan2.1_finetune | 261006 training-free overlap 후속

TL;DR

0.9–2.7x
경계 차이 (학습 후)
3.5–5.3x
학습 전
145→35
대장간 선명도 @1500
3,508
clips (full)

1 배경 / 목적

261006 학습 없는 overlap 고정은 3클립 모두 실패(경계 프레임 차이가 chunk 내부 중앙값의 3.5–5.3x). 모델이 "앞 프레임 clean, 뒤 noise" 상태를 학습한 적이 없기 때문으로 판단. 큰 비용 전에 pilot으로 판정.

통과 기준: (1) 경계 차이 ≤ 중앙값의 1.5x, (2) 처음부터 생성하는 첫 chunk 품질이 기존 LoRA 대비 눈에 띄게 나빠지지 않을 것.

2 작업 내용

args.py: --max_prefix_latents (기본 0 = 기존), --init_lora_path sft_trainer.py compute_loss: step의 1/4은 K=0, 나머지 K∈[1,5]개 ego 앞 latent를 clean으로 두고 loss 제외 trainer.py: init_lora_path state dict 로드 (640 tensors) 추론: overlap_clean / --overlap_clean / OVERLAP_CLEAN=1, LORA_PATH scripts/finetune_prefix.sh: ckpt-10000에서 시작, rank 256 / alpha 256, lr 2e-5, batch 1×GPU, 250 step마다 저장(6개 유지), 자동 재개

기존 학습 경로 버그 3건

1) wan_dataset.py is_t2v가 T2V 하위 클래스에서만 설정 → I2V AttributeError를 while True: try/except가 삼켜 무한 재시도 (job 176927 1:30h 헛돌고 로그 429MB). 2) latent 캐시만 있고 attn map 캐시가 없으면 UnboundLocalError. 3) do_kv_cache=True 고정 → 학습에서 첫 샘플 exo K/V 재사용 + gradient checkpointing dtype 불일치 크래시 → False로 변경.

checkpoint-10000의 원래 학습 설정(kv cache)은 확인 불가 (해당 코드가 git에 커밋된 적 없음).

평가: 3클립(호떡 / 야구장 / 대장간), 89프레임 2 chunk, overlap 9, seed 42.

3 결과

300클립 pilot (4 GPU, 16.0 s/step, 1,500 step, job 177136→177275)

경계(48→49) 프레임 차이 / chunk 내부 중앙값 배수

클립학습 전step 250step 750step 1,500
호떡3.5x0.9x2.1x1.2x
야구장4.4x2.3x1.6x2.7x
대장간5.3x1.7x1.5x1.6x

첫 chunk ego 평균 밝기 (기존 LoRA: 62.1 / 59.9 / 75.2)

클립step 250step 750step 1,500
호떡76.375.171.0
야구장54.752.247.6
대장간87.950.429.0 (선명도 145→35)
기준 1.5x 이하는 9개 중 3개, step에 따라 단조 감소 아님(야구장 2.3→1.6→2.7). 첫 chunk 화질은 step이 늘수록 악화, ego PSNR(기존 LoRA 첫 chunk 대비) 11.8–16.0 dB.

3,510클립 재실행 (과적합 가설 검증, 1.7 epoch, preempt 4회 자동 재개)

캐시 이름 충돌 버그 발견: 같은 take의 다른 구간 클립이 한 캐시를 공유해 3,510→1,394 latent로 뭉개짐, 약 60% 영상-캡션 구간 어긋남 (job 177639 취소). 클립 폴더명 기반으로 수정. 3,508개 사용(2개는 dtype NoneType 오류 제외).

클립경계 학습 전step 250step 750step 1,500
호떡3.5x3.9x0.9x2.0x
야구장4.4x1.5x2.2x2.3x
대장간5.3x1.7x1.5x1.2x

대장간 선명도 146→53, 야구장 139→70 (step 1,500). 호떡은 ego가 아닌 상인 정면 장면 생성. 경계 1.5x 이하 4/9.

4 Takeaway

prefix 조건 학습은 250 step만으로 chunk 간 장면 연속성을 만든다 (학습 없는 방식은 불가).
데이터 11.7배, epoch 1.7에도 같은 step에서 같은 붕괴 → 원인은 데이터 양이 아니라 학습 설정. 후보: (a) kv cache off가 원래 학습과 다름, (b) prefix 조건이 K=0 생성을 해침, (c) lr 2e-5 / batch 4.

현재 쓸 수 있는 것은 step 250–750 조기 중단뿐. "확실히 된다"고 할 수 없는 상태.

5 Next Steps