AiPaper
论文状态:已完成

Sparse VideoGen2: Accelerate Video Generation with Sparse Attention via Semantic-Aware Permutation

发表:2025/05/25
原文链接PDF 下载
价格:0.10
价格:0.10
已有 3 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文提出SVG2,一个无需训练的框架,通过语义感知排列最大化关键词元识别的准确性,减少计算浪费,解决了稀疏注意力在视频生成中的效率瓶颈。该方法基于k-means算法对词元进行语义重排序,实现高达2.30倍的加速,同时保持视频质量,推动生成效率前沿。

摘要

Diffusion Transformers (DiTs) are essential for video generation but suffer from significant latency due to the quadratic complexity of attention. By computing only critical tokens, sparse attention reduces computational costs and offers a promising acceleration approach. However, we identify that existing methods fail to approach optimal generation quality under the same computation budget for two reasons: (1) Inaccurate critical token identification: current methods cluster tokens based on position rather than semantics, leading to imprecise aggregated representations. (2) Excessive computation waste: critical tokens are scattered among non-critical ones, leading to wasted computation on GPUs, which are optimized for processing contiguous tokens. In this paper, we propose SVG2, a training-free framework that maximizes identification accuracy and minimizes computation waste, achieving a Pareto frontier trade-off between generation quality and efficiency. The core of SVG2 is semantic-aware permutation, which clusters and reorders tokens based on semantic similarity using k-means. This approach ensures both a precise cluster representation, improving identification accuracy, and a densified layout of critical tokens, enabling efficient computation without padding. Additionally, SVG2 integrates top-p dynamic budget control and customized kernel implementations, achieving up to 2.30x and 1.89x speedup while maintaining a PSNR of up to 30 and 26 on HunyuanVideo and Wan 2.1, respectively. Our code is open-sourced at \href{https://github.com/svg-project/Sparse-VideoGen}{https://github.com/svg-project/Sparse-VideoGen}.

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

Sparse VideoGen2: Accelerate Video Generation with Sparse Attention via Semantic-Aware Permutation

中文译名:稀疏视频生成器2:通过语义感知排列的稀疏注意力加速视频生成

1.2. 作者

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 (*表示共同第一作者)

1.3. 发表期刊/会议

预印本 (arXiv),目前状态为 arXiv preprint arXiv:2505.18875

1.4. 发表年份

2025年5月24日 (UTC) 发布。

1.5. 摘要

扩散变换器 (Diffusion Transformers, DiTs) 在视频生成中至关重要,但由于注意力机制的二次复杂度(quadratic complexity)导致显著的延迟。通过仅计算关键词元 (critical tokens),稀疏注意力 (sparse attention) 可以减少计算成本,提供了一种有前景的加速方法。然而,我们发现现有方法在相同计算预算下未能达到最佳生成质量,原因有二:

  1. 不准确的关键词元识别 (Inaccurate critical token identification): 当前方法基于位置而非语义对词元进行聚类 (cluster),导致聚合表示不精确。

  2. 过度计算浪费 (Excessive computation waste): 关键词元分散在非关键词元之间,导致 GPU 上计算浪费,因为 GPU 针对处理连续词元进行了优化。

    本文提出了 SVG2,一个无需训练 (training-free) 的框架,它最大化识别准确性并最小化计算浪费,从而在生成质量和效率之间实现了帕累托前沿 (Pareto frontier) 的权衡。SVG2 的核心是语义感知排列 (semantic-aware permutation),它使用 k-means 算法根据语义相似性对词元进行聚类和重新排序。这种方法既确保了精确的聚类表示,提高了识别准确性,又实现了关键词元的密集布局,从而无需填充即可进行高效计算。此外,SVG2 集成了 top-p 动态预算控制 (dynamic budget control) 和定制的内核实现 (customized kernel implementations),在 HunyuanVideoWan 2.1 上分别实现了高达 2.30 倍和 1.89 倍的端到端加速,同时保持 PSNR 分别高达 30 和 26。我们的代码已在 https://github.com/svg-project/Sparse-VideoGen 开源。

1.6. 原文链接

原文链接: https://arxiv.org/abs/2505.18875 PDF 链接: https://arxiv.org/pdf/2505.18875v3.pdf 发布状态: 预印本 (arXiv)。

2. 整体概括

2.1. 研究背景与动机

核心问题: 扩散变换器 (Diffusion Transformers, DiTs) 在视频生成领域展现出卓越性能,但其核心的 3D 时空注意力 (spatio-temporal attention) 机制具有二次计算复杂度 (quadratic computational complexity),导致生成视频时存在严重的计算效率瓶颈和高延迟。例如,使用 NVIDIA A100 GPU 生成一个五秒的视频可能需要近一个小时,其中超过 80% 的运行时耗费在 3D 注意力机制上。

重要性与现有挑战: 这种效率低下严重限制了基于 DiT 的生成模型在实际场景中的部署。先前的研究已经观察到自注意力 (self-attention) 机制本身是稀疏的,即只有一小部分计算对最终输出有显著影响。因此,通过仅计算关键词元 (critical tokens) 可以大幅减少计算成本。现有方法通常采用粗粒度的识别策略,将连续词元聚类成块,并估计块级别的注意力得分来识别关键词元。然而,本文作者识别出当前稀疏注意力方法存在的两个主要挑战:

  1. 不准确的关键词元识别 (Inaccurate critical token identification): 现有方法基于位置而非语义对词元进行聚类。这意味着同一块内的词元在潜在空间 (latent space) 中可能具有截然不同的激活 (activations),导致聚合表示不精确,从而使关键词元的识别不准确。例如,简单的平均池化 (mean pooling) 或最大池化 (max pooling) 在处理语义不一致的词元时容易出错。

  2. 过度计算浪费 (Excessive computation waste): 即使关键词元被完美识别,由于词元在张量 (tensor) 中是分散的而非连续的,现代 ML 加速器(如 NVIDIA GPU 的张量核心 tensor cores)在处理非连续数据时效率低下。为了利用 GPU 优化,分散的关键词元必须用非关键词元进行填充 (padding) 以形成连续布局,这导致了高达 80% 的计算浪费。

    论文的切入点与创新思路: 为了弥补现有稀疏注意力方法与理想(oracle)性能之间的差距,本文提出 SVG2 框架。其核心思想是利用语义感知排列 (semantic-aware permutation) 来最大化关键词元的识别准确性并最小化稀疏计算的浪费。通过根据语义相似性而非位置对词元进行聚类和重排,SVG2 旨在实现更精确的词元表示和更紧凑的计算布局,从而在生成质量和计算效率之间达到帕累托前沿 (Pareto frontier) 的权衡。

2.2. 核心贡献/主要发现

本文的核心贡献主要体现在以下几个方面:

  1. 提出 SVG2 框架: 引入了一个无需训练的稀疏注意力框架 SVG2,专门用于加速基于 DiT 的视频生成。该框架在生成质量和计算效率之间实现了帕累托前沿 (Pareto frontier) 的权衡。
  2. 语义感知排列 (Semantic-Aware Permutation):
    • 改善识别准确性: 核心是使用 k-means 算法基于语义相似性对查询 (Query, QQ) 和键 (Key, KK) 词元进行聚类,从而确保每个聚类内的词元具有高度语义一致性。这使得聚类中心 (centroids) 能够更精确地表示词元的语义,显著提高了关键词元识别的准确性,解决了现有方法因位置聚类导致的不精确问题。
    • 减少计算浪费: 通过将语义相似的词元(特别是关键词元)重排到连续的内存布局中,SVG2 使得 GPU 能够高效处理这些紧密的块,避免了因分散词元而导致的填充和计算浪费。
  3. 动态预算控制: 提出了基于聚类中心的 Top-p 选择策略 (Centroid-Based Top-pp Selection)。通过使用聚类中心近似注意力得分,SVG2 能够动态、高效地选择关键聚类,无需手动调整,从而灵活地适应不同的计算预算和精度要求。
  4. 高效系统-算法协同设计 (Efficient System-Algorithm Co-design):
    • 带质心缓存的快速 k-means 利用 DiT 步之间相似性的特性,缓存并重用前一步的聚类中心作为 k-means 的快速初始化,将 k-means 的运行时长减少了高达 76 倍。
    • 支持动态块大小的定制注意力内核 (Customized Attention Kernel for Dynamic Block-sizes): 针对 k-means 聚类后产生的动态且多样化的聚类大小,SVG2 开发了定制的注意力内核,能够高效处理变长块,避免了现有固定块大小内核的计算浪费。
  5. 显著的性能提升:HunyuanVideoWan 2.1 等代表性视频生成模型上,SVG2 在保持高视觉质量(PSNR 分别高达 30 和 26)的同时,实现了高达 2.30 倍和 1.89 倍的端到端加速,性能优于所有现有方法。

3. 预备知识与相关工作

3.1. 基础概念

为了帮助初学者理解本文,我们首先介绍几个关键的基础概念:

  • 扩散变换器 (Diffusion Transformers, DiTs): DiTs 是一类结合了扩散模型 (Diffusion Models) 和变换器 (Transformers) 架构的生成模型。扩散模型通过逐步添加噪声来破坏数据,然后学习逆向过程来从噪声中恢复数据,从而实现高质量的生成。变换器模型则以其强大的序列数据建模能力(特别是通过注意力机制)而闻名。DiTs 将变换器应用于扩散模型的噪声预测步骤,以处理潜在表示 (latent representations),特别是在图像和视频生成中取得了显著成功。

  • 自注意力 (Self-Attention): 自注意力是变换器模型的核心机制,它允许模型在处理序列数据时,动态地为序列中的每个词元 (token) 分配不同的权重,从而捕捉词元之间的长距离依赖关系。在自注意力中,每个词元都会生成三个向量:查询 (Query, QQ)、键 (Key, KK) 和值 (Value, VV)。

    • 查询 (Query, QQ): 用于表示当前词元对其他词元的“查询”兴趣。
    • 键 (Key, KK): 用于表示其他词元的“内容”或“可匹配性”。
    • 值 (Value, VV): 包含其他词元实际要传递的信息。 自注意力通过计算 QQKK 之间的相似度(点积),得到注意力得分,然后通过 softmax 函数归一化,再用这些得分对 VV 进行加权求和,从而得到每个词元的输出表示。
  • 二次复杂度 (Quadratic Complexity): 在经典的自注意力机制中,计算注意力得分需要计算所有查询词元与所有键词元之间的相似度。如果序列长度为 NN,那么注意力得分矩阵的大小将是 N×NN \times N,计算这个矩阵需要 O(N2)O(N^2) 的时间复杂度。当 NN 非常大时(如长视频的词元序列),这种二次复杂度会导致巨大的计算开销和内存消耗,成为性能瓶颈。

  • 稀疏注意力 (Sparse Attention): 为了缓解自注意力机制的二次复杂度问题,稀疏注意力机制被提出。其核心思想是,不是所有词元之间的交互都同样重要。因此,只计算那些被认为是“关键”的、对最终输出贡献大的词元对之间的注意力,而忽略那些不重要的交互。这样可以将计算复杂度从 O(N2)O(N^2) 降低到 O(NS)O(N \cdot S),其中 SS 是稀疏度因子,通常远小于 NN。稀疏注意力需要一个有效的策略来识别和选择这些“关键词元”或“关键交互”。

  • 词元 (Token):DiT 模型中,输入的图像或视频通常会被分解成一系列更小的、离散的单元,这些单元被称为词元。每个词元包含图像或视频的局部信息,并通过嵌入层 (embedding layer) 转换为高维向量,作为变换器的输入。

  • 峰值信噪比 (Peak Signal-to-Noise Ratio, PSNR): PSNR 是一种广泛用于衡量图像或视频重建质量的指标。它通过计算原始数据与生成数据之间的均方误差 (Mean Squared Error, MSE),然后将其转换为对数尺度。PSNR 值越高,表示图像失真越小,生成质量越好。

  • 结构相似性指数 (Structural Similarity Index Measure, SSIM): SSIM 是一种用于衡量两张图像相似度的指标,它更符合人眼对图像质量的感知。与 PSNR 仅基于像素差异不同,SSIM 考虑了亮度、对比度和结构三个方面的相似性。SSIM 值越接近 1,表示两张图像越相似。

  • 学习感知图像块相似度 (Learned Perceptual Image Patch Similarity, LPIPS): LPIPS 也是一种衡量图像相似度的指标,但它利用预训练的深度神经网络(如 AlexNetVGG)提取图像特征,然后计算这些特征之间的距离。由于它基于学习到的感知特征,因此被认为比 PSNRSSIM 更好地反映人类对图像感知的相似性。LPIPS 值越低,表示两张图像在感知上越相似,生成质量越好。

3.2. 前人工作

本文将相关工作分为以下几类,并在此基础上,我们补充 Attention 机制的核心公式及其解释:

3.2.1. Attention 机制核心公式

自注意力机制是变换器的基石,其计算过程可以概括为以下公式: Attention(Q,K,V)=softmax(QKTdk)V \mathrm{Attention}(Q, K, V) = \mathrm{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V 其中:

  • QRNq×dkQ \in \mathbb{R}^{N_q \times d_k} 是查询矩阵 (Query Matrix),包含 NqN_q 个查询词元,每个词元维度为 dkd_k
  • KRNk×dkK \in \mathbb{R}^{N_k \times d_k} 是键矩阵 (Key Matrix),包含 NkN_k 个键词元,每个词元维度为 dkd_k
  • VRNk×dvV \in \mathbb{R}^{N_k \times d_v} 是值矩阵 (Value Matrix),包含 NkN_k 个值词元,每个词元维度为 dvd_v。通常,在自注意力中,Nq=Nk=NN_q = N_k = N,且 dk=dv=dmodeld_k = d_v = d_{model} (模型的隐藏维度)。
  • QKTQK^T 计算了查询与键之间的点积相似度,生成一个 Nq×NkN_q \times N_k 的得分矩阵。
  • dk\sqrt{d_k} 是缩放因子 (scaling factor),用于防止点积结果过大导致 softmax 函数的梯度消失。
  • softmax()\mathrm{softmax}(\cdot) 函数将得分矩阵的每一行(对应每个查询词元对所有键词元的注意力)转换为概率分布,确保权重和为 1。
  • VV 矩阵被这些注意力权重加权求和,得到最终的输出。

3.2.2. 稀疏注意力机制的演进

  • 面向视频 DiT 的稀疏注意力 (Sparse Attention for Video DiTs):

    • 静态方法 (Static Methods): 这类方法预定义稀疏模式,例如固定地选择最近的词元作为关键词元。Sparse VideoGen (SVG) [4] 属于此类。它们缺乏适应性,在多样化的稀疏模式下性能可能不佳。
    • 动态方法 (Dynamic Methods): 这类方法在运行时动态确定稀疏模式,通过一个额外的识别步骤选择关键词元。SpargeAttention [9] 和 XAttention [10] 是代表性工作。然而,本文指出这些方法在实现高识别准确性和低计算浪费方面存在不足。
    • 本文的差异化: SVG2 旨在克服现有动态方法的局限性,通过语义感知排列实现更高的准确性和更低的计算浪费。
  • 面向大语言模型 (LLMs) 的稀疏注意力 (Sparse Attention for Large Language Models (LLMs)):

    • 内存效率方法 (Memory-efficient methods): 主要关注减少内存负载以加速解码,例如 Quest [5]、H2O [6] 和 Attention Sinks [7]。这些方法对计算受限的 DiT 视频生成模型效果不佳。
    • 计算效率方法 (Compute-efficient methods): 专注于只处理关键词元。MMInference [12] 提出了多模态感知排列,但它是基于规则且专注于模态间词元排列,与 SVG2 的语义聚类和重排不同。
    • 本文的差异化: LLM 的稀疏模式与视频数据不同,因此 LLM 的计算效率方法不能直接优化视频 DiTsSVG2 针对视频数据的独特稀疏模式进行了设计。

3.2.3. 线性注意力扩散模型 (Linear Attention for Diffusion Models)

线性注意力 [30, 31, 32] 和状态空间模型 (State Space Models, SSMs) [33, 34] 在视频生成中受到关注,将注意力模块的复杂度从二次降低到线性,适用于长视频生成。Matten [35] 结合 Mamba 块和注意力。LinGen [36] 采用 Mamba2Swin 注意力。M4V [37] 提出了 MM-DiM 块。SANA [40, 41, 42] 和 DC-AE [43, 44, 45] 通过线性注意力和深度压缩自编码器减少生成开销。

  • 本文的差异化: SVG2 专注于优化现有二次注意力机制的稀疏性,而线性注意力是改变注意力机制本身,两者是正交且可以结合使用的。

3.2.4. 长视频生成和基于缓存的加速 (Long Video Generation and Caching-Based Acceleration)

  • 长视频生成: CausVid [46] 和 Self-Forcing [47] 将双向扩散模型蒸馏为自回归模型以利用 KV 缓存。LongLive [48]、Framepack [49]、RifleX [50] 和 Freelong++Freelong++ [51] 等工作通过不同策略扩展视频生成长度。
  • 基于缓存的加速: RadialAttention [52]、VMOBA [53]、Mixture-of-Context [54] 和 VSA [55] 在长上下文微调中采用稀疏注意力。Fastercache [56]、DiCache [57]、Omnicache [58] 和 Timestep Embedding Tells [59] 通过利用时间步 (timesteps) 和分类器无关引导 (classifier-free guidance, CFG) 之间的冗余来优化效率。
  • 本文的差异化: 这些研究主要关注长上下文或缓存优化,与 SVG2 的稀疏注意力方法是正交的,可以相互结合以实现更高的加速比。

3.3. 差异化分析

SVG2 与现有稀疏注意力方法的核心区别和创新点在于:

  1. 从位置到语义的聚类: 现有方法(如 SpargeAttention [9])通常基于词元在序列中的位置进行块级聚类。这种“位置感知”的聚类无法保证块内词元的语义相似性,导致聚合表示不准确,进而影响关键词元的识别精度。SVG2 则通过语义感知排列 (semantic-aware permutation),利用 k-means 聚类算法,根据词元在潜在空间中的语义相似性进行聚类,从而确保了聚类内的高度语义一致性,显著提高了识别准确性。

  2. 从分散到密集的计算布局: 即使现有方法能识别出关键词元,但由于这些词元在内存中是分散的,为了充分利用 GPU 硬件(如张量核心 tensor cores)对连续数据处理的优化,不得不进行填充,导致大量计算浪费。SVG2 的语义感知排列不仅聚类了词元,还将其重排到物理上连续的内存区域中,实现了关键词元的“密集布局”,从而最大限度地减少了计算浪费。

  3. 系统与算法的协同设计: SVG2 不仅提出了算法上的创新,还结合了系统级的优化。例如,针对 k-means 的计算开销,引入了质心缓存 (centroid cache);针对动态聚类大小与硬件固定块大小的矛盾,开发了定制的动态块大小注意力内核 (customized attention kernel for dynamic block-sizes)。这种软硬件协同优化是其实现帕累托前沿性能的关键。

  4. 无需训练的特性: SVG2 是一个无需训练的框架 (training-free framework),这意味着它可以直接应用于现有的 DiT 模型,无需额外的模型微调或重新训练,降低了部署成本和复杂性。

    总而言之,SVG2 通过对稀疏注意力机制进行根本性的改进,解决了现有方法在识别准确性和计算效率上的核心痛点,从而在不牺牲生成质量的前提下,大幅提升了视频生成的速度。

4. 方法论

本节将详细介绍 SVG2 框架的核心方法论,包括语义感知排列、基于质心的 Top-p 选择以及高效的系统-算法协同设计。

4.1. 语义感知排列 (Semantic-Aware Permutation) 与 k-means 聚类

4.1.1. 现有方法的局限性与 SVG2 的改进思路

3.2 节所述,现有稀疏注意力方法因基于位置而非语义的聚类而导致识别不准确。例如,SpargeAttention [9] 将连续词元分组,使用平均池化 (mean pooling) 创建块表示。然而,视频帧中空间位置接近的物体(如一个苹果和一块蛋糕)在语义上可能完全不相关,这使得块的聚合表示无法准确反映其内部词元的实际语义,从而导致对注意力得分的估计不准确。

SVG2 的核心思想 是通过语义感知排列 (semantic-aware permutation) 来解决这个问题。它不再简单地根据词元在序列中的位置进行分组,而是根据词元在潜在空间中的语义相似性进行聚类,并对这些聚类进行重排序。

4.1.2. k-means 聚类实现语义感知聚类

为了实现语义感知聚类,SVG2 对每个注意力头 (attention head) 和变换器层 (transformer layer) 中的查询词元 (QQ) 和键词元 (KK) 独立地应用 k-means 算法。

  • k-means 算法 (K-Means Algorithm): k-means 是一种经典的无监督聚类算法,旨在将 NN 个数据点划分到 KK 个聚类中,使得每个数据点都属于离其最近的聚类中心 (centroid),并最小化聚类内的平方和。

    1. 初始化: 随机选择 KK 个数据点作为初始聚类中心。
    2. 分配: 将每个数据点分配到距离最近的聚类中心。
    3. 更新: 重新计算每个聚类的中心(即该聚类中所有数据点的均值)。
    4. 重复: 重复分配和更新步骤,直到聚类中心不再发生显著变化,或达到最大迭代次数。
  • SVG2 中的应用:

    • 对于查询词元 QRNq×dQ \in \mathbb{R}^{N_q \times d}SVG2 应用 k-means 算法,将其聚类为 CqC_q 个查询聚类 Q1,,QCqQ_1, \ldots, Q_{C_q}
    • 对于键词元 KRNk×dK \in \mathbb{R}^{N_k \times d}SVG2 应用 k-means 算法,将其聚类为 CkC_k 个键聚类 K1,,KCkK_1, \ldots, K_{C_k}。 其中,NqN_qNkN_k 分别代表 QQKK 中的词元数量,dd 是词元特征的维度。

通过这种方式,每个聚类内的词元都具有高度相似的语义,从而确保了聚类中心能够更精确地代表其所在聚类的语义信息。

4.1.3. 语义感知排列实现计算密集化

虽然 k-means 实现了语义上的聚类,但这些语义相似的词元在物理内存中仍然可能是分散的。为了解决 3.2 节中提到的计算浪费问题(computation waste),即 GPU 针对连续内存访问进行优化而分散词元需要填充的问题,SVG2k-means 聚类之后执行语义感知排列 (semantic-aware permutation)

  • 排列原理: SVG2 根据 k-means 聚类结果,将属于同一聚类的词元在内存中重新排列,使其物理上连续。例如,所有属于 Q1Q_1 聚类的词元被分组在一起,然后是 Q2Q_2 聚类的词元,依此类推。键词元 (KK) 和值词元 (VV) 也采用相同的排列方式,以保持一致性。

  • 数学等价性: 这种排列操作不会改变注意力机制的最终输出,因为排列操作是可逆的。假设 πqRNq×Nq\pi_q \in \mathbb{R}^{N_q \times N_q}πkRNk×Nk\pi_k \in \mathbb{R}^{N_k \times N_k} 是排列矩阵,它们满足 πqπqT=I\pi_q \pi_q^T = IπkπkT=I\pi_k \pi_k^T = I。经过排列的词元分别为 Q=πqQQ' = \pi_q Q, K=πkKK' = \pi_k K, V=πkVV' = \pi_k V。键 (KK) 和值 (VV) 共享相同的排列 πk\pi_k 以保证输出等价。 排列后的注意力输出 O\mathcal{O}' 的计算公式如下:

    O=πqTAttention(Q,K,V)=πqTsoftmax((πqQ)(πkK)Td)πkV =(πqTπq)softmax(QKTd)(πkTπk)V=softmax(QKTd)V=O \begin{array}{l} \mathcal{O}' = \pi_q^T \mathrm{Attention}(Q', K', V') = \pi_q^T \mathrm{softmax}\left(\frac{(\pi_q Q)(\pi_k K)^T}{\sqrt{d}}\right) \pi_k V \\ \quad~ = (\pi_q^T \pi_q) \mathrm{softmax}\left(\frac{QK^T}{\sqrt{d}}\right) (\pi_k^T \pi_k) V = \mathrm{softmax}\left(\frac{QK^T}{\sqrt{d}}\right) V = \mathcal{O} \end{array} 其中:

    • Q, K, V 分别是原始的查询、键和值矩阵。
    • πq,πk\pi_q, \pi_k 分别是用于查询和键/值的排列矩阵。
    • πqQ\pi_q Q, πkK\pi_k K, πkV\pi_k V 是经过排列的查询、键和值矩阵。
    • dd 是注意力头的维度。
    • II 是单位矩阵。
    • O\mathcal{O} 是原始注意力机制的输出。
    • O\mathcal{O}' 是经过排列后计算的注意力输出,然后通过 πqT\pi_q^T 反向排列恢复到原始顺序。 这个推导表明,由于排列矩阵的酉性质(unitary property),πqTπq=I\pi_q^T \pi_q = IπkTπk=I\pi_k^T \pi_k = I,排列操作在数学上是等价的,不会改变最终的注意力输出结果。
  • 好处: 这种聚类内连续的布局使得底层 ML 加速器可以高效地处理这些紧密的词元块,从而显著减少了计算浪费。

4.2. 基于质心的 Top-p 选择 (Centroid-Based Top-p Selection)

尽管语义感知排列提供了语义一致的聚类,但如何在实践中高效地估计聚类的“关键性”并动态调整计算预算仍然是挑战。SVG2 提出了基于质心的 Top-p 选择策略来解决这两个问题。

4.2.1. 准确高效的“关键性”估计

为了估计每个聚类的“关键性” (criticality),SVG2 引入了基于质心的注意力得分估计 (centroid-based estimation of attention scores)。它通过使用每个聚类的质心 (centroid) 来近似该聚类中词元间的注意力得分,从而模拟 3.1 节中定义的理想策略 (oracle policy)。

  • softmax 分数计算: 首先,计算查询聚类 QiQ_i 的质心与键聚类 KjK_j 的质心之间的点积,作为预 softmax 分数 SijS_{ij}Sij=centroid(Qi)centroid(Kj)Tdk(1) S_{ij} = \frac{\mathsf{centroid}(Q_i) \cdot \mathsf{centroid}(K_j)^T}{\sqrt{d_k}} \quad (1) 其中:

    • centroid(Qi)\mathsf{centroid}(Q_i) 是第 ii 个查询聚类 QiQ_i 的质心向量。
    • centroid(Kj)\mathsf{centroid}(K_j) 是第 jj 个键聚类 KjK_j 的质心向量。
    • dkd_k 是键词元 (key token) 的维度。
    • SijS_{ij} 表示查询聚类 QiQ_i 对键聚类 KjK_j 的近似注意力强度。
  • 近似注意力得分计算: 接下来,这些预 softmax 分数 SijS_{ij} 会根据键聚类的大小 Kj|K_j| 进行加权,以生成近似的注意力得分 P'_{ij}Pij=Kjexp(Sij)k=1CkKkexp(Sik)(2) P'_{ij} = \frac{|K_j| \exp(S_{ij})}{\sum_{k=1}^{C_k} |K_k| \exp(S_{ik})} \quad (2) 其中:

    • Kj|K_j| 是第 jj 个键聚类 KjK_j 中包含的词元数量(即聚类大小)。

    • exp(Sij)\exp(S_{ij}) 是对预 softmax 分数进行指数化处理。

    • k=1CkKkexp(Sik)\sum_{k=1}^{C_k} |K_k| \exp(S_{ik}) 是对所有键聚类的加权指数和进行归一化,确保每个查询聚类对所有键聚类的注意力权重总和为 1。

    • P'_{ij} 提供了一个对实际注意力得分 PP 的估计。

      由于同一聚类内的词元具有相似的语义,其质心能够高度准确地代表这些词元的激活,从而保证了这种估计的可靠性。此外,因为聚类的数量 CqC_qCkC_k 通常远小于词元总数(例如,小于 1024),这种近似计算的开销相对于完整的注意力计算而言是微不足道的,通常不到总计算成本的 1%

4.2.2. 动态调整计算预算

为了能够根据任意的精度要求动态地调整关键词元的数量,SVG2 采用了基于近似注意力得分 PP'Top-p 选择策略

  1. SVG2 首先根据它们的 P'_{ij} 值,以降序排列所有潜在的聚类对(即查询聚类 QiQ_i 对键聚类 KjK_j 的注意力)。

  2. 然后,它顺序选择聚类对,直到累积的 P'_{ij} 达到预定义的百分比目标 pp(例如,p=0.9p=0.9 表示选择能够覆盖 90% 注意力权重的聚类)。

    这种方法允许 SVG2 在运行时动态地分配计算预算,无需手动调整,从而实现了在不同精度要求下的灵活部署。

4.3. 高效系统-算法协同设计

除了上述算法创新,SVG2 还结合了多项系统级优化,以进一步提升视频生成的效率。

4.3.1. 带质心缓存的快速 k-means

k-means 聚类是一个迭代过程,如果迭代次数过多,可能会引入显著的延迟。然而,扩散模型在连续的去噪步骤 (denoising steps) 之间通常表现出高度的相似性。这意味着前一步的词元激活和聚类结构与下一步会有很强的相关性。

  • 质心缓存 (Centroids Cache): SVG2 利用这一观察,实现了一个质心缓存机制。它在每个去噪步骤结束后,将当前计算出的聚类中心缓存起来。在下一个去噪步骤开始时,这些缓存的质心会被用作 k-means 算法的初始值。
  • 效率提升: 这种“热启动”策略显著减少了 k-means 算法达到收敛所需的迭代次数。实验结果显示,该技术将 k-means 的运行时长减少了高达 76 倍。

4.3.2. 支持动态块大小的高效稀疏注意力内核

现有的高效注意力实现(如 FlashAttention [65]、FlexAttention [66] 和 FlashInfer [16])虽然支持块级稀疏计算,但它们通常只支持静态的、固定大小的块 (static block size)(例如,128 × 128)。然而,经过语义感知排列后,k-means 聚类自然会产生动态且多样化的聚类大小 (dynamic and diverse cluster sizes)

  • 问题: 如果强制将这些动态大小的聚类适配到固定大小的块中,就会导致计算浪费。例如,一个 128 × 32 的计算块需要被填充到 128 × 128 才能使用现有内核,这会造成 75% 的计算浪费。
  • SVG2 的定制内核: 为了解决这一问题,SVG2 实现了一个定制的注意力内核 (customized attention kernel),该内核能够接受动态块大小作为输入 (dynamic block-sizes as input)
  • 实现细节:
    • 该内核支持 FA2(A100)FA2 (A100)FA3(H100)FA3 (H100) 后端,结合了稀疏加载 (sparse loading)密集计算 (dense computation)

    • 对于查询词元 (Query tokens):由于它们在排列后在内存中是连续的,可以直接加载。

    • 对于键/值词元 (Key/Value tokens):由于它们的聚类大小各异,在全局内存中可能仍然是分散的。SVG2 的定制内核使用每词元地址偏移量 (per-token address offsets) 来执行稀疏加载,并将其存储在共享内存 (shared memory) 中,以连续的布局进行处理。

    • 优点: 这种设计使得 GPU 能够高效利用 MMA (Matrix Multiply-Accumulate) 指令,而无需进行昂贵的键/值填充,从而实现了接近理论最大性能(超过 85%)的效率。

      Figure 8: Attention recall across various densities. Enabling permutation consistently surpasses disabling permutation. 该图像是一个图表,展示了在不同密度下,启用与禁用 k-means 排序的注意力召回率。图中的红色三角形代表启用 k-means 排序的情况,而灰色三角形代表禁用该功能的情况。结果表明,启用排排序时,注意力召回率普遍较高。

图 (原文 Figure 5):SVG2 概览。 (a) 演示示例的原始注意力图,不同颜色代表不同语义。只有具有相似语义的词元会相互关注,具有高注意力得分并被选为关键词元。(b) 经过 k-means 聚类后,语义相似的词元(即相似颜色)被分组到同一聚类中,查询和键的质心精确地代表了聚类级别的语义。然后,质心用于近似注意力得分,从而准确识别关键词元。(c) 结合 Top-p 选择,关键词元可以在连续布局中动态识别。

5. 实验设置

本节详细阐述 SVG2 的实验设置,包括所使用的模型、评估指标、数据集、对比基线以及实现细节。

5.1. 数据集

本文在以下最先进的开源视频生成 DiT 模型上评估 SVG2

  • Wan2.1-I2V/T2V-14B [2]: 该模型用于生成 720p 分辨率的视频。经过 3D-VAE 词元化后,Wan2.1 生成 21 帧视频,每帧包含 3600 个词元。
  • HunyuanVideo-T2V-13B [1]: 该模型也用于生成 720p 分辨率的视频。经过 3D-VAE 词元化后,HunyuanVideo 处理 33 帧视频,每帧包含 3600 个词元。

数据集来源:

  • 文本到视频生成 (Text-to-video generation): 采用 Penguin Benchmark 中的提示词 (prompt),经过 VBench 团队提供的提示词优化。
  • 图像到视频生成 (Image-to-video generation): 采用 VBench [67] 提供的提示词-图像对 (prompt-image pairs),并将图像裁剪为 16:9 的比例以适应 720p 分辨率。

5.2. 评估指标

本文使用以下指标来评估生成视频的质量和稀疏注意力机制的效率:

  • 峰值信噪比 (Peak Signal-to-Noise Ratio, PSNR)

    1. 概念定义: PSNR 是一种衡量图像或视频重建质量的指标。它通过比较原始(真值)数据与生成数据之间的像素差异,以对数尺度表示。PSNR 值越高,表示生成内容与原始内容越接近,失真越小,质量越好。
    2. 数学公式: MSE=1MNi=0M1j=0N1[I(i,j)K(i,j)]2 \text{MSE} = \frac{1}{MN} \sum_{i=0}^{M-1} \sum_{j=0}^{N-1} [I(i,j) - K(i,j)]^2 PSNR=10log10(MAXI2MSE) \text{PSNR} = 10 \cdot \log_{10} \left( \frac{\text{MAX}_I^2}{\text{MSE}} \right)
    3. 符号解释:
      • I(i,j):原始图像在像素 (i,j) 处的值。
      • K(i,j):生成图像在像素 (i,j) 处的值。
      • M×NM \times N:图像的尺寸(像素的行数和列数)。
      • MSE\text{MSE}:均方误差 (Mean Squared Error),衡量两幅图像像素差值的平方平均值。
      • MAXI\text{MAX}_I:图像中像素的最大可能值。对于 8-bit 图像,通常为 255。
  • 结构相似性指数 (Structural Similarity Index Measure, SSIM)

    1. 概念定义: SSIM 是一种更符合人类视觉系统感知的图像质量评估指标。它从亮度 (luminance)、对比度 (contrast) 和结构 (structure) 三个方面来衡量两幅图像的相似性,而非简单地计算像素误差。SSIM 值通常在 0 到 1 之间,越接近 1 表示两幅图像越相似。
    2. 数学公式: SSIM(x,y)=(2μxμy+c1)(2σxy+c2)(μx2+μy2+c1)(σx2+σy2+c2) \text{SSIM}(x,y) = \frac{(2\mu_x\mu_y + c_1)(2\sigma_{xy} + c_2)}{(\mu_x^2 + \mu_y^2 + c_1)(\sigma_x^2 + \sigma_y^2 + c_2)}
    3. 符号解释:
      • x, y:两幅待比较的图像块。
      • μx\mu_x:图像块 xx 的像素平均值。
      • μy\mu_y:图像块 yy 的像素平均值。
      • σx2\sigma_x^2:图像块 xx 的方差。
      • σy2\sigma_y^2:图像块 yy 的方差。
      • σxy\sigma_{xy}:图像块 xxyy 的协方差。
      • c1=(K1L)2,c2=(K2L)2c_1 = (K_1L)^2, c_2 = (K_2L)^2:用于稳定分母的常量,避免除以零。
      • LL:像素值的动态范围(例如,对于 8-bit 灰度图,L=255L=255)。
      • K1=0.01,K2=0.03K_1 = 0.01, K_2 = 0.03:默认的小常数。
  • 学习感知图像块相似度 (Learned Perceptual Image Patch Similarity, LPIPS)

    1. 概念定义: LPIPS 是一种基于深度学习的图像相似度指标。它通过提取图像经过预训练的深度神经网络(如 AlexNetVGG)层后的特征,然后计算这些特征向量之间的距离来评估图像的感知相似性。LPIPS 值越低,表示两幅图像在人类感知上越相似,通常认为它比 PSNRSSIM 更能反映人类的感知偏好。
    2. 数学公式: LPIPS 没有一个简单的封闭形式数学公式,因为它依赖于预训练神经网络的内部特征提取。其核心思想是计算特征空间中的距离: LPIPS(x,y)=l1HlWlh,wwl(ϕl(x)h,wϕl(y)h,w)22 \text{LPIPS}(x, y) = \sum_l \frac{1}{H_l W_l} \sum_{h,w} \|w_l \odot (\phi_l(x)_{h,w} - \phi_l(y)_{h,w})\|_2^2
    3. 符号解释:
      • x, y:两幅待比较的图像。
      • ϕl()\phi_l(\cdot):预训练神经网络在第 ll 层提取的特征图。
      • Hl,WlH_l, W_l:第 ll 层特征图的高度和宽度。
      • wlw_l:第 ll 层特征通道的权重向量(通常通过学习得到)。
      • \odot:元素级乘法。
      • 22\|\cdot\|_2^2:L2 范数的平方。 简而言之,LPIPS 计算的是两张图像在深度特征空间中的加权 L2 距离。
  • 密度 (Density): 量化稀疏注意力机制的效率(计算预算)。定义为稀疏注意力计算量除以完整注意力计算量。密度越低,表示计算效率越高。

  • 浮点运算次数 (FLOPs): FLOPs (Floating Point Operations) 代表了生成视频所需的总计算量,用于评估端到端 (end-to-end) 效率。FLOPs 越低,表示计算效率越高。

  • 加速比 (Speedup): 定义为原始(密集注意力)模型的运行时长除以加速后模型的运行时长。加速比越高,表示效率提升越大。

  • VBench [67]: 一个全面的视频生成模型基准测试套件,用于评估生成视频的多个质量维度,如主体一致性 (Subject Consistency)、背景一致性 (Background Consistency)、运动平滑度 (Motion Smoothness)、美学质量 (Aesthetic Quality) 和图像质量 (Image Quality)。

5.3. 对比基线

本文将 SVG2 与以下最先进的稀疏注意力算法进行比较:

  • Sparse VideoGen (SVG) [4]: 一种静态稀疏注意力方法。

  • SpargeAttention [9]: 一种动态稀疏注意力方法。

  • XAttention [10]: 另一种动态稀疏注意力方法。

    注意: 论文中提到 XAttention 未在 Wan 2.1 上进行评估,因为它目前不支持。所有基线方法均使用其官方配置。

5.4. 实现细节

  • 框架与硬件: SVG2 是一个端到端框架,其定制内核基于 FlashInfer [16] 实现。实验在 NVIDIA H100 GPU 上进行,使用 CUDA 12.8
  • 聚类参数: 对于 SVG2,查询聚类数量 CqC_q 设置为 100,键聚类数量 CkC_k 设置为 500。这些参数的选择在 DD 节进行了详细的消融研究。
  • 精度目标: 为展示生成质量和效率之间的权衡,SVG2 在不同的精度目标(即注意力得分召回率 attention score recall)下进行评估。
  • 预热步骤 (Warmup Steps): 为了模拟实际部署场景并遵循先前工作的实践 [64, 68, 56, 59],所有方法在去噪过程的前 30% 步骤中跳过稀疏注意力,使用完整注意力。这是因为这些早期步骤对生成质量至关重要。附录 BB 中也提供了无预热 (warmup-free) 设置下的实验结果。

6. 实验结果与分析

本节详细分析 SVG2 的实验结果,包括定性与定量评估、效率分析、敏感性测试以及消融研究。

6.1. 核心结果分析

6.1.1. 定性评估

通过可视化注意力图,SVG2 的有效性得到了直观展示。

Figure 9: Comparion of Dense Attention and SVG2 on HunyuanVideo and Wan 2.1 Text-to-Video generation. 该图像是图表,展示了Dense Attention与SVG2在HunyuanVideo和Wan 2.1文本到视频生成的对比。每一对比中,左侧为Dense Attention的结果,右侧为SVG2的效果,展现了两者在生成质量和效率上的差异。

图 (原文 Figure 6):Wan 2.1 中不同注意力头生成视频时的注意力图可视化。 (a) 原始注意力图显示了多样化的稀疏模式(用红色突出显示关键词元)。(b) 经过语义感知排列后,关键词元根据 k-means 聚类被排列成连续的布局,从而实现高效的块级计算而无浪费。(c) 应用基于质心的 Top-p 选择并反向排列后恢复的注意力图。原始图与恢复图之间的高度相似性证明了 SVG2 的有效性。

上图显示,即使在注意力头之间存在多样化的稀疏模式(图 (a)),语义感知排列也能够有效地将关键词元密集化为连续布局(图 (b)),从而在不浪费计算的情况下实现高效的计算。更重要的是,通过应用基于质心的 Top-p 选择并反向排列,恢复的注意力图(图 (c))与原始注意力图高度相似,这强有力地证明了 SVG2 的有效性。

此外,附录 AA 中提供了生成的视频的可视化比较。

该图像是一个图表,展示了 FA2 和 FA3 算法在不同块密度下的吞吐量表现。FA2 的吞吐量在大约 340 TFLOPS 左右,而 FA3 的吞吐量可达 550 TFLOPS。图中标示了各算法在不同行数下的性能差异。 该图像是一个图表,展示了 FA2 和 FA3 算法在不同块密度下的吞吐量表现。FA2 的吞吐量在大约 340 TFLOPS 左右,而 FA3 的吞吐量可达 550 TFLOPS。图中标示了各算法在不同行数下的性能差异。

图 (原文 Figure 9):HunyuanVideoWan 2.1 文本到视频生成中密集注意力与 SVG2 的比较。

Figure 2: Trade-off curves between generation quality (PSNR) and efficiency (density). SVG2 consistently surpasses existing methods given the same density, achieving a Pareto frontier. 该图像是图表,展示了不同方法在生成质量(PSNR)与效率(密度)之间的权衡曲线。SVG2在相同的密度下,始终超越现有方法,达到帕累托前沿,最大PSNR值接近26,表现出2.3倍的减少效率。

图 (原文 Figure 10):Wan 2.1 图像到视频生成中密集注意力与 SVG2 的比较。

这些可视化结果表明 SVG2 能够保持高像素级别的保真度,生成与密集注意力相似质量的视频。

6.1.2. 定量评估

核心定量评估结果总结在 Table 1 中,展示了 SVG2 在生成质量和效率方面的优越性。

以下是原文 Table 1 的结果:

Model Config PSNR ↑ SSIM ↑ LPIPS ↓ VBench ↑ Density ↓ Speedup ↑
FLOPs ↓ End-to-End
Wan 2.1 14B, 720P, Image-to-Video - - - 0.841 100% 526.76 PFLOPs
SpargeAttn 21.181 0.665 0.333 - 38.99% 366.80 PFLOPs 1.47×
SVG 24.059 0.813 0.174 0.836 30.25% 343.88 PFLOPs 1.56×
Ours 26.562 0.861 0.138 0.838 31.28% 346.59 PFLOPs 1.58×
Wan 2.1 Ours-Turbo 24.510 0.812 0.179 0.836 14.13% 301.62 PFLOPs 1.84×
Wan 2.1 14B, 720P, Text-to-Video - - - 0.846 100% 658.46 PFLOPs
SpargeAttn 20.519 0.623 0.343 0.820 42.03% 468.46 PFLOPs 1.44×
SVG 22.989 0.785 0.199 0.837 30.25% 429.86 PFLOPs 1.58×
Ours 25.808 0.854 0.138 0.842 29.51% 427.43 PFLOPs 1.60×
Hunyuan Ours-Turbo 23.682 0.789 0.196 0.838 12.87% 372.89 PFLOPs 1.89×
Hunyuan 13B, 720P, Text-to-Video - - - 0.850 100% 612.38 PFLOPs
SpargeAttn 27.892 0.884 0.151 - 42.62% 399.16 PFLOPs 1.53×
XAttention 28.892 0.898 0.120 0.839 39.32% 386.90 PFLOPs 1.56×
SVG 29.157 0.905 0.120 0.845 29.86% 351.75 PFLOPs 1.91×
SVG + FP8 29.033 0.902 0.121 0.843 29.86% 351.75 PFLOPs 2.3×
Ours 30.452 0.910 0.117 0.852 25.45% 335.36 PFLOPs 2.30×
Ours + FP8 30.389 0.908 0.118 0.851 25.45% 335.36 PFLOPs 2.55×

以上是原文 Table 1 的结果:SVG2 和基线的质量和效率基准测试结果。预热步骤 (Warmup steps) 设置为 30%

分析:

  • 生成质量: SVG2PSNRSSIMLPIPS 等所有质量指标上均持续优于所有基线方法。例如,在 Wan2.1 图像到视频生成任务中,SVG2 实现了 26.562PSNR,高于 SpargeAttn21.181SVG24.059。在 HunyuanVideo 文本到视频生成中,SVG2 实现了 30.452PSNR,同样显著优于其他方法。这表明 SVG2 能够生成高度一致和流畅的视频。

  • 效率: SVG2 在保持最高生成质量的同时,实现了显著的端到端加速。在 HunyuanVideo 上,SVG2 实现了 2.30x 的加速比,且 Density 仅为 25.45%。即使是 SVG2-Turbo 配置,在保持与基线相似甚至更好的质量时,也能实现更高的加速(例如,在 HunyuanVideo1.89x 加速,Density12.87%)。

  • FP8 结合: 当与 FP8 浮点精度结合时,SVG2HunyuanVideo 上甚至能达到 2.55x 的加速,同时保持极高的质量 (PSNR 30.389)。这说明 SVG2 可以与低精度计算进一步结合以提升效率。

    附录 CC 中提供了完整的 VBench 结果 (Table 3Table 4),进一步证实了 SVG2 优于所有基线。

6.2. 效率评估

6.2.1. 带质心缓存的快速 k-means

为了评估质心缓存对 k-means 效率的提升,论文比较了在达到 90% 注意力召回率 (attention recall) 的前提下,SVG2 在不同执行时间(即 k-means 迭代次数)下所实现的密度。

Figure 10: Comparison of Dense Attention and SVG2 on Wan 2.1 Image-to-Video generation. 该图像是一个图表,展示了在Wan 2.1图像到视频生成任务中,密集注意力和SVG2方法的对比效果。每列分别展示采用密集注意力和SVG2生成的图像,以显示两者在生成质量上的差异。

图 (原文 Figure 7):带质心缓存的快速 k-means 和定制注意力内核的效率评估。(a) 质心缓存 k-means 效率评估。(b) 定制注意力内核效率评估。

分析: 从图 7(a) 可以看出,启用质心缓存后,在达到相同或更低密度(即更高质量的聚类结果)的情况下,k-means 的端到端延迟显著降低了 76 倍。这证实了质心缓存的有效性,它通过减少初始化时间极大地加速了 k-means 过程。

6.2.2. 支持动态块大小的高效注意力内核

为了展示定制注意力内核在处理动态块大小方面的效率,论文比较了 SVG2 的实现与最先进的注意力库 FlashInfer [16] 的计算 FLOPs。实验通过调整查询聚类数量 CqC_q 和键聚类数量 CkC_k 来生成动态块大小的工作负载,并固定注意力召回率为 90%

分析: 从图 7(b) 可以看出,SVG2 的定制内核平均实现了 1.48x 的计算量减少。在实际配置(Cq=100,Ck=500C_q = 100, C_k = 500)下,计算浪费减少了 1.88x。这表明定制内核能够高效处理动态大小的块,显著降低了计算浪费。

6.2.3. 端到端加速评估

Table 1 所示,SVG2 平均实现了 1.82x 的端到端加速,同时保持了最高的生成质量。SVG2-Turbo 配置进一步展示了效率潜力,在保持与基线相似质量的同时实现了更高的加速。例如,SVG2-Turbo 的密度比 SVG2.5x,但 PSNR 达到了 23.7,甚至更好。

6.2.4. 无预热设置下的性能比较

附录 BB 中提供了无预热步骤 (warmup-free setting) 下 SVG2 和基线的性能比较。 以下是原文 Table 2 的结果:

Model Config PSNR ↑ SSIM ↑ LPIPS ↓ VBench ↑ Density ↓ FLOP ↓ Attn End-to-End
Speedup ↑ Speedup ↑
Wan 2.1 14B, 720P, Image-to-Video - - - 0.841 100% 526.76 PFLOPs
SVG 15.608 0.512 0.404 0.823 29.54% 262.85 PFLOPs 2.26× 1.86×
Ours 18.276 0.615 0.317 0.832 29.34% 262.10 PFLOPs 2.95× 2.10×
Wan 2.1 14B, 720P, Text-to-Video - - - 0.851 100% 658.46 PFLOPs
SVG 13.294 0.407 0.512 0.849 29.54% 328.56 PFLOPs 2.28× 1.89×
Ours 16.502 0.562 0.373 0.852 30.12% 331.28 PFLOPs 2.98× 2.13×
Hunyuan 13B, 720P, Text-to-Video - - - 0.820 100% 612.38 PFLOPs
SVG 12.298 0.492 0.483 0.808 29.86% 240.05 PFLOPs 3.45× 2.48×
Ours 19.879 0.735 0.260 0.816 28.94% 235.16 PFLOPs 4.06× 2.69×

以上是原文 Table 2 的结果:SVG2 和基线的质量和效率基准测试结果。预热步骤设置为 0%

分析: 在无预热设置下,SVG2 仍能持续提供更好的质量。虽然 PSNR 值普遍低于有预热的情况,但 SVG2 相对于基线的优势依然显著,甚至在 HunyuanVideo 上实现了 2.69x 的端到端加速。

6.3. 质量-效率权衡的敏感性测试

为了验证 SVG2 的有效性,论文在 Wan2.1-I2V-14B 上进行了全面的评估,将 SVG2 与基线方法在各种计算预算(即密度 density)下进行比较。

Figure 5:Overview of SVG2.(a) Original attention map of a demonstration example, with various colors representing various semantics. Only tokens with similar semantics attend to each other, having hi… 该图像是示意图,展示了SVG2框架的注意力机制。(a) 表示原始注意力图,其中相似语义的tokens彼此关注;(b) 通过kk-均值聚类后,相似的tokens被分组,形成簇心;(c) 结合Top-P选择,关键tokens可以在连续布局中动态识别。

图 (原文 Figure 2):生成质量 (PSNR) 与效率 (density) 之间的权衡曲线。SVG2 在给定相同密度的情况下持续超越现有方法,达到了帕累托前沿。

分析: 从图 2 可以看出,SVG2 在任何给定密度下都能持续实现更好的生成质量,处于质量-效率权衡的帕累托前沿 (Pareto frontier)。这意味着在相同的计算预算下,SVG2 能达到更高的质量;或者在达到相同质量时,SVG2 所需的计算预算更低。具体来说,SVG2 在保持相同 PSNR 的同时,能够将密度降低高达 2.3x。这充分证明了 SVG2 在实际应用中的优越性。

6.4. 语义感知排列的消融研究

6.4.1. 提高识别准确性的有效性

为了评估语义感知排列在提高关键词元识别准确性方面的有效性,论文比较了启用和禁用语义感知排列两种配置下的注意力召回率 (attention recall),在不同计算预算下进行。两种方法都使用平均池化 (mean-pooling) 并保持相同的聚类大小以确保一致性。

Figure 11 Efficiency evaluation for our attention kernel. We fix the number of query clusters and vary the number of key clusters. 该图像是一个图表,展示了FA2和FA3在不同块密度下的吞吐量评估。左侧图表显示FA2的吞吐量,右侧为FA3。通过对比稀疏和密集配置,可以观察到各配置在不同密度条件下的性能变化。

图 (原文 Figure 8):不同密度下的注意力召回率。启用排列持续优于禁用排列。

分析: 从图 8 可以看出,启用语义感知排列 (Enabling permutation) 始终能实现更高的注意力召回率,这表明它能更准确地识别关键词元。这种改进归因于语义感知排列生成的语义一致的聚类提供了精确的表示。

6.4.2. 减少计算浪费的有效性

论文进一步研究了语义感知排列在减少计算浪费方面的影响。具体来说,实验使用基于质心的 Top-p 选择来选择相同的关键词元集。对于启用语义感知排列的配置,将排列后的连续布局输入 GPU;对于禁用语义感知排列的配置,则使用排列前的分散布局。

分析: 结果显示,启用语义感知排列平均减少了 36% 的计算开销,而关键词元集保持不变。这证明了语义感知排列通过将分散的词元重新组织成连续布局,显著减少了因硬件优化需求而产生的填充和计算浪费。

6.5. 聚类数量的消融研究

6.5.1. 对稀疏注意力内核的影响

论文在 Wan 2.1 模型(序列长度为 74,256)的 H100 上,测试了不同查询聚类数量 CqC_q 和键聚类数量 CkC_k 对内核性能的影响。在每个实验中,固定一个参数,改变另一个。

Figure 3: Comparison of attention recall versus density (i.e., number of sparse computation normalized by total computation) for the oracle policy, SVG, and SpargeAttention. Notably, the significant… 该图像是图表,展示了Oracle Policy、SVG和Sparge方法在稀疏计算密度与注意力召回之间的比较。注意力召回率随稀疏计算密度增加而上升,Oracle Policy的表现优于其他方法,这表明在效率提升方面仍有改进潜力。

图 (原文 Figure 11):注意力内核效率评估。固定查询聚类数量,改变键聚类数量。

Figure 4: Illustration o how existing methods fall short due to the inaccurate identification and computation waste, assuming a computation unit of \(4 \\times 4\) block. (a) Original attention map of a… 该图像是示意图,展示了当前视频生成方法在注意力识别和计算效率上的不足。图中包含四个部分: (a) 原始注意力图,注意力召回率为70.5%;(b) 不准确的识别导致计算浪费,注意力召回率为89%;(c) 显示计算浪费,注意力召回率为90%;(d) 采用语义感知排列的方法,达到86.6%的有效计算率。图中同时标示了计算预算和有效计算率的差异。

图 (原文 Figure 12):注意力内核效率评估。固定键聚类数量,改变查询聚类数量。

分析: 从图 11 和图 12 可以看出,当 CqC_q 大于 200 时,内核性能会急剧下降,但增加 CkC_k 对性能的影响较小。这表明在设计时,CqC_q 的选择对内核性能更为敏感。

6.5.2. 端到端延迟-质量权衡

论文还改变了 Q/K 聚类数量,并测量了 PSNR 和端到端效率。 以下是原文 Table 5 的结果:

Cq Ck PSNR SSIM LPIPS Speedup
100 250 25.497 0.801 0.182 1.90x
100 1000 26.276 0.825 0.159 1.71x
50 500 22.561 0.742 0.258 1.90x
200 500 26.213 0.820 0.157 1.78x
400 500 26.488 0.868 0.132 1.25x
100 500 26.128 0.816 0.169 1.89x

以上是原文 Table 5 的结果:不同 QCKC 设置下的性能比较。

分析: Table 5 显示,将 Q=100Q=100K=500K=500 设置为聚类数量可以在生成质量和效率之间提供最佳平衡。虽然增加聚类数量通常能提高质量,但效率可能会因硬件布局限制而下降。例如,张量核心需要固定输入大小以充分利用计算,这意味着每个 QQ 聚类平均必须包含至少 64 个词元。超过 Q=100Q=100K=500K=500 的聚类数量会导致利用率不足,从而降低效率,尽管可能带来潜在的质量提升。

6.5.3. 排列的消融研究

论文还进行了消融研究,探讨查询 (Q) 和键 (K) 表示是否可以采用相同的聚类策略。 以下是原文 Table 6 的结果:

Permutation used by Q Permutation used by K Density PSNR
πQ\pi_Q πK\pi_K 31.28% 26.562
πQ\pi_Q πQ\pi_Q 38.23% 22.439
πK\pi_K πK\pi_K 38.58% 22.183
πS\pi_S πS\pi_S 87.27% 26.495

以上是原文 Table 6 的结果:排列比较及其对应的密度和 PSNR 值。

分析: Table 6 显示,将 QQ 聚类排列 πQ\pi_Q 应用于 QQKK,或将 KK 聚类排列 πK\pi_K 应用于 QQKK,或基于 QKV 线性层之前的隐藏状态(即共享 QK 嵌入)进行聚类并应用于双方 πS\pi_S,都会导致 PSNR 下降,即使在计算预算(即密度)更高的情况下也是如此。论文通过计算 QQ 聚类和 KK 聚类之间的调整兰德指数 (Adjusted Rand Index, ARI) 发现,平均 ARI 仅为 0.345,表明 QQKK 的排列模式差异很大。因此,独立地对 QQKK 进行聚类对于保留注意力表达能力是必要的。

6.6. HunyuanVideoWan 2.1 之间的性能差距

6.6.1. 质量差异

实验发现,Wan 2.1 上的质量性能(如 PSNRSSIMLPIPS)通常低于 HunyuanVideo。原因在于 HunyuanVideo 对精度变化相对鲁棒,而 Wan 2.1 则高度敏感。例如,在使用不同的后端(FlexAttentionFlashAttentionTorch SDPA)评估相同的密集注意力时,Wan 2.1PSNR 低至 27-28,而 HunyuanVideo 则能保持 33-34PSNR。因此,SVG2Wan 2.1 上实现较低 PSNR 是正常的,这反映了模型对低层数值行为的不同敏感度,与方法本身的性能无关。

6.6.2. 加速比差异

Wan 2.1 上的加速比 (1.89x) 通常低于 HunyuanVideo (2.30x)。这种差异主要源于它们注意力成本比率的不同,这主要是由于上下文长度和模型架构的差异。具体来说,HunyuanVideo 的上下文长度为 118k,而 Wanx 的上下文长度为 75kHunyuanVideo 的层包含自注意力和前馈网络 (Feed-Forward Network) 两部分,而 Wanx 还有一个额外的交叉注意力块 (cross-attention block)。因此,注意力在 HunyuanVideo 中所占比例会大于 Wanx。由于 SVG2 主要通过稀疏注意力加速注意力模块,整体加速比自然与其对总运行时长的贡献成正比。

7. 总结与思考

7.1. 结论总结

本文提出了 SVG2,一个无需训练的稀疏注意力框架,旨在加速基于扩散变换器 (DiT) 的视频生成。SVG2 的核心创新在于语义感知排列 (semantic-aware permutation),它通过 k-means 聚类算法根据语义相似性对词元进行分组和重新排序。这种方法有效地解决了现有稀疏注意力机制的两个主要挑战:

  1. 提高了关键词元识别的准确性: 语义聚类确保了聚合表示的精确性。

  2. 最小化了计算浪费: 通过将关键词元重新排列成连续的内存布局,SVG2 使得 GPU 能够高效处理,避免了不必要的填充。

    此外,SVG2 还整合了基于质心的 Top-p 动态预算控制定制的高效内核实现(包括带质心缓存的快速 k-means 和支持动态块大小的注意力内核)。全面的实验评估表明,SVG2 在生成质量和效率之间实现了卓越的帕累托前沿 (Pareto frontier) 权衡。具体而言,在 HunyuanVideoWan 2.1 模型上,SVG2 在保持高视觉质量(PSNR 分别高达 30 和 26)的同时,实现了高达 2.30 倍和 1.89 倍的端到端加速,显著优于所有现有基线方法。这些成果使得视频生成过程更加高效和实用。

7.2. 局限性与未来工作

论文作者指出,本文的主要局限性在于缺乏对所提出方法是否可以扩展到 DiTs 以外的其他注意力机制的讨论和评估。这意味着 SVG2 的普适性尚未得到充分探索。

基于此,未来可能的研究方向包括:

  • 普适性验证: 探索 SVG2 的语义感知排列和定制内核是否能有效应用于其他基于注意力机制的模型,例如大型语言模型 (LLMs) 或其他图像生成模型。这可能需要针对不同模态或任务调整聚类策略或内核设计。
  • 更复杂的语义理解: 进一步研究更高级的聚类算法或语义表示方法,以捕捉更细粒度的语义信息,从而可能在更复杂的场景下进一步提高关键词元识别的准确性。
  • 硬件协同优化: 深入研究与新兴硬件架构的协同优化,探索如何设计能够更好地适应动态稀疏模式的 AI 加速器,从而进一步提高稀疏注意力的效率。
  • 与线性注意力机制结合: 结合 SVG2 的稀疏化技术与线性注意力 (Linear Attention) 或状态空间模型 (SSMs) 等线性复杂度方法,以实现长视频生成的更高效率和质量。
  • 训练与推理一体化: 探索将语义感知排列集成到模型的训练过程中,而不仅仅是推理阶段,这可能会学习到更本质的稀疏模式,并进一步提升性能。

7.3. 个人启发与批判

这篇论文在加速视频生成方面取得了令人印象深刻的进展,其核心的语义感知排列 (semantic-aware permutation) 理念尤具启发性。

个人启发:

  1. 问题拆解与根本原因分析: 论文清晰地识别了现有稀疏注意力方法的两个核心缺陷——不准确的识别和计算浪费,并追溯到其根本原因(位置聚类和分散布局)。这种对问题根本原因的深入分析,而非仅仅停留在表面症状,是解决复杂技术挑战的关键。
  2. 语义驱动的优化: 传统的稀疏化常常基于启发式规则或简单的时间/空间邻近性。SVG2 转向语义驱动的聚类,体现了从数据内在特征而非表面结构出发进行优化的强大潜力。在深度学习时代,模型的潜在表示蕴含着丰富的语义信息,如何有效利用这些信息来指导计算优化,是一个广阔的研究方向。
  3. 系统与算法的协同设计: 论文不仅仅是提出一个算法,更重要的是结合了系统级的优化(质心缓存和动态块大小内核)。这提醒我们,在追求极致性能时,纯粹的算法创新往往不够,必须考虑底层硬件的特性和效率。这种软硬件协同的思路对于现代 AI 系统的优化至关重要。
  4. 无需训练的实用性: SVG2 的无需训练特性使其能够即插即用地应用于现有模型,极大地降低了部署门槛和成本。在快速发展的 AI 领域,这种对现有模型进行高效优化的方法,比从头训练新模型更具即时价值和影响力。

潜在问题、未经验证的假设或可以改进的地方:

  1. k-means 的计算开销和收敛性: 尽管引入了质心缓存,k-means 仍然是一个迭代算法,其性能高度依赖于初始质心选择和数据分布。对于极其复杂或快速变化的视频内容,k-means 的收敛速度和聚类质量可能会受到影响。论文没有详细探讨在极端情况下的鲁棒性。

  2. 聚类数量 CqC_qCkC_k 的敏感性: 论文通过消融实验确定了最佳的 Cq=100C_q=100Ck=500C_k=500。然而,这些参数可能对不同的模型架构、视频分辨率或稀疏度要求敏感。如何自适应地确定或动态调整这些聚类数量,以实现更广泛的适用性,是值得探索的方向。

  3. 稀疏度的动态性: Top-p 选择允许动态预算控制,但 pp 的选择本身可能需要手动调整。是否存在一种机制,可以根据视频内容或生成阶段自动调整 pp 值,以实现更精细的控制,从而在不同时间步或不同注意力头中应用最佳稀疏度?

  4. k-means 的潜在偏差: k-means 算法倾向于形成凸形的聚类,并且对噪声和异常值敏感。如果视频的潜在空间语义分布非常复杂或存在大量噪音,k-means 可能无法捕捉到最佳的语义聚类,从而影响识别准确性。

  5. 内存占用: 虽然减少了计算 FLOPs,但词元重排本身可能涉及额外的内存操作和临时的内存占用。对于内存受限的设备,这可能成为一个考虑因素。

  6. 通用性限制: 论文明确指出其局限性在于未验证对 DiTs 以外注意力机制的扩展。在其他领域,例如 LLMs,上下文长度可能更长,语义结构可能更复杂,SVG2 的直接应用可能需要进一步的调整或优化。例如,LLMs 中的词元通常是离散的文本嵌入,与视频像素在潜在空间中的连续变化可能存在差异。

    总的来说,SVG2 提供了一种强大且实用的加速视频生成的方法。它在算法创新和系统优化之间取得了良好的平衡,为未来稀疏注意力机制的研究提供了宝贵的经验。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。