Paper

Causal Forcing++ 论文速读:实时交互视频生成的少步蒸馏新范式

7 min read ·

💡 一句话总结:Causal Forcing++ 把自回归视频扩散蒸馏从 chunk-wise 推进到 frame-wise,在不增加训练成本的前提下实现了真正的实时交互视频生成。

论文一句话定位

清华大学朱军组 THU-ML 在 2026 年 5 月 21 日提交的论文 Causal Forcing++: Scalable Few-Step Autoregressive Diffusion Distillation for Real-Time Interactive Video Generation,是 2025 年同组工作 Causal Forcing 的直接续作。

研究问题:如何把视频扩散模型蒸馏成真正能交互的实时模型? 已有方案:Self Forcing(差)、Causal Forcing chunk-wise(好但延迟仍高) 本文贡献:Frame-wise 自回归蒸馏的可扩展训练范式,1-2 步采样下保持视觉质量

背景:从扩散到实时的三次跳跃

视频生成模型从离线到实时经历了三次范式跳跃,理解这条线索是看懂 Causal Forcing++ 价值的前提。

跳跃 1:双向扩散到自回归扩散

传统视频扩散(Stable Video Diffusion、VideoCrafter)是双向的——所有帧同时去噪,需要看到完整时序上下文。这意味着延迟与视频长度成正比,5 秒视频可能需要 30 秒生成。

自回归扩散(CogVideoX、Wan)把生成过程改成帧级因果——第 t 帧只依赖前 t-1 帧。延迟变成单帧时间 × 帧数,理论上可以做到流式输出。

跳跃 2:多步采样到少步蒸馏

但即使是自回归扩散,单帧也需要 20-50 步采样才能保证质量。少步蒸馏(Consistency Model、DMD、Self Forcing)的目标是把 50 步压到 4-8 步,把单帧时间从秒级压到 200-400ms。

跳跃 3:Chunk-wise 到 Frame-wise

Causal Forcing 仍然是 chunk-wise:每次生成一个 4-8 帧的 chunk,chunk 内的帧并行去噪。这对硬件友好但有一个根本问题——chunk 边界处的运动连贯性差。Causal Forcing++ 的核心突破是把蒸馏粒度推到 frame-wise,每帧独立 1-2 步采样,从而打破 chunk 边界。

核心方法拆解

Causal Forcing++ 的算法贡献可以分成三块。

1. Causal Consistency Distillation(CCD)

原版 Causal Forcing 用的是标准 Consistency Model loss:让学生模型在不同噪声等级上的预测一致。但这种 loss 在 frame-wise 设定下会导致短期一致但长期漂移——单帧看起来 OK,10 帧之后画面就开始崩溃。

CCD 引入了跨帧一致性约束

L_CCD = ||student(x_t, frame_history) - teacher(x_t, frame_history)||²
      + λ * ||student(x_t, frame_history[:k]) - student(x_t, frame_history[:k-1] + teacher_frame)||²

第二项是关键:要求学生模型在「真实历史帧」和「教师生成的历史帧」上的预测尽量一致。这强制学生模型学到对历史误差不敏感的预测,从而抑制长期漂移。论文中 λ=0.3 时效果最好。

2. Adaptive Step Scheduling(ASS)

固定的 1 步或 2 步采样对所有帧都用相同的计算预算,但实际上不同帧的难度差异巨大——快速运动帧需要更多步,静止帧 1 步足够。

ASS 在推理时根据预测置信度动态分配步数:

def adaptive_sample(model, x_noisy, history, max_steps=2):
    x_pred = model(x_noisy, history, t=T)  # 第 1 步
    confidence = model.confidence_head(x_pred)
    
    if confidence > 0.85 or max_steps == 1:
        return x_pred  # 1 步够了
    
    # 否则做第 2 步精炼
    x_refined = model(x_pred, history, t=T/2)
    return x_refined

实测平均每帧 1.3 步,对应 30% 的算力节省,质量损失 <1% FVD。

3. Dynamic Temporal Sampling(DTS)

训练时如何采样时序窗口对收敛至关重要。论文发现固定窗口(如 8 帧历史)会让模型对历史长度过拟合,部署时换成 32 帧反而崩溃。

DTS 在训练时随机采样历史长度 ∈ [2, 64],并且加权偏向短历史(早期帧),强制模型在各种历史长度下都能工作。这个看似简单的改动让模型在长视频(>200 帧)上的 FVD 提升 18%。

实验结果

论文在 VBench、UCF-101、Kinetics 三个基准上做了全面对比。

视觉质量(FVD ↓ 越低越好)

方法步数FVD (Kinetics)IS (UCF101)
教师模型(50 步)50142.388.2
Self Forcing4218.775.1
DMD4195.478.6
Causal Forcing4 (chunk)167.284.3
Causal Forcing++1.3 avg158.686.8

Causal Forcing++ 在平均 1.3 步的采样下,达到了原版 Causal Forcing 4 步的质量,并且非常接近 50 步教师模型。

运动动态(GVD ↓)

GVD(Generative Video Dynamics)衡量生成视频中运动的合理性。

方法GVD人评(vs 教师)
Self Forcing0.4228% 用户偏好
Causal Forcing0.3145% 用户偏好
Causal Forcing++0.2451% 用户偏好

51% 的人评偏好率意味着 Causal Forcing++ 的输出已经和 50 步教师模型不相上下,部分场景甚至超过(因为少步蒸馏对噪声不敏感)。

延迟与吞吐量

硬件模型尺寸分辨率延迟/帧吞吐量
RTX 40905B512×51250ms20 FPS
RTX 40905B720p80ms12 FPS
H1005B720p45ms22 FPS
H10010B720p80ms12 FPS
A1005B512×51265ms15 FPS

5B 模型在 RTX 4090 上 720p 12 FPS——这对游戏 NPC 和虚拟形象驱动已经够用了。

工程启示

Causal Forcing++ 的方法可以泛化到非视频领域,三个启示值得记下来。

启示 1:Frame-wise 比 Chunk-wise 更适合交互

任何需要实时交互的生成任务(语音合成、3D 场景生成、机器人动作生成),都应该优先考虑 frame-wise / step-wise 蒸馏。Chunk-wise 是为了 GPU 并行度的妥协,但 frame-wise 在用户体验上的优势是数量级的。

启示 2:Consistency Loss 必须跨步设计

普通 Consistency Model 只考虑同一帧的不同噪声等级一致性。Causal Forcing++ 引入跨帧一致性——这个思路可以推广到任何自回归生成任务。比如自回归语言模型的蒸馏,是不是也应该约束「在教师/学生历史 token 上的下一 token 预测一致」?这是个值得探索的方向。

启示 3:动态推理是少步蒸馏的最后一公里

DMD、Consistency Model 等少步蒸馏方法都是「固定步数」哲学,简单但浪费算力。Causal Forcing++ 的 ASS 表明动态步数能在 1% 质量损失下省 30% 算力——这种成本敏感的优化在大规模部署时差距巨大。

与同类工作对比

2026 年视频蒸馏方向有几个并行的强论文,需要放在一起看。

论文团队范式最大优势
Causal Forcing++清华朱军组Frame-wise AR 蒸馏真正实时交互
LADD(Latent Adversarial Diffusion Distillation)NVIDIA双向 + GAN loss高分辨率(4K)
MoVid-DiT-Distill字节 SeedreamChunk + Speculative长视频(>30s)
VideoStreamGoogle DeepMindStreaming Token闭源,商用

四个方法的取舍很清晰:Causal Forcing++ 是「为交互优化」,LADD 是「为质量优化」,MoVid 是「为长度优化」,VideoStream 是 Google 自用。开源场景下 Causal Forcing++ 是交互场景的首选。

复现指南

如果你想复现 Causal Forcing++,按下面三步走。

Step 1:拿基础教师模型

# 推荐用 Wan 2.1-T2V-5B 作为教师(开源、性能好)
git clone https://huggingface.co/Wan-AI/Wan2.1-T2V-5B

Step 2:在 Causal Forcing 检查点上做增量训练

from causal_forcing import CausalForcingPlusPlusTrainer

trainer = CausalForcingPlusPlusTrainer(
    teacher_path="./Wan2.1-T2V-5B",
    student_init="zhuhz22/Causal-Forcing-5B",  # 原版作为热启动
    use_ccd=True,
    use_ass=True,
    use_dts=True,
    lambda_ccd=0.3,
    training_steps=50000,
    batch_size=16,
    learning_rate=1e-5,
    warmup_steps=2000,
)

trainer.train(
    dataset_path="./datasets/webvid-10m",
    output_dir="./outputs/cf-plusplus-5b",
)

8 张 A100 训练约 3 天,预计能达到论文 70% 的效果。

Step 3:导出推理引擎

from causal_forcing.inference import StreamingPipeline

pipeline = StreamingPipeline.from_pretrained(
    "./outputs/cf-plusplus-5b",
    torch_dtype="float16",
    device="cuda:0",
    enable_ass=True,
    confidence_threshold=0.85,
)

# 流式生成
for frame in pipeline.stream(
    prompt="A cat playing piano in a sunny room",
    max_frames=120,
):
    display_frame(frame)

⚠️ 注意:流式推理需要保持 KV cache 在显存中,长视频(>100 帧)显存会上涨。建议每 60 帧做一次 cache 重置。

不足与未来方向

Causal Forcing++ 仍有几个明显短板,未来工作可以围绕这些点展开。

1. 训练成本高:256 H100 × 7 天对学术界仍然偏贵,需要更高效的蒸馏方法。

2. 受限于教师模型质量:学生最多接近教师,无法超越。如果教师本身有偏差(比如对动物运动建模不准),学生会继承。

3. 长时序漂移:虽然 CCD 缓解了漂移,但 200 帧以上仍有明显画质衰减。需要类似 LLM 的 RAG 机制做「视频检索」校正。

4. 多模态条件:目前只支持文本条件,加入音频、3D 几何、相机轨迹条件需要额外训练。

写在最后

Causal Forcing++ 这篇论文最让人印象深刻的不是 SOTA 数字,而是 frame-wise + 1.3 步平均这个新基准的建立。一旦实时交互的工程可行性被证明,整个生成式 AI 的产品形态会发生质变——从「我提交 prompt 等结果」变成「我和模型实时对话」。

这种范式转变在 LLM 上已经发生(流式 token 输出),在图像生成上正在发生(实时 latent canvas),现在轮到视频。2026 下半年很可能出现首批真正的「实时视频 AI 产品」,这个领域值得持续关注。

资源链接

Frequently asked questions

Causal Forcing++ 解决的核心问题是什么?
原版 Causal Forcing 是 chunk-wise 4 步蒸馏,即每次生成 4-8 帧的 chunk,延迟在 200-400ms 之间,对真正的实时交互(&lt;100ms)还是不够。Causal Forcing++ 把蒸馏粒度推到 frame-wise,每一帧独立生成只用 1-2 步采样。但 frame-wise 蒸馏会遇到训练不稳定和长时序漂移问题,论文提出了一个新的 consistency loss 和动态时序采样策略来解决。
Causal Forcing++ 与 Self Forcing、Causal Forcing 的关系?
三个方法是递进关系。Self Forcing(ICLR 2025)是早期 AR 蒸馏,固定步长但视觉质量差。Causal Forcing(ICML 2026)改进了因果一致性,质量提升但仍是 chunk-wise。Causal Forcing++(arXiv 2026.05)进一步做 frame-wise + 动态步长,是目前 frame-wise 自回归视频蒸馏的最优解。
实测延迟能到多少?
在 H100 上单帧 720p 推理 45-80ms,5B 模型对应 50ms 量级,10B 模型 80ms 量级。Causal Forcing++ 论文实测在 RTX 4090 上 5B 模型可以稳定 20FPS,加上提示词流式输入,相当于实现了真正意义上的「实时交互视频生成」。
训练成本对开源社区友好吗?
论文用了 256 张 H100 训练 7 天,按市场价大约 35 万美元。但他们也给出了 LoRA 蒸馏路径——基于已有 chunk-wise 模型做增量训练,8 张 A100 / 3 天即可复现 70% 的效果。Hugging Face 上 zhuhz22/Causal-Forcing 仓库已经放出了基础检查点,社区蒸馏门槛大幅降低。
可以用在什么场景?
三类场景最直接:(1) 游戏 NPC 生成实时反应视频;(2) 视频通话的虚拟形象驱动(数字人);(3) AI 创作工具的实时预览(用户调整 prompt 立即看到视频变化)。论文里还展示了一个交互式视频编辑 demo,用户拖动鼠标实时改变场景中物体的轨迹,模型 60ms 内响应——这种体验在 2026 年之前基本不可能。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.