【免费下载链接】Causal-Forcing[ICML 2026] Official codebase for Causal Forcing: Autoregressive Diffusion Distillation Done Right for High-Quality Real-Time Interactive Video Generation Causal Forcing项目地址https://gitcode.com/gh_mirrors/ca/Causal-Forcing点击查看免费下载Causal-Forcing 是一个面向实时交互视频生成的开源项目核心思想是用KV Cache键值缓存与块状去噪block-wise denoising把视频生成拆成一块一块往外吐帧的流式过程从而在 1~4 步去噪下实现低延迟、可交互的实时视频推理。本文带你从推理管线pipeline/causal_inference.py和因果 Transformerwan/modules/causal_model.py出发看懂这两块发动机是如何协作的。一、为什么实时交互视频这么难传统视频扩散模型是**双向bidirectional**的整段视频的所有帧一次性、互相看见地去噪。这种方式画质高但有两个致命问题无法流式必须等全部帧去噪完才能解码出第一帧延迟极高无法交互生成中途改不了内容做不了世界模型式的实时交互。Causal-Forcing 的解法借鉴了 LLM 的自回归思路让模型只朝前看causal一次生成一小块1 帧或 3 帧生成完立即把它的 KV 写进缓存供后续帧使用。缓存机制来自wan/modules/causal_model.py中的自注意力实现流式调度来自pipeline/causal_inference.py。二、三阶段训练为实时推理铺路上面这张总览图展示了 Causal Forcing、Causal Forcing 与 Self Forcing 的差异。推理阶段能又快又好靠的是训练时的三阶段蒸馏配置见 configs/causal_forcing_dmd_framewise.yamlStage 1 — AR Diffusion先教会模型因果地逐块预测configs/ar_diffusion_tf_framewise.yaml里num_frame_per_block: 1。Stage 2 — Causal ODE / Causal CD做初始化把双向 teacher 的能力迁移到自回归学生上且保证帧级可注入frame-level injectivity。Stage 3 — 非对称 DMD把去噪步数压缩到 4 步 / 2 步 / 1 步实现少步高效推理。训练完的模型参数直接决定推理时的去噪步数——配置里的denoising_step_list就是发动机转速。三、KV Cache让自回归记住过去实时推理的关键是生成第 N 块时不需要重算前面 1~N-1 块的注意力。CausalInferencePipeline在初始化时预分配了整条视频所需的 KV 缓存# pipeline/causal_inference.py def _initialize_kv_cache(self, batch_size, dtype, device): for _ in range(self.num_transformer_blocks): # 30 个 Transformer 块 kv_cache1.append({ k: torch.zeros([batch_size, kv_cache_size, 12, 128], ...), v: torch.zeros([batch_size, kv_cache_size, 12, 128], ...), global_end_index: ..., local_end_index: ... })真正读写缓存的逻辑在 wan/modules/causal_model.py 的CausalWanSelfAttention.forward中只有当前块的 query 参与计算key/value 从kv_cache中取历史段拼接后做注意力每生成一块把新帧的roped_key/v追加进缓存并推进global_end_index、local_end_index两个游标配合 RoPE 位置编码causal_rope_apply里的start_frame让新帧知道自己在时间轴上的绝对位置保证时序连续。长视频的滚动窗口 注意力沉为了让视频可以无限延长、显存不爆模型支持局部注意力local_attn_size缓存只保留最近若干帧最旧的帧被滚出。同时sink_size参数会固定保留最初若干帧类似 LLM 的 attention sink防止滚动后上下文丢失。这段逻辑同样在CausalWanSelfAttention.forward的if self.local_attn_size ! -1 ...分支中——正是它能生成分钟级长视频见 long_video/的底层支撑。四、块状去噪把去噪切成小块所谓块状去噪block-wise denoising就是把一段 21 帧的视频拆成num_frame_per_block大小的块逐块、少步地精修# pipeline/causal_inference.py for block_index, current_num_frames in enumerate(all_num_frames): # 每个块内部少步去噪循环 for index, current_timestep in enumerate(current_denoising_list): _, denoised_pred self.generator(noisy_input, ..., kv_cacheself.kv_cache1, ...) # 块生成完 → 用干净帧刷新 KV cache供下一块使用 self.generator(denoised_pred, timestep0, kv_cacheself.kv_cache1, ...)两个可自由调节的粒度旋钮模式num_frame_per_block效果frame-wise帧级1每块 1 帧延迟最低、最易交互原生支持 I2Vchunk-wise块级3每块 3 帧计算更省、动态更丰富denoising_step_list控制每个块去噪几遍4 步模型是[1000,750,500,250]Causal Forcing 的 2 步 / 1 步模型分别压缩到 2 步 / 1 步见 configs/causal_forcing_dmd_framewise_1step.yaml。步数越少单块耗时越短实时性越强。上面这张prompts/i2v/26-15/000001.png就是 I2V图生视频的条件输入图。frame-wise 模型天然支持 I2V把第一帧的 latent 作为initial_latent喂给管线管线会先把它的 KV 写入缓存再逐帧向后生成实现以这张图开头的实时视频。五、实时交互流式推理与首帧延迟推理管线跑通后真正的实时感来自流式解码 逐块推送。demo.py 实现了一个 Flask SocketIO 的交互式服务每生成一块立刻用 VAE 解码成像素逐帧放进发送队列推给前端而不是等整段视频记录first_chunk_time首块延迟与last_generation_time总耗时用来衡量实时 FPS配合demo_utils/下的 VAE 加速TAEHV / TensorRT进一步压低解码开销。这样用户看到的不是转圈 30 秒后出片而是边生成边播放——这正是交互视频 / 世界模型体验的核心。六、快速跑通推理配置与权重准备好后用 inference.py 一键推理。以 frame-wise 4 步模型为例python inference.py \ --config_path configs/causal_forcing_dmd_framewise.yaml \ --output_folder output/framewise \ --checkpoint_path checkpoints/framewise/causal_forcing.pt \ --data_path prompts/demos.txt \ --use_ema想测实时延迟加--report_timing即可打印首块延迟与 FPS想做 I2V 加--i2v并把数据指向prompts/i2v。小结Causal-Forcing 用两个关键机制把高画质和实时交互统一起来KV Cache让自回归模型记住过去新帧只算增量注意力local_attn_sizesink_size滚动窗口保证长视频显存可控块状去噪按num_frame_per_block切块、按denoising_step_list少步去噪块生成完即解码即推送把首帧延迟压到最低。一句话KV Cache 解决如何高效记住历史块状去噪解决如何边生成边交付两者叠加就构成了 Causal-Forcing 实时交互视频推理的完整链路。赞分享【免费下载链接】Causal-Forcing[ICML 2026] Official codebase for Causal Forcing: Autoregressive Diffusion Distillation Done Right for High-Quality Real-Time Interactive Video Generation Causal Forcing项目地址https://gitcode.com/gh_mirrors/ca/Causal-Forcing点击查看免费下载相关推荐FastDVDnet深度学习视频去噪如何实现实时高效的去噪效果FastDVDnet深度学习视频去噪如何实现实时高效的去噪效果 FastDVDnet是一个基于深度学习的前沿视频去噪算法它无需运动补偿就能实现高质量的实时去深度学习计算机视觉视频处理Causal-Forcing完全指南ICML 2026 SOTA如何将自回归扩散蒸馏“做对”实现1步实时交互视频生成Causal Forcing完全指南ICML 2026 SOTA如何将自回归扩散蒸馏“做对”实现1步实时交互视频生成 Causal Forcing 是 IC如何用FastDVDnet实现实时视频去噪超简单深度学习框架教程 如何用FastDVDnet实现实时视频去噪超简单深度学习框架教程 FastDVDnet是一款基于深度学习的高效视频去噪框架无需复杂运动补偿即可实现实时深度学习计算机视觉视频处理创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考