DiT 都能用,生成视频无品质损失,也不需要训练。
及时 AI 视频生成来了!
本周三,新加坡国立大学尤洋团队提出了业内第一种可以及时输出的,鉴于 DiT 的视频生成步骤。
该技术名为 Pyramid Attention Broadcast (PAB)。通过减少冗余注意力盘算,PAB 实行了高达 21.6 FPS 的帧率和 10.6 倍的减速,同时不会牺牲包括 Open-Sora、Open-Sora-Plan 和 Latte 在内的流行鉴于 DiT 的视频生成模型的品质。值得注意的是,作为一种不需要训练的步骤,PAB 可以为任何未来鉴于 DiT 的视频生成模型提供减速,让其具备及时生成的能力。
自今年起,OpenAI 的 Sora 和其他鉴于 DiT 的视频生成模型引起了 AI 领域的又一波浪潮。然而与图象生成相比,人们对于视频生成的关注点基本都在于品质,很少有研讨专注于探索如何减速 DiT 模型推理。减速视频生成模型的推理对于生成式 AI 应用来说已经是当务之急。
PAB 步骤的出现,为我们打开了一条路。
原始步骤与 PAB 视频生成速度的比较。作者在 Open-Sora 上测试了 5 个 4s(192 帧)480p 分辨率的视频。
GitHub 链接:https://github.com/NUS-HPC-AI-Lab/OpenDiT?tab=readme-ov-file#pyramid-attention-broadcast-pab-blogdoc
金字塔式注意力播送
近期,Sora 和其他鉴于 DiT 的视频生成模型引起了广泛关注。然而,与图象生成相比,很少有研讨专注于减速鉴于 DiT 的视频生成模型的推理。此外,生成单个视频的推理成本可能很高。
图 1:当前散布步调和先前散布步调之间的注意力输出差距,使用均方误差 (MSE) 对差距进行量化。
实行
这项研讨揭示了视频散布 transformer 中注意力机制的两个关键观察结果:
首先,差别时候步调的注意力差距呈现出 U 形模式,在最初和最后 15% 的步调中发生显著变化,而中间 70% 的步调则非常稳定,差距很小。
其次,在稳定的中间段内,注意力类型之间存在差距:空间注意力变化最大,涉及边缘、纹理等高频元素;时候注意力表现出与视频中的运动和动态相关的中频变化;跨模态注意力是最稳定的,将文本与视频内容联系起来,类似于反映文本语义的低频信号。
鉴于此,研讨团队提出金字塔式注意力播送来减少不必要的注意力盘算。在中间部分,注意力表现出微小的差距,该研讨将一个散布步调的注意力输出播送到几个后续步调,从而显著降低盘算成本。
此外,为了更有效的盘算和最小的品质损失,作者根据差别注意力的稳定性和差距性设置了差别的播送范围。即使没有后期训练,这种简单而有效的策略也能实行高达 35% 的减速,同时生成内容的品质损失可以忽略不计。
图 2:该研讨提出了金字塔式注意力播送,其中根据注意力差距为三个注意力设置差别的播送范围。注意力变化越小,播送范围越广。在运行时,该步骤将注意力结果播送到接下来的几个步调,以避免冗余的注意力盘算。x_t 指的是时候步 t 的特征。
并行
下图 3 为本文步骤与原始动态序列并行(Dynamic Sequence Paralle, DSP)之间的比较。当时候注意力得到传播时,则可以避免所有通讯。
为了进一步提升视频生成速度,本文鉴于 DSP 来改进序列并行。序列并行将视频分割为跨多个 GPU 的差别部分,从而减少了每个 GPU 的工作负载并降低了生成延迟。不过,DSP 引入了大量的通讯开销,需要为时候注意力准备两个 All to All 通讯。
通过在 PAB 中传播时候注意力,本文不再需要对时候注意力进行盘算,由此减少了通讯。相应地,通讯开销大幅降低了 50% 以上,使得及时视频生成可以进行更高效的分布式推理。
评估结果
减速
下图为差别模型在 8 块英伟达 H100 GPU 上生成单个视频时,测量得到的 PAB 总延迟。当使用单块 GPU 时,作者实行了 1.26 至 1.32 倍的减速,并在差别的调度器中保持稳定。
当扩展到多块 GPU 时,本文步骤实行了 10.6 倍的减速,并得益于高效的序列并行改进实行了与 GPU 数量之间的近线性扩展。
定性结果
以下三个视频分别为 Open-Sora、Open-Sora-Plan 和 Latte 三个差别的模型使用原始步骤与本文步骤的效果对比。可以看到,本文步骤在差别的 GPU 数量下均实行了差别程度的 FPS 减速。
定量结果
下表为 Open-Sora、Open-Sora-Plan 和 Latte 三个模型的 LPIPS(学习感知图象块相似度)和 SSIM(结构相似度)指标结果。
更多技术细节和评估结果可以查看即将推出的论文。
项目地址:https://oahzxl.github.io/PAB/
参考链接:
https://oahzxl.github.io/PAB/