16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT

发布于 2024-11-26 10:19
浏览
0收藏

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

文章链接:https://arxiv.org/pdf/2411.13552
项目链接:https://github.com/microsoft/Reducio-VAE

亮点直击

  • 将视频编码为极少量的运动隐变量和一个内容图像,其中设计的 Reducio-VAE 可以将视频压缩到比常见的二维VAE 小64倍的隐变量空间。
  • 基于Reducio-VAE,通过结合额外的图像条件设计了一个名为Reducio-DiT的扩散模型。
  • 实验表明,Reducio-DiT可以显著加速生成过程,同时生成高质量的视频。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

总结速览

解决的问题

  • 商用视频生成模型虽然能生成逼真的高保真结果,但因昂贵的训练与推理成本,难以大规模应用。
  • 视频包含比图像更多的冗余信息,现有方法未充分压缩视频的运动信息表征。

提出的方案

  • 设计了一个图像条件变分自编码器(Image-Conditioned VAE),将视频编码为极度压缩的运动隐变量(Motion Latents)。
  • 提出Reducer-DiT方法,通过极大程度减少隐变量的数量来提高视频生成效率。
  • 采用两阶段视频生成范式:文本到图像文本-图像到视频

应用的技术

  • Reducer Charm:通过图像条件 VAE,隐变量数量减少64 倍,而不牺牲视频质量。
  • 扩散模型(Diffusion Model):在压缩的隐变量表示上进行训练和生成。
  • 高效的 GPU 资源利用:总训练耗时3.2K GPU时,使用单张 A100 GPU 实现快速生成。

达到的效果

  • 大幅提升视频隐变量扩散模型(Video LDMs)的训练和推理效率。
  • 支持生成1024×1024 分辨率16 帧的视频,耗时仅15.5 秒
  • 在有限的 GPU 资源下实现了高质量视频生成,评估性能表现优异。

Reducio

Reducio 视频自动编码器

变分自编码器 (VAE)
将输入的图像或视频投影到服从特定分布的压缩隐变量空间,并通过解码器将从分布中采样的隐变量映射到 RGB 空间。隐变量扩散模型 (LDM)利用 VAE 的下采样隐变量空间以支持更高效的生成。本文遵循这一通用方法,并基于 VAE 构建我们的视频自动编码器。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

视频的 Reducio 魔咒

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

Reducio 扩散Transformer

得益于 Reducio-VAE 的魔法压缩能力,以4096的下采样因子将输入视频投影到压缩隐变量空间,从而显著加速了扩散模型的训练和推理过程。采用 DiT-XL模型,并遵循 PixArt-α 的大部分设计选择,例如使用 AdaLN 单模块、带有 Flan-T5-XXL 文本条件的交叉注意力层。训练目标遵循反向扩散过程,其可表示为:

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

为了将图像扩散模型适配到视频,考虑了两种选择:
(1) 直接将 2D 注意力转换为完整的 3D 注意力,而不添加额外的参数。
(2) 添加时间层,并将模型转换为执行 2D 空间注意力加 1D 时间注意力。


本文默认采用选项 (1)。


此外,为了针对图像条件的视频生成,引入了 Reducio-DiT(如下图 3 所示),并加入了额外的图像条件模块,如下所述。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

内容帧模块包括一个基于预训练 OpenCLIP ViT-H 的语义编码器和一个初始化为 SD2.1-VAE 的内容编码器。前者将内容帧投影到高级语义空间,而后者主要专注于提取空间信息。将获得的特征与由 T5 输出的文本token进行拼接,形成图像-文本-联合条件,然后将其与带噪声的视频隐变量进行交叉注意力操作。具体来说,详细的操作可以描述为:

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

在常规视频扩散模型中,放大到高分辨率视频需要消耗大量计算资源。然而,Reducio-DiT 在很大程度上缓解了这一限制。为了支持高分辨率(例如,1024²)的视频生成,采用了渐进式训练策略:

  1. 在训练的第一阶段,模型学习将视频潜空间与图像-文本先验对齐,输入大量的 256² 视频;
  2. 在第二阶段,我们对分辨率更高的视频(即 512×512)进行微调。因此,内容编码器与带噪声隐变量一起增强了 4 倍的token;
  3. 在第三阶段,对空间分辨率大约为 1024 的视频进行进一步微调,采用多角度增强。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

实验

训练与评估细节

Reducio-VAE 在一个由 Pexels* 收集的 40万视频数据集上进行训练。Pexels 提供了大量免费的高质量素材视频,每个视频都附带简短的文本描述。我们从头开始训练 Reducio-VAE,使用的是 256×256 分辨率、16 帧每秒(FPS)的视频。需要注意的是,我们将高分辨率的视频按空间维度分割为多个小块。为了进行 VAE 比较,使用 PSNR、SSIM 、LPIPS 和重建 FVD (rFVD)作为评估指标。


Reducio-DiT 在上述 Pexels 数据集和一个包含 500 万个高分辨率文本-视频对的内部数据集上进行训练。本文采用多阶段训练策略,将模型从低分辨率训练到高分辨率。首先在 4 块 Nvidia A100 80G GPU 上以批量大小 512 训练 Reducio-DiT-256,训练约 900 个 A100 小时,并使用 PixArt-α-256初始化模型权重。然后,我们在 512² 视频上进行短时间微调,训练 300 个 A100 小时,得到 Reducio-DiT-512。在第三阶段,我们从 40 个宽高比桶中随机采样视频批次,这与 PixArt-α 中的设置相同。我们使用 8 块 AMD MI300 GPU 支持批量大小为 768 的训练,并微调 Reducio-DiT-1024,训练 1000 个 GPU 小时。


本文采用 DPM-Solver++ 作为高效推理的采样算法,并将采样步骤设置为 20。对于下表 2 中的评估,我们计算在单块 A100 80G GPU 上生成 16 帧视频片段的速度,并将内存溢出token为 OOM。对于 Reducio-DiT,我们使用 PixArt-α-256 和 PixArt-α-1024 分别生成 256² 和 1024² 视频的内容帧。我们报告了在零-shot 设置下,Reducio-DiT-512 在 UCF-101  和 MSR-VTT 上的 FVD 和 IS 分数。由于我们的方法是一种两阶段视频生成方法,要求使用条件图像先验,按照 MicroCinema 的做法,使用 SDXL 生成所有评估的条件图像,包括在 UCF-101 和 MSR-VTT 上的 FVD 评估。此外,还在最近的视频生成基准 VBench 上评估了 Reducio-DiT-512。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

主要结果

Reducio-VAE 保留了视频输入的细节。下图 4 展示了由 SDXL-VAE 和 Reducio-VAE 重建的 256² 视频的第一帧和最后一帧,黄色框框突出显示了细节上明显不同的区域。尽管 SDXL-VAE 会造成损坏和模糊,Reducio-VAE 通常能保持中间帧中的微妙纹理。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

下表 1 也反映了 Reducio-VAE 在定量重建指标上的优势,例如 PSNR、SSIM 和 LPIPS,这些是在 Pexels 上随机抽取的 1K 视频验证子集(每个视频时长 1 秒)上的评估结果,并且在 UCF-101 和 Pexels 上进行了 FVD 测试。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

从表中可以看出,Reducio-VAE 在整体重建性能上具有明显优势。具体来说,我们的模型在 PSNR 上比现有的最先进 2D VAE(例如 SD 2.1-VAE 和 SDXL-VAE)高出超过 5db。此外,与最近文献中专门为视频设计的 VAE(如 OmniTokenizer 和 OpenSora-1.2)相比,Reducio-VAE 也表现出更好的性能。我们的 VAE 还优于与之同时发布的 Cosmos-VAE,该模型也采用了进一步压缩的视频潜空间,Reducio-VAE 在 SSIM 上高出 0.2,并且在 PSNR 上高出 5 db,且下采样因子高达 8 倍。


Reducio-VAE 在 UCF-101 上的 rFVD 比其他方法差。通过仔细检查,我们发现选定的先验内容图像在许多情况下因为 UCF-101 视觉质量较低而导致模糊,从而导致重建质量较差。相比之下,Reducio-VAE 在 Pexels 上的 rFVD 排名第一,Pexels 中的视频具有更高的视觉质量和更高的分辨率。


Reducio-DiT 在效率和性能之间取得了良好的平衡。由于我们使用了极其压缩的潜空间,我们的扩散模型的训练成本与文本到图像的扩散模型相似。经过仅 3.2K A100 小时的训练,我们的模型在 UCF-101 上的 FVD 得分为 318.50,在 MSR-VTT 上为 291.0,并且在 VBench 上的得分为 81.39,超越了表 2 中记录的一系列以前的最先进视频 LDM。下图 5 展示了 Reducio-DiT 与另外两个最先进的图像到视频模型的比较。虽然 DynamicCrafter 和 SVD-XT 都未能生成与给定内容帧一致的稳定帧,Reducio-DiT 则能生成具有高视觉质量且面部细节未被损坏的内容帧。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

消融研究

Reducio-VAE 设计

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

增加隐空间通道有助于提高重建性能,如下表 4 所示。当 z 从 4 增加到 16 时,重建视频的 PSNR 增加了 2.71 db。然而,增加隐空间通道会出现天花板效应,将 z 设置为 32 几乎不会在 PSNR 和 SSIM 上带来进一步的提升。因此,选择将隐空间的大小设置为 |z| = 16 作为 Reducio 的默认设置。下图 6 展示了一个视觉上的定性比较,其中比较了 |z| = 16、8 和 4 时的结果。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

使用交叉注意力融合在下表 5 中取得了最具竞争力的性能。对于基于加法的融合,我们将内容帧特征输入卷积,并在时间维度上复制输出。然后,我们将视频特征与内容特征加在一起,并加入时间嵌入。关于基于线性融合的方法,我们将内容条件视为单帧视频特征,并将其与视频特征按时间维度拼接。拼接后的特征通过 3D 卷积层进行精炼。如表 5 所示,基于注意力的 Reducio-VAE 在 PSNR 上比其他基准高出 1.71,SSIM 上高出 0.01,但计算成本较高。默认情况下,我们展示的是使用基于注意力的融合方法的结果。请注意,表 5 中展示的所有 Reducio-VAE 都共享相同的 3D 编码器,因此具有相同的隐空间,用户可以根据不同的资源限制选择任何解码器。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

Reducio-DiT的设计

对于DiT的消融实验,我们在Pexels数据集上进行了每个实验300个A100小时的训练,并在UCF-101上报告了FVD和IS得分。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

使用联合时空注意力(3D 注意力)在生成质量上优于使用分解的空间和时间注意力(即 2D + 1D 注意力)。有趣的是,我们观察到分解注意力导致训练损失的收敛速度更快。然而,正如下表 7 所示,在相同的训练步骤下,分解注意力在 FVD 上落后于联合 3D 注意力 45 点。推测可能的原因是 2D + 1D 方案需要添加额外的时间层,并对每个小的 token 集进行分解自注意力,使得在轻量计算下很难建模平滑的开放集运动。相比之下,3D 注意力直接利用原始参数,并协作所有时空 tokens。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

同时融合语义信息和内容信息有助于获得最佳质量。如下表 8 所示,单独使用语义特征(即基于 OpenClip 的特征)可能导致视觉细节失真,从而导致较低的 FVD。另一方面,使用基于内容的特征有助于使视频更加平滑和稳定,尽管其运动不够多样化,从而实现更高的 FVD。下图 7 中展示了一个对比示例。内容和语义特征的协同作用帮助 Reducio 在内容一致性和运动丰富性之间取得最佳平衡。

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

16帧1024×1024视频耗时仅16秒!64倍压缩助力高效视频生成:复旦&微软发布Reducio-DiT-AI.x社区

结论

视频生成在许多潜在应用中展现了良好的前景,但仍然受到不可承受的计算成本的限制。本文探讨了如何通过减少隐空间的大小来有效降低开销。特别地,我们发现借助内容图像先验,视频可以被编码成极度压缩的隐空间表示,其中隐空间编码只需表示运动变量。基于这一观察,设计了 Reducio-VAE,将视频压缩为 4096 倍更小的隐空间表示。利用这个强大的 Reducio-VAE,我们训练了 Reducio-DiT,实现了快速的高分辨率视频生成。我们的方法也与其他加速技术兼容,例如修正流,允许进一步的加速,未来我们将对此进行进一步探索。


局限性和未来工作。尽管 Reducio-DiT 在与中心帧的一致性方面展现了强大的能力,但生成的视频仍然相对较短(16帧,16fps,即 1 秒),不适用于现实世界中的应用。鉴于视频的长度,生成视频中的运动幅度也有所限制。相信将我们的工作适应更长视频生成的潜力,并将在未来进行探索。


本文转自AI生成未来 ,作者:AI生成未来


原文链接:​​https://mp.weixin.qq.com/s/IldoDZmFBje7027NZ_xGHA​

收藏
回复
举报
回复
相关推荐