Sparse VideoGen2: Accelerate Video Generation with Sparse Attention via Semantic-Aware Permutation
Sparse VideoGen2: Accelerate Video Generation with Sparse Attention via Semantic-Aware Permutation
作者/机构: Shuo Yang∗, Haocheng Xi∗, Yilong Zhao, Muyang Li, Jintao Zhang, Han Cai, Yujun Lin, Xiuyu Li, Chenfeng Xu, Kelly Peng, Jianfei Chen, Song Han, Kurt Keutzer, Ion Stoica (University of California, Berkeley; MIT; Stanford University)
图 1: SVG2 在保持高质量的同时加速了视频生成。在单张 H100 上,对于 HunyuanVideo 和 Wan 2.1 模型,SVG2 分别实现了高达 2.30 倍和 1.89 倍的端到端加速,同时 PSNR 分别高达 30 和 26。
A1 主要贡献
本文旨在解决基于扩散 Transformer (DiT) 的视频生成模型中的一个核心瓶颈:由于 3D 时空注意力机制的二次计算复杂度,其生成延迟非常高。例如,使用 HunyuanVideo 在 NVIDIA A100 GPU 上生成仅 5 秒的视频需要近一个小时,其中 3D 注意力计算占总运行时间的 80% 以上。
为了解决这一问题,现有研究利用了自注意力机制的稀疏性,即只有一小部分计算对最终输出有显著影响。通过仅计算这些“关键”的 token,可以显著降低计算成本。然而,本文作者发现,在相同的计算预算下,现有稀疏注意力方法与理论最优的生成质量之间存在显著差距。作者将此差距归因于两个主要挑战:
- 不准确的关键 token 识别:现有方法通常按位置将 token 聚类成块,而不是按语义。这种方式导致同一块内的 token 在潜在空间中的激活值可能差异巨大,从而使得聚合后的块表示(如均值池化或最大池化)不精确,进而导致对注意力分数的估计不准,最终错误地识别关键 token。
- 过度的计算浪费:即使能完美识别关键 token,现有方法也会因稀疏计算与硬件特性不匹配而造成浪费。例如,NVIDIA GPU 上的张量核心需要处理连续的 token 块(例如 16x16x8 的矩阵乘法),但关键 token 在张量中是零散分布的。为了使用硬件加速,必须用非关键 token 来填充,从而导致高达 80% 的计算被浪费在这些非关键 token 上。
为应对这些挑战,本文提出了 SVG2,一个无需训练的稀疏注意力框架,旨在通过语义感知置换 (semantic-aware permutation) 来最大化关键 token 识别的准确性并最小化计算浪费,从而在生成质量和效率之间实现帕累托前沿。
SVG2 的核心创新和技术贡献如下:
-
语义感知置换:这是 SVG2 的核心思想。它不按位置,而是根据 token 激活值的语义相似性对其进行聚类和重新排序。具体实现上,它使用 k-means 算法将 token 聚类成块。
- 提高识别准确性:由于同一聚类中的 token 语义相近,其激活值也相似,这使得聚合后的表示(如质心)更为精确,从而显著提高了关键 token 的识别准确率。
- 减少计算浪费:置换操作将零散分布的关键 token 重新排列成紧凑、连续的块。由于语义相似性,一个块内的 token 倾向于同时是关键或非关键的,这避免了在混合了关键与非关键 token 的块上浪费计算,提高了计算效率。
-
动态预算控制:为了动态分配计算预算,SVG2 采用了一种基于 Top-p 的关键 token 选择策略。它使用聚类的质心来近似计算注意力分数,然后选择那些估计分数最高的聚类,直到它们的累积和达到预设阈值 p。这种方法无需手动调整即可实现动态预算分配。
- 定制化计算核:语义感知置换产生的聚类大小是动态变化的,而现有的块稀疏注意力核仅支持固定大小的块。为了高效处理这种可变性,SVG2 实现了一个定制化的注意力核,支持动态块大小输入,从而避免了因填充造成的计算浪费。
通过这些技术,SVG2 在 HunyuanVideo 和 Wan 2.1 等代表性视频生成模型上取得了显著的效率提升,端到端加速比分别高达 2.30 倍和 1.89 倍,同时保持了高达 30 和 26 的峰值信噪比(PSNR),全面超越了现有方法。
图 2: 生成质量 (PSNR) 与效率 (密度) 之间的权衡曲线。在相同的密度下,SVG2 始终优于现有方法,实现了帕累托前沿。
A3 背景知识与关键观察
3.1 DiT 中的注意力本质上是稀疏的
DiT中的注意力操作计算成本高昂。在每个去噪步骤中,DiT 将隐藏维度为 d 的输入激活转换为 Query (Q)、Key (K) 和 Value (V) 张量,然后执行自注意力操作以产生最终输出 O。其计算公式如下:
$$O = P \times V, \quad P = \text{softmax} \left( \frac{QK^{\top}}{\sqrt{d}}, \text{dim} = -1 \right)$$其中,注意力分数 P 捕捉了 token 之间的关系。然而,计算 P 的复杂度与序列长度成二次方关系。先进的 DiT 模型通常需要处理跨多个帧的数千个 token,这造成了严重的性能瓶颈。例如,使用 HunyuanVideo-T2V-13B 模型生成一个 33 帧的视频,仅注意力计算就占用了超过 80% 的端到端总时间【索引4,Sparse videogen: Accelerating video diffusion transformers with spatial-temporal sparsity,ICML 2025;索引8,Fast video generation with sliding tile attention,arXiv 2025】。
DiT中的注意力操作具有高度稀疏性。幸运的是,注意力本质上是稀疏的,只有一小部分计算对最终输出有显著贡献。这种稀疏性源于 softmax 函数的特性,即 $Q \times K^T$ 中的少数最大值主导了注意力分数 P,进而决定了最终的加权输出 $P \times V$【索引6,H2o: Heavy-hitter oracle for efficient generative inference of large language models,2023;索引11,Tactic: Adaptive sparse attention with clustering and distribution fitting for long-context llms,2025】。
稀疏性量化评估。为了量化这种稀疏性,研究人员从 Wan2.1-I2V-14B 视频生成任务中收集了注意力图,并可视化了在不同计算预算(由关键 K token 的数量定义)下注意力分数的平均召回率。关键 token 的选择遵循一个“神谕”策略(oracle policy),即假设注意力分数已知,按降序排列 token。这种方法展示了在有限计算预算下可实现的召回率上限。
利用稀疏性的潜力。如图 3 所示,注意力是高度稀疏的,仅用 13% 的计算(即稀疏注意力中保留的注意力图百分比)就足以实现 95% 的注意力召回率,同时保持了接近无损的 27 的 PSNR,并提供了高达 2 倍的理论端到端加速。这一观察揭示了在生成质量和计算效率之间进行权衡的巨大机会。
图 3: 神谕策略 (oracle policy)、SVG 和 SpargeAttention 在注意力召回率与密度(即稀疏计算量与总计算量的归一化比率)方面的比较。值得注意的是,神谕策略与现有方法之间的显著差距凸显了改进的潜力。
3.2 现有稀疏注意力未能匹配神谕策略
神谕策略的不可行性与现有方法的近似策略。尽管稀疏性在降低计算成本方面潜力巨大,但直接采用神谕策略是不现实的,因为它需要通过计算完整的 $Q \times K$ 来获得完整的注意力分数 P,这本身就无法实现加速。为了实现实际效率,现有先进方法【索引9,Spargeattn: Accurate sparse attention accelerating any model inference,ICML 2025;索引10,Xattention: Block sparse attention with antidiagonal scoring,ICML 2025】采用了一种粗粒度的识别策略。具体来说,它们将连续的 token 聚类成大块,并在块级别上计算注意力分数,以此来近似原始的 P。当块大小为 128 时,这种方法的识别开销远低于完整注意力计算的 1%。
现有方法的性能差距。然而,现有的粗粒度方法降低了识别的准确性并导致了计算浪费。如图 3 所示,无论计算预算如何,现有的稀疏注意力机制在注意力召回率上始终远低于神谕策略。这种性能差距主要源于以下两个关键因素:
基于位置的聚类导致不准确的识别。现有方法通过将连续的 token 聚类成块来降低识别开销。例如,SpargeAttention【索引9,Spargeattn: Accurate sparse attention accelerating any model inference,ICML 2025】将每 128 个 query token 和 64 个 key token 分组,并使用均值池化为每个块创建一个单一表示,然后用它来近似 P。然而,这种基于位置的聚类不能保证 token 之间的语义相似性。同一块内的 token 在潜在空间中可能表现出截然不同的激活值。例如,视频帧中两个物理上接近的物体,如一个苹果和一个蛋糕,可能没有任何语义关系。块内的这种可变性降低了聚合的块级表示的质量,导致识别准确率下降。这个问题在图 4 中有图示,并在 § 5.5 中提供了识别准确率的定量分析。为了解决这个问题,本文提出使用语义感知聚类代替基于位置的聚类,详见 § 4.1。
分散的关键 token 导致计算浪费。即使所有关键 token 都被完美识别,由于分散的稀疏计算与硬件规格不匹配,现有的稀疏注意力机制也无法实现神谕策略所承诺的理论计算节省。由于 token 的关键性由语义决定,关键 token 自然地分散在整个张量中,而不是连续排列。然而,现代机器学习加速器,如 NVIDIA GPU 的张量核心,是为密集的矩阵乘法而优化的,这需要连续的输入维度【索引14,Nvidia a100 tensor core gpu,2021;索引62,Sparsetir: Composable abstractions for sparse compilation in deep learning,2023】。因此,必须用非关键 token 来填充分散的关键 token,以保持连续的布局,从而导致严重的计算浪费。这个问题在图 4 中有可视化展示,并在 § 5.5 中进一步量化了计算浪费。为了接近神谕策略的性能,需要一种自动置换机制来将分散的关键 token 重新排列成密集的布局,以最小化计算浪费,详见 § 4.1。
图 4: 现有方法因识别不准确和计算浪费而表现不佳的示意图,假设计算单元为 4x4 的块。(a) 示例的原始注意力图。(b) 基于位置的聚类将不同的 token 分组到同一个聚类中,导致均值池化或最大池化的表示不精确。因此,关键 token 数量较少的块被忽略,导致注意力分数召回率较低。(c) 由于关键 token 的布局分散,即使实现了高注意力召回率,每个计算块也同时处理关键和非关键 token,从而造成计算浪费并降低了对关键 token 的有效计算。(d) 语义感知置换将相似的 token 聚类并重新排序为连续布局,从而在最小化计算浪费的同时实现高注意力召回率。
A2 方法细节
本节介绍 SVG2,一个无需训练的稀疏注意力框架,旨在通过语义感知置换为视频 DiT 实现生成质量与计算效率之间的帕累托前沿权衡。SVG2 的工作流程如图 5 所示。SVG2 的核心是语义感知置换,其目标是最大化关键 token 的识别准确率并最小化计算浪费(§ 4.1)。为了动态选择和调整计算预算,SVG2 提出了基于质心的 top-p 选择策略,使其能够实际部署(§ 4.2)。
图 5: SVG2 概览。†(a) 示例的原始注意力图,不同颜色代表不同语义。只有语义相似的 token 才会相互关注,具有高注意力分数,因此被选为关键 token。(b) 经过 k-means 聚类后,语义相似的 token(即颜色相似的)被分到同一聚类中,query 和 key 的质心可以精确地代表聚类级别的语义。这些质心随后被用来近似注意力分数,以准确识别关键 token。(c) 结合 Top-p 选择,可以动态地以连续布局识别出关键 token。
此外,SVG2 还研究了多项系统-算法协同设计,例如快速 k-means 和注意力核,显著加速了视频生成(§ 4.3)。
4.1 基于 k-means 聚类的语义感知置换
使用k-means进行语义聚类。如 § 3.2 所述,现有的稀疏注意力机制因基于位置的聚类而导致识别不准确。为此,SVG2 提出使用语义相似性而非位置来进行聚类,具体方法是在输入 token 的激活值上执行 k-means 算法。
对Q和K独立进行k-means。具体来说,对于每个注意力头和 Transformer 层,k-means 算法被独立地应用于 query token ($Q \in R^{N_q \times d}$) 和 key token ($K \in R^{N_k \times d}$),其中 $N_q$ 和 $N_k$ 分别是 Q 和 K 中的 token 数量。这样会创建 $C_q$ 个 query 聚类 $Q_1, ..., Q_{C_q}$ 和 $C_k$ 个 key 聚类 $K_1, ..., K_{C_k}$。这种方法使得每个聚类内的 token 共享相似的语义,从而提高了质心表示的精度,以便进行更好的识别,详见 § 4.2。
通过置换实现稀疏计算的稠密化。此外,为了将分散的关键 token 的稀疏计算变得稠密,SVG2 基于 k-means 聚类的结果执行语义感知置换。尽管语义相似的 token 在逻辑上被聚类在一起,但它们在物理上仍然分散在张量中,导致了 § 3.2 中描述的大量计算浪费。为了解决这个问题,SVG2 将每个聚类内的 token 置换成一个连续的布局。这种按聚类连续的布局可以被底层的机器学习加速器高效计算,从而减少计算浪费。我们在下面的公式中详细说明了置换算法以及注意力输出的数学等价性。假设 $\pi_q \in R^{N_q \times N_q}$ 和 $\pi_k \in R^{N_k \times N_k}$ 是置换矩阵,满足 $\pi_q \pi_q^T = I$ 和 $\pi_k \pi_k^T = I$,那么置换后的 token 为 $Q' = \pi_q Q$, $K' = \pi_k K$, 以及 $V' = \pi_k V$,其中 K 和 V 共享相同的置换 $\pi_k$ 以保证输出的等价性。置换后的注意力输出 O' 如下:
$$\begin{aligned} \begin{aligned} O^{\prime} & =\pi_{q}^{\top} \text { Attention }\left(Q^{\prime}, K^{\prime}, V^{\prime}\right)=\pi_{q}^{\top} \operatorname{softmax}\left(\frac{\left(\pi_{q} Q\right)\left(\pi_{k} K\right)^{\top}}{\sqrt{d}}\right) \pi_{k} V \\ & =\left(\pi_{q}^{\top} \pi_{q}\right) \operatorname{softmax}\left(\frac{Q K^{\top}}{\sqrt{d}}\right)\left(\pi_{k}^{\top} \pi_{k}\right) V=\operatorname{softmax}\left(\frac{Q K^{\top}}{\sqrt{d}}\right) V=O \end{aligned} \end{aligned}$$4.2 基于质心的 Top-p 选择
面临的挑战。尽管语义感知置换提供了语义一致的聚类,但在解决两个关键挑战之前,部署 SVG2 仍然不切实际:(1) 如何有效估计聚类的关键性,以及 (2) 如何动态确定被选中的关键聚类数量(即关键 token 的数量)以满足任意的准确性要求。
准确高效地估计关键性。为了估计每个聚类的关键性,SVG2 引入了一种基于质心的注意力分数 P 的估计方法。具体来说,它通过使用每个 token 所在聚类的质心来估计其 P 值,从而模仿 § 3.1 中定义的神谕策略。如公式 1 所示,该方法使用每个聚类的质心计算预 softmax 分数 S。然后,这些分数根据聚类内的 token 数量(即聚类大小)进行加权,以生成一个近似的注意力分数 P'(如公式 2 所示),从而提供对实际 P 值的估计。
$$S_{i j}=\frac{\operatorname{centroid}\left(Q_{i}\right) \cdot \operatorname{centroid}\left(K_{j}\right)^{T}}{\sqrt{d_{k}}} \text { (1) } \quad P_{i j}^{\prime}=\frac{\left|K_{j}\right| \exp \left(S_{i j}\right)}{\sum_{k=1}^{C_{k}}\left|K_{k}\right| \exp \left(S_{i k}\right)}$$估计的可靠性与低开销。由于同一聚类内的 token 已经共享相似的语义,质心可以作为实际激活值的高度准确的表示,确保了这种估计的可靠性。此外,因为典型的聚类数量(即 $C_q$ 和 $C_k$)小于 1024,这种近似计算的开销与完整的注意力计算相比可以忽略不计,通常只占总计算成本的不到 1%。
动态调整计算预算。为了动态调整关键 token 的数量,而不是预定义一个常数,SVG2 采用了一种基于近似 P' 的 Top-p 选择策略。SVG2 首先根据其对应的 P' 将所有潜在的聚类按降序排序。然后,它按顺序选择聚类,直到累积的 P' 达到一个预定义的目标值。
4.3 高效的系统-算法协同设计
带质心缓存的快速k-means。虽然 k-means 聚类对于语义感知置换至关重要,但如果其收敛前的迭代次数过多,其迭代过程可能会引入显著的延迟。例如,使用最先进的 GPU 实现的 k-means++【索引63,k-means++: the advantages of careful seeding,SODA '07】需要超过 100 次迭代才能收敛,耗时占注意力计算的 50% 甚至相当。幸运的是,已知 DiT 在连续的去噪步骤之间是相似的【索引59,Timestep embedding tells: It’s time to cache for video diffusion model,CVPR 2025;索引64,Real-time video generation with pyramid attention broadcast,2025】,这使得可以将上一步的质心作为下一步 k-means 的快速初始化。基于这一观察,SVG2 实现了一个质心缓存,它自动缓存和重用连续步骤之间的质心。如 § 5.3 的评估所示,这项技术将 k-means 的运行时间减少了高达 76 倍。
支持可变块大小的高效稀疏注意力核。尽管现有的高效注意力实现(例如 FlashAttention【索引65,Flashattention-3: Fast and accurate attention with asynchrony and low-precision,NeurIPS 2024】、FlexAttention【索引66,Flex attention: A programming model for generating optimized attention kernels,2024】和 FlashInfer【索引16,Flashinfer: Efficient and customizable attention engine for llm inference serving,2025】)支持块级稀疏计算,但它们只支持静态的块大小(例如 128 × 128)。然而,经过语义感知置换后的聚类大小天然是动态和多样的,使用静态块大小会导致计算浪费。例如,SVG2 可能会生成一个包含 128 个 token 的 query 聚类和一个包含 32 个 token 的 key 聚类。这种 128 × 32 的计算需要被填充到 128 × 128 才能使用现有核,这造成了 75% 的计算浪费。为了解决这个问题,SVG2 实现了一个接受动态块大小作为输入的定制注意力核。
定制核的实现细节。我们的动态块稀疏注意力核同时支持 FA2 (A100) 和 FA3 (H100),结合了稀疏加载和密集计算。对于 FA3,我们使用 wgmma (m64n64k16) 进行密集计算以最大化硬件效率。对于 query token,我们加载来自同一聚类的连续 token,这些 token 在置换后在内存中自然是连续的。对于 key/value token,由于聚类大小不同,它们可能在全局内存中是分散的,SAPAttn 使用每个 token 的地址偏移量来执行稀疏加载,并将它们以连续布局存储在共享内存中。这使得能够有效利用 MMA 指令,而无需昂贵的 key/value 填充,从而达到了理论最高性能的 85% 以上,其中上限是通过将稀疏密度乘以密集 FlashAttention-3 的运行时间来估计的。我们在 § 5.3 中评估了核的效率。
图 6: Wan2.1 从 VBench 【索引67,Vbench: Comprehensive benchmark suite for video generative models,2023】生成视频时,不同注意力头的注意力图可视化。(a) 原始注意力图,具有多样的稀疏模式,假设关键 token 以红色高亮显示。(b) 置换后的注意力图。经过语义感知置换后,关键 token 基于 k-means 聚类被置换成连续布局,从而实现了高效的块级计算而没有浪费。(c) 应用基于质心的 top-p 选择并撤销置换后恢复的注意力图。原始注意力图和恢复后的注意力图之间的高度相似性证明了 SVG2 的有效性。
A4 实验环境
模型:
* 模型名称:Wan2.1-I2V/T2V-14B【索引2,Wan: Open and advanced large-scale video generative models,arXiv 2025】和 HunyuanVideo-T2V-13B【索引1,Hunyuanvideo: A systematic framework for large video generative models,arXiv】。
* 生成参数:生成 720p 分辨率的视频。
* 模型架构细节:经过 3D-VAE 分词后,Wan2.1 生成 21 帧,每帧 3600 个 token;HunyuanVideo 处理 33 帧,每帧 3600 个 token。
数据集:
* 文本到视频 (Text-to-Video):采用 VBench 团队提供的经过提示优化的 Penguin Benchmark 中的提示。
* 图像到视频 (Image-to-Video):采用 VBench【索引67,Vbench: Comprehensive benchmark suite for video generative models,2023】提供的提示-图像对,并将图像裁剪为 16:9 的比例以适应 720p 分辨率。
硬件配置:
* GPU:NVIDIA H100 GPU。
软件配置:
* 实现:SVG2 被原型化为一个端到端框架,使用了来自 FlashInfer【索引16,Flashinfer: Efficient and customizable attention engine for llm inference serving,2025】的定制化核。
* 依赖库:CUDA 12.8。
* 实验设置:SVG2 的聚类数设置为 $C_q = 100$ 和 $C_k = 500$。遵循先前工作【索引64,Real-time video generation with pyramid attention broadcast,2025;索引68,Distrifusion: Distributed parallel inference for high-resolution diffusion models,CVPR 2024;索引56,Fastercache: Training-free video diffusion model acceleration with high quality,2024;索引59,Timestep embedding tells: It’s time to cache for video diffusion model,CVPR 2025】,所有方法在去噪过程的前 30% 步骤中跳过稀疏注意力(即“预热”),因为这些步骤对生成质量至关重要。
A4 实验结果
质量评估
* 定性分析:图 6 可视化了不同注意力头的注意力图。结果显示,尽管稀疏模式各不相同,语义感知置换能有效地将关键 token 密集化为连续布局,从而实现高效计算。在应用了基于质心的 top-p 选择并撤销置换后,恢复的注意力图与原始图高度相似,证明了方法的有效性。
* 定量分析:表 1 展示了 SVG2 与基线方法的质量和效率对比。SVG2 在 PSNR、SSIM 和 LPIPS 指标上均优于所有基线方法,同时实现了最高的加速比。具体来说,SVG2 在 Wan2.1 上的平均 PSNR 达到 26.5,在 HunyuanVideo 上达到 30.4,表明其能生成高度一致且平滑的视频。完整的 VBench 结果见附录中的表 3 和表 4。
Table 1: SVG2 及基线方法的质量与效率基准测试结果。预热步骤设为 30%。
效率评估
* 带质心缓存的高效 k-means:图 7(a) 对比了使用和不使用质心缓存的 k-means 效率。结果显示,启用质心缓存后,达到相近或更低密度(代表更好的 k-means 质量)的端到端延迟降低了 76 倍,证明了该技术能有效减少初始化时间。
* 支持动态块大小的高效注意力核:图 7(b) 对比了 SVG2 定制核与 FlashInfer 的计算 FLOPs。在不同的超参数组合下,SVG2 的定制核平均减少了 1.48 倍的计算量。在 $C_q=100, C_k=500$ 的实际设置下,计算浪费减少了 1.88 倍。
* 端到端加速评估:表 1 显示 SVG2 实现了平均 1.82 倍的加速比,同时保持了最高的生成质量。此外,SVG2-Turbo 版本在保持与基线相似质量的同时,实现了更高的加速比,其密度比 SVG 小 2.5 倍,但 PSNR 仍达到 23.7。
图 7: 快速 k-means(带质心缓存)和定制注意力核的效率评估。
质量-效率权衡的敏感性测试
* 帕累托前沿:图 2 对比了 SVG2 与基线方法在不同计算预算(密度)下的性能。结果表明,在任意给定的密度下,SVG2 都能实现更好的生成质量,位于质量-效率权衡的帕累托前沿。值得注意的是,在保持相同 PSNR 的情况下,SVG2 可将密度降低多达 2.3 倍。
语义感知置换的消融研究
* 对提高识别准确率的有效性:图 8 对比了启用和禁用语义感知置换的注意力召回率。结果显示,在不同计算预算下,启用置换始终能获得更高的注意力召回率,这表明语义一致的聚类提供了更精确的表示,从而更准确地识别了关键 token。
* 对减少计算浪费的有效性:研究发现,对于同一组由质心 top-p 选择出的关键 token,启用语义感知置换(使用置换后的连续布局)比禁用(使用置换前的分散布局)平均减少了 36% 的计算开销。
图 8: 不同密度下的注意力召回率。启用置换始终优于禁用置换。
A5 结论
本文提出了 SVG2,一个无需训练的稀疏注意力方法,用于加速基于 DiT 的视频生成。通过基于语义相似性对 token 进行聚类,SVG2 能够准确地识别关键 token。通过将关键 token 置换成连续布局,SVG2 有效地减少了计算浪费。全面的评估表明,SVG2 在生成质量和效率之间取得了优越的权衡,使视频生成更加高效和实用。
局限性:本文的主要局限在于未能讨论和评估所提出的方法是否可以扩展到 DiT 之外的其他注意力机制。
A6 附录
A 生成视频的可视化
高保真度。我们在图 9 和图 10 中提供了 SVG2 和密集注意力在 HunyuanVideo 和 Wan 2.1 上的可视化对比。结果表明,SVG2 能够保持很高的像素级保真度,实现与密集注意力相当的生成质量。真实的视频样本在补充材料中提供。
图 9: 密集注意力与 SVG2 在 HunyuanVideo 和 Wan 2.1 文本到视频生成任务上的对比。
图 10: 密集注意力与 SVG2 在 Wan 2.1 图像到视频生成任务上的对比。
B 无预热设置下的性能比较
无预热下的性能。我们展示了 SVG2 和基线在没有预热步骤(warmup steps=0%)的情况下的性能比较。我们发现,即使在无预热的设置下,我们的方法仍然能持续提供更好的质量。
表 2: SVG2 及基线方法的质量与效率基准测试结果。预热步骤设为 0%。
C VBench 结果
VBench全面领先。我们在表 3 和表 4 中提供了 SVG2 和基线方法的完整 VBench 结果。这些结果清楚地表明,SVG2 的性能优于所有其他基线。
表 3: SVG2 的 VBench 结果。预热步骤为 0%。
表 4: SVG2 的 VBench 结果。预热步骤为 30%。
D 聚类数量的消融研究
D.1 对稀疏注意力核的影响
核性能分析。我们的稀疏注意力核完全兼容 FlashAttention-2 和 FlashAttention-3。我们在 FA2 和 FA3 后端上都实现了 Sparse VideoGen2,在 A100 和 H100 GPU 上都取得了显著的加速。在 H100 上,使用 Wan 2.1 的设置(序列长度 74,256),我们通过比较不同密度和聚类配置下的稀疏和密集注意力的性能来对核进行基准测试。在每个实验中,我们控制 $C_q$ 或 $C_k$ 中的一个,固定其中一个同时改变另一个。图 11 和图 12 的结果表明,当 $C_q$ 大于 200 时,核的性能会急剧下降。然而,当我们将 $C_k$ 增加到 4000 时,性能几乎保持不变。这表明我们应该采用比 $C_q$ 更大的 $C_k$。
图 11: 我们注意力核的效率评估。我们固定 query 聚类的数量,改变 key 聚类的数量。
图 12: 我们注意力核的效率评估,我们固定 key 聚类的数量,改变 query 聚类的数量。
D.2 端到端延迟-质量权衡
最佳聚类数选择。我们进一步改变了 Q/K 聚类的数量,并测量了 PSNR 和端到端效率。我们在表 5 中的结果显示,设置 Q=100 和 K=500 在生成质量和效率之间提供了最佳的平衡。虽然增加聚类数量通常会提高质量,但由于硬件布局的限制,效率可能会下降。特别是,张量核心需要固定的输入大小(例如 m64n64k16 需要 64)才能充分利用计算能力,这意味着每个 Q 聚类平均必须包含至少 64 个 token。当聚类数超过 Q=100 或 K=500 时,会导致利用率不足,尽管可能带来质量提升,但会降低效率。
表 5: 不同 QC 和 KC 设置下的性能比较。
D.3 置换的消融研究
Q/K独立聚类的必要性。我们进行了消融研究,以探究 query 和 key 的表示是否可以采用相同的聚类策略。具体来说,我们评估了三个变体:将 Q 聚类置换 $\pi_Q$ 应用于 Q 和 K;将 K 聚类置换 $\pi_K$ 应用于两者;以及使用 QKV 线性层之前的隐藏状态(即共享的 QK 嵌入)进行聚类,并将该置换 $\pi_S$ 应用于两者。如表 6 所示,与独立聚类 Q 和 K 相比,这三个变体即使在计算预算(即密度)更多的情况下,也导致了更差的 PSNR。
表 6: 不同置换方式与对应的密度和 PSNR 值比较
Q/K聚类模式差异。为了进一步理解这一点,我们比较了 Q 和 K 聚类的置换,发现置换模式存在显著差异。具体来说,我们计算了 Q 聚类和 K 聚类之间的调整兰德指数(Adjusted Rand Index, ARI),平均 ARI 值为 0.345,这个值不是很高。因此,独立地对 Q 和 K 进行聚类对于保持注意力的表达能力是必要的。
E HunyuanVideo 和 Wan 2.1 之间的性能差距
E.1 质量差异
模型对数值变化的敏感度不同。在我们的实验中,我们发现在所有方法中,Wan 2.1 的质量性能(例如 PSNR, SSIM, LPIPS)通常低于 HunyuanVideo。原因在于 HunyuanVideo 对精度变化相对鲁棒,而 Wan2.1 则高度敏感。例如,当使用不同的后端(FlexAttention, FlashAttention, Torch SDPA)评估相同的密集注意力时,Wan2.1 的 PSNR 低至 27-28。然而,在没有改变任何设置的情况下,HunyuanVideo 的 PSNR 达到了 33-34。因此,由于其对数值变化的敏感性,SVG2 在 Wan 上的 PSNR 自然会低于 HunyuanVideo。这些差异主要是模型特有的,反映了对底层数值行为的不同敏感度,与方法本身的性能无关。
E.2 加速差异
注意力成本占比不同。我们还发现,Wan 2.1 上的加速结果通常低于 HunyuanVideo(1.89 倍 vs 2.30 倍)。HunyuanVideo 和 Wan 之间端到端加速的差异主要源于它们不同的注意力成本比例,这主要是由不同的上下文长度和模型架构造成的。具体来说,HunyuanVideo 的上下文长度为 118k,而 Wanx 的上下文长度为 75k。HunyuanVideo 的层中包含两个部分:自注意力和前馈网络,而 Wanx 还有一个额外的交叉注意力块。因此,HunyuanVideo 中的注意力占比会比 WanX 更大。由于我们的方法主要通过 SVG2 加速注意力模块,整体加速比自然会随着其对总运行时间的贡献而变化。我们将修订表 1,以明确区分注意力级别和端到端的加速比,以提高清晰度。
💬 评论讨论
欢迎在这里分享您的想法和见解!