即插即用!加速扩散Transformer!Meta提出自适应缓存新方法,视频生成加快2.6倍!

科技   2024-11-09 00:00   上海  

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【Mamba/多模态/扩散】交流群

添加微信号:CVer2233,小助手会拉你进群!

扫描下方二维码,加入CVer学术星球可以获得最新顶会/顶刊上的论文ideaCV从入门到精通资料,及最前沿应用!发论文/搞科研/涨薪,强烈推荐!

一水 发自 凹非寺
转载自:量子位(QbitAI)

现在,视频生成模型无需训练即可加速了?!

Meta提出了一种新方法AdaCache,能够加速DiT模型,而且是无需额外训练的那种(即插即用)

话不多说,先来感受一波加速feel(最右)

可以看到,与其他方法相比,AdaCache生成的视频质量几乎无异,而生成速度却提升了2.61倍

据了解,AdaCache灵感源于“并非所有视频都同等重要”

啥意思??原来团队发现:

有些视频在达到合理质量时所需的去噪步骤比其他视频少

因此,团队在加速DiT时主打一个“按需分配,动态调整”,分别提出基于内容的缓存调度和运动正则化(MoReg)来控制缓存及计算分配。

目前这项技术已在GitHub开源,单个A100(80G)GPU 上就能运行,网友们直呼:

看起来速度提升了2~4倍,Meta让开源AI再次伟大!

“并非所有视频都同等重要”

下面我们具体介绍下这项研究。

先说结论,以Open-Sora是否加持AdaCache为例,使用AdaCache能将视频生成速度提升4.7倍——

质量几乎相同的情况下,前后速度从419.60s降低到89.53s。

具体如何实现的呢??

众所周知,DiT(Diffusion Transformers)结合了扩散模型和Transformer架构的优势,通过模拟从噪声到数据的扩散过程,能够生成高质量图像和视频。

不过DiT并非完美无缺,自OpenAI发布Sora以来(DiT因被视为Sora背后的技术基础之一而广受关注),人们一直尝试改进它。

这不,Meta的这项研究就瞄准了DiT为人熟知的痛点:

依赖更大的模型和计算密集型的注意力机制,导致推理速度变慢

展开来说——

首先,团队在研究中发现,有些视频在达到合理质量时所需的去噪步骤比其他视频少。

他们展示了基于Open-Sora的不同视频序列在不同去噪步骤下的稳定性和质量变化。

通过逐步减少去噪步骤,他们发现每个视频序列的 “中断点”(即质量开始显著下降的步骤数量)是不同的,右侧直方图也显示了在不同步骤中特征变化的幅度。

这启发了团队,“并非所有视频都同等重要”

换句话说,针对每个视频都可以有不同的缓存和计算分配,以此节约资源。

于是针对缓存,Meta推出了一种名为AdaCache(自适应缓存)的新方法,核心是:

每次生成视频时,AdaCache会按视频的特定内容分配缓存资源,将不同视频的缓存需求动态调整到最优。

其架构如图所示,下面具体展开。

左侧部分,AdaCache将DiT的原始扩散过程分为多个步骤,并对每一步进行残差计算,以生成新的表示。

这些新的表示会在后续步骤中被重复使用,而不需要每次都重新计算,从而节省大量计算资源。

过程中,研究使用一个距离度量(ct)来判断当前表示和之前缓存的表示之间的变化幅度。

如果变化较小,就可以直接使用缓存,节省计算量;如果变化较大,则需要重新计算。

右侧部分,是DiT内部的计算过程,可以看到空间-时间注意力(STA)、交叉注意力(CA)和多层感知器(MLP)三个模块。

其中每一步生成的新表示(如ft+k和ft)会使用缓存中的残差进行更新,从而减少重复计算的次数。

总之一句话,这种策略使得计算资源能够根据视频内容的复杂性和变化率动态分配

此外,为了进一步改进AdaCache,团队还引入运动正则化(MoReg)来控制计算分配。

通过考虑视频特定的运动信息来优化缓存策略

团队发现,视频中的运动内容对于确定最佳的去噪步骤数量至关重要,通常高运动内容需要更多去噪步骤来保证生成质量。

基于此,MoReg的核心思想是:

对于运动内容较多的视频,应该减少缓存的使用,从而允许在更多的步骤中进行重新计算。

由于需要在视频生成过程中实时估计运动,MoReg不能依赖于传统的、计算密集型的像素空间运动估计算法

补充一下,这是一种用于视频编码中的技术,它通过比较相邻帧之间的像素差异来估计运动向量,从而实现视频的压缩。

因此,MoReg使用残差帧差异作为噪声潜在运动得分(noisy latent motion-score)的度量,其公式如下:

且为了进一步提高运动估计的准确性,MoReg引入了运动梯度(motion-gradient)的概念。

它可以作为一个更好的趋势估计,帮助在视频生成的早期阶段预测运动,并作为调整缓存策略的依据。

那么,采用AdaCache+MoReg的最终效果如何呢?

实验结果:优于其他免训练加速方法

最后,团队使用了VBench基准测试来评估AdaCache在不同视频生成任务中的性能。

其中VBench提供了一系列的质量指标,包括峰值信噪比(PSNR)、结构相似性(SSIM)和感知图像质量指标(LPIPS)。

同时,还测量了推理延迟(Latency)和计算复杂度(FLOPs)。

测试对象包括了AdaCache的多个变体,包括慢速(slow)、快速(fast)和带有MoReg的版本。

结果显示,fast变体提供了更高的加速比,而slow变体则提供了更高的生成质量。

与此同时,与其他无训练加速方法(如∆-DiT、T-GATE和PAB)相比,在生成质量相当或更高的情况下,AdaCache都提供了显著的加速效果。

另外,随着GPU的数量增加,AdaCache的加速比也相应增加,这表明它能够有效地利用并行计算资源,并减少GPU之间的通信开销。

更多实验细节欢迎查阅原论文。

论文:
https://arxiv.org/abs/2411.02397
项目主页:
https://adacache-dit.github.io/
GitHub:
https://github.com/AdaCache-DiT/AdaCache

参考链接:
[1]
https://x.com/Marktechpost/status/1854229192650698897
[2]https://x.com/Meta/status/1842207712224157812

何恺明在MIT授课的课件PPT下载

在CVer公众号后台回复:何恺明,即可下载本课程的所有566页课件PPT!赶紧学起来!

ECCV 2024 论文和代码下载

在CVer公众号后台回复:ECCV2024,即可下载ECCV 2024论文和代码开源的论文合集

CVPR 2024 论文和代码下载

在CVer公众号后台回复:CVPR2024,即可下载CVPR 2024论文和代码开源的论文合集


Mamba、多模态和扩散模型交流群成立

扫描下方二维码,或者添加微信号:CVer2233,即可添加CVer小助手微信,便可申请加入CVer-Mamba、多模态学习或者扩散模型微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF、3DGS、Mamba等。


一定要备注:研究方向+地点+学校/公司+昵称(如Mamba、多模态学习或者扩散模型+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信号: CVer2233,进交流群


CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉(知识星球),已汇集上万人!


扫码加入星球学习

▲点击上方卡片,关注CVer公众号

整理不易,请赞和在看

CVer
一个专注于计算机视觉方向的公众号。分享计算机视觉、深度学习、人工智能、自动驾驶和高校等高质量内容。
 最新文章