让 AI 视频生成更快更省。
就在刚刚,集成电路设计自动化领域的国际传统顶级会议之一的 ASP-DAC(Asia and South Pacific Design Automation Conference, 亚洲及南太平洋设计自动化会议)在日本东京落下帷幕。在 ASP-DAC 成立 30 周年之际,今年的前端最佳论文奖颁发给了《ViDA: Video Diffusion Transformer Acceleration with Differential Approximation and Adaptive Dataflow》—— 由无问芯穹与上海交通大学联合研究团队提出的视频生成软硬一体加速器,首次实现通过差分近似和自适应数据流解决 VDiT 生成速度缓慢瓶颈,推理速度相比 A100 提升高达 16.44 倍。
论文第一作者丁立和共同第一作者刘军均来自上海交通大学,通讯作者戴国浩是上海交通大学副教授、无问芯穹联合创始人兼首席科学家。据悉,这是该团队继 2019 年以结构化稀疏与软硬件联合设计打破加速记录之后,再次以差分稀疏化和软硬协同方案创造加速记录,第二次斩获 ASP-DAC 最佳论文奖。
据 Fortune Business Insights 数据,2024 年全球 AI 视频生成市场规模达 6.148 亿美元,预计到 2032 年将飙升至 25.629 亿美元。当下,视频生成模型的视频长度、细节逼真度和运镜流畅度都在快速提升,在可以预见的未来,绝大多数视频任务将由 AI 视频生成模型辅助完成。然而这些模型需处理高维度时空数据,计算复杂度极高,尤其在高分辨率、长时序场景下,对计算资源的消耗巨大,给内容创作、虚拟现实等产业带来严峻挑战。
即便是资金雄厚、设备高端的工业级影视制作团队,也难以承受当下 AI 视频生成模型带来的高昂时间成本、计算成本和算力浪费。在此背景下,视频生成模型推理加速等基础研究工作将有望为产业带来百亿级市场的深远影响。
论文概述
如何有效地加速视频生成模型的推理过程,不仅对模型性能的优化提出了更高的要求,也成为推动生成技术落地的重要瓶颈问题。这一背景下,针对特定生成任务设计高效的计算架构和优化算法成为当前的研究重点。以 OpenAI 的 Sora 为代表,视频扩散 Transformer(VDiT)模型的最新进展极大地推动了视频生成领域的发展。然而,VDiT 推理过程中仍然存在帧间计算冗余和算子计算强度差异较大的问题。现有基于有限帧间相似性的计算方法以及静态硬件架构和数据流设计,无法有效解决 VDiT 推理速度缓慢的瓶颈。为应对上述挑战,作者团队结合帧间预测的差分计算与帧内稀疏特性的分析,提出了视频生成模型的软硬一体加速器 ViDA,创造性地通过差分近似方法和自适应数据流架构,利用稀疏性实现软硬件协同优化,从而大幅提升了 VDiT 的推理性能。在多种主流 VDiT 模型上的实验结果表明,与 NVIDIA A100 GPU 和现有最先进加速器相比,ViDA 分别实现了平均 16.44 倍 / 2.18 倍的加速比和 18.39 倍 / 2.35 倍的面积效率提升。
核心思想
图 1:从视频处理到视频生成加速
ViDA 的设计深受传统视频处理中基于相似性去除帧间冗余方法的启发。如图 1 所示,在传统视频处理中,帧间的高相似性被充分利用,通过对相邻帧进行分块比较,将当前帧的内容表示为参考帧的基础上叠加变化信息,从而有效去除帧间的冗余。这种方法不仅减少了存储和传输中重复数据的占用,还能通过优化预测和补偿机制,大幅提高视频编码的效率。这种基于相似性的优化策略为传统视频处理提供了显著的存储与传输优势,同时也为生成模型的推理优化提供了重要参考。
基于这一理念,ViDA 结合视频相似性预测的差分计算,提出了一套面向视频生成模型的优化方法。通过深度挖掘生成过程中的帧间激活相似性,ViDA 有效减少了计算冗余,为推理效率和硬件性能的全面提升奠定了基础。
-
首先,在算法层面,本文提出了差分近似计算方法,成功减少了 Act-Act 算子 51.67% 的计算量;
-
其次,在硬件层面,设计了列聚集处理单元,利用差分计算中的列稀疏模式,使面积效率提升了 1.47 倍;
-
最后,在数据流层面,构建了计算强度自适应数据流架构,将计算效率提升了 1.76 倍。
现有方法
在视频生成领域(包括图像生成),大量研究已经证实了视频扩散变换器(VDiT)的显著扩展潜力,例如 Sora 模型。通过 “Patchify” 方法,VDiT 将视频中不同帧转换为统一的时空序列(即 patch),从而获得类似于大规模语言模型(LLMs)中 tokens 的统一数据表示。尽管当前的视频生成质量取得了巨大进步,但生成速度仍然较慢。我们发现阻碍 VDiT 加速的两个主要挑战如下:
挑战 1:VDiT 推理仍存在大量帧间冗余计算。
VDiT 采用多帧并行推理的方法生成视频,但由于帧间相似性,多帧激活计算中存在冗余。如图 2 所示,现有研究包括 ViTCoD [HPCA 2023], InterArch [DAC2024] 和 CMC [ASPLOS 2024] 主要利用帧内相似性,但帧间相似性仍未被充分利用。现有工作仅考虑对 Act-W 算子(如 QKV 投影和 O 投影)进行差分计算。然而,由于激活 – 激活(Act-Act)算子的非线性表达,VDiT 中的 Act-Act 算子(如 Logit 和 Attend)无法使用这些差分计算方法,VDiT 中仍有 56.97% 的计算无法通过现有差分计算方法加速。
图 2:从相似性的角度与现有方法的比较
挑战 2:VDiT 算子的计算强度差异较大,导致利用率低下。
在文本生成中,大型语言模型(LLM)推理的主要耗时过程是生成单一 token 的向量。由于 KV 缓存的存在,LLM 推理中的算子表现出较低的计算强度,不同算子之间的差异也较小。在图像分类中,视觉 Transformer(ViT)同时对所有 tokens 进行计算。由于图像大小相近,ViT 中不同算子的计算强度差异也较小。然而,在视频生成中,随着帧数增加,Act-W 操作与 Act-Act 操作的计算强度差异超过 10 倍。VDiT 在时间维度上的计算和内存资源需求不断变化,因此现有为文本和视觉任务设计的静态架构和数据流无法充分应对这一问题,导致硬件利用率小于 40%。
本文方法
图 3:ViDA(一种基于差分近似和自适应数据流的 VDiT 加速器) 概述,探索了差分近似方法和自适应数据流架构。
针对挑战 1,我们提出了差分近似方法,可在 Act-W 和 Act-Act 算子中消除冗余计算。通过利用帧间相似性,这种方法将 Act-Act 操作的冗余计算减少了 51.67%。
基于差分近似方法,我们进一步提出了列聚集处理单元,以利用列稀疏模式。相比仅支持稠密或稀疏的 PE,该方法在面积效率上分别提高了 1.56 倍和 1.42 倍。
针对挑战 2,我们提出了一种计算强度自适应数据流架构,可动态分配资源以适配不同算子的执行需求。通过设计路由控制器平衡操作的执行,性能相比静态数据流架构提高了 1.76 倍。
我们在多个 VDiT 模型上验证了 ViDA 的加速性能。与 NVIDIA A100 GPU 和 SOTA 视觉加速器相比,ViDA 分别实现了平均 16.44 倍 / 2.18 倍的加速比和 18.39 倍 / 2.35 倍的面积效率提升。
研究背景以及动机
视频扩散 Transformer(VDiT)
通过将视觉变换器(ViT)引入扩散模型,VDiT 在 Sora 等视频生成工作中取得了前沿性能。生成视频的主要耗时阶段是通过 VDiT 在多时间步中预测需要去除的噪声,因此加速 VDiT 的计算至关重要。
图 4:VDiT 模型架构图
图 4 展示了 VDiT 的基本架构图。在某个去噪时间步 t,经过分块及位置嵌入后,噪声帧被转换为激活数据,作为 Transformer 块的输入。每个块由四部分组成:空间注意力(S-A)、时间注意力(T-A)、交叉注意力(C-A)和多层感知器(MLP)。模型通过 S-A 和 T-A 学习视频的空间和时间信息,通过 C-A 学习文本或图像条件信息。经过 L 层变换器块后,模型预测噪声并去噪图像,并进入下一时间步 t+1。
差分计算
差分计算通过利用激活值之间的相似性来减少计算量。具体来说,下一帧 F+1 的激活值 可以表示为当前帧 F 的激活值 加上一个增量部分 ΔX。由于当前帧和下一帧之间的激活值通常具有很高的相似性,因此 ΔX 中的许多元素非常接近于零。可以设置一个对模型精度影响可接受的阈值,将小于该阈值的增量部分元素视为零。
通过这种方法,可以实现数据的稀疏化,因为在数学计算中,零值与任何值相乘的结果仍然是零,从而有效减少计算量。尽管差分计算在传统深度学习中已取得成功,例如 Cambricon-D [ISCA 2024] 在 ReLU 激活函数中引入了这一技术,但在 VDiT 模型中,主要的注意力机制包含了大量激活 – 激活(Act-Act)算子。这些算子具有非线性特性,现有的差分计算方法无法直接适用,因此在 VDiT 中的加速效果较为有限。
技术要点
差分近似方法
现有工作中考虑帧间相似性的方法未能对 Act-Act 算子进行加速,主要原因在于差分计算无法处理其非线性特性。然而,Act-Act 计算在 VDiT 中占据了显著比例。
图 5:Act-Act 算子的(a)无优化的差分计算与(b)差分近似计算的比较
如图 5(a)所示,我们选取一个特定的激活作为参考激活,对冗余激活执行差分剪枝操作后,冗余激活的 Act-Act 计算可以拆解为 4 个部分,需要进行三次稀疏矩阵 – 矩阵乘法(SpMM)计算,不能实现计算效率提升。
为了简化计算,如图 5(b),我们对多种 Act-Act 操作的值进行了数值分析。结果表明,第二项和第三项的数值比第一项小两个数量级以上,并且没有显著的异常值。因此,可以忽略第二项或第三项以简化计算,从而减少 SpMM 数量。
此外,我们的近似计算在余弦相似度上的一致性平均超过 98%,对 Act-Act 操作的精度影响可以忽略。通过此方法,与稠密计算相比,Act-Act 操作的计算开销减少了 51.67%。
列聚集处理单元
我们观察到这些激活呈现出列稀疏性模式,这是因为 patch 向量之间的编码格式具有一致性。实验发现,激活矩阵中 87.94% 的非零值聚集在不到 23.50% 的列中。利用这一稀疏性模式,可以将稀疏列和稠密列进行细粒度拆分计算,从而实现面积效率的提升。如图 6 所示,为了利用稠密硬件低面积消耗和稀疏硬件低计算开销的优势,我们提出了列聚集处理单元(PE),其硬件设计包括分配单元、合并单元、稠密计算阵列和稀疏计算阵列。
如图 6(c)所示,稠密计算使用普通脉动阵列格式,稀疏计算则通过队列形式输入非零值,从而在稠密与稀疏计算之间实现硬件利用率的平衡。如图 6(d)所示,对于 CSC 格式的稀疏激活,分配单元根据非零值比例动态分配列到稠密或稀疏数组执行计算,优化任务分配并提高硬件利用率。
图 6:硬件架构概要
计算强度自适应数据流架构
VDiT 的算子计算强度差异明显,特别是 Act-W 与 Act-Act 操作之间。我们提出了一种可重配置计算架构,通过动态分配计算和存储资源,实现硬件利用率最大化。
计算强度自适应数据流:
-
资源平衡:针对注意力计算中计算强度差异大(如图 7 (a)),对 Logit 和 Attend 操作优化内存访问压力,对 QKV 和 O 投影操作优化计算密集度,提升处理单元(PE)和内存带宽的利用率。
-
跨帧优化:利用不同帧计算的独立性(如空间注意力),重组相邻帧的操作执行顺序(如图 7 (b)),同时结合计算密集型和内存密集型操作,优化流水线以提高硬件效率并减少延迟。
图 7:基于可重构架构的计算强度自适应数据流。
计算强度自适应架构:
为支持强度自适应数据流优化,我们设计了一种可重配置硬件架构,其中路由控制器作为核心组件,用于动态调整处理单元(PE)与内存单元(ME)之间的数据路径(如图 6 (b) 和 6 (e) 所示)。路由控制器通过映射控制器动态分配资源,结合路由开关调整连接路径,并利用 FIFO 队列临时存储数据,以适应不同算子的资源需求。
评估
实验设置
基线
-
通用架构:Intel Xeon 8358P CPU 和 NVIDIA A100 GPU。
-
定制加速器:ViTCoD、InterArch 和 CMC 三个 SOTA 视觉加速器。
算法设置
我们使用多个开源 VDiT 模型(包括 Open-Sora、Latte 等模型)来验证 ViDA 的有效性,选择 FVD, FID 和 CLIPSIM 作为评价指标,在 UCF-101 和 MSR-VTT 数据集上进行了测试。
算法评估
我们将 ViDA 的差分方法与 InterArch 和 CMC 两种代表性方法的准确性进行了比较。为确保实验的公平性,我们对 InterArch 进行了调整,使其同样考虑帧内相似性。我们首先基于 OpenSora 的基准 MSR-VTT 及 UCF-101 示例进行了精度测试,实验结果显示,在三个评价指标下 ViDA 的算法精度损失平均仅为 0.40%,低于 InterArch 的 0.57% 和 CMC 的 0.78%。通过进一步基于 UCF-101 数据集对 OpenSora 及 Latte 模型进行评估,ViDA 的平均精度损失为 0.81%,低于目前 SOTA 的工作 CMC 的 1.11%。
性能评估
图 8 展示了 ViDA 与不同基线的性能表现。与 A100 GPU 相比,ViDA 实现了 16.44 倍的性能提升;相较于 ViTCoD、InterArch 和 CMC,加速比分别提升了 2.48 倍、2.39 倍和 2.18 倍。这一显著的性能提升主要得益于通过差分计算来同时计算 Act-W 和 Act-Act 算子,同时通过强度自适应数据流设计满足了长视频生成场景下对计算和存储资源的复杂需求。
此外,ViDA 在面积效率方面的表现同样突出,其相较于 A100 GPU 提高了 18.39 倍;相较于 ViTCoD、InterArch 和 CMC,几何平均效率分别提升了 2.39 倍、2.43 倍和 2.35 倍。这主要得益于列聚集处理单元在列稠密模式下对稠密处理单元和稀疏处理单元的高效利用,以及精细化的任务分配策略在相同硬件面积下实现了更优的性能表现。
图 8:ViDA 与 CPU、GPU 及 SOTA 加速器在三个 VDiT 模型上的加速和面积效率比较。
敏感性评估
参考帧选择的影响
如图 9 (a) 所示,我们分析了参考帧选择对准确性和推理速度的影响。通过分析帧间余弦相似性,我们将每 8 帧分为一组。结果表明,参考帧选择对模型的 CLIPSIM 准确性几乎没有影响,同时加速比的变化也在可忽略范围内。
阈值选择的影响
如图 9 (b) 所示,我们分析了不同分配阈值对处理单元数组负载和利用率的影响。结果表明,当阈值设为 50% 时,可以实现最低的负载和最高的硬件利用率。
图 9:参考帧及阈值的选择对实验结果的影响
ViDA 在多种主流 VDiT 模型上的实验结果表明,与 NVIDIA A100 GPU 和现有最先进加速器相比,它分别实现了平均 16.44 倍 / 2.18 倍的加速比和 18.39 倍 / 2.35 倍的面积效率提升,可有效降低视频生成模型对计算资源的消耗,加速视频生成模型的推理过程,推动视频生成技术更好、更快、更大范围产业化落地。
如果你对文章感兴趣,欢迎点击学术作者团队实验室主页了解更多 https://dai.sjtu.edu.cn/
©
(文:机器之心)