视频生成推理的 GPU 算力:从一道算术题说起
1600 张 H100 做视频生成推理,线上只能跑 42 QPS -- 从一道简单的除法出发,拆解视频生成为什么是当前 AI 推理中算力密度最高的任务。
引子:一道看似简单的除法
有人算了一笔账:1600 张 H100 做视频生成推理,线上 aigc 服务只能多跑 40 多 QPS。
怎么算的?公式很简单:
300 / 8 * 43 / 1600 = 1.0
这四个数分别代表什么?为什么 1600 张顶级 GPU “只能”服务 42 个并发请求?这篇文章从零开始拆解。
第一步:一张 H20 生成 10 秒视频要多久?
答案是 300 秒(5 分钟)。
这是公式里的第一个数。H20 是 NVIDIA 面向中国市场的”阉割版”GPU,算力被限制了,但显存和带宽没砍。
为什么这么慢?后面会详细解释视频生成的计算量。先建立直觉:一张卡,闷头算 5 分钟,才出 10 秒视频。
第二步:H100 比 H20 快多少?
答案是 约 8 倍。这是公式里的 ”/ 8”。
| 指标 | H100 SXM | H20 | 倍数 |
|---|---|---|---|
| BF16 算力 | 989 TFLOPS | 148 TFLOPS | 6.7x |
| FP8 算力 | 1,979 TFLOPS | 296 TFLOPS | 6.7x |
| 显存带宽 | 3.35 TB/s | 4.0 TB/s | 0.84x |
| 显存容量 | 80 GB | 96 GB | 0.83x |
关键 insight:视频生成是 compute-bound(算力瓶颈),不是 memory-bound(带宽瓶颈)。所以:
- H20 的带宽更高(4.0 vs 3.35 TB/s)在这个场景没用
- H20 的显存更大(96 vs 80 GB)在这个场景也没用
- 唯一决定性能的是算力:989 / 148 = 6.7x,加上一些工程优化后约 8x
所以:H100 单卡生成 10 秒视频 = 300 / 8 = 37.5 秒
第三步:1600 张 H100 同时干活,能撑多少 QPS?
每张卡 37.5 秒处理一个请求,1600 张卡同时工作:
QPS = 1600 / 37.5 = 42.7
结论:1600 张 H100 全部打满,刚好能支撑 42~43 QPS 的 10 秒视频生成。
停一下:为什么直觉上觉得不对?
1600 张 H100!这可是顶级算力集群。跑大模型推理(LLM)可以做到每秒数千个请求。为什么视频生成只有 42?
为了理解这一点,需要知道视频生成到底在算什么。
视频生成的计算流水线
一个视频生成请求要经过以下步骤:
文字提示 -> Text Encoder -> Latent Space Noise
|
DiT Denoising Loop (30~100 步)
|
3D VAE Decoder -> 视频输出
关键在中间那个循环:DiT(Diffusion Transformer)去噪循环。
每一步去噪都是一次完整的 Transformer forward pass。典型配置是 50 步。也就是说,生成一个视频要跑 50 次完整的大模型推理。
为什么每步都这么贵?Attention 的 O(T^2) 诅咒
视频和图片的根本区别:时间维度。
- 图片生成:1 帧,patch 成若干 token(比如 1024 个)
- 视频生成:10 秒 * 16fps = 160 帧,即使经过 VAE 时序压缩 4x,仍然是 40 个时序位置
token 总数 = 空间 token x 时间 token。如果图片是 1024 个 token,10 秒视频就是:
1024 * 40 = 40,960 个 token(compressed)
而 Transformer 的 self-attention 成本是 O(N^2) — token 数翻倍,计算量翻 4 倍。
从图片(1 帧)到视频(160 帧),即使 VAE 做了 4x 时序压缩:
40^2 / 1^2 = 1,600 倍
这就是视频生成贵的根本原因:不是帧数线性增长,是 attention 成本平方增长。
算一笔总账
以一个典型 10B 参数的视频生成模型为例:
| 组件 | 值 |
|---|---|
| 模型参数 | ~10B |
| Latent tokens/step | ~216K |
| 单步 FLOPS | 2 * 10B * 216K = 4.32 PFLOPS |
| 去噪步数 | 50 |
| 总 FLOPS | 4.32 * 50 = 216 PFLOPS |
对比其他任务:
| 任务 | 单请求计算量 | 倍数(vs LLM) |
|---|---|---|
| LLM (1K token) | ~0.1 PFLOPS | 1x |
| 图片生成 | ~10 PFLOPS | 100x |
| 视频生成 (10s 720p) | ~200 PFLOPS | 2,000x |
| 视频生成 (10s 1080p) | ~600 PFLOPS | 6,000x |
视频生成的计算量是 LLM 的 2000 倍。这就解释了为什么相同的集群,LLM 能做到数千 QPS,而视频生成只有 42。
实测数据验证
开源项目的 benchmark 给出了参考:
| 模型 | 视频规格 | 单 H100 延迟 |
|---|---|---|
| CogVideoX-5B | 6s / 720x480 / 50 步 | ~90s |
| CogVideoX1.5-5B | 5s / 1360x768 / 50 步 | ~550s |
| Open-Sora | 768x768 / 50 步 | ~1656s (28 分钟) |
| LTX-Video (2B) | 5s / 768x512 | ~2s(模型极小) |
学术 benchmark 显示 90~1656 秒,但我们估算的是 37.5 秒?
生产优化:从 90 秒到 37.5 秒
差距的原因是生产系统用了大量工程优化:
- 步数蒸馏(Consistency Distillation):50 步 -> 4
8 步,速度提升 612x - FP8/INT8 量化:算力等效提升约 2x
- 更激进的 VAE 压缩:比如 LTX-Video 用 1:192 压缩比
- 更小的模型:生产未必用 10B+,可能 2~5B
- Flash Attention / 算子融合:减少内存往返
这些优化叠加后,单 H100 从学术的 90 秒降到 ~37.5 秒是合理的。
多卡并行:能不能进一步降低延迟?
可以。Open-Sora 用 Sequence Parallelism 的数据:
| GPU 数量 | 延迟 | 加速比 |
|---|---|---|
| 1x | 1656s | 1.0x |
| 2x | 863s | 1.9x |
| 4x | 466s | 3.6x |
| 8x | 276s | 6.0x |
8 卡做到 6x 加速(不是理想的 8x,通信开销损失了 25%)。
但这里有个权衡:用 8 卡加速一个请求,QPS 不变(甚至下降)。生产系统需要在单请求延迟和总吞吐之间取舍:
- 如果追求 QPS:每张卡独立处理一个请求(37.5s 延迟,42 QPS)
- 如果追求延迟:8 卡一组处理一个请求(~5s 延迟,但 QPS 降到 ~5)
总结:为什么 1600 张 H100 只能做 42 QPS
回到最初的公式:
300(H20延迟) / 8(性能比) * 43(并发数) / 1600(卡数) = 1.0(打满)
本质原因:
- O(T^2) Attention:视频的 160 帧带来 25,600 倍于图片的 attention 开销
- 多步去噪:50 步 = 50 次完整 forward pass
- 巨大的 token 序列:
216K tokens,远超 LLM 的 14K - Compute-bound:纯靠算力堆,带宽和显存帮不上忙
视频生成是当前 AI 推理中算力密度最高的任务,没有之一。
附录:技术细节
A. Sora/可灵/CogVideoX 的架构
- 均基于 DiT (Diffusion Transformer) 架构
- 使用 3D VAE 在时间和空间维度同时压缩
- 视频被编码为 spacetime patches 作为 Transformer token
- Full spatio-temporal attention 跨所有帧
B. Temporal Pyramid 优化
将均匀时序 attention (T^2) 变为金字塔结构:
总成本 = 1/3 * (T^2 + (T/2)^2 + (T/4)^2) = 0.44 * T^2
减半计算成本,是当前视频生成效率优化的主要方向之一。
C. LTX-Video 的极端路线
- 2B 参数(vs Sora 传闻 30B+)
- 1:192 压缩比(32x32x8 时空下采样)
- H100 上 2 秒生成 5 秒视频
- 代价:质量无法与 Sora/可灵相比
DiT 架构的计算解剖
理解视频生成的计算量,需要深入 DiT 的内部结构。
3D VAE:时空压缩的第一层
视频在进入 DiT 之前,先经过 3D VAE(Variational Autoencoder)进行时空压缩。与图片生成用的 2D VAE 不同,3D VAE 同时在空间和时间两个维度做降采样:
原始视频: [T=160, H=720, W=1280, C=3]
|
3D VAE Encoder (spatial 8x, temporal 4x)
|
Latent: [T=40, H=90, W=160, C=16]
压缩比:160 * 720 * 1280 * 3 / (40 * 90 * 160 * 16) = 48x
即使压缩了 48 倍,latent tensor 仍然巨大:40 * 90 * 160 = 576,000 个空间-时间位置。经过 patchification(通常 2x2 patch)后变成 ~144,000 个 token。
Patchification:从像素到 Token
DiT 将 latent tensor 切成固定大小的 patch,每个 patch 成为一个 token:
Latent [40, 90, 160] -> Patch (2x2 spatial) -> [40, 45, 80] = 144,000 tokens
每个 token 经过线性投影后得到 hidden_dim 维向量(通常 1536~4096),然后喂入 Transformer blocks。
Full Attention 的恐怖代价
DiT 对所有 token 做 full spatio-temporal attention:
Q, K, V shape: [144000, num_heads, head_dim]
Attention matrix: [144000, 144000] -- 单个矩阵 20.7B 元素
每个 attention head: 2 * 144000^2 * head_dim FLOPs
所有 heads + projection: ~2 * seq_len^2 * hidden_dim
以 hidden_dim=2048, 30 layers 为例:
- 单层 attention FLOPs: 2 * 144000^2 * 2048 = 84.9 TFLOPS
- 单层 FFN FLOPs: 2 * 144000 * 2048 * 8192 = 4.8 TFLOPS
- 30 层总计: 30 * (84.9 + 4.8) = 2.7 PFLOPS / step
- 50 步去噪: 135 PFLOPS / video
这就是单个 10 秒视频请求的实际计算量级。
生产优化实践:如何从学术 90 秒降到实际 37 秒
Consistency Distillation:步数压缩
学术标准的 50 步 DDPM 采样效率极低。生产系统使用蒸馏技术将步数压缩到 4~8 步:
| 方法 | 步数 | 质量(FVD) | 加速比 |
|---|---|---|---|
| DDPM 50 步 | 50 | 基准 | 1x |
| DDIM 20 步 | 20 | -3% | 2.5x |
| LCM (蒸馏) | 4~8 | -5% | 6~12x |
| Consistency Model | 1~2 | -15% | 25~50x |
LCM(Latent Consistency Models)是目前生产中最常用的方案:质量损失可控(FVD 仅下降 5%),速度提升 6~12 倍。
FP8 量化:计算翻倍
H100 原生支持 FP8(E4M3 格式)计算:
- FP16 TFLOPS: 989
- FP8 TFLOPS: 1,979(翻倍)
- 质量影响: 几乎无损(视频生成对精度不敏感)
结合 FP8 的实际效果:单步延迟从 ~1.8ms/step 降到 ~1.0ms/step。
Speculative Denoising:投机去噪
类比 LLM 的 speculative decoding,最新工作将”投机”思想引入去噪:
- 用小模型(如 1B)快速预测粗略 latent
- 用大模型(如 10B)验证和修正
- 一次验证可以”接受”多步小模型的结果
理论加速 2~3x,目前仍在研究阶段。
成本经济学:生成一个视频要花多少钱?
GPU-Hour 成本对比
| GPU | 云服务价格 ($/hr) | 10s 视频耗时 | 单视频成本 |
|---|---|---|---|
| H100 SXM (AWS p5) | $32.77 | 37.5s | $0.34 |
| H100 PCIe (Lambda) | $2.49 | 45s | $0.031 |
| A100 80GB | $1.89 | ~90s | $0.047 |
| H20 (中国云) | ~$1.50 | 300s | $0.125 |
大规模部署的经济性
以可灵(Kling)为例估算:假设 100 万日活跃用户,每用户日均生成 3 个视频:
每日请求: 3M videos
峰值 QPS: 3M / 86400 * 3(峰谷比) = ~104 QPS
所需 H100: 104 * 37.5 / 1 = 3,900 张
年成本 (H100 PCIe): 3,900 * $2.49 * 8760 = $85M/year
这解释了为什么视频生成服务的定价远高于文本/图片 AI 服务。
参考文献
相关文章
- GPU 推理部署学习指南:从显存计算到性能优化 — 更基础的 GPU 性能分析框架
- World Model TP 并行深度分析:为什么 TP=N 比 TP=1 还慢 — 视频生成模型的并行策略选择