Mode Seeking meets Mean Seeking for Fast Long Video Generation

Authors: Shengqu Cai, Weili Nie, Chao Liu, Julius Berner, Lvmin Zhang, Nanye Ma, Hansheng Chen, Maneesh Agrawala, Leonidas Guibas, Gordon Wetzstein, Arash Vahdat Affiliations: Stanford University, NVIDIA Research, NYU Courant arXiv: 2602.24289 Project Page: primecai.github.io/mmm GitHub: NVlabs/FastGen

1. Motivation (研究动机)

核心问题: 将视频生成从秒级扩展到分钟级面临一个关键瓶颈——短视频数据丰富且高质量,但连贯的长视频数据稀缺且领域受限。

现有方法的局限性:

  • 混合长度 SFT (Supervised Fine-Tuning): 业界常见做法是将不同长度视频混合训练,期望模型像图像跨分辨率学习那样跨时间跨度插值。但论文指出这一假设根本性地有缺陷:视频长度并非类似图像分辨率, 图像是 图像的高分辨率插值(patch 分布相同),但 1 分钟视频不是 5 秒视频的”插值”——它是一种时间维度的”外推”,需要引入新事件、因果链和叙事结构。
  • 纯 SFT 方法: 在混合时长数据上训练时,模型为了生成更长序列往往以丧失短视频教师模型的锐利局部动态为代价,输出变得更柔和、细节更少。
  • 纯 Teacher-only 方法 (如 CausVid, Self-Forcing): 依赖短视频 teacher 蒸馏,但短视频 teacher 天然无法建模长程叙事结构,在分钟级生成中累积误差显著。

关键洞察: 局部视觉保真度(local fidelity)和长程叙事连贯性(long-term coherence)应该被解耦处理:

  • 稀缺的长视频数据用于学习全局叙事结构
  • 丰富的短视频先验用于保证每个局部窗口的视觉质量

2. Idea (核心思想)

提出 Mode Seeking meets Mean Seeking 训练范式,基于 Decoupled Diffusion Transformer (DDT) 架构,通过两个解耦的目标同时优化局部真实感和长程连贯性:

  1. Mean Seeking (均值寻求): 全局 Flow Matching head 通过有监督 flow matching 在真实长视频上学习分钟级叙事结构和时间依赖关系
  2. Mode Seeking (模式寻求): 局部 Distribution Matching head 通过 reverse-KL 散度将学生模型的每个滑动窗口对齐到冻结的短视频 teacher,继承高保真局部动态

推理时仅使用 DM head,实现 few-step 快速长视频生成(仅需 4 NFE),同时保持局部锐利度和全局一致性。

3. Method (方法)

3.1 整体框架

Figure 2 解读: 整体架构由三部分组成:(1) 共享的长上下文条件编码器 将带噪长视频 latent 映射为统一的时空特征表示 ;(2) 轻量级 Flow Matching head 解码全局速度场,通过有监督 flow matching 在真实长视频上训练(mean seeking);(3) 轻量级 Distribution Matching head 解码局部窗口速度场,通过 on-policy sliding-window reverse-KL 对齐到冻结短视频 teacher(mode seeking)。两个 head 共享编码器但各自接收对应的梯度信号。

3.2 Rectified Flow 预备知识

在视频 VAE 的 latent 空间中工作,采用 rectified flow 参数化。设 为干净视频 latent, 为先验采样,构建确定性加噪路径:

对应生成 ODE:

其中 为边际速度场。标准 flow matching 目标训练网络 近似

其中

3.3 滑动窗口视角

给定长视频 latent 帧),窗口长度 (约 5 秒),定义第 个窗口的裁剪:

其中 。设 为学生模型在该窗口上的边际分布, 为短视频 teacher 分布。目标是最小化:

使用 reverse KL 是 mode-seeking 的:鼓励学生将质量集中在 teacher 的高保真模式上,而非对所有模式取平均。

3.4 Decoupled Diffusion Transformer 架构

问题: Flow matching loss 通过条件均值预测优化(mean-seeking),而 reverse-KL teacher alignment 显式 mode-seeking,推动学生趋向 teacher 的高密度模式。两个信号施加在同一个速度预测器上会产生梯度干扰

解决方案: 解耦架构——共享特征编码器 + 两个轻量级解码头。

条件编码器: 给定带噪长视频 、条件 、时间步

是具有全范围时间依赖的视频 diffusion transformer,作为所有 head 的共享骨干。

两个速度头: 在 之上附加两个轻量级 transformer 解码器:

  • FM head : 参数化学生的全局速度场 ,用于长程训练和采样
  • DM head : few-step 生成器,处理局部窗口上的 teacher 对齐
# Pseudocode: Decoupled Diffusion Transformer 前向传播
def forward(x_t_long, t, c):
    """
    x_t_long: 带噪长视频 latent [B, T_long, H, W, C]
    t: 时间步 [B]
    c: 文本条件 embedding
    """
    # 共享编码器:全范围时间注意力
    h_t = condition_encoder(x_t_long, t, c)  # [B, T_long, H, W, D]
 
    # FM head: 全局速度场预测
    u_theta = fm_decoder(h_t, t, c)  # [B, T_long, H, W, C]
 
    # DM head: 局部窗口速度场预测
    v_psi = dm_decoder(h_t, t, c)  # [B, T_long, H, W, C]
 
    return u_theta, v_psi

3.5 局部 Reverse-KL via DMD/VSD

核心思路: 让学生模型的每个滑动窗口边际 匹配 teacher 分布 。直接计算 reverse KL 不可行,借鉴 DMD (Distribution Matching Distillation) 文献,reverse-KL 梯度可表示为 teacher 与学生在带噪状态上的 score/velocity 差异。

窗口级梯度代理: 设 为第 个窗口的带噪版本( 为学生生成的窗口,),使用

其中:

  • 是在学生窗口预测 上通过 score matching 训练 5 步的 fake score 估计器
  • 是冻结短视频 teacher 的速度
  • 作为 stop-gradient 项,仅通过 反向传播
  • 吸收标准 DMD/VSD 权重
# Pseudocode: Sliding-window DMD/VSD Loss
def compute_seg_loss(student_model, teacher_model, fake_score_model,
                     x_0_long, c, window_size, num_windows):
    """
    计算滑动窗口 reverse-KL 梯度代理
    """
    total_grad = 0
    # 1. 学生 on-policy 采样长视频
    z_long = torch.randn_like(x_0_long)
    x_hat_0_long = student_model.dm_sample(z_long, c, num_steps=4)
 
    for k in range(num_windows):
        # 2. 裁剪第 k 个窗口
        x_hat_0_k = crop_window(x_hat_0_long, k, window_size)
 
        # 3. 对窗口加噪
        t = torch.rand(1)
        eps = torch.randn_like(x_hat_0_k)
        x_hat_t_k = (1 - t) * x_hat_0_k + t * eps
 
        # 4. 处理窗口边界: 首帧 image latent 转换
        if k > 0:
            x_hat_t_k = prepend_image_latent(x_hat_t_k, x_hat_0_long, k)
 
        # 5. Fake score (训练5步的 score estimator)
        v_fake = fake_score_model(x_hat_t_k, t, c)
 
        # 6. Teacher velocity
        with torch.no_grad():
            u_teacher = teacher_model(x_hat_t_k, t, c)
 
        # 7. DMD 梯度代理 (stop-gradient on velocity diff)
        grad_proxy = (v_fake - u_teacher).detach() * x_hat_0_k
        total_grad += lambda_t(t) * grad_proxy.mean()
 
    return total_grad / num_windows

3.6 SFT Flow Matching 锚定长视频

Distribution matching 单独无法教模型全局叙事结构(短视频 teacher 不具备长程建模能力)。因此 FM head 通过有监督 flow matching 在完整长视频上训练:

梯度流经条件编码器 和 FM head ,锚定学生的全局速度场到真实长视频轨迹。

3.7 联合目标与训练流程

梯度更新规则实现了预期的解耦:

  • FM head 仅接收长视频 SFT 梯度
  • DM head 仅接收 teacher distribution matching 梯度
  • 共享编码器 接收两者梯度

每步训练使用两个 mini-batch:

  1. 一批真实长视频计算 ,更新
  2. 一批 on-policy 学生 rollout 采样滑动窗口,应用 DMD/VSD 梯度代理更新
# Pseudocode: 联合训练流程
def train_step(encoder, fm_head, dm_head, teacher, fake_scorer,
               long_video_batch, optimizer):
    """
    每个训练步包含两个 mini-batch
    """
    # === Mini-batch 1: SFT on real long videos ===
    x_0_long, c = long_video_batch
    t = torch.rand(x_0_long.shape[0])
    z = torch.randn_like(x_0_long)
    x_t = (1 - t) * x_0_long + t * z
 
    h_t = encoder(x_t, t, c)
    u_pred = fm_head(h_t, t, c)
    target = x_0_long - z
    loss_sft = mse_loss(u_pred, target)
 
    # === Mini-batch 2: DMD on student rollouts ===
    # On-policy 采样: 用 DM head 生成长视频
    with torch.no_grad():
        z_init = torch.randn_like(x_0_long)
    x_hat_0 = dm_head_sample(encoder, dm_head, z_init, c, steps=4)
 
    # 滑动窗口 DMD loss
    loss_seg = sliding_window_dmd(
        encoder, dm_head, teacher, fake_scorer,
        x_hat_0, c, window_size=L
    )
 
    # === 联合更新 ===
    loss_total = loss_sft + lambda_seg * loss_seg
    optimizer.zero_grad()
    loss_total.backward()
    optimizer.step()
 
    # 更新 fake score estimator (每5步)
    update_fake_scorer(fake_scorer, dm_head, encoder)

3.8 推理

推理时丢弃 FM head,仅使用 DM head 生成长视频。DM head 在滑动窗口上有监督,可端到端双向生成长视频(类似 APT2)。共享编码器确保 使用的表示已被塑造为:任何生成长视频的滑动窗口都位于 teacher 的高保真局部分布模式中,同时长程连贯性和叙事结构通过 直接从稀缺长视频学习。

仅需 4 步 NFE 即可生成分钟级视频。

3.9 滑动窗口 DMD 实现细节

现代大规模视频 latent diffusion 模型的 latent 空间同时包含 image latent 和 video frame latent。在长 latent 序列上应用滑动窗口 DMD 时,从中间裁剪的窗口以 video latent 开头,而 teacher 期望第一帧为 image latent,导致窗口边界语义不匹配。

解决方案: 对于偏移 的窗口,解码 latent 前缀 的最后一帧 RGB,用冻结 VAE 重编码为 image latent,前置到学生窗口视频 latent 前,再计算 DMD loss,并 mask 掉重建 latent 以避免反向传播通过 VAE。

3.10 Code-to-Paper 映射表

Paper ConceptSource File (FastGen)Key Class/Function
Condition Encoder networks/ (WAN architecture)Video DiT backbone
FM Head networks/Lightweight transformer decoder
DM Head networks/Lightweight transformer decoder
DDT 架构基于 Wang et al., 2025c (DDT)Decoupled Diffusion Transformer
DMD/VSD Lossmethods/ (DMD2 相关)Distribution matching distillation
SFT Flow Matchingmethods/Standard flow matching loss
Sliding Window DMD自定义实现 (Sec. C)Window cropping + image latent fix
Sequence ParallelismDeepSpeed UlyssesSP group size 4 (A100) / 2 (GB200)

4. Experimental Setup (实验设置)

基础模型

  • Student & Teacher: Wan (Wang et al., 2025a) 2.1 1.3B 模型(公平对比);也在 Wan 14B 上验证
  • 架构: 基于 DDT (Wang et al., 2025c) 的 Decoupled Diffusion Transformer

训练细节

  • GPU: A100 和 GB200
  • 并行策略: DeepSpeed Ulysses sequence parallelism(A100 组大小 4,GB200 组大小 2)
  • 训练方式: Dynamic batching + variable-length training + length-based bucket 预处理
  • 数据: Sekai 数据集 + MiraData 子集 + 随机筛选的单镜头互联网视频,总计 >100k 视频,时长 10 秒到数分钟,平均 31 秒,上限截断至 61 秒

Baselines

  1. Long-context SFT: 直接收集长视频微调预训练模型
  2. Mixed-length SFT: 工业级做法,混合不同长度视频联合训练
  3. CausVid (Yin et al., 2025): AR-based teacher distillation
  4. Self-Forcing (Huang et al., 2025b): AR-based,训练-推理 gap 弥合
  5. InfinityRoPE (Yesiltepe et al., 2026): AR self-rollout + RoPE 外推

评估指标

  • 200 个 prompt 描述长视频和事件,生成 30 秒视频
  • VBench-Long 指标: Subject Consistency, Background Consistency, Motion Smoothness, Dynamic Degree, Aesthetic Quality, Image Quality
  • VLM Consistency: Gemini-3-Pro 评估语义一致性(0-100 分)

5. Experimental Results (实验结果)

5.1 定量结果 (Table 1)

MethodNFESubject ConsistencyBackground ConsistencyMotion SmoothnessDynamic DegreeAesthetic QualityImage QualityVLM Consistency
Long-context SFT500.96850.95330.98660.93750.49730.630377.28
Mixed-length SFT500.96670.95410.98740.89060.54670.668374.63
CausVid40.97360.96140.97890.85940.60440.630539.30
Self-Forcing40.94890.94510.98050.90630.55560.627837.60
InfinityRoPE40.96890.95730.98120.71880.53420.687168.61
Ours40.96820.95480.98630.94530.57350.698275.42

关键发现:

  • 本方法仅用 4 NFE(vs SFT 方法的 50 NFE)即实现全面领先
  • Image Quality 0.6982 在所有方法中最高,证明 DM head 成功继承了 teacher 的高保真先验
  • Dynamic Degree 0.9453 远超 AR 方法(CausVid 0.8594, InfinityRoPE 0.7188),表明模型避免了运动坍缩
  • VLM Consistency 75.42 在 few-step 方法中最高,接近 50-step Long-context SFT (77.28)
  • AR 方法 (CausVid, Self-Forcing) VLM Consistency 极低 (39.30, 37.60),说明缺乏长程监督导致叙事连贯性差

5.2 定性结果

Figure 3 解读: 展示了多个场景的 30 秒长视频生成结果(5s-30s 关键帧)。模型在多种场景下(跑车行驶、海滨风光、摩托越野、街景等)同时保持了局部保真度和全局连贯性。所有结果使用 Wan 1.3B 作为 student 和 teacher。

Figure 4 解读: 与 baselines 的定性对比。LongSFT 和 MixSFT 保持了大致场景布局但局部纹理模糊、边缘柔化。CausVid 和 Self-Forcing 虽有较强局部对比度但长程质量退化严重。InfinityRoPE 虽延长了时间范围但缺乏长上下文处理能力,倾向于生成静态内容。本方法在质量、运动和长程一致性方面整体最优。

5.3 消融实验 (Table 2)

MethodConsistencyMotionQuality
No DDT dual heads0.94270.94490.5298
No Sliding-window DMD0.96040.96210.6075
No SFT0.95790.96900.5862
Full Model0.96150.96850.6359

消融分析:

  • 移除 DDT 双头 (单一速度预测器): 所有指标大幅下降,验证了 mean-seeking 和 mode-seeking 梯度干扰的假设
  • 移除滑动窗口 DMD: 退化为纯 SFT,Quality 降至 0.6075
  • 移除 SFT: 运动质量有竞争力 (0.9690) 但全局一致性和整体质量更差 (0.5862),说明短视频 teacher 无法替代长视频监督
  • 完整模型: 最佳整体表现,三个组件缺一不可