웨이브 포싱은 청크별 디노이징 단계를 겹쳐 스트리밍 비디오 생성 속도를 높인다

Wave Forcing: Towards Speed-of-Light Streaming Video Generation

HF Daily2611.00859

Yijie Jin, Yuxuan Liu, Jiajun Xu2026-10-31

무엇인가

실시간 롱 비디오 생성은 일관된 외형과 자연스러운 움직임을 유지하면서 끊김 없이 출력해야 한다. 기존 청크 단위 자기회귀 방식인 Self Forcing(SF)과 Causal Forcing(CF)은 앞선 내용을 조건으로 각 청크를 디노이징한다. 이때 깨끗한 히스토리 캐싱을 쓰면 깨끗한 결과에서 K/V를 새로 고치는 store 포워드가 추가로 필요하다. 디노이징과 store를 순차 실행하면 청크 하나를 내보내는 데 N번의 포워드 라운드가 드는 NF1C 구조가 되고, 한 스텝 디노이징이라도 store를 포함하면 두 번의 포워드가 필요하다. 논문은 파이프라인이 채워진 뒤 매 동시 포워드 라운드마다 완성 청크 하나를 내는 1F1C를 목표로 하면서, 모든 디노이징 업데이트는 유지하려 한다.

어떻게 동작하나

Wave Forcing(WF)의 생성 구조는 청크 단위 인과 어텐션에 기반한다. 각 청크 안에서는 전체 어텐션을 쓰고, 캐시된 히스토리와 아직 디노이징이 끝나지 않았지만 더 깨끗한 앞선 청크의 라이브 컨텍스트를 읽는다. 뒤쪽 청크에는 의존하지 않는다. 스케줄은 파면(wavefront)처럼 움직인다. 셀 (i,s)는 라운드 k=i+s에서 Z_i^(s)를 Z_i^(s+1)로 갱신하고, store는 (k-S,S)에서 B_{k-S}의 K/V를 새로 고친다. 질의 슬롯 s는 K/V 슬롯 j가 j>=s일 때만 볼 수 있다는 마스크 M_WF(s,j)=1[j>=s]를 적용한다. 컨텍스트는 앵커, 경계가 있는 깨끗한 히스토리, 라이브 store, 그리고 j가 커지는 순서로 놓인 디노이징 K/V를 이어 붙인다. 이 구조에서는 앞선 청크가 더 뒤의 디노이징 단계를 수행하고 새 청크가 더 앞의 단계를 수행하는 식으로 단계가 엇갈린다. 각 디노이징 단계와 store 단계에 전체 모델 복제본을 배정하면 폭이 제한된 파이프라인이 된다. Rolling Forcing이 가졌던 역방향 정교화 의존성은 이 인과 마스크로 제거된다.

무엇과 다른가

이 생성 그래프에 모델을 적응시키기 위해 세 단계 학습을 쓴다. 1단계는 혼합 노이즈 초기화로, Rolling Forcing의 혼합 노이즈 공동 디노이징 설정을 받아들여 서로 다른 노이즈 수준의 청크 사이에 양방향 어텐션을 쓴다. RF 롤아웃과 SF 롤아웃을 같은 확률로 샘플링해 DMD로 학습하며, SF 롤아웃은 초기화 중 움직임을 안정화하는 역할을 한다. 4스텝 학생은 SF의 ODE 초기화에서 시작하고, 5스텝 학생은 공개된 RF 가중치를 재사용해 1단계를 건너뛴다. 2단계는 오프폴리시 DMD로, 연속된 교사 청크를 엇갈린 타임스텝으로 다시 노이즈화하고 앞선 교사 청크를 깨끗한 K/V 히스토리로 둔다. 1단계의 양방향 어텐션을 유지하면서 DMD와 LPIPS(λ_p=0.25)로 같은 텍스트 조건 예측을 감독해 더 강한 움직임과 피사체 가이드를 준다. 3단계는 인과 컨텍스트와 자기 생성 히스토리 적응으로, 매 반복마다 자기 생성 RF, WF, SF 롤아웃을 균등하게 샘플링해 온폴리시 DMD를 수행한다. 손실은 세 브랜치를 1/3씩 평균하며, 실제 배포에는 WF만 쓴다.

어떻게 쓰나

실행 런타임인 WaveRT는 Wave Parallelism(WP)으로 단계 간 동시성을 실현한다. 각 디노이징 단계와 store가 전체 모델 GPU 복제본을 소유하고, 랭크 s가 Z_{k-s}^(s)를 갱신해 다음 라운드의 랭크 s+1로 넘긴다. K/V는 QKV 프로젝션과 RoPE 뒤에 게시되고, 어텐션 직전에 준비 상태를 확인한다. 페이징 전달은 K/V를 원격 연결 없이 정렬된 어텐션 버퍼 슬롯에 직접 쓴다. 이렇게 해서 통신과 계산을 겹치고, 더 깨끗한 생산자가 앞서 갈 때 노출되는 대기 시간을 줄인다. 로컬 연산은 SageAttention과 W8A8, K/V 양자화로 최적화하고, VAE 디코딩은 전용 GPU에 부하 균형 있게 나눠 파이프라인으로 돌린다. 실행 백엔드는 SGLang Diffusion의 모델 구현을 쓴다.

전제와 한계

품질 실험은 Wan2.1-T2V-1.3B에서 Rolling Forcing(RF), Causal Forcing(CF)과 비교한다. 짧은 비디오는 프롬프트당 129프레임 한 편으로 VBench Total, Quality, Semantic, Dynamic Degree를 보고, 긴 비디오는 MovieGen 프롬프트 200개로 100초 영상을 만들어 VBench-Long Quality와 Dynamic Degree를 본다. 해상도는 832×480, 16 FPS, 시드 42다. 5스텝 WF는 VBench Total 81.64로 RF의 81.15를 앞서고, VBench-Long Quality는 81.26 대 81.18이다. Dynamic Degree는 짧은 비디오에서 51.39에서 94.44로, 100초 비디오에서 36.63에서 91.45로 오른다. Subject Preservation은 97.10으로 RF의 92.75보다 높고, Camera Drift는 0.37로 RF의 0.17보다 조금 높다. CF는 VBench-Long Quality 82.15와 Dynamic Degree 96.61로 가장 높지만 Subject Preservation 71.11, Camera Drift 11.14로 안정성이 사용 불가능한 수준이다. RF는 Subject Preservation 92.75와 Camera Drift 0.17로 안정적이지만 긴 비디오 Dynamic Degree가 36.63에 그친다.

학습 절제 실험도 수치로 제시된다. 4스텝 기준으로 2단계를 건너뛰고 3단계 온폴리시 적응으로 바로 가면 Quality가 80.89에서 76.68로, Dynamic Degree가 74.97에서 15.73으로 떨어지고 Subject Preservation도 76.53이 된다. SF 브랜치를 빼면 Quality 75.35, Dynamic Degree 23.66이 된다. RF 브랜치를 빼면 Dynamic Degree는 88.82로 오르지만 Subject Preservation이 77.48로 내려가고 Camera Drift가 6.24로 커진다. WF 브랜치를 빼면 Subject Preservation 95.64, Camera Drift 0.10으로 가장 안정적이지만 Dynamic Degree가 48.12로 낮아진다. 세 브랜치를 모두 쓰는 최종 모델은 Quality 80.89, Dynamic Degree 74.97, Subject Preservation 91.88, Camera Drift 0.36으로 균형을 보인다.

시스템 효율 실험에서 4스텝 WF는 BF16/FA3 백엔드로 8개 H200 GPU에서 147.6 DiT FPS와 134.8 엔드투엔드 FPS를 낸다. 단일 GPU 엔드투엔드 기준 19.06 FPS 대비 7.07배다. 같은 WF 그래프에서 WaveRT는 BF16 E2E를 Sync의 127.06 FPS에서 134.81 FPS로 6.1% 올린다. WaveRT+Sage는 E2E 134.79 FPS, DiT 147.78 FPS로 BF16 E2E와 거의 같고, W8A8을 더하면 tick p50은 낮아지지만 E2E는 132.89 FPS가 된다. 14B에서는 E2E가 25.47, 28.64, 28.62, 33.50 FPS로 단일 GPU 기준 5.51 FPS 대비 최대 6.08배다. 전통적 컨텍스트 병렬화와 비교하면 BF16에서 WP는 여섯 스케일 중 다섯 곳에서 앞서고 WP/CP 비율은 0.985~1.862배다. 1.3B에서 WP는 150.09 FPS로 Ulysses 80.60, Ring 41.19를 앞서며, 9B에서는 45.70 FPS로 Ulysses 46.41에 1.53% 뒤진다. 14B에서는 28.71 대 26.72 FPS다. Sage+W8A8에서는 여섯 스케일 모두 WP가 앞서 1.025~2.530배를 기록한다.

개발자 입장에서 이 논문은 실시간 스트리밍 비디오 생성이나 긴 비디오 롤아웃을 다중 GPU로 처리하려는 경우에 참고할 만하다. 핵심은 청크별 디노이징 단계를 서로 다른 전체 모델 복제본에 배치하고, K/V 전달과 어텐션 계산을 겹쳐 파이프라인 처리량을 끌어올리는 설계다. 다만 디노이징 스텝 수 S만큼 디노이징 단계와 store 단계가 필요해 GPU 대수가 스텝 수에 묶이고, 모델이 커질수록 컨텍스트 병렬화 대비 이점이 좁아진다고 저자들이 밝힌다. 또한 고정 조건 스트리밍을 전제로 평가했기 때문에 프롬프트 전환이나 카메라·행동 제어 같은 온라인 상호작용은 별도 검증이 필요하다.

저자들이 밝힌 한계는 분명하다. VBench 점수만으로 긴 스트림 품질을 다 설명하지 못하며, Subject Preservation과 Camera Drift 진단은 100개 프롬프트의 피사체 중심 부분집합, 추적과 동일성 연결, 기하학적 휴리스틱에 의존한다. 임계값 민감도, 의도적 장면 전환의 처리, 사람 판단과의 일치도는 아직 확립되지 않았다. 출력 경로에서는 VAE 파이프라인이 디코딩을 겹치고 분할해도 유한한 서비스 용량을 없애지 못한다. 1.3B BF16에서 4스텝은 DiT/E2E 147.58/134.81 FPS, 5스텝은 104.82/96.46 FPS이고, 이때 VAE GPU는 각각 3개와 2개다. 집계 타이밍만으로는 VAE 연산, 전송, 큐잉, 백프레셔를 분리하지 못한다. 학습 절차가 복잡하다는 점, 고정 샘플링 예산에서 단일 파이프라인 규모가 제한된다는 점, 높은 정상 상태 처리량이 낮은 입력-가시 출력 지연을 보장하지는 않는다는 점도 남은 과제다.