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



