Plaza 新闻汇总

FastVideo:加速大型视频扩散模型的开源框架

FastVideo是一个轻量级的框架,用于加速大型视频扩散模型。

**主要特点:**

* FastHunyuan和FastMochi:一致性蒸馏的视频扩散模型,推理速度提高了8倍。

* 基于PCM的视频DiT的第一个开源蒸馏方案。

* 支持蒸馏/微调/推理最先进的开源视频DiT:1. Mochi 2. Hunyuan。

* 使用FSDP、序列并行和选择性激活检查点进行可扩展训练,并在64个GPU上实现近线性扩展。

* 使用LoRA、预计算潜在变量和预计算文本嵌入进行内存高效微调。

**开发中且处于实验阶段。**

**演示:**

Fast-Hunyuan与原始Hunyuan的比较,使用FastVideo框架实现了8倍的扩散速度提升。

OpenAI Sora、原始Hunyuan和FastHunyuan之间的比较。

**更改日志:**

2024/12/17:发布FastVideo v0.1。

**安装:**

代码在Python 3.10.0、CUDA 12.1和H100上进行了测试。

`./env_setup.sh fastvideo`

**推理:**

建议使用具有80GB内存的GPU。要运行推理,请使用以下命令:

**FastHunyuan**

1. 下载模型权重

`python scripts/huggingface/download_hf.py --repo_id=FastVideo/FastHunyuan --local_dir=data/FastHunyuan --repo_type=model`

2. CLI推理

`sh scripts/inference/inference_hunyuan.sh`

您也可以在官方Hunyuan github中进行FastHunyuan推理。

**FastMochi**

1. 下载模型权重

`python scripts/huggingface/download_hf.py --repo_id=FastVideo/FastMochi-diffusers --local_dir=data/FastMochi-diffusers --repo_type=model`

2. CLI推理

`bash scripts/inference/inference_mochi_sp.sh`

**蒸馏:**

我们的蒸馏方案基于Phased Consistency Model。我们没有发现使用多阶段蒸馏有显著的改进,因此我们保留了与原始潜在一致性模型方案类似的单阶段设置。

我们使用MixKit数据集进行蒸馏。为了避免在训练期间运行文本编码器和VAE,我们预处理所有数据以生成文本嵌入和VAE潜在变量。

预处理说明可以在data_preprocess.md中找到。为了方便起见,我们还提供可以直接下载的预处理数据:

`python scripts/huggingface/download_hf.py --repo_id=FastVideo/HD-Mixkit-Finetune-Hunyuan --local_dir=data/HD-Mixkit-Finetune-Hunyuan --repo_type=dataset`

接下来,使用以下命令下载原始模型权重:

`python scripts/huggingface/download_hf.py --repo_id=FastVideo/hunyuan --local_dir=data/hunyuan --repo_type=model`

要启动蒸馏过程,请使用以下命令:

`bash scripts/distill/distill_mochi.sh` # 用于mochi

`bash scripts/distill/distill_hunyuan.sh` # 用于hunyuan

我们还提供了一个用于对抗损失蒸馏的可选脚本,位于fastvideo/distill_adv.py中。虽然我们尝试了对抗损失,但我们没有观察到显著的改进。

**微调:**

**完整微调**

确保您的数据已准备就绪并以data_preprocess.md中指定的格式进行预处理。为了方便起见,我们还提供了一个可以直接下载的mochi预处理Black Myth Wukong数据:

`python scripts/huggingface/download_hf.py --repo_id=FastVideo/Mochi-Black-Myth --local_dir=data/Mochi-Black-Myth --repo_type=dataset`

下载原始模型权重:

`python scripts/huggingface/download_hf.py --repo_id=genmo/mochi-1-preview --local_dir=data/mochi --repo_type=model`

`python scripts/huggingface/download_hf.py --repo_id=FastVideo/hunyuan --local_dir=data/hunyuan --repo_type=model`

然后,您可以使用以下命令运行微调:

`bash scripts/finetune/finetune_mochi.sh` # 用于mochi

请注意,对于微调,我们没有调整提供的脚本中的超参数。

**LoRA微调**

目前,我们只为Mochi模型提供LoRA微调,LoRA微调的命令为

`bash scripts/finetune/finetune_mochi_lora.sh`

**最低硬件要求**

* 使用LoRA的两个GPU,每个GPU 40 GB内存

* 使用CPU卸载和LoRA的两个GPU,每个GPU 30 GB内存

**使用图像和视频进行微调**

我们的代码库支持使用图像和视频进行微调。

`bash scripts/finetune/finetune_hunyuan.sh`

`bash scripts/finetune/finetune_mochi_lora_mix.sh`

对于图像-视频混合微调,请确保在脚本中启用`--group_frame`选项。

**致谢:**

我们学习并重用了以下项目的代码:PCM、diffusers、OpenSoraPlan和xDiT。

感谢MBZUAI和Anyscale在整个项目中的支持。

原文地址
2024-12-18 00:41:02