跳转至

DFSAttn: Dynamic Fine-Grained Sparse Attention for Efficient Video Generation

会议: ICML 2026
arXiv: 2605.23445
代码: 待确认
领域: 视频生成 / 扩散模型 / 模型压缩
关键词: 稀疏注意力, 视频生成, Hilbert 曲线, 动态掩码

一句话总结

DFSAttn 通过 3D Hilbert 曲线重排序 + 分层块评分 + 自适应掩码缓存,实现了与全注意力相媲美的质量下 2.1× 端到端加速——解决了块稀疏注意力在高稀疏率(>80%)下质量下降的核心问题。

研究背景与动机

领域现状:视频扩散变换器(DiT)通过 3D 全注意力实现高保真视频生成,但二次复杂度导致严重计算瓶颈——HunyuanVideo 生成 129 帧 720p 视频需要 H100 GPU 上约 30 分钟。块稀疏注意力作为降低复杂度的常见方向,与 FlashAttention 等 GPU 高效内核天然契合。

现有痛点:当前块稀疏注意力方法(静态如径向稀疏,动态如 XAttention)在高稀疏率(80%)下质量严重下降,无法在显著加速的同时保持生成效果。根本原因是现有方法采用的粗粒度块级表示与 DiT 中存在的动态、细粒度的注意力稀疏模式不匹配

核心矛盾:一方面 GPU 高效计算要求块级稀疏性(为了对齐 FlashAttention);另一方面 DiT 的注意力模式呈现动态且细粒度的稀疏特征,含有大量局部重要交互散布在注意力图中。直接将粗粒度块操作应用于细粒度稀疏模式必然丢失关键依赖。

本文目标:在保持 GPU 块级执行高效性的前提下,捕捉和利用 DiT 中的细粒度、动态稀疏模式。

切入角度:从两个关键观察出发——(1)DiT 中注意力图的稀疏模式跨层、跨头异质性强,静态或固定稀疏模式必然失效;(2)块稀疏注意力的有效性随扩散步骤演进而单调提升(早期噪声主导、晚期结构凸显),不同步骤应采用不同稀疏预算。

核心 idea:通过三层递进设计——全局 Hilbert 重排序放大块间相似度差异 + 分层块评分细化语义异质性 + 自适应掩码缓存动态适配扩散过程——既保留块级执行效率,又隐式诱导细粒度稀疏性。

方法详解

整体框架

DFSAttn 想要的是"既保留块级执行的 GPU 效率,又能贴住 DiT 里那种动态、细粒度的稀疏模式"。它把视频 3D 潜在表示编码成 1D 令牌序列后,不直接做块稀疏,而是先用 3D Hilbert 曲线把空间-时间相邻的令牌重排到序列上彼此靠近;再用分层块评分算出每个块的重要性、得到稀疏掩码(且这掩码按固定间隔更新、其余步骤复用);最后把掩码送进 SparseFlashAttention 算稀疏注意力,恢复原顺序输出。三个设计层层递进:重排放大块间差异、分层评分细化块内异质、缓存与预算适配扩散过程。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["3D 视频潜在<br/>f×h×w 展平为 1D 令牌 Q/K/V"] --> B["3D Hilbert 曲线令牌重排序<br/>空间-时间相邻令牌在序列上靠近(块内方差↓20%)"]
    B --> C["分层块评分机制<br/>子块均值池化→子块分数 Â→聚合块评分 Ŝ→TopK 选键块"]
    C --> D["自适应掩码缓存 + 预算动态分配<br/>每 Δ 步重算掩码 ℳ、其余步复用;预算 γₜ 随扩散步递减(早松后紧)"]
    D --> E["SparseFlashAttention<br/>用掩码 ℳ 仅算保留块;交叉注意力保持稠密"]
    E --> F["逆重排 𝒫⁻¹ 恢复原令牌顺序 → 输出 O"]

关键设计

1. 3D Hilbert 曲线令牌重排序:让块稀疏"看起来粗、实则细"

标准的行优先展平会把 3D 局部性打散——空间或时间上相邻的令牌在 1D 序列里可能隔得很远,块内塞满了来自不同区域的杂乱令牌,块级表示自然不可靠。DFSAttn 借 Hilbert 空间填充曲线的局部保持性质,把 \((f, h, w)\) 令牌经映射 \(\mathcal{P}\) 投到 1D:原三维空间里相近的令牌,重排后在序列上也相近。于是同一块内的令牌大多来自一片连贯区域,块间则对应视频的不同区域,块级表示的一致性大幅提升(实测块内方差降约 20%)。更妙的是,块级稀疏作用在重排后的序列上,映射回原始空间反而呈现出互联的细粒度稀疏模式——粗粒度的块操作隐式诱导出了细粒度的稀疏。整个重排开销极低,约 120K 令牌只占 2% 运行时。

2. 分层块评分机制:别再假设一个块只有一种语义

粗粒度方法把整块的特征平均成一个分数,背后假设"块内语义齐一",可 DiT 的块里常常混着好几个语义簇,平均一下关键信息就被冲淡了。DFSAttn 把块再切成更小的子块(大小 \(B_s\)),在子块层面算注意力分数矩阵 \(\hat{A}\),再聚合回块级评分 \(\hat{S}_{uv} = \sum_{i' \in \mathcal{B}_u} \sum_{j' \in \mathcal{B}_v} \hat{A}_{i' j'}\)。这样每个块分数不止反映平均特征,还融进了块内多个语义中心的贡献。随后对每个查询块 \(\mathcal{B}_u\) 选评分最高的 \(\gamma M\) 个键块(\(\gamma\) 为稀疏率)构成掩码 \(\mathcal{M}\)。子块大小取 16 时质量最优(PSNR 29.378),而计算开销并不增加——用更细的视角估块的重要性,绕开了单一块表示的瓶颈。

3. 自适应稀疏掩码缓存 + 预算动态分配:顺着扩散过程调稀疏度

每步都重算掩码太贵,但固定一套掩码又跟不上扩散过程的变化。本文的观察是:块稀疏注意力的有效性随扩散步骤单调上升——早期噪声主导、注意力分散,晚期逼近数据流形、注意力集中。据此把稀疏预算做成动态的:初始 \(\gamma_0 = 0.3\),每过 25% 步骤递减 0.1,在后 75% 步骤里平均稀疏率约 80%。掩码每 25% 步骤重算一次、其间复用,省下反复计算掩码的开销;但稀疏注意力的输出仍逐步重算,保证令牌表示能持续演进。对比固定方案,这种"早期放宽、后期收紧"的预算分配在相同延迟下 PSNR 高出 3-4 点。

实验关键数据

主实验

数据集 指标 标准 RadialAttention SVG SVG2 DFSAttn
Wan2.1 PSNR ↑ 17.405 17.393 18.034 22.370
Wan2.1 SSIM ↑ 0.624 0.612 0.640 0.764
Wan2.1 LPIPS ↓ 0.357 0.362 0.338 0.183
Wan2.1 稀疏率 0% 73.78% 65.71% 68.19% 78.51%
Wan2.1 加速 ↑ 1.00× 1.72× 1.75× 1.90× 1.79×
HunyuanVideo PSNR ↑ 20.897 26.825 28.577 29.381
HunyuanVideo SSIM ↑ 0.750 0.853 0.864 0.898
HunyuanVideo 加速 ↑ 1.00× 1.74× 1.92× 2.20× 2.10×

在 Wan2.1 上超越 SVG 29%(PSNR 22.37 vs 17.39),HunyuanVideo 上超越 SVG2 3%(PSNR 29.38 vs 28.58)。

消融实验

配置 PSNR ↑ SSIM ↑ LPIPS ↓ 说明
行优先扫描(Raster) 27.794 0.874 0.124 基线
2D Hilbert(每帧独立) 29.265 0.893 0.090 忽略帧间连贯性
3D 块分解(Block3D) 29.156 0.897 0.090 块级递归,破坏全局局部性
3D Hilbert(本文) 29.378 0.901 0.087 全局空间-时间保持,最优

关键发现

  • 全局 3D Hilbert 超越其他重排序策略,说明同时保持空间和时间局部性的必要性。
  • DFSAttn 在高稀疏率(> 80%)下 PSNR / SSIM / LPIPS 均显著优于基线,保证质量前提下达 1.79× / 2.10× 加速。
  • VBench 综合评分与全注意力相近,整体视频质量充分保留。

亮点与洞察

  • 理论与实践结合:推导了块稀疏注意力有效性的理论下界(定理 4.4),将块级选择准确度与块间相似度差异、语义异质性明确关联,指导三个核心设计的具体形式。
  • 巧妙的空间变换诀窍:利用 Hilbert 曲线的局部保持性进行全局重排序,不仅扩大块间差异、精化块级表示,还隐式地在原始空间诱导细粒度稀疏——块级稀疏在重排序列上应用,在原 2D/3D 空间呈现为互联的细粒度模式。
  • 跨时步动态适配:观察和利用扩散过程中注意力结构的渐进演变设计自适应稀疏预算,对其他使用块稀疏性加速扩散模型的工作具有普遍参考价值。

局限与展望

  • 块大小固定(128),对不同分辨率 / 帧数的视频无自适应调整;可探索按内容或分辨率动态调整。
  • 跨头异质性虽然论文提到但掩码在所有注意力头上共用,可能丢失某些头独有的稀疏特性。
  • 与其他加速技术的协同(与 AdaCache 的协同比例)未详述,值得深入探索。

相关工作与启发

  • vs 静态稀疏(RadialAttention):模式固定难以适应动态注意力;DFSAttn 动态构建掩码 PSNR 高 4.5 点。
  • vs 粗粒度动态方法(SVG2):粗粒度块平均受块内语义混杂影响;DFSAttn 分层聚合细化估计 PSNR 高 1.2 点;通过 Hilbert 重排序进一步增强一致性。
  • vs 细粒度稀疏内核(FG-Attn):FG-Attn 设计细粒度稀疏 CUDA 内核;DFSAttn 采用无内核方案,迁移性更好、依赖更轻。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 从理论下界出发指导三层递进设计,Hilbert 重排序与分层聚合的组合兼具创新性与实用性。
  • 实验充分度: ⭐⭐⭐⭐⭐ 两个 SOTA 模型 + 多维度指标 + 详尽消融 + 与三个强基线对比,实验严谨全面。
  • 写作质量: ⭐⭐⭐⭐⭐ 逻辑清晰、理论与方法衔接紧凑、配图信息量大。
  • 价值: ⭐⭐⭐⭐⭐ 解决视频生成实际瓶颈,2.1× 加速保持质量具有直接工程价值;理论下界对其他扩散模型加速工作参考意义重大。