Wan 学习笔记
Wan 视频扩散模型学习笔记
Wan 是最近比较火的视频生成扩散模型,可以理解为 "Stable Diffusion 的视频版"。它的核心挑战在于同时建模空间结构(图像内容)和时间一致性(运动轨迹),还要在有限显存下搞定高分辨率视频生成。
整个系统由三个核心模块组成:Video VAE 负责压缩视频到时空 latent 表征,Diffusion Transformer 在 latent 空间中做扩散去噪,Text Encoder 把文本 prompt 转换为语义向量来引导生成。
Wan 模型总览与核心创新
作为阿里自研的视频生成模型,Wan 的创新性主要体现在以下几个方面:
多阶段层级生成架构
Wan 采用了 分层生成(Hierarchical Generation) 策略来解决高分辨率视频的显存瓶颈:
- Base Model:生成低分辨率、低帧率的基础 latent(如 480p@16fps)
- Temporal Super-Resolution:提升时间分辨率(如 16fps → 48fps)
- Spatial Super-Resolution:提升空间分辨率(如 480p → 1080p)
这种架构类似于 Sora、HunyuanVideo 等顶级模型,是当前解决视频生成显存问题的主流方案。
大规模 Transformer 主干
Wan 使用 Video DiT(Diffusion Transformer) 作为主干网络:
- 模型规模约百亿级参数(官方未公开具体数值)
- 采用改进的 T5 文本编码器(
WanT5EncoderModel)用于文本理解 - 时空注意力分解设计,支持长视频生成
多模态训练语料
训练数据涵盖:
- 中英文双语视频-文本对(上亿级规模)
- 影视素材、广告、短视频等多种类型
- 音视频脚本、镜头描述等结构化标注
这使得 Wan 在多语言理解、复杂场景建模上具有优势。
显存优化策略
针对高分辨率、长视频生成的显存挑战,Wan 采用了多种优化技术:
- 分块注意力(Chunked Attention):将长序列分块处理
- FlashAttention 集成:加速注意力计算,降低显存占用
- 混合精度训练(FP16/BF16):减少一半显存
- 动态显存调 度:类似 ZeRO-offload,在 CPU 和 GPU 间动态交换
Pipeline 整体架构
用户 Prompt(中/英文)
↓
┌──────────────────────────┐
│ Text Encoder (T5) │
│ - 编码文本语义 │
│ - 输出条件向量 │
└──────────┬───────────────┘
↓
┌──────────────────────────┐
│ Video VAE Encoder │
│ - 3D 卷积压缩 │
│ - 时间4倍,空间8倍下采样 │
└──────────┬───────────────┘
↓
Latent Space (z)
↓
┌──────────────────────────┐
│ Diffusion Transformer │
│ - 时空注意力分解 │
│ - 文本交叉注意力 │
│ - 逐步去噪 (50 步) │
└──────────┬───────────────┘
↓
去噪后的 Latent
↓
┌──────────────────────────┐
│ Video VAE Decoder │
│ - 3D 转置卷积 │
│ - 恢复视频帧 │
└──────────┬───────────────┘
↓
生成的视频帧