初识wan系列模型

Wan系列架构初识

Wan2.1架构概览

Wan2.1(由阿里云团队发布)是当前开源视频生成领域的顶级基础模型。Wan2.1 基于主流的扩散 Transformer (DiT) 范式,并在时空压缩、注意力机制和参数调制上进行了深度创新。全面引入了流匹配(Flow Matching)与专为视频设计的 3D 因果 VAE,展现了对复杂物理规律、动态运镜的极强模拟能力与出色的中英文本理解力。

  • 3D 因果 VAE (Wan-VAE) 与极限时空压缩:不同于早期先切片再压缩的 2D VAE,Wan2.1 引入了强大的 3D Spatio-Temporal VAE。它不仅在空间上(Height × Width)进行高倍率压缩,同时在时间轴(Temporal)上保证因果关系,能够高效编解码任意长度的 1080P 视频,而不会丢失历史帧的时序信息,彻底解决了长视频生成的连贯性问题。
  • 流匹配 (Flow Matching) 与 3D RoPE:底层采用最优传输下的流匹配(Rectified Flow)框架,直接预测平滑的连续向量场,去噪轨迹更稳定。为了让模型深刻理解 3D 物理空间,Wan2.1 抛弃了绝对位置编码,在多头自注意力层全面施加 3D 旋转位置编码 (3D RoPE),同时监听时间(t)、高度(y)和宽度(x)三个维度的相对位置,极大增强了模型对复杂运动轨迹的建模能力。
  • 共享 MLP 调制与跨注意力融合 (Shared MLP & Cross-Attention):与 FLUX 前期双流后期单流的做法不同,Wan2.1 采用高效的交叉注意力池(Cross-Attention)将文本语义注入 DiT。为了提高大规模视频数据训练的参数效率,Wan2.1 在所有的 Transformer Block 中使用了一个共享的 MLP (Linear ➔ SiLU ➔ Linear) 来预测每个 Block 独有的时间步调制参数(AdaLN),大幅降低了冗余计算并提升了生成的一致性。

为了详细分析 Wan2.1 的实现逻辑,我们以 Hugging Face diffusers 库的实现作为入口。下面是 Wan2.1 生成 5 秒视频的基础代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import torch
from diffusers import WanPipeline
from diffusers.utils import export_to_video

# 初始化 1.3B 或 14B 参数量的文生视频管线
pipe = WanPipeline.from_pretrained("Wan-AI/Wan2.1-T2V-1.3B-Diffusers", torch_dtype=torch.bfloat16)
pipe = pipe.to("cuda")
pipe.enable_model_cpu_offload()

# 生成 5 秒 480P 视频 (16 fps = 81 帧)
video = pipe(
"A cat holding a sign that says hello world, cinematic lighting, highly detailed",
height=480,
width=720,
num_frames=81,
guidance_scale=5.0,
num_inference_steps=50,
).frames[0]

export_to_video(video, "output.mp4", fps=16)

核心组件分析

基于 diffusers 中的 WanPipeline,Wan2.1 的生成管线依赖四个主要组件:

  1. Text Encoder: 强大的多语言文本编码器,默认采用 UMT5-XXL (由 mT5/T5 衍生),用于提取拥有极强上下文连贯性的文本序列特征,完美支持中英文混合提示词。
  2. 3D VAE (Wan-VAE): 16 通道高压缩比的 3D 因果自动编码器。通常进行时间维度 4 倍、空间维度 8 倍的深度下采样。
  3. Scheduler (FlowMatchEulerDiscreteScheduler / UniPC): 流匹配调度器。采用欧拉步进或 UniPC 多步调度,用于在潜空间中解算连续向量场。
  4. Transformer Backbone: 包含多达数十层的时空扩散 Transformer(1.3B 或 14B 版本),负责处理包含海量 Token 的 3D 潜变量序列。

数据输入到输出的完整尺度变化

视频生成的数据维度远超图像。以生成 5 秒、480P 分辨率的视频(16fps 计算,共 81 帧)为例,我们来追踪数据流在 Wan2.1 管线中的 3D 尺度变化:

  • Batch Size (N): 1
  • 隐通道数 ©: 16
  • 输入视频尺寸 (F × H × W): 81 × 480 × 720
  • VAE 压缩率: 时间轴缩小 4 倍(基于 1+T/4 逻辑),空间轴缩小 8 倍
  • 隐空间尺寸 (T_l × H_l × W_l): 21 × 60 × 90
  • 空间 Patch Size (p): 2 × 2
  • 文本序列长度 (L_txt): 512(基于 T5 提取)

1. 文本编码与全局条件融合 (Pipeline 级别)

  • 操作: 使用 UMT5-XXL 提取提示词的密集表征。生成纯随机的 3D 初始潜空间噪声,并将当前的时间步 (Timestep) 传递给模型。
  • Shape:
    • T5 文本序列特征 encoder_hidden_states1 × 512 × 4096
    • 3D 隐特征图 hidden_states (潜变量噪声) ➔ 1 × 16 × 21 × 60 × 90
    • 全局时间步长 timestep ➔ 标量,后续送入 Shared MLP。

2. 3D Patchify 与特征映射阶段

  • 操作 1 (Video 3D Patchify): 将 16 × 21 × 60 × 90 的 3D 隐张量在空间上按照 2 × 2 进行切块(时间维度上视架构配置通常为 1 或独立分块)。单帧被划分为 30×45=135030 \times 45 = 1350 个 Patch。21 个隐帧总计产生 Tvideo=21×1350=28350T_{video} = 21 \times 1350 = 28350 个时空 Token。随后通过线性层 x_embedder 升维至 Transformer 的隐藏层维度(如 1536 维 或 5120 维,视模型参数版本而定)。
    • Shape: 展平后的视频序列 ➔ 1 × 28350 × D
  • 操作 2 (Text Mapping): UMT5 提取的文本特征被投影至对应的隐藏维度。
    • Shape: 文本序列 ➔ 1 × 512 × D

3. 3D RoPE 坐标体系的建立与预计算

为了让庞大的时空序列不再迷失方向,模型在进入 Attention 之前,为 28350 个视频 Token 构建了一个严密的三维网格坐标系:

  • 时空 3D 坐标 (grid_sizes): 每个 Token 被赋予 (t, y, x) 坐标。模型将注意力头的维度(如单头 128 维)分配给这三个坐标轴生成对应的复数频率。
  • 操作: 预计算出适用于整个视频序列长度的 3D 旋转频率矩阵 freqs。这使得模型在后续每一层的 Self-Attention 中,能够精准感知任意两个物体在时间轴(运动方向)和空间轴(物理距离)上的相对关系。
  • Shape: 生成的 freqs 张量维度匹配视频序列长度,28350 个位置对应的旋转频率。

4. Spatio-Temporal Transformer Blocks 运算流

序列正式进入叠加的 DiT 块,进行深度的时空与语义计算。

  • 共享 MLP 调制 (Shared AdaLN): timestep 经过一个全局共享的 MLP 计算,生成 6 个时序相关的调节参数(scale, shift, gate 等),施加于当前 Block 的输入。相比于每层独立的参数,这一设计让大模型的参数被用在更刀刃的注意力机制上。
  • 带 3D RoPE 的 Self-Attention: 视频序列计算出 Q、K、V,随后 Q 和 K 分别与 freqs 进行逐 Token 的 3D 复数乘法(RoPE旋转)。完成物理时空上的注意力对齐与特征更新。
  • 交叉注意力 (Cross-Attention): 刚刚完成了时空重组的视频序列,作为 Query 去向文本序列 (Key, Value) 提取语义信息。将提示词中的“cat”、“hello world”、“cinematic”落实到具体的时空特征中。
  • Shape: Transformer 前向传播结束,视频序列维度严格维持在 1 × 28350 × D

5. 输出重建与 Wan-VAE 3D 解码

  • 操作 1 (反分块 Unpatchify): 离开最后一层 Transformer 后,输出通过最终的投影层降维回 16×2×2=6416 \times 2 \times 2 = 64。接着将 28350 长度的序列折叠回 3D 张量的形态。
    • Shape: 重建后的隐特征图 ➔ 1 × 16 × 21 × 60 × 90
  • 操作 2 (3D 因果解码): 将该张量分块送入 Wan-VAE 解码器。解码器利用 3D 反卷积(ConvTranspose3d)将空间维度放大 8 倍,时间维度基于因果逻辑放大 4 倍(补偿起始帧的偏移)。
    • Shape: 最终输出超高分辨率、平滑连续的 RGB 视频数据 ➔ 1 × 3 × 81 × 480 × 720

Wan2.2架构概览

Wan2.2(由阿里云通义团队发布)是继 Wan2.1 之后,在视频生成领域的一次巨大架构飞跃。Wan2.2 最核心的突破在于首创性地将专家混合架构(Mixture-of-Experts, MoE)引入视频扩散 Transformer 中,并在此基础上对光影、色彩等电影级美学进行了参数化解耦。它完美解决了长视频生成的计算瓶颈,在复杂物理运动和画面质感上达到了闭源模型的顶尖水平。

  • 时间步驱动的混合专家架构 (Timestep-Routed MoE):Wan2.2 旗舰版(A14B)的总参数量高达 270 亿(27B),但单次前向传播的激活参数仅为 140 亿(14B)。与大语言模型按 Token 路由不同,Wan2.2 的 MoE 是基于去噪时间步(Timestep)进行路由的。模型包含“高噪专家(High-noise Expert)”和“低噪专家(Low-noise Expert)”:在扩散前期的巨大噪声下,高噪专家负责构建视频的全局物理规律、运动轨迹和宏观布局;在扩散后期,低噪专家接管,专注打磨纹理细节和光影质感。这种设计在保持同等计算成本的同时,大幅扩张了模型的表征容量。
  • 电影级美学控制与海量数据泛化:Wan2.2 融入了超过 60 个直观可控的电影美学参数(光照、构图、对比度、色调等)。训练数据较 2.1 实现了质的飞跃(图像增加 65.6%,视频增加 83.2%),对复杂运镜(如推拉摇移)和人物交互逻辑有着深刻的理解。
  • 极致压缩的统一架构 (Wan2.2-TI2V-5B):除了 MoE 旗舰版,Wan2.2 还推出了一款 5B 尺寸的统一视频生成模型(单一模型同时支持文生和图生)。它采用了突破性的高压缩率 3D VAE,将时空压缩比推向了极高的 4×16×164 \times 16 \times 16(时间轴 4 倍,空间轴 16 倍),信息压缩率高达 64。这使得 5B 模型仅需 22G 显存(单张消费级显卡,如 RTX 4090)即可在数分钟内生成 720P 高清视频。

初识wan系列模型
https://huan-yin.github.io/2026/04/15/初识wan系列模型/
作者
李相越
发布于
2026年4月15日
许可协议