当前位置: 首页 > news >正文

# 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 的目标

  1. 自回归生成:模型按块(chunk)生成视频,每次生成 4 帧,以此前已生成的帧作为上下文,理论上可以无限延续。
  2. 少步推理:通过蒸馏,把 50+ 步的 ODE 轨迹压缩到 1–4 步,同时保持生成质量。
  3. 分布对齐:最终生成的视频分布与真实视频分布对齐,视觉质量达到可用水平。

这三个目标对应三类蒸馏技术,分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 iji的块,同一块内全局注意力。这是因果结构的核心。

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 完全相同:

StageWan21 入口HY15 入口
Stage 1wan_trainer/ar_diffusion.pyHY15/trainer/pipelines/ar_hunyuan_training_entry.py
Stage 2awan_trainer/distill_diffusion.pyHY15/trainer/pipelines/ar_hunyuan_distill_entry.py
Stage 2b(同 Stage 2a,不同配置)(同 Stage 2a,不同配置)
Stage 3wan_trainer/dmd_diffusion.pyHY15/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 历史喂给模型这一训练技巧的原始文献。

http://www.cnnetsun.cn/news/2723769.html

相关文章:

  • C#写的Modbus RTU串口调试小工具,发指令自动加CRC校验码
  • 别再死记硬背公式了!用Halcon手把手教你搞定机器人九点标定(附完整C#代码)
  • 别再死记硬背了!用UE5的3C框架(Controller/Camera/Character)快速搭建一个可移动的第三人称角色
  • 极空间自带的文件管理不够用?我用File Browser补上了!
  • SPM8环境下T1像全自动标准化+灰质/白质/脑脊液三类组织精细分割工具集
  • STM32F407用HAL库+SDIO+DMA实现1线模式SD卡稳定读写(含时钟/中断/采样边沿配置)
  • 别再乱试了!用 Kali 跑 DDoS 脚本前,你必须知道的 3 个法律风险和 5 个技术替代方案
  • C语言是一门面向过程的计算机编程语言,与C++
  • Lindy自动化落地全周期拆解:从零搭建→流程编排→API集成→监控告警(附企业级Checklist)
  • 零基础能不能考PMP?零基础专属学习路径+全套扶持体系
  • 广告机项目实战:RK3588 Android13上搞定RTL8852BS WiFi蓝牙模块的完整踩坑记录
  • LangChain异步调用实战:批量处理100条文本,速度提升3倍的保姆级配置指南
  • 心性编码:依托本源心性构建程序底层编码新理论
  • Carnot群中Lipschitz曲线的C¹_H不可整流性构造与证明
  • 如何永久激活Windows和Office:KMS智能激活脚本完整指南
  • Chromatic终极指南:如何免费解锁Chromium应用的隐藏功能
  • 告别多视图数据打架:用Multi-VAE分离‘共性’与‘个性’,轻松搞定图像聚类
  • 问答与提问生成联合模型:T5实现与多任务学习调优
  • 【C++ 从基础到项目实战】C++(三):函数进阶——重载、回调、递归与默认参数
  • PL-2303驱动救赎记:让Windows 10与老芯片重归于好
  • 从‘删库跑路’到精准操作:手把手教你用jQuery的DOM方法(append, remove, empty)玩转动态网页
  • AI 视频智能体是什么?一文看懂「爆款仿剪→AI 生成→多平台发布」全流程
  • 保姆级教程:手把手教你从中国移动云盘下载并安装Matlab 2023b(附文件安装密钥)
  • 2026.05 english
  • 告别Clion?在VS2022里用Resharper C++插件实现智能重构与代码补全(附1.1版激活指南)
  • 从CHI ‘09到现代产品:人性化计算的核心框架与工程实践
  • FPGA新手避坑指南:用Vivado的Clocking Wizard搞定Xilinx 7系列时钟网络(附监控与抖动优化技巧)
  • AI图像描述如何满足视障用户多场景需求:从情境化设计到技术实现
  • UE5蓝图实战:用样条线做个能多次测量、一键清除的3D测距工具
  • 基于边缘计算的智慧停车场AI算力评估与SE110S-WA32部署方案