模型概述
模型特點
模型能力
使用案例
🚀 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倉庫的貢獻者,感謝他們的開放研究。
聯繫我們



