点击下方卡片,关注
「集智书童」
公众号
导读
利用扩散 Transformer (DiTs)生成高保真长视频往往受到显著延迟的限制,这主要源于注意力机制的计算需求。例如,使用HunyuanVideo生成8秒720p视频(110K个token)需要大约600PFLOPs,其中约500 PFLOPs被注意力计算消耗。
为了解决这个问题,作者提出了AdaSpa,这是第一个动态模式与在线精确搜索Sparse注意力方法。首先,为了实现动态模式,作者引入了一种分块化模式,以有效地捕捉DiTs内在的层次Sparse性。这是基于作者的观察,DiTs的Sparse特性在不同模态之间以及模态内部表现出层次化和分块化的结构。这种分块化方法显著降低了注意力计算的复杂性,同时在生成的视频中保持了高保真度。其次,为了实现在线精确搜索,作者提出了融合LSE-缓存搜索与 Head 自适应层次块Sparse注意力。这种方法源于作者发现DiTs的Sparse模式和LSE相对于输入、层和 Head 而变化,但在去噪步骤中保持不变。通过利用这种去噪步骤中的不变性,它适应了DiTs的动态特性,并允许以最小的开销精确、实时地识别Sparse索引。
AdaSpa被实现为一个自适应的即插即用解决方案,可以无缝集成到现有的DiTs中,无需额外的微调或数据集依赖的配置。大量的实验验证了AdaSpa在各种模型上实现了显著的加速,同时保持了视频质量,确立了自己作为高效视频生成的高效可扩展方法的地位。
- 引言
扩散模型[14, 23, 24, 47, 52]已成为生成任务的一个强大框架,在包括文本到图像合成[5,7, 17, 34, 35,46, 48,49, 51, 64,68]、逼真视频生成[25, 27, 31, 33, 37, 55, 61, 65, 72]和3D内容创作[6, 9, 26, 28, 43]等多种模态中实现了最先进的结果。最近,扩散 Transformer (DiTs)[42]的引入,以Sora[4]为例,在视频生成领域设定了新的基准,使得生成长、高保真视频成为可能。
尽管取得了这些进展,生成高质量视频在计算上仍然非常昂贵,尤其是对于长视频[8, 16, 22, 54]。Transformer架构[58]中的注意力机制[58],其复杂度为
,是主要的 Bottleneck ,其中
表示序列长度。例如,使用Hunyuan Video生成8秒720p的视频大约需要600 PFLOPs,其中近500 PFLOPs被注意力计算消耗。随着分辨率更高或视频时长更长,这一比例会增大,如图2所示。
尽管注意力机制对于良好的性能至关重要,但它们涉及大量的计算冗余[10]。解决这一冗余可以大幅降低推理成本并加速视频生成[62]。Sparse注意力机制[1,3, 10,15, 18,19,21, 30, 38,39,44, 45, 53, 59, 62, 66, 67, 69],通过利用这种冗余,在大语言模型(LLMs)中已经显示出成功,通过降低计算成本而不损害性能。
Sparse注意力通常将这种冗余性描述为Sparse模式(又称Sparse Mask ),它指示了哪些 Token 之间的交互可以被省略以减少计算负担。在Sparse模式中未被省略的所选 Token 的具体位置被称为Sparse索引。基于模式识别的灵活性,现有的Sparse模式可以广泛地分为以下两种类型:
- • 静态模式[1, 3, 10, 21, 62, 67]指的是使用由先验知识定义的预定Sparse索引。这一类别可以进一步分为两种类型:固定模式仅使用基于经验的一个固定Sparse模式。例如,LM-Infinite[21]和StreamingLLM[63](图3a)一致地利用滑动窗口[3]模式。这种方法简单直接,通常不需要模式搜索,只需预先指定超参数。混合模式涉及根据经验确定多个固定模式,然后在执行注意力操作期间选择其中之一或多个模式。例如,BigBird [67] 和 Sparse VideoGen [62](图3b)通常执行粗略的在线切换机制来估计和确定在每个注意力操作中应应用哪种模式(或模式的组合)。
- • 动态模式[19, 30, 38, 44, 45, 53]采用临时的Sparse索引,这些索引需要实时决定。例如DSA[38]和MInference[30](图3c)。这要求进行搜索以确定每个注意力操作应使用哪些索引。由于搜索过程耗时较长,当前的动态模式方法通常依赖于离线搜索和/或在线近似搜索。
离线搜索方法涉及执行离线搜索以确定特定索引。通常在离线搜索中使用目标数据集的子集。在线近似搜索方法涉及实时搜索,但在执行过程中应用某种近似形式来估计Sparse索引。
然而,由于DiT模式具有动态复杂性和数据适应性,这些方法在应用于DiT时面临重大局限性。
首先,静态模式不足以总结DiTs的Sparse特征。特别是,正如作者在第3节中将要展示的,DiTs的Sparse模式极其动态且不规则。因此,静态模式方法无法准确捕捉Sparse索引,从而在性能上表现不佳(如第5节所评估)。
其次,现有的动态模式方法无法自适应和准确地识别DiT的Sparse模式。一方面,作者在第3节中的实证观察表明,DiT的Sparse性根据输入的不同而表现出相当大的变化,这使得DiT的离线搜索缺乏良好的可移植性和准确性。另一方面,可以观察到DiT中的Sparse索引复杂,关键区域分散且不集中连续,这使得通过近似搜索准确估计Sparse索引变得困难。因此,直接将当前的动态模式方法(例如MInference)应用于DiT也会得到较差的结果(详见第5节)。
因此,识别和推广适用于DiTs的Sparse模式,以及实现高效的核方法以进行精确的图案搜索和注意力执行,仍然是一个亟待解决的问题。
受此启发,作者提出了自适应Sparse注意力(AdaSpa),这是第一个用于高保真Sparse注意力的动态模式
在线精确搜索(图3d)方法。它是一种无需训练和无需数据的加速视频生成在DiTs中的方法,同时保持生成质量。如图1所示,它在静态和动态模式中均优于所有其他SOTA方法。
作者的贡献总结如下:
- • DiTs中注意力Sparse性的全面分析
- • 作者深入分析了DiTs中注意力机制的Sparse特性,考察了DiTs的特殊Sparse特性,以揭示最优Sparse策略并为未来研究提供新的见解。基于广泛的观察和总结,作者发现DiTs的Sparse特性具有两个特点:1)分层和块化,2)在步骤上不变,在 Prompt 和头中自适应。
- • 首次提出无需训练和配置的动态模式与精确在线搜索Sparse注意力解决方案。作者提出AdaSpa,这是一种新颖的Sparse注意力加速框架,它既无需训练也无需数据。如图3d所示,AdaSpa是第一个有效结合动态模式和在线精确搜索的方法,提出了一种高效的在线Sparse模式搜索和细粒度Sparse注意力计算的流程。利用跨去噪步骤的固有特性,AdaSpa配备了融合LSE-缓存在线搜索,使用作者优化的 Kernel 将在线搜索时间减少到全注意力生成时间的5%以下,显著减少了搜索的额外时间,同时确保了搜索的准确性。此外,为了更好地适应DiT的Sparse特性,作者为AdaSpa提出了一种 Head 自适应分层块Sparse方法,以解决DiT的 Head 自适应Sparse特征。
- • 实施与评估。AdaSpa提供了一种即插即用的adaspa_attention_handler,它可以无缝地与DiTs集成,无需微调或数据分析。它与并行化、量化以及缓存重用等其他加速技术正交。广泛的实验验证了AdaSpa在各个模型上的一致速度提升,同时质量损失可忽略不计。
- 前言
2.1. 扩散Transformer与3D全注意力机制
扩散 Transformer (DiTs)[42]通过扩散过程细化预测,通过注意力机制处理视频和文本等多模态数据,该注意力机制能够捕捉空间、时间和跨模态依赖关系。DiTs传统上使用时空注意力[37, 72],在每个视频帧上应用空间注意力,在所有帧之间应用时间注意力,并通过交叉注意力连接视频和文本,如图4所示。这种分离限制了帧的连续性和融合。
图4d展示了DiTs中的3D全注意力机制[27, 33, 65]。它将视频和文本 Token 整合到一个统一的序列中,并在这两者之间应用自注意力。在潜在空间中操作,DiTs处理预先编码的视频帧。设
为潜在帧的数量,
为每帧的空间分辨率,
为文本 Token 的长度,其中
。总序列长度
可以表示为:
这种统一方法增强了模态融合并提升了整体性能。
尽管3D全注意力机制的计算成本有所增加,但它标志着DiTs的未来,与时空注意力机制相比,提供了更优越的多模态学习能力。
2.2 闪式注意力(FlashAttention)
在自注意力机制[58]中, Token 被投影到 Query 、 Key和Value 矩阵
中,其中
是注意力头的数量,
是输入长度,
是每个头的隐藏维度。注意力权重矩阵
的计算如下:
量化序列中 Token 与 Token 之间的交互。为了在指数运算过程中保持数值稳定性,通常采用对数和指数(Log-Sum-Exp,LSE)[2]技巧。设
,用
表示行
的第
个分量。那么,LSE 可以表示为:
利用此方法,安全的Softmax可以表示为:
整个密集注意力分布的数值稳定形式为:
然而,此操作需要构建一个
的注意力矩阵,导致时间复杂度和内存复杂度为
,这对于长序列来说变得难以承受。
FlashAttention [12, 13, 50] 通过分块执行注意力机制来解决这一问题。它不是存储完整的注意力矩阵,而是按顺序处理较小的数据块。在FlashAttention中,对较小的 Token 块进行注意力计算,关键思想是在这些块上执行注意力操作,而不需要一次性构建整个注意力矩阵。具体来说,对于每个块,计算注意力如下:
和
分别代表块
的 Query 和键矩阵,其中
,而 online_softmax [41] 是安全 softmax 的块级等价版本。然后将结果乘以块的价值矩阵
,以获得最终的注意力输出:
该块状计算显著降低了内存占用至
,因为在任何给定时间点,仅处理全注意力矩阵的子集。FlashAttention对于大规模Transformer和长序列任务,如3D全注意力,特别有效。
2.3 Sparse注意力与Sparse模式
注意力机制具有固有的Sparse性[10],通过限制交互到一组关键值对来加速计算。Sparse注意力通过忽略注意力权重W(i.)较小时的交互来降低复杂性。这一原则构成了Sparse注意力的基础。
形式上,Sparse注意力由一个 Mask 函数
定义,其中
表示 Token
关注 Token
,而
则移除交互。这个 Mask 函数 M 是Sparse模式,
的索引集合是Sparse索引,而
的比例称为Sparse度。Sparse注意力操作定义为:
其中
表示逐元素乘法。Sparse模式的效率通过召回率 [57] 进行评估,该指标衡量Sparse模式在多大程度上保留了原始密集注意力行为:
召
回
率
索
引
更高的召回率表明对原始注意力结构的保留更好。
- DiTs中的Sparse模式特征
在本节中,作者提出了DiTs中Sparse特性的关键观察和机遇,这些内容激励了作者的研究工作。
观察1:DiTs在不同模态内部和之间展现出Sparse模式的层级结构,使得连续模式不适用。如第2节所述,DiTs利用3D注意力来建模视频帧之间的空间和时间依赖性,同时整合文本 Token 进行联合注意力。给定一个输入序列,它包含视频 Token 和文本 Token ,总长度为
(公式1)。因此,注意力权重矩阵
具有文本和视频 Token 的层级组织。特别地,如图5所示,它可以分解如下:
where:
视频-视频注意力,
,捕捉视频 Token 之间的空间和时间交互。
文本-视频和文本-文本注意力,
,
和
模型交互涉及文本 Token ,这些 Token 通常作为注意力的全局文本汇聚点。
此外,在
中,注意力权重进一步被结构化为
帧区域:
视
频
视
频
表示第
个和第
个视频帧之间的交互。如图5 所示,帧之间存在清晰的边界。
这种层次特性使得连续Sparse模式无效,因为Sparse结构不再是全局不间断的。在连续Sparse模式中,非零元素在整个矩阵中连续延伸,例如“col”模式,其中特定列在所有行中保持活跃,或者“diag”模式,其中非零值形成从一侧到另一侧的对角线路径。然而,由于某些注意力权重的层次结构,它们的Sparse模式变得碎片化,而不是保持这种连续性,这使得无法使用连续Sparse模式来描述它们。尽管如此,尽管整体结构缺乏连续性,作者观察到在每个帧区域内,Sparse模式仍然保持局部结构,并且经常可以使用类似于“col”或“diag”的连续模式很好地对其进行表征。
这一洞察促使作者提出一种基于区域搜索的策略,以捕捉局部连续结构并重建整体的Sparse模式。然而,如图5所示,注意力分布在不同帧区域之间存在显著差异,非零权重往往集中在少数几个帧区域,而不是均匀分布。这种不平衡降低了基于帧区域的方法的有效性,因为它无法提供全局优化的Sparse表示。
解决方案1:使用blockified模式来描述DiT的Sparse特征。尽管像col或diag这样的连续模式效果不佳,作者发现Sparse模式在全局上演变成blockified结构。例如,如图5a所示,在每一个帧区域内,Sparse性遵循col模式。然而,由于区域间的交互作用较弱,层次Sparse性破坏了连续的col模式,导致blockified结构。如图所示,这种blockified特性实现了更好的Recall,表明blockified模式是一个更合适的模式。同样,如图5b所示,每个帧区域遵循diag和col模式的混合。然而,由于帧间交互的显著变化,全局注意力权重表现出滑动窗口模式和明显的随机blockified结构的组合,这使得无法用标准的Sparse模式来描述。另一个例子如图5c所示,其中单个帧区域缺乏明显的局部模式,而全局注意力权重形成一个非连续的diag模式,并伴有底部下沉效应。如图5c所示,这种特性也可以使用具有最佳Recall的blockified表示来有效地建模。
总结来说,由于DiT模式具有层次性,传统的连续模式无法提供有效的表示。因此,采用块化模式是捕捉DiTSparse特性的最佳选择,如图5所示,它始终能够实现最佳的召回率。
观察2:DiT的Sparse模式随输入、层和头的变化而变化,使得离线搜索不适用。如图6a所示,DiT中的Sparse模式取决于注意力头和层,这与LLMs [30, 38]类似。
同时,作者观察到不同 Prompt 的Sparse模式也存在显著差异。在图6c中,作者进行了以下实验:作者针对特定 Prompt ,在Sparse度为0.9的固定条件下搜索最优Sparse模式。随后,该模式直接应用于其他 Prompt 。作者选择了各种 Prompt 和不同的随机种子,结果显示,针对一个输入优化的Sparse模式并不一定适用于其他输入。这些观察表明,不同 Prompt 的Sparse模式差异显著,使得离线搜索很可能失败。
另一种传统方法是在线近似搜索[30]。然而,由于观察1中描述的层次结构和分散的注意力分布,这种方法无法准确捕捉正确的Sparse索引,导致在DiT(如第5节所述)中的性能较差。
因此,DiT需要精确的在线搜索;然而,其高昂的计算成本使其不切实际,这也是为什么之前的方法都没有采用它的原因。
解决方案2:DiT的Sparse模式和LSE在扩散步骤中保持不变,缓存这些不变量使得快速精确的在线搜索成为可能。DiT执行迭代的多步去噪过程,作者观察到的一个重要不变性:对于给定的层和头,尽管注意力权重的具体值在去噪步骤中动态变化,但底层的Sparse模式在整个过程中保持一致。此外,作者对FlashAttention在相同层内不同步骤计算出的LSE数据的分布进行了统计分析。图6b的结果显示,LSE的分布在整个去噪步骤中保持稳定。
连续步骤之间的这些相似性为探索Sparse模式和LSE的重用提供了机会,以加速在线搜索,具体内容详见第4节。
- 研究方法
受这些观察的启发,作者提出了AdaSpa,这是一种具有动态模式和在线精确搜索功能的Sparse注意力机制,旨在通过DiTs加速长视频生成。
4.1 问题表述
第3节演示了由于层次结构造成的间断性,DiTs的注意力权重无法很好地用如col(列)或diag(对角线)等模式表示,而块模式则显示出优势。因此,为了便于在线搜索动态Sparse Mask ,作者提出了如何找到最优块Sparse索引的问题。
块化Sparse注意力定义。块Sparse注意力采用类似于FlashAttention的块级注意力方法,区别在于块Sparse注意力根据其Sparse索引忽略某些块的计算,从而实现加速。具体来说,将长度维度
划分为
个块,其中
是Sparse注意力的块大小,并定义一个块级Sparse模式
,其中
是
的Sparse索引集。通过将
扩展到
并应用一个大的负偏置
,作者可以排除被丢弃的块,从而在安全的Softmax计算中排除它们:
其中
足够大。
最优Sparse索引。块Sparse注意力的目标是尽可能保留注意力权重,从而实现最佳的召回率。
作者将
预定义为
中每个块的注意力权重的总和。
形式上,在给定的Sparse度下,块Sparse注意力中精确的Sparse索引可以表示为:
这表明作者可以通过计算
并使用 topk 来获得最优Sparse索引。作者只需要计算索引在
中的块,而忽略其他块。因此,在给定的Sparse度下,复杂度可以从
降低到
,从而实现显著的加速。
4.2 适应性Sparse注意力设计
作者在图7中展示了AdaSpa的概述。如前所述,为了进行精确搜索,需要获得完整的
,其大小为
。在长视频生成的背景下,这会导致显著的时间和内存开销。此外,由于每个注意力操作的 Mask 必须在实时确定,这种时间消耗是不可接受的[30]。
为了解决这个问题,作者利用DiTSparse模式的性质,该模式在去噪步骤中表现出相似性,并构建了AdaSpa,它采用两阶段融合LSE-Cached在线搜索和 Head 自适应分层块Sparse注意力。
融合LSE-缓存在线搜索。融合LSE-缓存在线搜索的第一阶段是融合在线搜索,它是一个两阶段搜索:第一阶段计算原始FlashAttention输出并存储每行的LSE,而第二阶段使用先前生成的LSE以块状方式融合FlashAttention来计算
。
第二阶段是LSE-Cached在线搜索,仅包含一次遍历。由于LSE在步骤中的相似性,作者直接使用融合在线搜索中获得的LSE来计算
,从而节省了一次搜索时间,进一步将搜索时间减少了一半。算法1和2展示了作者精确在线搜索的伪代码。
Head 自适应分层块Sparse注意力。图6a表明,并非所有注意力 Head 都具有相同的Sparse特性。在整个 Head 使用单一均匀的Sparse性通常是不理想的,因为某些 Head 可能只需要较少的保留块就能良好工作,而其他 Head 则需要更多。然而,如果每个 Head 都采用完全不同的Sparse Level ,这将导致巨大的搜索时间,并引发严重的 Kernel 负载不平衡,造成大量计算资源的浪费。
为了在减少计算资源浪费的同时利用 Head 自适应特性,作者采用了一种分层搜索和计算策略。具体来说,作者首先固定一个给定的Sparse度,并计算每个 Head 的召回率。然后,根据各自的召回率对所有 Head 进行排序。设
表示召回率超过0.8的 Head 数量,这是一个对于Sparse注意力来说已知的良好召回率。接下来,作者将召回率最高的
个 Head 的Sparse度增加到
度
,并将召回率最低的
个 Head 的Sparse度降低到
度
。这种分层 Head 自适应过程有效地减少了具有较高召回率的 Head 之间的冗余,同时提高了召回率较低的 Head 精度。因此,作者在不改变平均Sparse度的情况下实现了更高的准确率,从而实现了 Head 自适应机制。
4.3 实现
AdaSpa 使用超过 2000 行 Python 和 1000 行 Triton [56] 代码实现。它提供了一种即插即用的接口,如图8 所示。用户可以启用
AdaSpa仅作一行改动。作者使用Sparse度
、块大小
、
作为默认配置。作者的自适应 Head 分层块Sparse注意力机制基于Block-Sparse-Attention [20]。除非另有说明,所有其他注意力机制均采用FlashAttention 2 [12]。
此外,作者采用了两种优化技术以提高效率。 (1) 文本汇聚。作者手动选择视频-文本、文本-视频和文本-文本部分的全部索引,这可以增强视频模态对文本模态的感知能力,从而实现更好的结果。 (2) 行级优化。作者发现确保每个 Query 关注大约相同数量的键可以提高生成视频的连续性。否则,某些被认为“不重要”的区域可能永远不会被关注,从而产生伪影。因此,作者在块Sparse模式中强制执行每行的均匀选择。
- 实验
模型。作者实验了两种最先进的开源模型,即 HunyuanVideo(13B)[33] 和 CogVideoX1.5-5B[65]。对于 HunyuanVideo,作者生成了720p、8秒的视频;对于 CogVideoX1.5-5B,作者生成了720p、10秒的视频,两种模型都使用了50个步骤。 Baseline 。作者将 AdaSpa 与 Sparse VideoGen [62](静态模式)和 Minference [30](动态模式)进行比较。此外,作者还考虑了 AdaSpa 的两种变体来评估所提方法的有效性:(1)AdaSpa(无 Head 自适应),所有 Head 使用相同的Sparse性;(2)AdaSpa(无 lse 缓存),不利用 LSE-Cached 方法。对于所有方法,前10步使用全注意力进行预热。
数据集。对于所有实验,作者使用VBench [29]的默认数据集进行测试。特别地,对于Cog VideoX1.5-
,作者采用VBench数据集,并在应用 Prompt 优化后,遵循CogVideoX [65]提供的指南。指标。为了评估作者的视频生成模型性能,作者采用了几个广泛认可的指标,这些指标评估了生成视频的质量和感知相似度。遵循先前的研究 [32, 36, 71],作者使用峰值信噪比 [11](PSNR)、学习感知图像块相似度 [70](LPIPS)和结构相似性指数度量 [60](SSIM)来评估生成视频的相似度。至于视频质量,作者引入了VBench Score [29],它通过考虑像素级准确性和帧间感知一致性提供了更全面的评估。为了提高效率,作者报告了延迟和加速比,这两个指标均使用单个A100 GPU-80GB进行测量。
5.1 主要结果
在表1中,作者展示了AdaSpa的全面评估,将其与各种 Baseline 方法在质量和效率指标上进行比较。
作者观察到,AdaSpa在所有实验中在质量和效率方面均持续取得最佳性能。在Hunyuan Video上,AdaSpa在大多数指标中排名第一,并实现了最高的加速比1.78倍。相比之下,Sparse VideoGen和MInference的表现均不理想,分别实现了1.58倍和1.27倍的加速比。在CogVideoX1.5-5B上,AdaSpa在所有质量指标上均表现出最佳性能,并实现了1.66倍的加速比,在所有评估方法中最高。
M推理由于其依赖于在线近似搜索,难以准确捕捉精确的Sparse索引,导致准确性最低。此外,由于DiT中Sparse模式的分散特性,通过近似搜索获得的模式展现出较低的真正Sparse性,导致性能下降,速度提升仅为1.27倍和1.39倍。Sparse VideoGen利用为DiT专门设计的静态模式,表现相对较好,因为它可以捕捉到特定头的某些最优Sparse模式。然而,由于其无法动态捕捉所有头的准确Sparse模式,它在所有准确性指标上均未能超越AdaSpa。
对于AdaSpa的两个变体,AdaSpa(无 Head 自适应)在质量指标方面表现较差,这为 Head 自适应Sparse的有效性提供了强有力的证据。此外,AdaSpa(无LSE缓存)在大多数指标上通常表现不如或与AdaSpa相当。由于搜索速度较慢,它在Hunyuan和CogVideoX1.5-5B上分别仅实现了
和
的加速,均低于AdaSpa的性能。这进一步证实了LSE缓存搜索和作者的 Head 自适应分层方法在提升加速和品质方面的有效性。
5.2 消融研究
质量-Sparse性权衡。如图9所示,作者比较了AdaSpa与MInference和Sparse的质量指标。
VideoGen在不同Sparse度水平下的表现。如VBench指标(衡量视频质量)所示,AdaSpa在所有Sparse度水平下均能保持最高的视频质量,随着Sparse度的增加,视频质量没有显著下降。相比之下,Sparse VideoGen和MInference随着Sparse度的增加,视频质量均出现了相当大的下降。这表明AdaSpa能够在有限的Sparse度下尽可能多地保留关键信息,从而确保视频质量的可靠性。
同样,在PSNR、SSIM和LPIPS指标中,这些指标用于衡量有无Sparse注意力生成的视频之间的相似度,观察到一种一致的趋势:随着Sparse度的增加,所有视频方法的相似度都会下降。然而,AdaSpa与其他方法相比,保持了显著更高的相似度,并且随着Sparse度的增加,相似度呈现逐渐线性下降的趋势。这与MInference中观察到的急剧下降形成鲜明对比。
预热。如许多先前的工作[32, 40, 62]所述,预热可以显著提高视频生成的相似性和稳定性。因此,作者在图10中比较了AdaSpa、MInference和Sparse VideoGen在不同预热设置下的视频质量和相似度。可以看出,随着预热的减少,所有方法的相似度也降低,这与先前工作的结论一致。然而,作者发现随着预热周期的增加,AdaSpa在所有设置中仍然实现了最佳性能。此外,随着预热的增加,所有方法的视频质量并没有显著提高,几乎保持不变。这表明预热对视频生成本身的质量影响最小,主要影响生成视频与原始视频之间的相似度。
搜索策略。为了验证作者的搜索策略对视频生成的影响,作者在表2中评估了AdaSpa在不同搜索策略下的视频质量和相似度。结果表明,增加搜索次数可能有助于提高准确性,但效果有限。当搜索次数达到一定阈值时,进一步增加搜索次数甚至可能降低视频生成质量。这充分证明了步骤之间的模式具有高度的相似性,并且随着搜索次数的增加,视频质量实际上可能会下降。这表明Sparse注意力的影响具有一定的传递性,可能会影响后续步骤,这将在未来的工作中进一步探讨。
5.3. 规模化研究
为进一步评估AdaSpa的可扩展性,作者在Sparse度
、块大小
和
的配置下测试了不同长度视频的生成时间。如图11所示,随着生成视频长度的增加,AdaSpa的速度提升持续改善,最终在视频长度为24秒时达到
的加速比。这证明了AdaSpa的出色可扩展性。
- 结论
在本工作中,作者全面分析了在生成视频时,DiTs中注意力机制的Sparse特性。基于观察和分析,作者开发了AdaSpa,这是一种全新的Sparse注意力方法,具有动态模式和在线精确搜索功能,旨在加速长视频生成。
实验结果表明,AdaSpa在保持生成视频高质量的同时,实现了1.78倍的效率提升。
参考
[1]. raining-free and Adaptive Sparse Attention for Efficient Long Video Generation
扫码加入👉
「集智书童」
交流群
(备注:
方向
学校/公司+
昵称
)