---
tags: [CANN]
doc_type: knowledge-note
返回目录: "[[计算机系/昇腾与CANN/大模型与算子专题学习导航|大模型与算子专题学习导航]]"
上一篇: "[[计算机系/昇腾与CANN/低比特量化优化与AMCT实践|低比特量化优化与AMCT实践]]"
前置知识: "[[计算机系/昇腾与CANN/NPU推理并行策略设计|NPU推理并行策略设计]]"
---

# 多模态视频生成推理优化

视频生成的主要计算来自大规模时空 Token 的反复去噪。优化要同时处理长序列注意力、重复迭代、低精度计算和视频解码，不能完全沿用语言模型逐 Token Decode 的判断方式。

## 1. 从文本到视频的计算链路

文本编码器把提示词转成条件表示；初始潜变量经过多轮 DiT 去噪；VAE 将最终潜变量解码为视频帧，随后完成后处理与保存。部分模型还接收图像或视频条件，但重复去噪仍是主要计算阶段之一。

![视频生成整体结构](.assets/CANN推理专题/video-4.png)

视频的时空维度共同决定 Token 数。以 720×1280、129 帧的某类配置为例，潜在空间经过相应切块后可达到约 11.9 万 Token，生成还可能需要 50 个去噪步。具体 Token 数取决于 VAE 压缩率和 Patch 设计，不能仅从输出像素数直接得出。

在这种规模下，全注意力的二次复杂度会非常突出。某一配置中注意力占比接近 85%，只说明该配置值得优先优化注意力；模型、分辨率、步数和并行方式改变后需要重新测量。

## 2. 并行：分摊注意力与 VAE

Ulysses 通过 AllToAll 在序列分片与头分片之间转换，Ring Attention 让 KV 在上下文分片之间流动。两者组成正交设备维度时，设备数可以表示为 $U\times R$。具体原理见[NPU 推理并行策略设计](NPU推理并行策略设计.md)。

![视频注意力与并行优化](.assets/CANN推理专题/video-12.png)

VAE 的空间分块可以减少单卡负担，但边缘像素依赖邻块信息。Halo 必须覆盖网络的有效感受野；若存在跨空间或时间维的全局操作，仅增加卷积邻域仍不足以保证与完整解码一致。

多卡结果需要同时报告设备数和时延。单卡与八卡的端到端时间比包含资源增加的收益，不能全部归因于某一个软件优化。

## 3. 跨步缓存：利用相邻去噪步的相似性

去噪过程的相邻步常有相似的中间特征，因此可以有条件地复用或预测部分结果。这属于近似优化，必须评估画面细节、运动一致性和提示词遵循程度。

### FBCache

FBCache 用第一个 Block 等较小的探测计算，比较相邻步特征的相对变化。如果变化低于阈值，就复用后续昂贵区域的结果。

![FBCache 的探测与复用](.assets/CANN推理专题/video-16.png)

一种相对变化量可以写为：

$$
r_t=\frac{\|h_t-h_{t-1}\|_1}{\|h_{t-1}\|_1+\varepsilon}.
$$

探测本身仍需计算，采样器仍需推进当前步，因此“命中缓存”不等于整步零计算。阈值越宽松，通常复用越多，但误差风险也越大。

### TeaCache

TeaCache 根据带时间步调制的输入变化估计后续计算变化，可通过拟合映射重新缩放变化量，并累计变化直到触发刷新。

![TeaCache 的变化估计](.assets/CANN推理专题/video-17.png)

拟合关系与具体模型、调度器和输入分布相关。把一个模型的多项式系数直接用于另一个模型，可能使刷新判定失效。

### TaylorSeer

TaylorSeer 利用历史特征变化构建近似导数，对后续步的模块输出进行泰勒展开预测，并周期性执行真实计算纠偏。它用额外状态与预测开销换取部分模型计算的省略，刷新间隔越大，误差积累也可能越显著。

这些方法与语言模型对固定历史 Token 的 KV 复用不同：它们近似的是本来会随去噪步变化的特征，而不是直接复用数学上不变的结果。

## 4. FP8 FlashAttention 与低比特格式

![低精度注意力的数据路径](.assets/CANN推理专题/video-21.png)

注意力的维度关系应写为 $Q\in\mathbb{R}^{N_q\times D_k}$、$K\in\mathbb{R}^{N_k\times D_k}$、$V\in\mathbb{R}^{N_k\times D_v}$。图示中 K 的最后一维应按 $D_k$ 理解，Q/K 点积维度必须一致。

一种低精度实现路径为：Q/K 量化后做矩阵乘，使用较高精度处理分数与 Softmax，再量化概率矩阵执行与 V 的乘法，最终转换为目标输出精度。实际累加类型与中间融合方式取决于算子支持。

MXFP8 通常为一组 32 个元素共享 E8M0 Scale。它的分组轴和张量布局是实际算子约定的一部分，不能仅用“每 Token 一个 Scale”替代完整格式描述。低比特格式与 AMCT 部署见[低比特量化优化与实践](低比特量化优化与AMCT实践.md)。

注意力加速与线性层加速的收益不能简单相乘：二者占总时间的比例不同，也可能共同改变带宽或调度瓶颈。

## 5. 稀疏注意力：把计算集中到重要区域

### Top-K 块选择与累计注意力覆盖率

离线分析可以统计不同层、头、去噪步的注意力分布，根据累计注意力覆盖率确定合适的稀疏程度。若选择集合 $S$，覆盖率可写成：

$$
\operatorname{CAC}(S)=\sum_{j\in S}p_j,\qquad \sum_jp_j=1.
$$

![Top-K 稀疏注意力](.assets/CANN推理专题/video-27.png)

在线仍可能需要池化 Q/K、计算块级分数并选择当前输入的 Top-K 块。离线确定的是策略或参数，不一定是固定不变的块索引。

覆盖率高说明保留了较多概率质量，但不能直接保证输出误差小，因为输出还取决于 V 的数值。索引、Top-K 和稀疏访存的成本也必须纳入性能评估。

### SVG：利用空间与时间结构

视频中的注意力头可能更关注同帧空间关系，或跨帧时间关系。可以构造相应候选 Mask，采样部分查询，与完整注意力结果比较误差，再为不同头选择合适的稀疏模式。

![空间与时间稀疏模式](.assets/CANN推理专题/video-28.png)

Mask 不能只按直觉固定：运动、镜头切换和不同提示词都会改变有效依赖。需要同时验证静态细节与跨帧连续性。

## 6. 组合优化的评测方法

固定模型、随机种子、采样器、分辨率、帧数、步数和设备数，分别记录文本编码、去噪、VAE、后处理及端到端时间。阶段时间之和与端到端时间不一致时，应检查是否遗漏传输、同步或其他开销，而不能混用不同测量口径计算加速比。

对并行、量化、稀疏与缓存逐项消融。缓存和稀疏可能共同放大误差，单项通过的质量检查不能替代组合后的验证。最终方案需要在延迟、显存、设备成本和生成质量之间选择合适的工作点。
