模型简介
模型特点
模型能力
使用案例
🚀 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-1.3B --local-dir ./Wan2.1-T2V-1.3B
使用🤖 modelscope - cli下载模型:
pip install modelscope
modelscope download Wan-AI/Wan2.1-T2V-1.3B --local_dir ./Wan2.1-T2V-1.3B
运行文本到视频生成
本仓库支持两种文本到视频模型(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-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --sample_shift 8 --sample_guide_scale 6 --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-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --dit_fsdp --t5_fsdp --ulysses_size 8 --sample_shift 8 --sample_guide_scale 6 --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-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --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-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --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_1.3B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir ./Wan2.1-T2V-1.3B
# 如果使用本地模型进行提示扩展
python t2v_1.3B_singleGPU.py --prompt_extend_method 'local_qwen' --ckpt_dir ./Wan2.1-T2V-1.3B
✨ 主要特性
- 👍 SOTA性能:Wan2.1在多个基准测试中始终优于现有的开源模型和最先进的商业解决方案。
- 👍 支持消费级GPU:T2V - 1.3B模型仅需8.19 GB显存,几乎与所有消费级GPU兼容。它可以在RTX 4090上约4分钟内生成一个5秒的480P视频(未使用量化等优化技术),其性能甚至可与一些闭源模型相媲美。
- 👍 多任务处理:Wan2.1在文本到视频、图像到视频、视频编辑、文本到图像和视频到音频等任务中表现出色,推动了视频生成领域的发展。
- 👍 视觉文本生成:Wan2.1是第一个能够生成中文和英文文本的视频模型,具有强大的文本生成能力,增强了其实际应用价值。
- 👍 强大的视频VAE:Wan - VAE具有出色的效率和性能,能够对任意长度的1080P视频进行编码和解码,同时保留时间信息,是视频和图像生成的理想基础。
📚 详细文档
评估
我们使用Wan - Bench框架评估T2V - 1.3B模型的性能,结果如下所示。结果表明,我们较小的1.3B模型在整体指标上超过了较大的开源模型,证明了WanX2.1架构和数据构建管道的有效性。
不同GPU上的计算效率
我们在不同GPU上测试了不同Wan2.1模型的计算效率,结果以总时间(秒)/峰值GPU内存(GB) 的格式呈现。
⚠️ 重要提示
此表中测试的参数设置如下:
- 对于8个GPU上的1.3B模型,设置
--ring_size 8
和--ulysses_size 1
;- 对于1个GPU上的14B模型,使用
--offload_model True
;- 对于单个4090 GPU上的1.3B模型,设置
--offload_model True --t5_cpu
;- 所有测试均未应用提示扩展,即未启用
--use_prompt_extend
。
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个子维度上进行了测试。然后根据每个维度的重要性通过加权平均计算总分。详细结果如下所示。这些结果表明,与开源和闭源模型相比,我们的模型具有优越的性能。
🔧 技术细节
3D变分自编码器
我们提出的Wan - VAE是一种专门为视频生成设计的3D因果VAE架构。它结合了多种策略来提高时空压缩率、减少内存使用并确保时间因果关系。与其他开源VAE相比,它在性能效率方面具有显著优势。而且,它能够对无限长度的1080P视频进行编码和解码,同时保留历史时间信息,非常适合视频生成任务。
视频扩散DiT
Wan2.1基于主流扩散变压器范式,使用流匹配框架设计。模型架构使用T5编码器对多语言文本输入进行编码,通过交叉注意力将文本嵌入到模型结构中。还使用MLP处理输入时间嵌入并预测调制参数,该MLP在所有变压器块中共享,每个块学习不同的偏差。实验表明,这种方法在相同参数规模下能显著提升性能。
📄 许可证
本仓库中的模型遵循Apache 2.0许可证。我们对您生成的内容不主张任何权利,允许您自由使用,但需确保您的使用符合本许可证的规定。您对模型的使用负全部责任,不得分享任何违反适用法律、对个人或群体造成伤害、传播用于伤害的个人信息、传播错误信息或针对弱势群体的内容。有关完整的限制列表和您的权利详情,请参阅许可证全文。
致谢
我们感谢SD3、Qwen、umt5 - xxl、diffusers和HuggingFace仓库的贡献者,感谢他们的开放研究。
联系我们



