模型简介
模型特点
模型能力
使用案例
🚀 Wan2.1
Wan2.1是一套全面且开放的视频基础模型套件,突破了视频生成的界限。它具有SOTA性能、支持消费级GPU、可处理多任务、能进行视觉文本生成以及拥有强大的视频VAE等优势。
🚀 快速开始
安装
克隆仓库:
git clone https://github.com/Wan-Video/Wan2.1.git
cd Wan2.1
安装依赖:
# 确保torch >= 2.4.0
pip install -r requirements.txt
模型下载
模型 | 下载链接 | 注意事项 |
---|---|---|
T2V - 14B | 🤗 Huggingface 🤖 ModelScope | 支持480P和720P |
I2V - 14B - 720P | 🤗 Huggingface 🤖 ModelScope | 支持720P |
I2V - 14B - 480P | 🤗 Huggingface 🤖 ModelScope | 支持480P |
T2V - 1.3B | 🤗 Huggingface 🤖 ModelScope | 支持480P |
⚠️ 重要提示
1.3B模型能够生成720P分辨率的视频。然而,由于在该分辨率下的训练有限,与480P相比,结果通常不太稳定。为获得最佳性能,建议使用480P分辨率。
使用🤗 huggingface - cli下载模型:
pip install "huggingface_hub[cli]"
huggingface-cli download Wan-AI/Wan2.1-T2V-14B --local-dir ./Wan2.1-T2V-14B
使用🤖 modelscope - cli下载模型:
pip install modelscope
modelscope download Wan-AI/Wan2.1-T2V-14B --local-dir ./Wan2.1-T2V-14B
运行文本到视频生成
本仓库支持两种文本到视频模型(1.3B和14B)和两种分辨率(480P和720P)。这些模型的参数和配置如下:
任务 | 480P | 720P | 模型 |
---|---|---|---|
t2v - 14B | ✔️ | ✔️ | Wan2.1 - T2V - 14B |
t2v - 1.3B | ✔️ | ❌ | Wan2.1 - T2V - 1.3B |
(1) 不使用提示扩展
为便于实现,我们从跳过提示扩展步骤的基本推理过程开始。
- 单GPU推理
python generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."
如果遇到OOM(内存不足)问题,可以使用--offload_model True
和--t5_cpu
选项来减少GPU内存使用。例如,在RTX 4090 GPU上:
python generate.py --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --offload_model True --t5_cpu --sample_shift 8 --sample_guide_scale 6 --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."
💡 使用建议
如果使用
T2V - 1.3B
模型,建议将参数--sample_guide_scale
设置为6。--sample_shift
参数可以根据性能在8到12的范围内进行调整。
- 使用FSDP + xDiT USP进行多GPU推理
pip install "xfuser>=0.4.1"
torchrun --nproc_per_node=8 generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --dit_fsdp --t5_fsdp --ulysses_size 8 --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."
(2) 使用提示扩展
扩展提示可以有效丰富生成视频中的细节,进一步提高视频质量。因此,建议启用提示扩展。我们提供以下两种提示扩展方法:
- 使用Dashscope API进行扩展
- 提前申请
dashscope.api_key
(英文 | 中文)。 - 配置环境变量
DASH_API_KEY
以指定Dashscope API密钥。对于阿里云国际站的用户,还需要将环境变量DASH_API_URL
设置为'https://dashscope-intl.aliyuncs.com/api/v1'。更多详细说明,请参考dashscope文档。 - 对于文本到视频任务使用
qwen - plus
模型,对于图像到视频任务使用qwen - vl - max
模型。 - 可以使用参数
--prompt_extend_model
修改用于扩展的模型。例如:
- 提前申请
DASH_API_KEY=your_key python generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage" --use_prompt_extend --prompt_extend_method 'dashscope' --prompt_extend_target_lang 'ch'
- 使用本地模型进行扩展
- 默认情况下,使用HuggingFace上的Qwen模型进行此扩展。用户可以根据可用的GPU内存大小进行选择。
- 对于文本到视频任务,可以使用
Qwen/Qwen2.5 - 14B - Instruct
、Qwen/Qwen2.5 - 7B - Instruct
和Qwen/Qwen2.5 - 3B - Instruct
等模型。 - 对于图像到视频任务,可以使用
Qwen/Qwen2.5 - VL - 7B - Instruct
和Qwen/Qwen2.5 - VL - 3B - Instruct
等模型。 - 较大的模型通常提供更好的扩展结果,但需要更多的GPU内存。
- 可以使用参数
--prompt_extend_model
修改用于扩展的模型,允许指定本地模型路径或Hugging Face模型。例如:
python generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage" --use_prompt_extend --prompt_extend_method 'local_qwen' --prompt_extend_target_lang 'ch'
(3) 运行本地Gradio
cd gradio
# 如果使用Dashscope的API进行提示扩展
DASH_API_KEY=your_key python t2v_14B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir ./Wan2.1-T2V-14B
# 如果使用本地模型进行提示扩展
python t2v_14B_singleGPU.py --prompt_extend_method 'local_qwen' --ckpt_dir ./Wan2.1-T2V-14B
✨ 主要特性
- 👍 SOTA性能:Wan2.1在多个基准测试中始终优于现有的开源模型和最先进的商业解决方案。
- 👍 支持消费级GPU:T2V - 1.3B模型仅需8.19 GB VRAM,几乎与所有消费级GPU兼容。它可以在RTX 4090上约4分钟内生成一个5秒的480P视频(不使用量化等优化技术)。其性能甚至可与一些闭源模型相媲美。
- 👍 多任务支持:Wan2.1在文本到视频、图像到视频、视频编辑、文本到图像和视频到音频等任务中表现出色,推动了视频生成领域的发展。
- 👍 视觉文本生成:Wan2.1是第一个能够生成中文和英文文本的视频模型,具有强大的文本生成能力,增强了其实用性。
- 👍 强大的视频VAE:Wan - VAE具有出色的效率和性能,能够对任意长度的1080P视频进行编码和解码,同时保留时间信息,是视频和图像生成的理想基础。
📚 详细文档
手动评估
通过手动评估,提示扩展后生成的结果优于闭源和开源模型的结果。
不同GPU上的计算效率
我们在下表中测试了不同Wan2.1模型在不同GPU上的计算效率。结果以总时间(秒)/峰值GPU内存(GB) 的格式呈现。
表中测试的参数设置如下: (1) 对于8个GPU上的1.3B模型,设置
--ring_size 8
和--ulysses_size 1
; (2) 对于1个GPU上的14B模型,使用--offload_model True
; (3) 对于单个4090 GPU上的1.3B模型,设置--offload_model True --t5_cpu
; (4) 对于所有测试,未应用提示扩展,即未启用--use_prompt_extend
。
社区贡献
- DiffSynth - Studio为Wan提供了更多支持,包括视频到视频、FP8量化、VRAM优化、LoRA训练等。请参考他们的示例。
🔧 技术细节
Wan2.1简介
Wan2.1是基于主流扩散变压器范式设计的,通过一系列创新在生成能力方面取得了显著进展。这些创新包括新颖的时空变分自编码器(VAE)、可扩展的训练策略、大规模数据构建和自动化评估指标。这些贡献共同提高了模型的性能和通用性。
(1) 3D变分自编码器
我们提出了一种新颖的3D因果VAE架构,称为Wan - VAE,专门为视频生成设计。通过结合多种策略,我们提高了时空压缩率,减少了内存使用,并确保了时间因果关系。与其他开源VAE相比,Wan - VAE在性能效率方面显示出显著优势。此外,我们的Wan - VAE可以对无限长度的1080P视频进行编码和解码,而不会丢失历史时间信息,特别适合视频生成任务。
(2) 视频扩散DiT
Wan2.1是在主流扩散变压器范式的流匹配框架内设计的。我们的模型架构使用T5编码器对多语言文本输入进行编码,每个变压器块中的交叉注意力将文本嵌入到模型结构中。此外,我们使用一个带有线性层和SiLU层的MLP来处理输入时间嵌入,并分别预测六个调制参数。这个MLP在所有变压器块中共享,每个块学习一组不同的偏差。我们的实验结果表明,在相同的参数规模下,这种方法显著提高了性能。
模型 | 维度 | 输入维度 | 输出维度 | 前馈维度 | 频率维度 | 头数 | 层数 |
---|---|---|---|---|---|---|---|
1.3B | 1536 | 16 | 16 | 8960 | 256 | 12 | 30 |
14B | 5120 | 16 | 16 | 13824 | 256 | 40 | 40 |
数据
我们策划并去重了一个包含大量图像和视频数据的候选数据集。在数据策划过程中,我们设计了一个四步数据清理过程,重点关注基本维度、视觉质量和运动质量。通过强大的数据处理管道,我们可以轻松获得高质量、多样化和大规模的图像和视频训练集。
与SOTA模型的比较
我们将Wan2.1与领先的开源和闭源模型进行了比较,以评估其性能。使用我们精心设计的1035个内部提示,我们在14个主要维度和26个子维度上进行了测试。然后,我们通过对每个维度的分数进行加权计算来计算总分,权重来自匹配过程中的人类偏好。详细结果如下表所示。这些结果表明,我们的模型与开源和闭源模型相比具有优越的性能。
📄 许可证
本仓库中的模型遵循Apache 2.0许可证。我们对您生成的内容不主张任何权利,允许您自由使用它们,但您的使用必须符合本许可证的规定。您对模型的使用负全部责任,不得涉及分享任何违反适用法律、对个人或群体造成伤害、传播用于伤害的个人信息、传播错误信息或针对弱势群体的内容。有关完整的限制列表和您的权利详情,请参阅许可证全文。
致谢
我们感谢SD3、Qwen、umt5 - xxl、diffusers和HuggingFace仓库的贡献者,感谢他们的开放研究。
联系我们



