视频生成推理的 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 vs H20 性能对比
视频生成是 compute-bound,算力差距直接决定性能差距
视频生成是 compute-bound,算力差距直接决定性能差距
指标H100 SXMH20倍数
BF16 算力989 TFLOPS148 TFLOPS6.7x
FP8 算力1,979 TFLOPS296 TFLOPS6.7x
显存带宽3.35 TB/s4.0 TB/s0.84x
显存容量80 GB96 GB0.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?

QPS 计算逻辑
每张卡 37.5 秒处理一个请求,1600 张卡同时工作
每张卡 37.5 秒处理一个请求,1600 张卡同时工作

每张卡 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) 诅咒

Attention 复杂度增长
从图片到视频,attention 成本呈平方增长
从图片到视频,attention 成本呈平方增长

视频和图片的根本区别:时间维度

  • 图片生成: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 成本平方增长。


算一笔总账

各任务计算量对比
视频生成的计算量是 LLM 的 2000 倍
视频生成的计算量是 LLM 的 2000 倍

以一个典型 10B 参数的视频生成模型为例:

组件
模型参数~10B
Latent tokens/step~216K
单步 FLOPS2 * 10B * 216K = 4.32 PFLOPS
去噪步数50
总 FLOPS4.32 * 50 = 216 PFLOPS

对比其他任务:

任务单请求计算量倍数(vs LLM)
LLM (1K token)~0.1 PFLOPS1x
图片生成~10 PFLOPS100x
视频生成 (10s 720p)~200 PFLOPS2,000x
视频生成 (10s 1080p)~600 PFLOPS6,000x

视频生成的计算量是 LLM 的 2000 倍。这就解释了为什么相同的集群,LLM 能做到数千 QPS,而视频生成只有 42。


实测数据验证

开源项目的 benchmark 给出了参考:

模型视频规格单 H100 延迟
CogVideoX-5B6s / 720x480 / 50 步~90s
CogVideoX1.5-5B5s / 1360x768 / 50 步~550s
Open-Sora768x768 / 50 步~1656s (28 分钟)
LTX-Video (2B)5s / 768x512~2s(模型极小)

学术 benchmark 显示 90~1656 秒,但我们估算的是 37.5 秒?


生产优化:从 90 秒到 37.5 秒

差距的原因是生产系统用了大量工程优化

  1. 步数蒸馏(Consistency Distillation):50 步 -> 48 步,速度提升 612x
  2. FP8/INT8 量化:算力等效提升约 2x
  3. 更激进的 VAE 压缩:比如 LTX-Video 用 1:192 压缩比
  4. 更小的模型:生产未必用 10B+,可能 2~5B
  5. Flash Attention / 算子融合:减少内存往返

这些优化叠加后,单 H100 从学术的 90 秒降到 ~37.5 秒是合理的。


多卡并行:能不能进一步降低延迟?

Sequence Parallelism 扩展性
8 卡做到 6x 加速,通信开销损失约 25%
8 卡做到 6x 加速,通信开销损失约 25%

可以。Open-Sora 用 Sequence Parallelism 的数据:

GPU 数量延迟加速比
1x1656s1.0x
2x863s1.9x
4x466s3.6x
8x276s6.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(打满)

本质原因:

  1. O(T^2) Attention:视频的 160 帧带来 25,600 倍于图片的 attention 开销
  2. 多步去噪:50 步 = 50 次完整 forward pass
  3. 巨大的 token 序列216K tokens,远超 LLM 的 14K
  4. 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 Model1~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,最新工作将”投机”思想引入去噪:

  1. 用小模型(如 1B)快速预测粗略 latent
  2. 用大模型(如 10B)验证和修正
  3. 一次验证可以”接受”多步小模型的结果

理论加速 2~3x,目前仍在研究阶段。


成本经济学:生成一个视频要花多少钱?

GPU-Hour 成本对比

GPU云服务价格 ($/hr)10s 视频耗时单视频成本
H100 SXM (AWS p5)$32.7737.5s$0.34
H100 PCIe (Lambda)$2.4945s$0.031
A100 80GB$1.89~90s$0.047
H20 (中国云)~$1.50300s$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 服务。


参考文献


相关文章