概述
阿里云开源了其视频生成大模型Wan2.1
(万相),采用了较为宽松的Apache2.0协议
。
而这次对外了1.3B
(极速版)和14B
(专业版)两个参数规格的权重,及推理的全部代码。
这两种模型均支持文生视频(T2V
)和图生视频(I2V
)任务。
14B
版本在权威评测集VBench
中以86.22%
总分超越Sora
、Luma
等国内外模型;1.3B
版本可在消费级显卡运行(仅需8.2GB
显存生成480P
视频),适合二次开发和研究。
- 复杂运动生成:精准模拟人物旋转、跳跃、翻滚等动作,支持高级运镜控制
- 物理规律建模:真实还原碰撞、反弹、切割等场景,符合现实物理规则
- 中英文指令理解:支持长文本指令,实现场景切换、角色互动和多语言文字特效
技术原理
- 架构设计
- 因果
3D VAE
:专为视频设计的变分自编码器,高效压缩时空信息并保持生成连贯性 - 视频
Diffusion Transformer
(DiT
):结合扩散模型和Transformer
,逐步去噪生成视频,捕捉长时程依赖关系 - 分布式训练优化:采用
DP
、FSDP
、RingAttention
等混合并行策略,加速训练与推理
- 因果
- 性能提升技术
- 引入插件式增强块(如
Enhance-A-Video
),通过跨帧注意力调节提升时序一致性,减少画面模糊和跳帧问题
- 引入插件式增强块(如
本地部署
我电脑的环境:
python:3.10.9
CUDA:12.4
windows11
我们还是一如既往的先创建python
虚拟环境,我这里使用的是python3
自带的venv
来搭建虚拟环境,当然咯,你也是可以使用anaconda
或miniconda
来创建虚拟环境。
python -m venv Wan2.1-env
cd Scripts
activate
随后,我们clone
万相的推理代码。
git clone https://github.com/Wan-Video/Wan2.1.git
cd Wan2.1
项目依赖库安装
之后我们安装torch>=2.4.0
,这是官方所要求的。
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
再者我们安装项目的requirements.txt
依赖文件时,发现有flash-attention
这个依赖,它可是可以加速推理的一个框架。
然而,它对windows
可并那么友好啊。但是flash-attention
社区还是有人编译出了windows
的wheel
,也省的我们自己去编译了。
为此,我特意将CUDA toolkit
从12.1
升级到12.4
,关于这一点,是可以从我前几篇的文章看出来的。
https://github.com/kingbri1/flash-attention/releases
将下载下来的wheel
直接通过pip install
进行安装。
pip install flash_attn-2.7.4.post1+cu124torch2.6.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
至此,我们再来执行以下命令,来完成安装项目所需的依赖库。
pip install -r requirements.txt
下载模型
我们通过modelscope
来下载模型。
pip install modelscope
我这里下载的是Wan-AI/Wan2.1-T2V-1.3B
,若你要下载14B
的模型,只需将1.3B
换成14B
即可(前提是你电脑的硬件环境允许的条件下)。
modelscope download Wan-AI/Wan2.1-T2V-1.3B --local_dir ./Wan2.1-T2V-1.3B
模型 | 下载链接 | 备注 |
---|---|---|
T2V-14B | 🤗 Huggingface 🤖 ModelScope | 支持 480P 和 720P |
I2V-14B-720P | 🤗 Huggingface 🤖 ModelScope | 支持 720P |
I2V-14B-480P | 🤗 Huggingface 🤖 ModelScope | 支持 480P |
T2V-1.3B | 🤗 Huggingface 🤖 ModelScope | 支持 480P |
运行 generate.py
先是使用官方的prompt
,来生成视频。
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."
在命令行运行总是很不方便的,那么我们是可以运行官方提供的gradio
。
cd gradio
python t2v_1.3B_singleGPU.py --prompt_extend_method 'local_qwen' --ckpt_dir ./Wan2.1-T2V-1.3B