# Phase 2 总览:从双向模型到因果自回归推理
Phase 2 总览:从双向模型到因果自回归推理
Phase 1 的局限(Why Phase 2)
Phase 1 训练出了一个高质量的双向视频扩散模型,但它有两个根本性的推理限制:
限制一:固定帧数,无法自回归扩展。双向注意力要求所有帧同时输入 Transformer,推理时必须一次性生成完整视频(如 21 帧)。想要生成更长的视频,唯一的办法是增大显存——无法用"生成一段、接着生成下一段"的滑窗方式扩展,因为双向模型没有"历史"和"当前"的概念。
限制二:推理步骤多,速度慢。Flow Matching 训练的模型通常需要 50+ 个 ODE 求解步骤才能生成高质量结果,实时或近实时的推理场景不可接受。
Phase 2 的目标是将 Phase 1 的模型能力"迁移"到一个因果(Causal)自回归架构上,并同时实现少步(1–4步)推理。
Phase 2 的目标
- 自回归生成:模型按块(chunk)生成视频,每次生成 4 帧,以此前已生成的帧作为上下文,理论上可以无限延续。
- 少步推理:通过蒸馏,把 50+ 步的 ODE 轨迹压缩到 1–4 步,同时保持生成质量。
- 分布对齐:最终生成的视频分布与真实视频分布对齐,视觉质量达到可用水平。
这三个目标对应三类蒸馏技术,分4个 Stage 渐进实现。
为什么是 4 个 Stage?Stage 之间的关系
Phase 2 的核心挑战是:因果模型和少步推理都与 Phase 1 的训练设定相差甚远,直接从头训练或一步到位蒸馏会不稳定、质量差。因此采用渐进蒸馏链:每个 Stage 的 checkpoint 作为下一个 Stage 的初始化权重。
Phase 1 Checkpoint (双向, 50步) │ ▼ Stage 1: Teacher Forcing AR ├─ 目标: 把双向模型迁移到因果架构 ├─ 方法: 用 Phase 1 模型做 Teacher,因果模型学习在已知历史下去噪 ├─ 推理步骤: 仍然 50 步(未压缩) └─ 产出: 因果模型 checkpoint(质量中等,步数多) │ ▼ Stage 2a: ODE 蒸馏初始化 ├─ 目标: 初始化少步采样能力 ├─ 方法: Consistency 蒸馏,对齐 Stage 1 Teacher 的 ODE 轨迹 ├─ 推理步骤: 压缩至 4–8 步 └─ 产出: 具备少步能力的因果模型 checkpoint │ ▼ Stage 2b: Consistency Distillation 强化 ├─ 目标: 稳定 1–2 步推理 ├─ 方法: 相邻时间步一致性约束(Consistency Models) ├─ 推理步骤: 1–2 步 └─ 产出: 单步/双步因果模型 checkpoint │ ▼ Stage 3: DMD(Distribution Matching Distillation) ├─ 目标: 修复少步推理的质量损失,对齐生成分布 ├─ 方法: 分布匹配 + 对抗训练(fake/real 判别) ├─ 推理步骤: 1–4 步(最终) └─ 产出: 最终可用模型Stage 设计逻辑:每个 Stage 只解决一个问题,避免多目标联合优化的不稳定性:
- Stage 1 只管"因果化",不管步数;
- Stage 2a/2b 只管"压缩步数",在已经因果化的基础上进行;
- Stage 3 只管"分布质量",在步数已经压缩后修复质量。
这种解耦设计使每个 Stage 的调试和验证都相对独立,出现问题容易定位。
关键设计要素
Block-diagonal 因果注意力掩码:CausalWanModel 使用 FlexAttention 实现 block-diagonal 掩码,第iii块只能 attend 到j≤ij \leq ij≤i的块,同一块内全局注意力。这是因果结构的核心。
clean_x上下文注入:CausalDiffusion 的generator()调用比 BidirectionalDiffusion 多一个clean_x参数,用于在训练时注入已知的干净历史帧(Teacher Forcing)。Stage 1 依赖这一机制,Stage 2/3 逐步减弱或去掉这一依赖。
Noise Augmentation:向注入的历史帧加微小噪声(aug_t控制噪声水平),缓解训练时用 ground truth 历史、推理时用模型自己生成的历史之间的 mismatch(Exposure Bias 问题)。
Wan21 / HY15 实现差异
HY15 有平行的 Phase 2 实现路径,Stage 划分与 Wan21 完全相同:
| Stage | Wan21 入口 | HY15 入口 |
|---|---|---|
| Stage 1 | wan_trainer/ar_diffusion.py | HY15/trainer/pipelines/ar_hunyuan_training_entry.py |
| Stage 2a | wan_trainer/distill_diffusion.py | HY15/trainer/pipelines/ar_hunyuan_distill_entry.py |
| Stage 2b | (同 Stage 2a,不同配置) | (同 Stage 2a,不同配置) |
| Stage 3 | wan_trainer/dmd_diffusion.py | HY15/trainer/pipelines/ar_hunyuan_dmd_entry.py |
两者在 Stage 划分逻辑、蒸馏目标上完全对应,差异集中在 backbone 结构(WanModel vs HunyuanVideoTransformer)和因果掩码的底层实现方式。各 Stage 详细文档中会具体说明。
参考论文
[必读] DMD2: Improved Distribution Matching Distillation(Yin et al., 2024):https://arxiv.org/abs/2405.14867
贯穿 Phase 2 全部 Stage 的核心方法论,Stage 1 的 Teacher Forcing 框架、Stage 3 的分布匹配目标均来源于此。[必读] Consistency Models(Song et al., 2023):https://arxiv.org/abs/2303.01469
Stage 2a/2b 的理论基础。Consistency Distillation 将 ODE 轨迹上的任意两点映射到同一x0x_0x0预测,是实现少步推理的关键。[延伸] Flow Matching for Generative Modeling(Lipman et al., 2022):https://arxiv.org/abs/2210.02747
理解被蒸馏的"老师"是什么——ODE 轨迹的数学形式。[延伸] Improved Techniques for Training Consistency Models(Song & Dhariwal, 2023):https://arxiv.org/abs/2310.14189
Stage 2b 连续 Consistency 蒸馏的改进技巧,如自适应权重、EMA 目标网络。[延伸] Teacher Forcing(Williams & Zipser, 1989):Stage 1 中将 ground truth 历史喂给模型这一训练技巧的原始文献。
