프레임 단위 델타 규칙과 양방향 선형 메모리로 영상 확산 모델의 어텐션 병목을 걷어낸 Video DeltaNet
Video DeltaNet: A Video-Native Hybrid Attention for Livestream Video Generation
무엇인가
영상 확산 모델은 디노이징 과정에서 긴 시공간 토큰 시퀀스를 반복 처리하기 때문에 어텐션이 지배적인 계산 병목이 된다. 논문이 프로파일링한 MiniMax H3 워크로드에서 Softmax 어텐션은 디노이저 런타임의 85% 이상을 차지했다. Dense Softmax는 모든 query가 전체 key 시퀀스에 직접 접근하게 해주지만 pairwise 계산이 시퀀스 길이에 대해 제곱으로 늘어난다. 선형 어텐션은 먼 컨텍스트를 고정 크기 상태로 압축해 토큰 수에 선형인 비용을 만들지만, 이를 영상 모델에 그대로 적용하면 압축된 상태가 Softmax가 누리는 미세한 상호작용을 보존하지 못해 생성 품질이 뚜렷하게 떨어진다. 논문은 이 격차를 세 가지 불일치로 정리한다. 첫째, 고정 크기 상태는 시퀀스가 길어져도 용량이 늘지 않으면서 피사체 정체성, 장면 레이아웃, 외형, 장거리 모션 같은 전역 속성을 유지해야 한다. 둘째, 델타 규칙 선형 어텐션은 보통 토큰 하나씩 순환 상태를 갱신하는데, 영상 확산은 한 프레임의 모든 공간 토큰을 동시에 처리하므로 패치 순서를 임의로 강제하는 것은 부자연스럽고 상관된 쓰기를 독립적으로 취급하면 서로 간섭한다. 셋째, Softmax로 사전학습된 모델에 무작위 초기화된 선형 경로를 추가하면 정보 흐름과 잔차 스트림 활성 통계가 모두 바뀌어, 새 분기가 쓸모를 갖기 전에 사전학습된 능력을 훼손할 수 있다.
어떻게 동작하나
Video DeltaNet(VDN)은 video-to-video 어텐션을 시간적 역할에 따라 나눈다. 가까운 프레임은 양방향 슬라이딩 윈도 안에서 정확한 Softmax 어텐션을 유지하고, 먼 영상 컨텍스트는 선형 어텐션으로 요약한다. 윈도 크기는 토크나이저를 따른다. H3의 VAE가 연속된 5개 latent frame을 하나의 temporal chunk로 디코딩하므로 각 query chunk는 자기 자신과 바로 앞뒤 chunk에 어텐션하며, 경계를 제외하면 15프레임 윈도가 된다. 여기에 4방향 연결을 갖는 경계 앵커 두 개를 더한다. 모든 영상 프레임이 첫 번째와 마지막 latent frame의 모든 토큰에 어텐션하고, 첫 번째와 마지막 프레임은 전체 시퀀스에 어텐션한다. 밀집 연결은 두 개의 프레임 행과 열만 받으므로 비용이 작으면서도 클립 양 끝의 전역 참조를 명시적으로 확보한다. 선형 분기는 양방향 스캔으로 나머지 컨텍스트를 담당한다. query 프레임 t에 대해 forward 상태 S_t→는 Softmax 윈도 이전 프레임들을, reverse 상태 S_t←는 윈도 이후 프레임들을 요약하며, 두 영역이 서로소이므로 readout을 더해도 어떤 프레임도 두 번 세지 않는다. 즉 o_t^L = S_t→ q_t + S_t← q_t 이다. 선형 메모리는 텍스트도 인식한다. 영상 시퀀스를 스캔하기 전에 모든 텍스트 토큰을 상태 S_T로 요약하고 각 방향 스캔을 S_T/2로 초기화해서, 두 readout의 합이 프롬프트를 정확히 한 번 계상하도록 만든다.
무엇과 다른가
두 분기는 사전학습된 QKV 프로젝션에서 query, key, value 입력을 공유한다. Softmax 분기는 H3의 QK 정규화와 rotary 위치 처리를 그대로 유지하고, 선형 분기는 Gated DeltaNet과 Kimi Delta Attention을 따라 K와 V에 separable short convolution을 적용한 뒤 SiLU를, Q와 K에는 L2 정규화를 적용한다. 공개된 K/V convolution은 depthwise 5×5 공간 필터와 5탭 시간 필터로 구성되며 선형 분기에는 rotary 임베딩을 넣지 않는다. 두 분기는 출력 스케일이 다르므로 보정이 필요하다. Softmax를 국소 윈도와 경계 앵커로 제한하면 확률 질량이 더 적은 key에 집중되므로 content-dependent sigmoid gate를 Softmax readout에 적용하고, 선형 readout은 RMS 정규화를 거친 뒤 자체 sigmoid 출력 게이트를 통과한다. 별도의 decay 게이트와 write 게이트가 순환 구조 안에서 메모리 유지와 프레임 갱신을 제어한다. 각 분기는 독립적인 출력 프로젝션을 가져 Y = Õ^S W_O^S + Õ^L W_O^L 로 합쳐지고, 이 결과가 사전학습된 잔차 스트림으로 들어가며 기존 feed-forward 서브레이어는 손대지 않는다.
어떻게 쓰나
핵심 기여인 Video Delta Attention(VDA)은 델타 규칙을 개별 토큰에서 프레임 전체로 확장한다. 표준 토큰 단위 갱신은 S̄_t = S_{t-1} Diag(α_t), S_t = S̄_t + β_t (v_t − S̄_t k_t) k_t^T 이며, α_t는 상속 메모리 잔존량, β_t는 erase-and-write 보정 강도를 조절한다. 프레임의 모든 토큰 보정을 같은 S̄_t에서 병렬로 계산하는 배치식(SANA-WM이 채택한 형태)은 S_t^batch = S̄_t (I − A_t) + B_t 가 되는데, 여기서 A_t = K_t^T Diag(β_t) K_t 는 key 상관을, B_t = V_t^T Diag(β_t) K_t 는 value-key 쓰기를 요약한다. 문제는 모든 잔차가 동일한 S̄_t를 사용하기 때문에 key 방향이 겹치는 패치들이 서로를 고려하지 않은 채 상충하는 쓰기를 만들 수 있다는 점이다. VDA는 프레임의 모든 공간 토큰이 하나의 새 상태를 함께 결정하도록 목적함수 argmin_S 1/2‖S − S̄_t‖_F^2 + 1/2 Σ_u β_{t,u}‖S k_{t,u} − v_{t,u}‖_2^2 를 풀고, 그 해로 S_t (I + A_t) = S̄_t + B_t, 즉 S_t = (S̄_t + B_t)(I + A_t)^{-1} 를 얻는다. 배치식과 달리 각 잔차가 공유된 갱신 상태 S_t에서 평가되고, 역행렬이 쓰기들을 결합해 두 패치 key가 겹칠 때 그 내적이 양쪽 유효 보정에 반영된다. 역행렬은 d_k × d_k key 채널 공간에서 계산한다. 논문은 또한 β_{t,u} ≥ 0, 0 ≤ α_{t,j} ≤ 1이고 prepared feature와 gate가 고정일 때 전이 M_t = Diag(α_t)(I + A_t)^{-1} 가 ‖M_t‖_2 ≤ 1 을 만족한다는 명제를 제시한다. 즉 이전 프레임에서 넘어온 기여가 프레임 갱신으로 증폭될 수 없다. 프레임 크기 스케일링이 없는 덧셈식 프레임 쓰기는 상속 상태를 증폭시킬 수 있어 SANA-WM은 key를 1/√U로 스케일하는데, VDA는 이 비확장성을 (I + A_t)^{-1} 에서 직접 얻는다.
전제와 한계
학습은 사전학습 가중치를 전 단계 동결한 채 세 단계로 진행된다. A1 per-layer alignment에서는 각 선형 분기를 동결된 사전학습 활성으로부터 독립적으로 200스텝 초기화하는데, 깊은 스택을 동시에 바꾸며 초기화 신호를 보내는 것을 피하기 위한 국소 목적이다. 이때 Softmax 게이트는 0.99 초기값으로 고정하고 레이어별 gradient clip을 0.1로 건다. A2 end-to-end alignment에서는 보정된 분기들을 함께 설치해 500스텝 end-to-end로 최적화하며, 블록을 따로 학습할 때 보이지 않던 조합 오류를 교정한다. 사전학습 가중치와 Softmax 게이트는 동결하고 전역 gradient clip은 1.0이다. Stage B LoRA co-adaptation에서는 Q, K, V, 출력 프로젝션에 LoRA 어댑터를 붙여 선형 경로 및 Softmax 게이트와 함께 2,000스텝 학습한다. 이후 DMD2 스타일 목적함수에서 GAN 항을 뺀 방식으로 50스텝 VDN-H3를 8스텝 샘플러로 증류한다. 학생은 커뮤니티 MiniMax-H3-Turbo-LoRA에서 초기화하고 VDN-H3 자신의 50스텝 샘플러를 교사로 삼아, 아키텍처 변환과 스텝 감소 효과를 분리한다. generator, real-score, fake-score 역할은 별도 어댑터를 통해 하나의 FSDP 백본을 공유하고 generator 업데이트당 fake-score를 3회 갱신하며, 공개 체크포인트는 250 generator 스텝 학습되었다.
추론 경로는 SGLang 팀과 협업해 최적화했다. VDA의 데이터 준비와 readout은 VDA-Prep, VDA-Stats, VDA-Gather, VDA-Epilogue 네 개의 fused Triton 커널로 구성된다. VDA-Prep은 시간 convolution, SiLU, L2 정규화, K/V의 frame-major 레이아웃 변환을 한데 묶고, VDA-Stats는 프레임별 통계 A_t와 B_t를 한 번의 패스로 만들며, VDA-Gather는 국소 윈도 경계에서 두 방향 상태를 모아 decay bridge를 적용하고, VDA-Epilogue는 RMS 정규화와 출력 게이팅, 최종 레이아웃 변환을 결합한다. VDA는 프레임마다 affine 전이를 정의하지만 어텐션은 VAE chunk 경계에서만 메모리를 읽으므로, 각 chunk를 S_out = S_in M_chunk + J_chunk 로 합성해 더 짧아진 chunk 시퀀스를 양방향으로 한 번의 커널 런치로 스캔한다. 프롬프트 상태는 선행 가상 프레임으로 포함된다. (I + A_t)^{-1} 는 배치 Cholesky 파이프라인이 여러 커널 런치와 중간 메모리 읽기·쓰기를 유발하므로, 레지스터 안에서 blocked Gauss-Jordan 소거를 수행하고 전이·주입 항을 직접 출력하는 단일 CUDA 커널로 대체했으며 역행렬과 순환 상태 갱신은 FP32로 유지한다. 그 밖에 윈도 Softmax는 visible-key 패턴별로 query를 묶어 전역 마스크 없이 FlashAttention의 varlen API를 쓰고, Ulysses 방식을 따라 VDA를 어텐션 헤드 단위로 샤딩해 윈도 Softmax와 나란히 사이드 스트림에서 실행하며, MXFP8로 넓은 QKV·출력·feed-forward GEMM을 가속하고 AdaLN 변조 파라미터는 블록 루프 전에 미리 계산한다.
실험은 1344×768 해상도, 24fps 345프레임(14.375초) 클립 10,015개로 구성한 학습셋을 사용하며, 각 샘플은 (24,102,48,84) 형태의 비디오 latent, (2,32,575) 스테레오 오디오 latent, 토큰 타입 태그가 붙은 Qwen3-VL 텍스트 임베딩 (L,5120)으로 미리 인코딩·캐시해 VAE와 텍스트 인코더를 학습 루프에서 제거한다. 평가는 고정된 서드파티 세트의 프롬프트 103개를 쓰고 모든 모델이 같은 해상도·길이로 렌더링한다. 베이스라인은 50 NFE의 Dense H3와 4 NFE의 FastH3다. 품질 면에서 8스텝 VDN-H3는 EvalCrafter VQA A·VQA T, Q-Align, FAST-VQA, DOVER++ overall 다섯 개 no-reference 지표 모두에서 50스텝 Dense H3와 같거나 앞서며 차이는 +0.06에서 +1.00 사이고, FastH3는 Dense H3보다 2.70~12.74점 낮다. RAFT 평균 flow 크기는 11.71 대 11.55 픽셀로 비슷하게 유지되는 반면 FastH3는 9.19로 떨어진다. FIRM-Video에서도 Instruction Following은 2.25로 동일하고 Perceptual Quality는 4.45 대 4.40으로 약간 높으며 World Coherence는 1.77 대 1.84로 비슷한데, FastH3는 세 축 모두 낮다. first-last-frame-to-video에서는 PSNR 28.67 대 28.85(0.18 dB 차), SSIM 0.826 대 0.833, LPIPS 0.1156 대 0.1044(낮을수록 좋음)로 Dense H3에 근접하며, FastH3는 PSNR과 SSIM이 각각 1.26 dB, 0.048 하락하고 LPIPS가 0.079 증가한다.
효율 실험에서 같은 시퀀스 길이와 NFE로 트랜스포머 1회 평가를 비교하면 14.3초 768p 워크로드에서 시스템 최적화된 VDN-H3 백본이 H200 1장에서 35.35초를 11.16초로(3.2배), B200 1장에서 16.0초를 6.2초로(2.6배) 줄인다. latent frame이 42개에서 102개로 늘 때 측정된 Softmax 어텐션 밀도는 42.1%에서 20.0%로 떨어지고, 같은 구간에서 백본 전체 속도 향상은 H200에서 1.8배에서 3.2배로, B200에서 1.7배에서 2.6배로 커진다. 최적화된 백본에 8스텝 증류를 적용하면 B200 1장 디노이징이 307.9초에서 49.3초로 줄고, 8-GPU head-sharded 추론으로 최종 지연이 B200에서 6.7초, H200에서 12.5초가 된다. 이는 같은 GPU 수의 50스텝 dense H3 베이스라인 대비 14.5배에 해당한다. 어블레이션에서 VDA-Prep은 H200 18.0→1.6 ms, B200 17.1→3.4 ms로 줄고, VDA-Stats는 2.1배·2.9배, VDA-Gather는 7.2배·7.5배, VDA-Epilogue는 7.3배·9.1배 속도 향상을 보인다. chunk-wise scan은 56개 head를 한 GPU에 올릴 때는 오버헤드가 되지만 8-GPU 추론에서 rank당 7개 head로 샤딩하면 H200 4.6→1.1 ms, B200 3.0→0.8 ms로 줄어든다. 소행렬 역행렬은 다중 커널 Cholesky 경로를 fused inverse로 바꿔 H200 7.8→1.7 ms, B200 6.3→1.3 ms로 4.6~5.0배 빨라지고, Window Softmax는 B200에서 69.5→56.1 ms로 개선되지만 H200에서는 112.6 대 112.1 ms로 거의 변화가 없다. 학습 환경은 PyTorch 2.13, CUDA 12.9, H200과 B200 클러스터이며 FSDP2/HSDP, activation checkpointing, pinned-memory activation offload를 쓰고 파라미터는 bf16, gradient는 FP32로 reduce하되 decay-α 모듈은 FP32로 유지한다.
실무 관점에서 이 논문이 주는 것은 새 기반 모델이 아니라 사전학습된 영상 확산 백본을 선형 메모리로 갈아끼우는 적응 레시피와 서빙 스택이다. 긴 영상이나 라이브스트림처럼 latent frame 수가 많아 Dense Softmax 비용이 제곱으로 커지는 워크로드에서, 국소 윈도와 경계 앵커만 Softmax로 남기고 나머지를 선형 상태로 옮기는 전략은 시퀀스가 길어질수록 이득이 커진다는 점이 수치로 확인된다. 다만 도입 전에 확인할 것이 있다. VDA의 비확장성 명제는 prepared feature와 gate가 고정되었다는 전제에서 성립하고, 경계 앵커는 선형 상태에서 제외되며 텍스트는 선형 분기에서 정확히 한 번만 계상되도록 초기화가 맞물려 있다. 또한 품질 평가는 103개 프롬프트의 고정 세트에서 Dense H3와 동등하거나 약간 초과하는 근소한 차이로 보고되므로, 자체 도메인과 프롬프트 분포에서 별도 검증이 필요하다. 원문은 별도의 한계 절을 두지 않지만, chunk-wise scan이 단일 GPU의 56-head 구성에서는 오히려 오버헤드가 된다는 점, 그리고 전체 파이프라인이 8스텝 증류와 8-GPU head 샤딩, MXFP8 GEMM 같은 특정 서빙 구성에 묶여 보고된다는 점은 재현 시 고려해야 할 전제다.