arXiv:2606.26740 · CVPR 2026 submission

LiveEdit: Towards Real-Time Diffusion-Based Streaming Video Editing

LiveEdit:面向实时性的扩散式流式视频编辑
Xinyu Wang¹ · Chongbo Zhao¹ · Fangneng Zhan² · Yue Ma²✉
¹ 清华大学(THU)  ·  ² 香港科技大学(HKUST)
arXiv abs PDF Project Page
  1. 摘要
  2. 1 引言
  3. 2 相关工作
  4. 3 方法
  5. 4 实验
  6. 5 结论
  7. 6 补充材料
  8. 7 关键概念速查表
  9. 8 关键洞察与复现要点
  10. 9 Q&A
  11. 10 局限性与改进方向
Teaser gallery
Teaser(论文首图): LiveEdit 在多类编辑指令下的画廊展示与效率对比。左半部分展示了 causal、chunk-by-chunk 的编辑结果,能够严格保留背景;右半部分给出与 InsV2V、LucyEdit、StreamDiffusionV2 等基线在延迟-质量维度的对比曲线,LiveEdit 达到 12.66 FPS。

摘要

流式视频编辑近年来发展迅速,但真正落地依旧受两个核心问题制约:如何在时间维度上稳定保留未编辑区域的背景与结构,以及如何达到实时交互所需的低延迟。近期的流式视频生成方法主要面向"从零合成",由于流式编辑对像素保留与区域可控性的严格要求,这些方法无法直接迁移。本文提出一种新的流式视频编辑框架,能够在保持强内容保留与实时响应的前提下进行 causal、逐帧的编辑。核心设计是三阶段蒸馏管线:将强大双向基础模型的编辑能力逐步迁移到高效的单向流式编辑器,实现无损视觉保真度的稳定长时程编辑。为支持实时部署,作者还引入了面向自回归的 Mask Cache,跨帧复用与区域相关的计算,显著减少冗余处理并加速推理。同时,作者还建立了流式视频编辑专用基准。大量实验证明该方法在流式基线中取得 SOTA 视觉质量,并将推理速度提升到 12.66 FPS,可用于交互式与增强现实场景。

1 引言

1.1 动机与问题定位

视频编辑随着高质量内容创作与交互式数字体验的需求而快速演进。随着 AR 与直播场景的普及,业界正在从传统的离线批处理转向实时响应式的编辑范式。然而"低延迟真实部署"仍是一大难题,尤其是在流式(streaming)场景下——视频必须以 chunk-by-chunk 的方式处理,且完全无法看到未来帧。

Comparison of paradigms
图 1:三种视频编辑范式对比。 上排为双向编辑模型:编辑准确但因非因果依赖无法流式;中排为过去的 Video-to-Video 流式模型:推理高效但内容保留很差,背景常被大幅改动;下排为本文提出的流式编辑模型:Causal DiT 配合 Mask-guided Cache,在保留原始内容的同时兼顾实时推理。

1.2 两大根本瓶颈

i) Attention Distribution Shift

SOTA 视频扩散模型依赖双向/全局注意力维持时序一致性;直接把这类非因果模型套到 causal 流式设置里(即将来的 Key/Value 被截掉),会引发严重的"遗忘"或抖动,因为模型缺乏用于稳定编辑的全局结构上下文。

ii) Spatial-Temporal Token Redundancy

标准扩散管线把每一帧当独立、开销昂贵的生成任务处理;但 AR 流式场景中,绝大部分背景在时间维度上要么静止要么线性运动,反复对未编辑区域跑 FFN + Attention 会产生极高的每帧延迟,让边缘设备的实时体验不可行。

1.3 论文贡献

▸ 新范式与新框架

系统分析流式视频编辑的两大特性,提出了 causal、chunk-by-chunk 的高保真、低延迟编辑框架,达到 12.66 FPS 的推理吞吐。

▸ 三阶段蒸馏 + Mask Cache

把复杂的编辑先验从双向 DiT 教师模型迁移到 4 步 Causal DiT 学生;并提出基于 L₂ 距离 的 AR-oriented Mask Cache,动态解耦计算。

▸ 专用基准

建立面向流式视频编辑的评测基准(120 对样本、6 项自动指标 + 用户主观评分),并在视觉质量、时序一致性、吞吐三个维度取得 SOTA。

2.1 视频生成与可控编辑

扩散模型显著推动了视频生成与编辑。为实现多样化控制,如 VACE 提出一体化架构,EditVerseUNIC 采用上下文学习处理多任务,通常将源视频与稠密多模态条件整合成庞大的联合表征或长上下文序列。InsV2VLucy Edit 则借合成数据集或通道级拼接实现高保真修改。此外,强化学习也被用来对齐生成内容与人类意图。这些方法虽然视觉质量出色,但本质上是离线、非因果处理——需要先看完整段时序上下文才能吐出第一帧,延迟不可接受,无法用于 AR 实时场景。

2.2 流式自回归视频模型

Diffusion ForcingStreamDiffusion 把去噪重新定义为块级顺序处理;MAGI-1(超大规模世界模型)、SkyReels-V2StreamingT2V 支持无限长镜头生成;Rolling Forcing 抑制误差累积;Stable Video Infinity 通过 error-recycling 微调缓解 AR 漂移;Self-Forcing 用自生成条件桥接曝光偏差;StreamDiffusionV2 引入 sink-token 引导的 rolling KV cache。EgoEdit 首次将流式模型带入第一人称视频编辑。

本文与流式生成方法的关键区别:视频生成从零合成运动,可以严重依赖过去自生成的预测(如 Self-Forcing 的串行反馈);而流式编辑则被连续源视频强约束,优先精确空间还原而非自由运动合成。串行依赖历史输出或使用 DeepCache/VMem/StreamDiffusionV2 这类"生成向"缓存会破坏高频结构细节。LiveEdit 摒弃冗余的串行反馈,改用 AR-based Cache 在保证严格时空一致性的同时压缩计算。

2.3 扩散模型的效率与蒸馏

加速反向扩散是实时性能的关键。图像域早期的一步蒸馏工作有 InstaFlow(Rectified Flow)、TSD-SR(target score distillation)、Improved DMDSDXL-Lightning 的渐进对抗蒸馏。这些成果延伸到视频域,产生了 AAPT 一步生成、SeedVR2 修复、DOVE 超分等。Sparse VideoGen2 通过 attention 置换减少冗余;Token MergingFlashAttention 属于结构级优化。最相关的两条工作是 FlashVSR(三阶段蒸馏做流式超分)和 PersonaLive(外观蒸馏做实时人像动画),但它们的任务本质上是低层像素映射或结构受限区域,直接套到通用视频编辑(涉及复杂语义重构、跨尺度特征演化、无训练奖励引导)会严重降级细节。LiveEdit 提出的三阶段蒸馏 + AR Cache 正是为解决这一挑战而设计。

3 方法

3.1 动机

Attention distribution shift
图 2:注意力分布偏移可视化。 左:双向先验呈局部聚集分布;右:直接因果截断迫使注意力在所有历史帧上均匀铺开。这种被"抹平"的依赖破坏了预训练结构先验,使朴素截断的双向模型在流式管线中表现不佳。

问题一 · 注意力分布偏移

双向模型天然给"过去"和"临近未来"都赋予显著权重。截断未来 KV 后注意力被迫均匀分布到全部历史帧,与流式范式"依赖最近邻近帧"的核心假设冲突。解法:三阶段蒸馏,通过 teacher-forcing 显式对齐 causal 分布与局部化双向先验。

问题二 · 时空 Token 冗余

StreamV2V、StreamDiffusion 面向全局 V2V 翻译,对每一帧的所有 token 都做稠密全局计算;但流式编辑要求未编辑区域的中间特征必须绝对时序一致。全局生成范式会破坏未编辑区域视觉完整性,同时带来巨大冗余。解法:AR-oriented Mask Cache——只对活跃编辑 token 全量计算,静态 token 直接从缓存读取。

3.2 三阶段蒸馏管线总览

Framework overview
图 3:LiveEdit 整体框架。 Stage 1 用双向 DiT 学到高保真编辑先验;Stage 2 借助 Teacher Forcing + chunk-wise causal attention 迁移到因果结构;Stage 3 用 Distribution Matching Distillation 把生成过程压缩到 4 步。推理阶段引入 AR-oriented Mask Cache,动态解耦活跃编辑 token 与静态背景 token 的计算路径。

记输入视频 latent 序列 z₀ ∈ ℝ^{F×C×H×W}c 为编辑指令的文本嵌入。整体目标是把双向教师的高保真编辑能力,逐步迁移到超快、单向的流式编辑器。

3.3 Stage 1:Foundation Tuning(编辑能力打底)

基于 Wan2.1-T2V-1.3B 构建双向 DiT 骨干 ε_θ^bid。将 原始视频 latent加噪 latent z_t 沿通道维(而非时空序列维)拼接输入网络——这一"通道拼接"策略保持原始序列长度,避免 attention 的二次计算爆炸。使用标准噪声匹配损失训练:

L_MSE^bid = E_{z₀, ε∼𝒩(0,I), t, c} [ ‖ε − ε_θ^bid(z_t, t, c)‖₂² ]

这一阶段的产物是离线高保真编辑先验,具备复杂内容操作能力,但需要 100 NFE + CFG,无法流式推理。

3.4 Stage 2:Teacher Forcing(因果化改造)

直接给预训练双向模型套 causal mask 会严重掉分。作者引入 Teacher Forcing 机制配合 chunk-wise causal attention:以 M_causal 表示掩码,其限制时序 token 不得关注未来 chunk。因果 DiT ε_θ^causal 在保留 Stage 1 编辑先验的前提下学习顺序单向输入:

L_MSE^causal = E_{z₀, ε, t, c} [ ‖ε − ε_θ^causal(z_t, t, c | M_causal)‖₂² ]

Causal Forcing 等 AR 框架启发,作者认为通过显式 Teacher Forcing 派生 AR 模型是流式视频生成结构上必要的一步——否则会因缺失未来 token 而结构塌陷。

3.5 Stage 3:DMD 步数蒸馏

为进一步降低延迟并抑制持续流式中的累积误差,用 Distribution Matching Distillation (DMD) 做步数蒸馏。近期 AR 生成范式(Self-Forcing 等)严重依赖 ODE 初始化阶段建立初始 causal checkpoint,但在流式视频编辑里 ODE 初始化的算力开销极为夸张(需处理高分辨率长序列源视频)。

LiveEdit 直接用 Stage 2 得到的 ε_θ^causal 权重初始化 4 步 DMD 生成器 G_θ,跳过昂贵的 ODE 初始化。训练时 G_θ被剪枝噪声直接映射到编辑帧,联合优化 L_MSE 与 DMD 梯度:

∇_θ L_DMD = E_{z_T, c} [ w(t) · ( ε_φ^real(z_t, t, c) − ε_ψ^fake(z_t, t, c) ) · ∇_θ G_θ(z_T, c) ]

其中 z_t 是从生成输出 G_θ(z_T, c) 模拟的中间 latent,w(t) 是标准 DMD 的时步加权函数。ε_φ^real(Real Score)冻结,ε_ψ^fake(Fake Score)与 G_θ 联合训练。这一机制把生成过程压缩到仅 4 步 NFE,实现真正的实时响应。

3.6 AR-oriented Mask Cache

Mask generation and stability
图 4:时序一致性分析与掩码生成过程。 左侧从上到下分别为源视频帧、编辑输出帧、差异矩阵、二值掩码;右侧为整段视频上 Temporal IoUPixel Difference 的分布,均值分别为 0.016%0.126%——说明编辑掩码在时序上高度稳定。

三阶段蒸馏解决了架构不兼容问题,但时空 token 冗余仍是实时推理的核心瓶颈。作者提出 AR-oriented Mask Cache:根据"区域是否活跃编辑"动态解耦计算图。

3.6.1 掩码提取

推理时视频按 chunk 顺序处理。为给 chunk k 分配空间掩码,作者利用前一 chunk k−1 的生成轨迹

逐位置计算 L₂ 距离,超过阈值 τ 的位置标记为活跃编辑:

M^k_{u,v} = 𝕀( ‖z_edit,{u,v}^{k−1} − z_src,{u,v}^{k−1}‖₂ > τ )

阈值 τ 不是经验固定值,而是通过对 token 冗余度的动态计算确定,实际用来剪掉 70% 的冗余空间 token

3.6.2 空间路由:Full Calculation vs. Token Reuse

对 chunk k 的每个 token,根据 M^k 走两条路径:

f^k_{u,v} =
    F(z^k_{u,v})    if M^k_{u,v} = 1   (活跃编辑区,全量计算 SA + CA + FFN)
    f^{k−1}_{u,v}   if M^k_{u,v} = 0   (静态背景区,从 Token Cache 直接复用)

缓存机制只应用在 Self-Attention 层——作者从经验和特征相似性分析(见 §4.5)都验证 SA token 有极高的时序冗余、可以直接复用;而 FFN 与 Cross-Attention 承担像素级细节和文本对齐,绝不能替换。

4 实验

4.1 实现细节

模型配置

基础模型 Wan2.1-T2V-1.3B;Stage 1 采用通道拼接整合噪声 latent 与条件 latent,避免 token-wise 序列拼接带来的注意力二次爆炸。训练数据为 20K 高质量视频-视频对,从大规模 Ditto-1M 数据集中精心筛选而来。

硬件与优化器

三阶段蒸馏在 8× NVIDIA A100 上渐进训练,全部使用 AdamW 优化器。

Stage 1(Foundation Tuning)

9K steps,学习率 1e-5,全局批大小 8;标准噪声调度器,连续时步 t ∈ [0, 1000]。

Stage 2(Teacher Forcing)

加入 chunk-wise causal mask,微调 20K steps时序 chunk 大小设为 3 latent 帧,token 只能关注当前和严格靠前的 chunk。

Stage 3(DMD)

4 步生成器直接由 Stage 2 权重初始化(跳过昂贵 ODE 初始化);4 步采样时步为 [0, 250, 500, 750];Real / Fake Score 均从 Stage 1 权重初始化,Real 冻结,Fake 与 G 联合优化;学习率 1e-5,训 10K steps;使用标准 DMD 的时步加权 w(t)。

推理与 Mask Cache

纯自回归模式,每步解码 3 帧;L₂ 阈值 τ 动态计算,剪掉 70% 冗余空间 token;缓存只作用于 Self-Attention 层。最终每帧延迟 79 ms,等价于 ≈12.66 FPS

4.2 定性对比

Qualitative comparison
图 5:与 6 类基线的定性对比。 上方为源视频与指令;比较对象包含双向离线(LucyEdit、InsV2V、VideoCoF)和流式生成(StreamV2V、StreamDiffusion、StreamDiffusionV2)。StreamV2V 无法执行局部精确修改;InsV2V/VideoCoF 因把目标属性弥漫到整帧而出现"色彩溢出";StreamDiffusion / V2 出现严重结构塌陷;LucyEdit 缺乏严格空间控制。LiveEdit 精确修改目标区域,同时保持复杂光照、阴影、主体身份的完整。

4.3 定量对比

120 对样本基准上比较,采用六项自动指标:

方法TA ↑BC ↑MS ↑DD ↑AQ ↑IQ ↑
LucyEdit(离线)0.2530.9430.9900.2660.5290.707
VideoCoF(离线)0.2450.9530.9910.0940.5420.709
InsV2V(离线)0.2590.9430.9860.1960.5770.708
StreamDiffusion0.2390.8860.9750.2390.5900.717
StreamDiffusionV20.2520.9510.9920.2640.5390.653
StreamV2V0.2440.9340.9890.1530.5480.712
Ours (W/o Cache)0.2650.9560.9910.2820.5840.720
Ours (W/ Cache)0.2700.9560.9920.2560.5810.708
六项指标均为"越大越好"(↑);为最佳、为次佳。表 1(论文原表 1)
关键结论: LiveEdit(带 Cache)在 TA=0.270 上不仅胜过所有流式基线,也胜过享有未来上下文的双向离线模型(InsV2V=0.259)。DD 与 IQ 均为所有方法中最高;AQ 与 StreamDiffusion 相当有竞争力。加入 Cache 反而将 TA 与 MS 提升,同时完美保留 BC——说明该缓存不仅加速也提升了持续序列处理下的整体质量。

4.4 三阶段消融

配置Stage 1 (Foundation)Stage 2 (Teacher Forcing)Stage 3 (DMD)
Is streaming?×
NFEs1001004
With CFG?×
Latency(81 帧)197.48 s200.36 s7.89 s
First chunk sizeFull sequence3 frames3 frames
Next chunk sizeN/A3 frames3 frames
Text Alignment0.2680.2640.265
Image Quality0.7160.7020.720
表 2:三阶段蒸馏管线的生成配置与推理效率对比(论文原表 2)

阶段效应解读:

4.5 Cache 位置消融

Cache location comparison
图 6:不同缓存位置的视觉对比。 指令为"把红醋栗换成表面覆薄霜的深紫色葡萄"。W/o Cache 与 Cache-on-SA 都能高保真呈现纹理与色彩饱和度;Cache-on-FFN 出现严重模糊与结构不稳定。
Cosine similarity distribution
图 7:连续去噪步之间 token 余弦相似度分布。 Self-Attention token 的时序相似度显著高于 FFN token——从统计上验证 SA 冗余高、可缓存复用;FFN 携带高频空间信息,一旦复用即引入伪影。
方法TA ↑BC ↑MS ↑DD ↑AQ ↑IQ ↑
W/o Cache0.2650.9560.9910.2820.5840.720
Cache on SA(本文)0.2700.9560.9920.2560.5810.708
Cache on FFN0.2360.8410.9820.0170.4400.513
表 3:缓存位置消融(论文原表 3)——Cache-on-FFN 大幅劣化,Cache-on-SA 全维度接近 W/o Cache 甚至反超 TA / MS。

5 结论

LiveEdit 成功将强大的双向扩散先验适配到高效单向自回归范式。三阶段蒸馏(Foundation Tuning → Teacher Forcing → DMD)解决因果执行下的注意力分布偏移,把推理压到 4 步;AR-oriented Mask Cache 缓解时空 token 冗余,在保持未编辑区零视觉退化的同时提供额外加速。大量定量与定性评测证明该框架兼具高保真文本对齐、稳健结构保留与超低延迟,为 AR 与直播场景铺平了实时流式视频编辑的道路。

6 补充材料要点

6.1 与 Self-Forcing / EgoEdit 的深度对比

vs. Self-Forcing

Self-Forcing 面向 T2V,用自生成条件桥接曝光偏差;然而其依赖的 ODE 初始化阶段,在流式视频编辑中要处理高分辨率长序列源视频,代价过高。而且 T2V 只需与前序生成保持一致,编辑必须与源视频精确空间对齐——直接迁移必然结构漂移。LiveEdit 直接用 Stage 2 的 AR 权重初始化 DMD 生成器,绕开 ODE;再借 Mask Cache 保证严格源保真。

vs. EgoEdit

EgoEdit 首创第一人称视频流式编辑,但主要在既有 Self-Forcing 管线中验证任务专属数据的有效性,并未做进一步推理加速;其研究范围也局限于 egocentric 场景,难以泛化到 OOD。LiveEdit 面向通用高保真流式视频编辑,通过三阶段蒸馏把推理压到 4 步,并动态解耦计算,在多种场景下都能实时且严格背景保留。

6.2 用户研究

User study
图 8:用户研究结果。 20 位志愿者对 6 类基线(InsV2V、LucyEdit、VideoCoF、StreamDiffusion、StreamDiffusionV2、StreamV2V)与本文方法在指令一致性 / 背景保留 / 综合质量三个维度打分并排名,Top-3 命中率如折线图所示。LiveEdit 在三个维度都以压倒性优势夺得绝对最佳。

指令一致性

LiveEdit Top-3 命中率 100.0%,几乎垄断"最佳"票;流式生成基线绝大多数落入 "Others",表明它们本质上无法准确执行编辑指令。

背景保留

LiveEdit 拿到 75.0% 的绝对"最佳"票,Top-3 命中率 87.5%;离线双向模型 LucyEdit 也达到 87.5% Top-3,但由于轻微结构漂移与时序不一致仅拿到 12.5% 绝对最佳。

综合质量

LiveEdit Top-3 命中率 95.8%,明确超越离线与流式两类基线,用户研究与自动指标的判断一致:语义编辑保真 + 严格时空一致性。

6.3 更多示例与对比

More cases 1
图 9:LiveEdit 更多编辑用例(一)。
More cases 2
图 10:LiveEdit 更多编辑用例(二)。
More cases 3
图 11:LiveEdit 更多编辑用例(三)。
More comparisons 1
图 12:与基线更多对比(一)。
More comparisons 2
图 13:与基线更多对比(二)。

7 关键概念速查表

Streaming Video Editing
视频以 chunk-by-chunk 顺序输入并因果编辑,无法访问未来帧;对内容保留与实时性均有严格要求。
DiT(Diffusion Transformer)
基于 Transformer 的扩散去噪骨干,本文使用 Wan2.1-T2V-1.3B。
Bidirectional / Causal DiT
前者关注全序列(离线);后者仅关注当前和历史 chunk,适配流式。
Chunk-wise Causal Attention
把时序 token 按 chunk(此处 3 帧)分组,只允许 chunk 内部及更早 chunk 之间的注意力,禁止未来 chunk。
Teacher Forcing
训练 causal 模型时用真实历史输入代替自生成输入,以稳定收敛并避免结构塌陷。
Distribution Matching Distillation (DMD)
把多步扩散生成压缩到少数几步的分布匹配蒸馏方法,靠 Real / Fake Score 的差分梯度指导。
Real Score / Fake Score
Real 是冻结的教师得分模型,Fake 是随生成器一起更新的判别式得分模型;两者的差直接导出 DMD 梯度。
NFE(Network Function Evaluations)
反向扩散一次样本需要跑网络的次数;LiveEdit 将其从 100 压到 4。
CFG(Classifier-Free Guidance)
需要条件与无条件双前向合成引导;本文 Stage 3 主动去除 CFG,节省一半前向。
ODE Initialization
Self-Forcing 常用的 causal checkpoint 初始化,通过 ODE 采样得到;对流式编辑成本极高,本文选择跳过。
AR-oriented Mask Cache
本文核心加速机制:用前一 chunk 的 L₂ 差异生成二值编辑掩码,只对活跃 token 全量计算 SA/CA/FFN,静态 token 从缓存直接复用。
Full Calculation / Token Reuse
Mask Cache 的两条路径:M=1 走完整 block;M=0 直接读取上一 chunk 的 SA 中间特征。
Ditto-1M
大规模视频-视频编辑数据集,本文从中筛选 20K 高质量对训练。
Wan2.1-T2V-1.3B
基础的文生视频扩散 Transformer,作为 LiveEdit 的骨干。
VBench / LAION-Aesthetic
视频质量与美感评估基准;本文用于 BC / MS / DD / IQ / AQ。

8 关键洞察与复现要点

8.1 核心洞察("为什么这样设计有效")

① 通道拼接 > 序列拼接

把噪声 latent 与源视频 latent 沿通道维融合而非拼在时序或空间维——保持了原始序列长度,避免注意力二次爆炸。这也是能在 A100×8 上以 20K 步完成 Stage 1 训练的物理基础。

② 三阶段而非一步蒸馏

直接从双向 → 4 步 causal 会同时暴露"结构塌陷"与"分布迁移"两个问题。分成"编辑先验 → 因果适配 → 步数压缩"三步后,每一步只承担一类分布对齐,训练稳定性显著提升。

③ 用 Stage 2 权重代替 ODE 初始化

Self-Forcing 的 ODE 初始化在编辑上要处理高分辨率长源视频,成本过高。Stage 2 已经给出对齐良好的 causal 起点,直接用它初始化 4 步 DMD 生成器既省算力又更稳定。

④ SA 冗余高、FFN 冗余低

连续去噪步的余弦相似度分布图(图 7)与消融表 3 证实:SA 层 token 时序几乎不变,可以直接复用;FFN 层携带高频空间细节,一旦复用会灾难性掉分(IQ 从 0.720 → 0.513)。

⑤ 掩码由前一 chunk 生成

M^k 依赖的是 chunk k−1 的 z_edit 与 z_src——这个先验在正式跑 chunk k 之前就已可用。图 4 的统计显示 Temporal IoU 均值仅 0.016%、Pixel Diff 0.126%,因此这一"上一 chunk 掩码"策略在时序上足够稳定。

⑥ 阈值 τ 动态自适应

不写死经验值,而是按 token 冗余度动态计算,使剪枝率始终维持在 70%——保证在不同视频复杂度下都能保持稳定的加速比。

8.2 数据管线复现参数

# Data pipeline (Stage 0: dataset preparation)
# ---------------------------------------------
Source pool:        Ditto-1M  (video-to-video edit pairs)
Filter target:      20,000 high-quality pairs
Filter criteria:    (paper does not disclose full recipe)
                    ── follow Ditto-1M official quality tags
                    ── deduplicate on source clip hash
                    ── require both source & edited clips ≥ 81 frames
Latent format:      channel-wise concat of z_t and z_src
                    (do NOT concatenate along temporal or spatial axis)
Frame count:        81 frames per clip is the reported eval length

8.3 模型复现关键超参

# Backbone
model_backbone      = "Wan2.1-T2V-1.3B"       # bidirectional DiT foundation
input_fusion        = "channel_concat(z_t, z_src)"

# Stage 1 — Foundation Tuning
optimizer           = AdamW
lr                  = 1e-5
global_batch_size   = 8
train_steps         = 9_000
noise_schedule      = continuous  # t in [0, 1000]
loss                = MSE(eps, eps_theta_bid(z_t, t, c))

# Stage 2 — Teacher Forcing (Causal)
attention_mask      = chunk_wise_causal
chunk_size          = 3   # latent frames per chunk
train_steps         = 20_000
loss                = MSE(eps, eps_theta_causal(z_t, t, c | M_causal))

# Stage 3 — DMD (4-step Distillation)
G_theta_init_from   = eps_theta_causal   # << skip ODE init
sampling_timesteps  = [0, 250, 500, 750]
real_score_init     = Stage_1_weights    # frozen
fake_score_init     = Stage_1_weights    # trainable
lr                  = 1e-5
train_steps         = 10_000
loss                = MSE + grad_theta L_DMD
w(t)                = standard DMD weighting

# AR-oriented Mask Cache (inference only)
mask_source         = L2( z_edit^{k-1} - z_src^{k-1} )
tau                 = dynamic  (prunes 70% redundant tokens)
apply_layer         = Self-Attention only  # do NOT cache FFN or CA
chunk_decode_size   = 3 frames per step
per_frame_latency   = 79 ms  (≈12.66 FPS)

8.4 训练/推理伪代码

# =========== TRAINING ===========
# Stage 1: bidirectional editing prior
for z0, c in edit_pairs:
    eps = randn_like(z0)
    t   = uniform(0, 1000)
    z_t = alpha_t*z0 + sigma_t*eps
    x   = channel_concat(z_t, z_src)
    pred = eps_theta_bid(x, t, c)                    # full attention
    loss = mse(pred, eps).backward()

# Stage 2: causal transition via teacher forcing
freeze(none); load(eps_theta_causal ← eps_theta_bid)
for z0, c in edit_pairs:
    z_t = ...
    pred = eps_theta_causal(z_t, t, c, mask=chunk_causal_mask(chunk=3))
    loss = mse(pred, eps).backward()

# Stage 3: DMD 4-step distillation
G_theta      = init_from(eps_theta_causal)
eps_real     = init_from(eps_theta_bid); freeze(eps_real)
eps_fake     = init_from(eps_theta_bid)
for z0, c in edit_pairs:
    z_T   = pruned_noise(z0.shape)
    x_hat = G_theta(z_T, c)                          # 4 steps
    z_t   = simulate_intermediate(x_hat, t)
    grad_G = w(t) * (eps_real(z_t,t,c) - eps_fake(z_t,t,c)) * dG/dtheta
    loss   = mse(x_hat, z0) + backprop(grad_G)
    update(G_theta, eps_fake)

# =========== INFERENCE (streaming) ===========
cache = TokenCache()                                 # SA-layer only
prev_z_src = prev_z_edit = None
for chunk_k in incoming_chunks(size=3):              # 3 latent frames each
    z_src_k = encode(chunk_k)
    if prev_z_edit is None:
        M_k = ones_like(spatial_grid)                # first chunk = full compute
    else:
        d = l2(prev_z_edit - prev_z_src)             # per-token distance
        tau = dynamic_threshold(d, prune_ratio=0.70)
        M_k = (d > tau).float()
    z_out_k = zeros_like(z_src_k)
    for token_uv in spatial_grid:
        if M_k[uv] == 1:
            z_out_k[uv] = full_block(z_src_k[uv])    # SA + CA + FFN
        else:
            z_out_k[uv] = cache[uv]                  # Token Reuse (SA only)
    cache.update_from(z_out_k)                       # only SA sub-features
    prev_z_src, prev_z_edit = z_src_k, z_out_k
    yield decode(z_out_k)

8.5 复现坑与注意事项

⚠ 通道拼接的隐含约束

论文没披露 Wan2.1-1.3B 输入通道扩展的具体接线方式。若要复现,需要修改骨干输入投影层(in_channels 翻倍),并注意保持位置嵌入不变;改错会导致 Stage 1 无法收敛。

⚠ Chunk 大小是硬编码的

Stage 2 与推理阶段都以 3 帧为一个 latent chunk。这一数字牵一发而动全身:chunk 越大延迟越低但一致性越差;越小则每 chunk 缓存命中率降低。改动须重训 Stage 2。

⚠ 阈值 τ 动态计算细节

论文只写"τ 使 70% 空间 token 被剪枝",未给具体计算函数。合理猜测是把 chunk k−1 的 L₂ 距离排序后取分位数(0.30 分位)作为阈值;若目标数据分布与本文差异较大,可能需要重新调整该分位数以避免误剪编辑区域。

⚠ 只缓存 SA,不要缓存 FFN 或 CA

消融表 3 显示 Cache-on-FFN 直接把 IQ 从 0.720 摔到 0.513;Cross-Attention 更是文本条件对齐的核心,也不能替换。实现时需在骨干 forward 里精确 hook SA 输出。

⚠ 首个 chunk 必须全量计算

掩码依赖前一 chunk 的 z_edit − z_src;启动时没有历史,因此第一 chunk 需走 M=1 全路径,缓存也在此建立。忽略这一点会导致第一段生成分布外错误。

⚠ DMD 时步的选择

论文明确 4 步为 [0, 250, 500, 750],用 timestep-dependent 权重 w(t)。改成 5 步或选不同分布的时步会破坏 DMD 收敛,且失去 4 步实时性。

⚠ 数据规模与硬件

20K 视频对 + 8×A100 只是复现主线路径;论文没有报告小规模数据下的稳定性,因此若在 <5K 对上重训,Stage 3 更可能因 fake score 收敛不稳而"翻车"。

⚠ VBench 版本差异

DD/BC/MS/IQ 高度依赖 VBench 具体版本;直接复用作者数字前须使用同版本 VBench 与相同 CLIP 模型(TA 用 CLIP-B/32 是常见选择,但论文未强调),否则数字不可比。

9 Q&A

Q1:为什么不像 Self-Forcing 那样做 ODE 初始化?跳过它不会带来分布不匹配吗?
在 T2V 里 ODE 初始化只需从文本采样,代价可控;但流式视频编辑中要处理原始高分辨率长视频序列,成本极高、几乎不可扩展。作者观察到 Stage 2 的 chunk-wise causal attention 权重本身就是与 causal 分布对齐的稳定起点,从它初始化 DMD 生成器再联合 MSE + DMD 梯度,实测可以复现完整编辑保真度且推理只需 4 步。
Q2:Stage 2 的 chunk 大小为什么是 3 帧?改成更大或更小会怎样?
3 latent 帧是延迟与一致性之间的折中:更大则单 chunk 内部依赖强、时序一致但流式延迟增大且掩码更新变慢;更小则每次更新代价升高、缓存命中率下降。论文里 3 帧同时也是推理时"每步解码 3 帧"的粒度,可以直接命中 Wan2.1 编码器的 latent 时序压缩比。
Q3:为什么 Cache-on-SA 不掉 BC 甚至提升 TA、MS?
SA token 在连续去噪步之间余弦相似度极高(图 7),静态背景本就近似不变,直接复用不会改变 BC。TA 与 MS 的小幅提升来自"更强正则效应"——被剪枝的静态 token 不会再被推得偏离源,反而抑制了漂移;同时避免了对未编辑区跑重复 SA 引入的数值噪声。
Q4:Cache-on-FFN 为什么直接把 IQ 从 0.720 掉到 0.513?
FFN 层负责 per-pixel 空间细节和文本条件调制,token 表示随时步变化剧烈(图 7 分布明显偏低)。跨帧复用 FFN 输出等价于把上一步的高频细节强行塞给当前帧,导致模糊、色斑与结构不稳定。CA 同理,也不能缓存。
Q5:τ 阈值是"每 70% 空间 token 被剪",那对全画面都动的镜头会不会误剪?
τ 是自适应的:如果画面变化大,L₂ 分布整体上移,取分位数得到的 τ 也会大——真正被剪的仍是相对静态的那 70%。极端情况下(例如整段视频每处都在变),Mask 会退化为几乎处处 M=1,模型退化到与 W/o Cache 等价,正确性依然保证;速度会有所下降但不会崩。
Q6:LiveEdit 相较双向离线模型的核心质量优势体现在哪里?
表 1 显示 TA=0.270 显著超过 InsV2V (0.259)、LucyEdit (0.253)。原因是双向模型的全局 attention 会把编辑区域的属性弥漫到全帧("色彩溢出"),而 LiveEdit 通过 Mask Cache 把编辑显式限制在活跃区,同时 Stage 1 保留了双向先验的高保真结构学习能力。也就是"离线的编辑力 × 流式的空间纪律"。
Q7:训练需要 8×A100,普通团队怎么复现?有小算力路径吗?
Stage 1 是最贵的一步(20K pair × 9K 步 × Wan2.1-1.3B)。可以用更小骨干(比如 SVD 系列 512p 版)替换 Wan2.1,或先在 5K–10K 对上验证 pipeline 是否收敛;Stage 2 与 Stage 3 若继承 Stage 1 权重,10K–20K 步在 4×A100 上也能跑完。但作者提示 Stage 3 的 DMD 对小数据不稳定,若数据 <5K 对建议先做数据蒸馏或引入辅助 MSE 权重。
Q8:为什么 Stage 3 明确去掉 CFG?会不会影响可控性?
CFG 需要"条件 + 无条件"两次前向,直接把每步计算量翻倍。作者靠 DMD 里的 Real Score / Fake Score 对齐,本就等价于"引导"信号来自教师而非 CFG 差分——因此可以在训练中把 CFG 的作用融入蒸馏梯度里,推理时不再需要。表 1 显示 TA 反而从 W/o Cache 的 0.265 提到 W/ Cache 的 0.270,说明可控性没有掉。
Q9:这套方法能否直接用于分辨率更高、时长更长的直播场景?
理论上支持——Mask Cache 的加速比与冗余比例正相关,高分辨率下背景冗余更大、加速更明显。但两个前提:一是 Wan2.1-1.3B 需先在目标分辨率上再做一次通道拼接微调(Stage 1 的分辨率决定后续两阶段的可行区间);二是长时程漂移需要 Stage 2 的 chunk-wise causal 精细调节,chunk 之间不能截断得太远,否则误差累积仍会显现。
Q10:与 EgoEdit / StreamDiffusionV2 相比,LiveEdit 的定位是什么?
EgoEdit 是"数据+任务"驱动的第一人称编辑,仍站在 Self-Forcing 管线上;StreamDiffusionV2 是流式生成加速,未把源保留提到一等公民。LiveEdit 的贡献主要是"框架层":三阶段蒸馏 + AR Cache 是与骨干无关的通用方案,可以直接嫁接到未来更新的 T2V 骨干上,不像前两者绑定特定域或特定生成范式。

10 局限性与改进方向

10.1 数据层面

10.2 模型层面

10.3 基准与评测层面

10.4 后续研究可行方向

▸ 时空联合缓存

把 Mask Cache 从"当前 chunk 的空间路由"扩展到"跨 chunk 的时空路由",利用连续 chunk 内的时序冗余进一步压缩,可能带来额外 1.5–2× 加速。

▸ 一步 DMD 或 Consistency Model

将 4 步压到 1 步,可以在保证结构不塌陷的前提下达到 >30 FPS 的实时率;关键是解决 DMD 收敛稳定性与 Consistency Model 的教师蒸馏兼容问题。

▸ 支持交互式编辑轨迹

目前指令是一次性的静态文本;把 chunk-wise 输入扩展成支持动态改变的 prompt 流,可以做到"直播中实时改指令",接近真正的交互 AR 场景。

▸ 与 3D 场景表示结合

把 Mask Cache 的空间路由信息传给 3D-aware 表示(如 Gaussian Splat / NeRF)做增强现实合成,可能实现"实时视频编辑 → 实时 AR 场景更新"的闭环。

▸ 自适应 Chunk 大小

让模型根据当前 attention 集中度或运动幅度自动决定 chunk 大小(快镜头短 chunk、静态镜头长 chunk),提高吞吐同时保持一致性。

▸ 面向多主体 / 遮挡的 Mask 精化

当前基于 L₂ 差异的掩码在多主体交叉遮挡场景可能"外溢"到相邻区域;引入语义分割先验或 SAM2 track 会让掩码更精细。

▸ 端侧与量化部署

4 步 + Cache 已经把 GPU 端做到 12.66 FPS,下一步可尝试 INT8 / FP8 量化 + 移动端 NPU,把延迟继续降到 30 ms 内,覆盖手机 AR。

▸ 通用 Cache 迁移

Mask Cache 的核心思想是"识别时序冗余高的模块并跨帧复用",可以尝试迁移到视频生成、超分、修复等其他任务,形成一族"AR-oriented Cache"框架。