基於 Diffusion Transformer (DiT),融合 Flow Matching 與 Mixture-of-Experts (MoE) 的新一代影片生成模型。
Wan2.2 是一個端到端的影片生成系統,它摒棄了傳統的 U-Net,採用了 DiT 架構來處理影片的長序列 Token。 其參數量高達 27B,但得益於 MoE 稀疏激活機制,推理時顯存佔用僅相當於 14B 模型。
將文本、幀、蒙版統一編碼。
Wan-VAE 實現 4×8×8 壓縮率,資訊壓縮倍數達 256倍。
採用 umT5 編碼器,原生支援中英雙語提示詞。
影片數據包含極高的冗餘。Wan-VAE 通過 3D 卷積實現了時空維度的同時壓縮。
->
Wan2.2 採用流匹配(Flow Matching),其生成軌跡是直線的(Optimal Transport Path),相比傳統擴散模型的「隨機行走」路徑,效率更高,訓練更穩定。
模型直接預測速度向量。
傳統的擴散模型(DDPM)模擬的是隨機微分方程(SDE),路徑彎曲。Flow Matching 建立了一個從噪聲到數據的確定性常微分方程 (ODE)。直線路徑允許更大的步長(20-50 步)。
Wan2.2 的 MoE 不是用於擴大詞表,而是專門用於去噪過程的時間維度。影片生成的早期(構圖)和晚期(細節)需要截然不同的能力。
激活模型
高噪專家 (High Noise)
專注任務
全局佈局與結構
全局佈局與結構
| 組件 | 高噪專家 (High Noise) | 低噪專家 (Low Noise) |
|---|---|---|
| 激活條件 | 低 SNR (早期) | 高 SNR (後期) |
| 主要職責 | 生成大幅度運動、場景佈局 | 生成紋理、光影細節 |
| 訓練策略 | 從零開始訓練 | 基於 Wan2.1 微調 |
以下代碼展示了如何使用 Hugging Face `diffusers` 庫來加載 Wan2.2 模型並生成影片。底層會自動處理 MoE 的權重切換。
import torch
from diffusers import WanPipeline
from diffusers.utils import export_to_video
# 1. 加載模型 (自動加載 MoE 權重)
# 以下代碼展示了如何使用 Hugging Face `diffusers` 庫來加載 Wan2.2 模型並生成影片。底層會自動處理 MoE 的權重切換。
pipe = WanPipeline.from_pretrained(
"Wan-AI/Wan2.2-T2V-A14B-Diffusers",
torch_dtype=torch.bfloat16
)
# 2. 開啟顯存優化 (Offload 到 CPU)
pipe.enable_model_cpu_offload()
# 3. 生成影片 (Flow Matching 僅需約 50 步)
prompt = "A cinematic drone shot of a futuristic city with flying cars, neon lights, 4k, high quality."
output = pipe(
prompt=prompt,
height=720,
width=1280,
num_inference_steps=50,
guidance_scale=5.0
).frames[0]
# 4. 保存結果
export_to_video(output, "wan_futuristic_city.mp4")