《GPU Mode》
L059
2025 · Video diffusion
Mid priority
transcript · failed
FastVideo — 비디오 디퓨전 가속
텍스트→비디오 모델 (HunyuanVideo, CogVideoX, Wan2 등) 의 inference 비용은 image diffusion 의 수백 배다 — frame 수 × spatial × temporal attention. FastVideo 는 UCSD-Hao AI Lab 의 오픈소스 스택으로, sliding tile attention · sequence parallel · distillation · quantization 을 한 묶음으로 제공해 비디오 한 클립의 wall-clock 을 분 단위에서 초 단위로 끌어내린다. 이 노트는 그 가속 트릭들을 한 자리에 정리한다.
video diffusion
DiT
sliding tile attention (STA)
sequence parallel
consistency distillation
FP8
HunyuanVideo
CogVideoX
F
Speaker
미상 (Hao AI Lab · 확인 필요)
FastVideo 메인테이너 — Peiyuan Zhang / Hao Zhang lab 후보
§ 01강의가 풀려는 문제· why fastvideo
한 클립 만드는 데 H100 8장에서 5분 — 이 비용을 한 자리수 내려야 한다
2024–25 의 텍스트→비디오 오픈소스 모델 (HunyuanVideo 13B, CogVideoX-5B, Wan2.1) 은 5초/24fps/720p 클립 하나에 H100×8 으로 3~10분 이 걸린다. FastVideo 의 미션은 이 시간을 — 모델 품질 손실 거의 없이 — 10× 이상 끌어내리는 것. 강의는 그 트릭 묶음의 인벤토리.
Transcript 가 비어 있으므로 이 노트는 FastVideo 의 GitHub repo (hao-ai-lab/FastVideo) 와 그 위의 두 핵심 논문 — Sliding Tile Attention (2025), Fast Video Generation with Sliding Tile Attention — 그리고 sequence parallel 관련 자료를 base 로 재구성. 강의에서 어떤 비중으로 어느 컴포넌트를 다뤘는지는 확인 필요.
FastVideo 가 묶는 것
FastVideo 는 단일 트릭이 아니라 가속 스택이다. (1) 효율적 attention (Sliding Tile Attention), (2) 분산 inference (sequence parallel · Ulysses · Ring), (3) distillation (consistency / step distillation), (4) quantization (FP8 / INT8). 사용자는 모델만 가져오면 같은 API 로 여러 트릭을 켜고 끈다.
“image diffusion 의 가속 트릭이 비디오에 그대로 안 옮겨진다 — 비용 구조가 다르고, attention 의 형태가 다르다.”FastVideo 저자들 / 확인 필요
강의의 frame 은 따라서 — (§02) 비용이 어디서 발생하는지를 본 뒤 → (§03–04) 비디오 attention 의 특이성을 깔고 → (§06) FastVideo 가 거기에 어떤 트릭을 박는지를 차례로 본다.
§ 02비용 구조· where the FLOPs go
token 수가 image 의 100~1000 배다 — 그 산수가 모든 것을 지배한다
video DiT 의 한 sample 안 token 수를 산수로 잡아보자. F = frames (예: 121), H × W = latent spatial dim (e.g. 90×160 for 720p), VAE 가 spatial / temporal 모두 압축한 후. 한 token 이 한 (frame, h, w) 좌표 → token 수 ≈ F × H × W ≈ 121 × 90 × 160 ≈ 1.74M.
비교 — text 토큰 수는 보통 ~256, image diffusion 의 latent 토큰은 ~4K. 비디오는 1.7M. 그러면 attention 의 quadratic 항이:
- image (4K tokens):
4K² = 16M attention scores per layer.
- video (1.7M tokens):
1.7M² = 2.9 × 10¹² scores per layer. 180,000× 더 많다.
물론 실제로는 모델이 각 timestep 에서 한 번씩 forward 하는 게 아니라 — diffusion 은 50개 step (또는 distill 후 4~8 step) 을 도는 inference. 그래서 wall-clock = 50 × layer_count × per-layer-cost.
FLOPs 로 다시 — H100 (BF16, ~990 TFLOPs) 에서 100% saturate 시 5초 클립 ≈ 60초 wall-clock. 실제는 몇 분. 즉 H100 utilization 이 10–20% 수준이라는 뜻 → 가속 여지 거대.
FIG · 비디오 한 클립의 비용 분해HunyuanVideo 13B · 5s 720p
attention 이 거의 4/5. 비디오 가속의 첫 번째 표적은 항상 attention. 수치 예시 — 정확한 분포는 모델 / 해상도 / step 수에 따라 변동 (확인 필요).
이 attention dominance 가 sliding tile attention 의 동기다. attention 자체를 local 로 줄이면 N² 의 N 이 작아진다. 비디오에서는 “3D local” — frame 안 spatial 과 frame 사이 temporal 양쪽으로 인접한 토큰만 보면 된다는 가정.
§ 03spatial · temporal 분리· 3D-attn factorization
full 3D attention vs factorized — 두 갈래의 trade-off
비디오 DiT 가 attention 을 어떻게 잡느냐는 architecture 의 큰 갈림길이다. 두 갈래가 있다 — (a) full 3D self-attention 이 모든 (t,h,w) 토큰을 다 본다. (b) factorized — spatial attention 과 temporal attention 을 분리. HunyuanVideo / CogVideoX 가 (a), 일부 초기 모델과 LTX-Video 가 (b) 의 변형.
(a) Full 3D Self-Attention
모든 토큰이 모든 토큰을 본다
매 layer 가 (F·H·W)² · d 비용. 품질이 가장 좋고 motion consistency 가 강하다. HunyuanVideo, CogVideoX, Wan2 가 이 길.
비용이 거대해서 가속 트릭이 거의 필수 — sliding tile / FlashAttn3 / sequence parallel 이 모두 여기 박힌다.
(b) Factorized
spatial → temporal 두 단계로 분리
spatial attention 은 한 frame 안에서만 ((H·W)²), temporal 은 한 (h,w) 좌표를 따라서만 (F²). 비용이 거의 1/F. 초기 video diffusion (Make-A-Video 등) 이 채택.
단점 — long-range motion / global coherence 가 떨어진다. SOTA 모델들은 (a) 로 돌아가는 추세, 가속은 sliding 같은 sparsification 으로 푼다.
FIG · 3D token grid 위에서 두 attention 패턴F=4 · H×W=4×4 의 단순화
full 3D — 한 query 가 64개 모두 본다
q
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
factorized — spatial(7) + temporal(3)
factorized 는 cross-frame 정보가 한 (h,w) 라인을 통해서만 흐른다 — motion 이 빠른 객체에서 ghost / inconsistency 가 발생. SOTA 비디오 모델이 full 3D 로 돌아간 이유.
§ 04attention 메모리· N² 의 폭발
1.7M tokens 의 attention matrix 는 절대 만들 수 없다
N² 메모리 항이 비디오에서 얼마나 무서운지 — 1.7M × 1.7M × 2 bytes (BF16) ≈ 5.7 TB. 한 layer 의 attention scores 가 HBM 80 GB 의 70배. 따라서 비디오 attention 은 처음부터 FlashAttention 위에서만 가능하다 — softmax 를 tile 단위로 online 으로 도는 길.
FlashAttention v2 / v3 이 비디오 inference 의 출발점이다. 그래도 한계가 있다.
- FlashAttn 이 quadratic 의 비용 자체는 못 줄인다 — 단지 메모리를 O(N) 으로 줄여줄 뿐. compute 비용은 여전히
1.7M² · d.
- 8개 GPU 로 분산해도 한 query 가 모든 KV 를 봐야 한다 — sequence parallel 이 필요. 단순한 TP 는 효과 없음.
- local 가정으로 sparsify 하면 N² → N·k — sliding window / sliding tile. k 는 보통 attention window size (예: 4K).
sliding tile attention 은 (3) 의 길이다. 비디오 토큰 grid 가 3D 이므로 — 인접한 (Δt, Δh, Δw) tile 안의 토큰만 attend. 일반적으로 (3, 6, 6) 정도 → 각 query 가 약 100~500 개 KV 만 본다.
FIG · attention 비용 vs 메모리5s/720p 비디오
attention FLOPs (full)
100%
FlashAttn 으로 메모리 OK 가 됐지만 compute 비용은 여전히 quadratic. STA 가 그 자리를 친다 — 메모리·compute 둘 다 떨어뜨림. 수치는 일반적 산수의 예시 (확인 필요).
§ 05KV cache 변형· no KV in pure DiT
비디오 diffusion 은 LLM 의 KV cache 와 다른 형태로 KV 를 다룬다
LLM inference 에서 KV cache 는 autoregressive step 사이에 K,V 를 누적하는 구조다. video DiT 는 non-autoregressive diffusion — 한 step 에서 모든 token 을 동시에 본다. KV 가 “쌓이지” 않는다. 그래서 KV cache reuse 의 frame 자체가 다르다.
그럼에도 불구하고 KV 라는 이름의 텐서는 매 layer 안에서 만들어진다 — Q, K, V projection. video diffusion 의 KV 관련 절약 전략은 다음 4가지가 흔하다 (FastVideo 와 다른 가속 라이브러리 통합):
- step 간 KV reuse (TeaCache) — 인접한 timestep 사이에 attention output 이 거의 변하지 않는다는 관찰을 이용해 일부 step 에서 prev KV/output 을 재사용. 5~10% 품질 손실로 1.5~2× speedup.
- FlashAttention 의 layer-wise KV reuse — 같은 step 안 layer 사이의 KV 패턴 reuse. 효과가 제한적.
- spatial-temporal token pruning — 변화가 적은 영역의 token 을 attention 에서 빼고 나중에 reconstruction. (확인 필요)
- cross-attention KV reuse — text condition 이 timestep 마다 같으므로 text KV 를 한 번만 계산해 모든 step 에서 공유. 이건 거의 모든 구현이 자동으로 한다.
TeaCache 의 직관
diffusion step t → t+1 사이에 noise schedule 이 천천히 변한다 — 특히 중간 step (denoising 의 가운데 구간) 에서. 그러면 같은 위치의 attention output 이 거의 같다. “이 step 의 self-attention 출력을 새로 만들지 말고 prev step 의 결과로 대체” — 가벼운 residual blending 으로 품질 보전.
FastVideo 는 TeaCache 와 비슷한 step-skipping 트릭을 distillation 과 결합한다. distill 후 step 수가 50 → 4~8 로 줄면 TeaCache 의 이득은 줄지만, 그래도 step 사이에서 더 짧은 reuse 윈도우가 가능.
요약하면 — 비디오 diffusion 의 “KV cache” 는 LLM 의 그것과 의미가 다르다. autoregressive 의 누적이 아니라 step / layer 간 redundancy 의 구조를 의미한다. 이 사실을 LLM 영역에서 넘어온 사람은 자주 헷갈린다.
§ 06가속 트릭 묶음· STA · seq-parallel · distill
FastVideo 가 stack 으로 제공하는 4가지
FastVideo 의 진짜 가치는 — 각 트릭이 따로 있는 게 아니라 한 묶음으로 켤 수 있다는 점. 대표적인 4가지를 묶어둔다.
1. Sliding Tile Attention (STA)
비디오 grid 위에서 3D local 만 attend. window 가 (T_w, H_w, W_w) — 보통 (3, 6, 6) 또는 (5, 8, 8). FlashAttention 의 mask 안에 박혀서 GPU 위에서 dense attention 만큼 효율적. full attention 대비 6~10× speedup, FID 2~5% 손실 (확인 필요).
2. Sequence Parallel (Ulysses · Ring)
토큰 1.7M 을 GPU 8장에 나눠 들고 attention 만 cross-GPU 로 도는 방식. Ulysses 는 attention 직전에 head 차원으로 all-to-all, 직후에 다시 all-to-all. Ring 은 KV 를 ring 으로 돌려가며 마주친 query 와 attend. video DiT 에서는 둘 다 채택 — Ulysses 가 더 간단, Ring 이 더 큰 sequence 에 강하다.
FIG · sequence parallel 의 두 변형8 GPU · 1.7M tokens
A
Ulysses
all-to-all on head dim
B
Ring
KV rotation between GPUs
C
USP (Unified)
Ulysses + Ring 결합
FastVideo 는 USP (Unified Sequence Parallel) 도 지원. 큰 모델 + 큰 sequence 에서 Ulysses 의 통신 효율 + Ring 의 메모리 친화성을 결합. (확인 필요 — 정확한 dispatch 조건)
3. Step Distillation (consistency / progressive)
50 step diffusion 을 4~8 step 으로 축소. teacher 모델로 student 를 학습 — student 는 한 step 에서 teacher 의 여러 step 결과를 흉내. 품질 손실 적게 6~10× 시간 절약. FastVideo 가 distillation 학습 코드까지 제공해 사용자가 자기 모델을 distill 할 수 있다는 점이 다른 가속 라이브러리와 차이.
4. Quantization (FP8 / INT8)
Hopper 의 FP8 Tensor Core 로 GEMM weight + activation 을 8-bit. 1.5~2× speedup, 메모리 절반. text encoder 와 VAE 도 같이 quantize. 일반적으로 attention 의 softmax 만 BF16 유지.
스택의 효과 — 다 켜면
STA + sequence parallel + distill + FP8 의 곱셈 효과로 — HunyuanVideo 13B 의 5초 720p 클립이 H100×8 에서 3분 → 15초 수준. 정확한 조합 / 수치는 모델별로 다름 (FastVideo README 참조 — 확인 필요).
“가속의 한 트릭이 5~10× 인데 4개 합치면 곱이 아니라 합 가깝게 떨어진다 — 이미 빠른 path 에서 다음 트릭이 누르는 자리가 좁아진다.”학습 노트
§ 07채택 사례 · 모델· HunyuanVideo · Wan2
FastVideo 가 곧장 지원하는 모델들
2025 년 시점에 FastVideo 는 다음 오픈소스 비디오 모델들을 first-class 로 지원한다 (확인 필요 — 활성 개발 중이라 목록 변동).
HunyuanVideo (Tencent · 13B)
full 3D self-attention. STA + 8-GPU sequence parallel + distillation 의 reference 모델. 5s 720p in ~15s.
CogVideoX (Zhipu · 5B)
full 3D + text-video joint encoder. FastVideo 가 USP 와 FP8 위주로 가속. (확인 필요)
Wan2.1 (Alibaba · 14B)
2025 발표 모델. FastVideo 가 STA window 를 모델에 맞게 튜닝해서 reference 가속 제공.
LTX-Video (Lightricks)
factorized + DiT 의 hybrid. FastVideo 의 STA 가 잘 안 맞을 수 있음 (factorized 영역) — 확인 필요.
Mochi-1 (Genmo)
1024 token-per-frame 의 dense DiT. STA 효과 큼. (확인 필요)
Stepvideo · Pyramid-Flow
기타 — FastVideo issue tracker 에 community 의 채택 요청 활발.
중요한 패턴 — FastVideo 의 STA window 와 distill schedule 은 모델마다 sweep이 필요하다. 같은 (3,6,6) 가 모든 모델에 최적이 아니다. 일반적으로 — 강한 motion 이 있는 모델일수록 temporal window 를 키운다.
§ 08image diff 와의 차이· scale, not just length
비디오는 image 의 “F배” 가 아니라 “F×attention² × distill 곤란” 이다
image diffusion 의 가속 트릭이 비디오에 그대로 옮겨지지 않는 이유를 정리한다. 같은 DiT, 같은 timestep, 같은 noise schedule 인데 어디서 다른가.
Image Diffusion (SD3, FLUX 등)
이런 트릭들이 잘 통한다
step distillation (Lightning, LCM) — 50 → 4 step 이 거의 무손실. knowledge distillation 으로 작은 모델로 옮기는 게 쉬움. memory pinch 가 약해서 single GPU 로 충분.
attention 비용이 작아서 (~4K tokens) — sliding window 이득이 적다. 대부분 가속이 step 수 줄이는 데 집중.
Video Diffusion
전혀 다른 cost regime
distillation 어렵다 — temporal consistency 를 student 가 흉내내기 어려움. 4-step distill 의 품질 손실이 image 보다 큼. multi-GPU 필수 — sequence parallel 이 있어야 메모리에 들어감.
attention 이 dominant — sliding tile / FlashAttn3 의 절대값 이득이 image 와 비교 안 될 만큼 큼. 가속 stack 의 첫 표적이 항상 attention.
옮겨지지 않는 트릭들
image 에서 잘 도는 — (1) torch.compile + fused conv (비디오는 attention dominant), (2) 4-step distill (비디오는 temporal coherence 손실 큼), (3) single-GPU half-precision (비디오는 메모리에 안 들어감). FastVideo 는 그래서 비디오 전용 stack 으로 따로 만들어진다.
§ 09다음 단계· streaming · long-form
5초 이상 — long-form 비디오로 가는 길
현재 SOTA 오픈 비디오 모델의 한계는 5–10초. 1분 이상의 long-form 비디오는 — naive 하게 하면 attention N² 이 100× 더 커진다. 다음 단계의 가속 / architecture 는 이 길을 푼다.
FIG · 비디오 길이별 비용 곡선token 수 vs attention cost
naive full-attention 의 cost 가 N² 라 1분 비디오는 5초의 144 배. STA 같은 local window 면 N 으로 떨어진다 (12×). 그래서 long-form 으로 갈수록 sliding 의 이득이 더 크다.
- streaming generation — 5초씩 생성해 chunk 로 이어붙이는 패턴. inter-chunk consistency 를 KV reuse 또는 latent context 로 유지. 확인 필요.
- autoregressive video DiT — 일부 frame 을 condition 으로 다음 frame 을 만드는 hybrid. KV cache 가 LLM 처럼 누적되는 형태로 돌아옴 → LLM 가속 트릭 (vLLM-style) 이 다시 의미를 갖는다.
- hierarchical generation — 저해상도 비디오 먼저 → upsample. spatial / temporal 모두 cascade.
- 3D VAE 의 압축률 향상 — 같은 픽셀 비디오가 더 적은 latent 토큰으로. 이게 가장 깨끗한 길 — token 수 자체를 줄이면 모든 가속 트릭이 무료로 함께 빨라진다.
“video diffusion 의 다음 가속은 attention 트릭이 아니라 — token 의 정의 자체 (VAE 압축) 와 generation 패러다임 (auto-regressive vs full-step) 에서 나올 가능성이 크다.”학습 노트
§ 10기억할 메모와 코드· key takeaways · repo
다시 열었을 때 빨리 잡혀야 할 것
video token 산수
F × H × W ≈ 1.7M for 5s/720p. attention N² 가 거의 모든 비용.
Sliding Tile Attention
3D local window (T,H,W) — 보통 (3,6,6). full 대비 6~10× speedup. FlashAttn3 위에 박힘.
sequence parallel
Ulysses(all-to-all) / Ring(KV rotation) / USP. 비디오는 single-GPU 에 안 들어감 → 필수.
step distillation
50 → 4~8 step. 비디오에서는 image 보다 손실 큼. teacher 코드까지 FastVideo 가 제공.
FP8 quantization
Hopper 의 FP8 Tensor Core. 1.5~2×. softmax 만 BF16 유지.
step skipping (TeaCache)
중간 step 에서 prev 결과 재사용. distill 과 결합 시 효과 감소.
image diff 와 차이
image: step distill 이 dominant. video: attention reduction 이 dominant.
long-form 의 trade-off
naive cost N². sliding 이면 N. streaming / hierarchical 이 다음 답.
손에 새기기 — 실습 시퀀스
- HunyuanVideo baseline — H100×8 에서 5초 720p 클립 한 번 생성. wall-clock 기록.
- FastVideo 로 같은 클립 — STA + sequence parallel + FP8 켜고 같은 prompt 재생성. wall-clock 비교 + side-by-side 시각 품질 검증.
- STA window sweep — (3,6,6) / (3,8,8) / (5,8,8) 중 어느 게 가장 좋은 trade-off 인지 자기 prompt 분포에서 확인. 빠른 motion 시 temporal window 의 영향이 큼.
- distill checkpoint 만들기 — FastVideo 의 distill 스크립트로 50→4 step student 학습. teacher 와 FID 비교.
- Nsight 으로 attention dominance 검증 — 한 generation step 의 ncu / nsys trace. attention 이 정말 78% 비용인지 자기 GPU 에서 확인.
- 긴 prompt vs 짧은 prompt — text condition 의 길이가 cross-attn 비용을 얼마나 흔드는지 측정. (보통 적음)
§ 11다른 강의로· connections
이 강의의 트릭이 다른 강의에서 어떻게 다시 등장하는지
§ 12열린 질문· open questions
transcript 가 비어 있어 직접 검증해야 할 것들
강의 자체의 transcript / 슬라이드가 없어 — 본문은 FastVideo repo / STA 논문 / 일반적 video diffusion 가속 자료의 재구성. 영상 시청으로 검증할 사실들.
- 발표자 정체 — Hao AI Lab 의 Peiyuan Zhang (FastVideo 메인테이너) 또는 Hao Zhang 본인 가능성. 확인 필요.
- STA window 의 권장 default — (3,6,6) 와 (5,8,8) 중 어느 쪽이 강의에서 권장됐는지. 모델에 따라 다른 default 가 있을 가능성.
- distillation recipe — consistency 인지 progressive 인지, teacher 로부터 몇 epoch 학습하는지 — 강의 안 구체 수치는 미확인. repo 안에 있을 가능성.
- FP8 의 정확도 영향 — 강의에서 FID / quality metric 비교가 등장했는지. FP8 attention 의 안정성은 모델별로 다름.
- sequence parallel 의 communication 비용 — Ulysses 의 all-to-all 이 1.7M token 에서 얼마나 비싼지 timeline 비교. 강의에서 직접 보여줬을 가능성.
- HunyuanVideo / Wan2 의 license / production 사용 — 강의 시점의 모델 라이선스 / commercial 사용 가능성 미확인.
- 음성 / multi-modal 통합 — FastVideo 가 audio-conditioned 비디오까지 다루는지 확인 필요.
검증 메모
본 노트의 모든 시간 수치 (3분 → 15초 등) 와 비용 분포 (78% attention 등) 는 일반적 산수와 FastVideo README 의 트렌드를 재구성한 예시값이다. 자기 GPU / 자기 모델에서 직접 측정하지 않은 절대값은 그대로 인용하지 말 것.