← 返回 2026-05-05

面向自回归视频生成的高效运动感知缓存策略 MotionCache Motion-Aware Caching for Efficient Autoregressive Video Generation

Jing Xu, Yuexiao Ma, Songwei Liu, Xuzhe Zheng, Shiwei Liu, Chenqian Yan, Xiawu Zheng, Rongrong Ji, Fei Chao, Xing Wang 📅 2026-05-03 👍 8 2026-07-13 08:36
扩散模型 推理加速 特征缓存 自回归视频生成 运动感知

MotionCache 以帧差代理运动,token 级缓存将视频生成加速至 7.26×

前置知识

自回归视频生成(Autoregressive Video Generation)

把长视频切成 chunk 序列,按因果顺序逐步去噪生成。每个 chunk 内的 latent 形状为 $\mathbb{R}^{F\times H\times W\times C}$,结合 KV cache 把注意力复杂度从二次降到线性。代表模型包括 SkyReels-V2 与 MAGI-1。

本文针对的正是这类模型的推理加速;不理解 chunk 划分和 KV cache,就读不懂 MotionCache 为何要替代 chunk 级跳步策略。

扩散模型与 Flow Matching(流匹配)

通过 ODE $\mathrm{d}x/\mathrm{d}t = v_\theta(x_t,t,c)$ 把数据点沿最优传输路径送到噪声。Euler 离散下迭代更新 $x_{t-1}=x_t+v_\theta\Delta t$,残差定义为 $R=v_\theta - x_t$。

MotionCache 的全部误差界与更新规则都以 Flow Matching 的 Euler 步为基础,残差稳定性是核心概念。

特征缓存(Feature Caching)

在去噪过程中跳过某些时间步,复用前一步算出的残差作为当前步的近似。代表方法有 TeaCache、Δ-DiT、FlowCache;触发条件常基于输入间的相对 L1 距离。

本文是该方向的新工作,不熟悉缓存策略的 trade-off 就无法判断其相对贡献。

PSNR / SSIM / LPIPS / VBench

PSNR、SSIM 衡量像素级保真度,LPIPS 衡量感知相似度,VBench 是综合视频生成基准(覆盖一致性、动态性等维度)。本文用这四类指标评估加速后的质量损失。

后续表格里大量引用这些数据,没有先验概念就无法对比 6.28× 加速下 PSNR=23.46 的含义。

Lipschitz 连续与上界证明

若函数 $g$ 满足 $\|g(X_1)-g(X_2)\|\le L\|X_1-X_2\|$,则可由输入端的差异推出输出端的上界。本文 Lemma 4.2 即据此用帧差约束残差变化。

证明是 MotionCache 区别于纯启发式方法的关键,是"运动代理"具备理论支撑的根基。

研究动机

自回归视频生成在长视频场景下推理极慢:在 A800 GPU 上以 batch size 1 生成 7 秒 540×540 视频,SkyReels-V2 需要约 27 分钟。已有缓存加速方法 TeaCache(2.20×)和 FlowCache(1.14–6.26×)虽然减少了去噪步数,但都采用粗粒度决策:要么整时间步复用(TeaCache),要么整 chunk 复用(FlowCache),把「同一 chunk 内不同帧」与「同一帧内不同 token」一概而论。Figure 2 的 KDE 分布揭示出两个被忽视的异质性:相邻时间步残差差值呈长尾(中位数 2.078、尾值 9.878),同一 chunk 内不同帧之间的残差变化最大值可达 5.9219。粗粒度缓存要么在静态区域浪费算力,要么在运动区域产生严重质量下降,例如 PSNR 从 21.83 跌至 18.39 或出现结构错乱与手指幻觉。

本文的目标是本文的目标是设计一种细粒度、自适应的缓存调度策略。具体而言,先给出严格的理论误差界,证明缓存误差上界正比于残差不稳定、而残差不稳定又被帧间差异上界控制;再以逐 token 粒度判断"该算还是该复用",让运动剧烈的区域被频繁更新、静态区域被激进复用;通过 chunk 级 warm-up + token 级 refinement 的双阶段调度,确保任何加速配置(slow/fast)下都能保持 VBench/PSNR 等指标的视觉保真度,最终在 SkyReels-V2 上达到 6.28×–7.26× 加速、MAGI-1 上达到 1.64×–2.07× 加速,且 VBench 分数仅下降不超过 1.3 个百分点。

与已有工作不同的是,现有加速工作要么缺乏对误差上界的严格推导(启发式阈值),要么只能在粗粒度层级(全 chunk 或整时间步)做决策,对自回归视频模型特有的「异质时间冗余 + 同 chunk 内帧间差异」无能为力。本文给出 Proposition 4.1(误差正比于残差不一致性)与 Lemma 4.2(残差变化被帧差上界控制)的双重理论证明,再用 0.94+ 的 NDCG 分数验证帧差代理的有效性,从而把"运动感知 token 重要性"从工程经验升级为有数学支撑的设计,并配合 coarse-to-fine 两阶段调度真正落地 token 级缓存。

核心方法

MotionCache 把整段视频分为 F 帧 H×W 像素的 chunk,把每帧每个空间 token 单独打分,按"重要性权重 + 累计阈值"决定本步是否真正计算,其余则直接复用残差 cache;前期对整 chunk 算 K 步保证结构稳,后期再切到 token 级细粒度调度。直观上,运动剧烈的轮廓处频繁更新,静态背景处几乎跳过,从而在 SkyReels-V2 上达到 6.28×–7.26× 加速、在 MAGI-1 上达到 1.64×–2.07× 加速,且 VBench 分数仅下降 1% / 0.01%。整条技术路线可拆成三块:Frame Difference → Importance Map → Accumulator Mask,再叠加两阶段调度。

核心创新有三点:(1) 首次给出残差缓存误差的闭合形式 $\epsilon_i^{t-1}=\Delta t\cdot\|R_i^{t-1}-R_i^t\|_2$,把"是否复用"转化为"残差变多大";(2) 用帧间 L1 差 $\|X_{i,f}^{t+1}-X_{i,f-1}^{t+1}\|_1$ 作为运动代理,无需计算昂贵的光流(比 KLT 快 429×,比 Farneback 快 925×),且 NDCG 证明它和真实残差排序高度一致(≥0.94);(3) 引入「chunk 级粗粒度 warm-up + token 级细粒度 refinement」的双阶段调度,让早期语义不稳定阶段不会被错误的 token 选择扰乱。和 FlowCache 的本质区别在于把"chunk 内是否算"的二元决策,拆成"每个 token 独立决定算不算"的精细决策。

方法步骤详情

执行三步。(1) motion-aware token importance:逐 token 算相邻帧 L1 距离、min-max 归一化得 importance map $M$,把每帧重要度映射到 $[\alpha,1]$,$\alpha$ 控制静态背景基线更新概率。(2) accumulation policy:整 chunk 相对 L1 距离 $\Delta_\mathrm{chunk}=\|X_i^t-X_i^{t+1}\|_1/\|X_i^{t+1}\|_1$ 按权重 $W_t[p]$ 分配到 $A_t[p]=A_{t+1}[p]+W_t[p]\Delta_\mathrm{chunk}$;$A_t[p]>\tau$ 触发 active mask。(3) 双阶段调度:Phase 1 前 K 步整 chunk 全算建结构;Phase 2 仅送 active token 过 DiT forward、scatter 回 $R_\mathrm{cache}$。实测 $\alpha=0.6,K=6$(SkyReels-V2)、$\alpha=0.5,K=9$(MAGI-1)最优。

技术新颖性

技术新颖性体现在三方面:(1) 理论贡献——同时给出误差界 Proposition 4.1 与运动上界 Lemma 4.2,并把 Lipschitz 假设由 DiT 的正弦时间嵌入和谱归一化严格论证;(2) 工程贡献——避免 RGB 解码(一次 VAE decode 就需要 9.7s),全程在 latent 域计算帧差,且通过 importance-weighted accumulation 把 temporal 进度与 spatial 运动耦合;(3) 系统贡献——首次在自回归视频模型中实现 true token-level cache,配合 KV cache 把 attention 复杂度保持线性,使加速效果在 7s→10s 长度递增时 FLOPs 仍持续下降而 peak memory 不增长。

Validation of Motion Proxy (NDCG across sampling steps).
Figure 3: Validation of Motion Proxy (NDCG across sampling steps).
Comparison of caching strategies in autoregressive video generation.
Figure 4: Comparison of caching strategies in autoregressive video generation.
Visualization of the ground-truth video frames versus the computed importance maps.
Figure 5: Visualization of the ground-truth video frames versus the computed importance maps.
Visualization of the importance weight maps throughout the denoising process.
Figure 6: Visualization of the importance weight maps throughout the denoising process.

实验结果

Table 1 显示主要定量结果。SkyReels-V2 上 MotionCache-fast 7.26×、VBench 82.75%、PSNR 21.78,slow 配置 6.28× 取得 PSNR 23.46/SSIM 0.9093/LPIPS 0.0875,均优于 FlowCache-fast(7.19×/82.38%)与 TeaCache-fast(2.2×/VBench 80.06%)。MAGI-1 上 fast 2.07× 达 VBench 74.59%,比 TeaCache-fast 高近 6 个百分点;slow 1.64× 基本无损(-0.01%)。Table 2/3 消融显示 $\alpha=0.6$、$K=6$ 同时达到 PSNR/SSIM/LPIPS 最优。Table 6/7 验证 7s→10s 视频 peak memory 稳定 42 GB(A800),FLOPs 准线性;Figure 7/8 显示 MotionCache 保留大象象牙、袖口等细节,而 FlowCache 出现 6 指幻觉,TeaCache 出现高频噪点。

Quantitative comparison with state-of-the-art acceleration methods on SkyReels-V2 and MAGI-1.
Table 1: Quantitative comparison with state-of-the-art acceleration methods on SkyReels-V2 and MAGI-1.
Ablation study on the soft-mapping floor parameter α.
Table 2: Ablation study on the soft-mapping floor parameter α.
Ablation study on the duration of Phase 1 (K).
Table 3: Ablation study on the duration of Phase 1 (K).
Detailed ablation study on the soft-mapping floor parameter α (step 0.1).
Table 4: Detailed ablation study on the soft-mapping floor parameter α (step 0.1).
Detailed ablation study on the duration of Phase 1 (K).
Table 5: Detailed ablation study on the duration of Phase 1 (K).
Peak memory and FLOPs breakdown for SkyReels-V2 (7s vs 10s).
Table 6: Peak memory and FLOPs breakdown for SkyReels-V2 (7s vs 10s).
Peak memory and FLOPs breakdown for MAGI-1 (7s vs 10s).
Table 7: Peak memory and FLOPs breakdown for MAGI-1 (7s vs 10s).
Computational time comparison of different motion cues.
Table 8: Computational time comparison of different motion cues.
Qualitative results on SkyReels-V2 (astronaut / bike / beer / shark).
Figure 7: Qualitative results on SkyReels-V2 (astronaut / bike / beer / shark).
Qualitative results on MAGI-1 (Mars rover / horse / elephant / cat lifeguard).
Figure 8: Qualitative results on MAGI-1 (Mars rover / horse / elephant / cat lifeguard).
查看结构化数据
任务指标本文基线提升
SkyReels-V2 文本到视频生成 Speedup × (PFLOPs/1× PFLOPs) / VBench MotionCache-fast: 7.26× / 26 PFLOPs / VBench 82.75% Vanilla 1× / 113 PFLOPs / VBench 83.84%;FlowCache-fast 7.19× / 27 PFLOPs / VBench 82.38% 同加速比下 VBench 高 0.37 个百分点,PFLOPs 降低 1;PSNR 提升 0.61(相对 FlowCache-fast 的 21.17)
SkyReels-V2 PSNR/SSIM/LPIPS 像素级保真度(PSNR↑、SSIM↑、LPIPS↓) MotionCache-slow: PSNR 23.46 / SSIM 0.9093 / LPIPS 0.0875 FlowCache-slow 21.83 / 0.8733 / 0.1417;TeaCache-fast 18.39 / 0.6121 / 0.3063 PSNR +1.63、SSIM +0.036、LPIPS -0.054,相对最优粗粒度基线
MAGI-1 文本到视频生成 Speedup × / VBench MotionCache-fast 2.07× / VBench 74.59%;MotionCache-slow 1.64× / VBench 77.25% Vanilla 1× / VBench 77.26%;FlowCache-fast 1.94× / 73.42%;TeaCache-fast 1.41× / 68.81% fast 配置下 VBench 比同档 FlowCache +1.17、比 TeaCache +5.78;slow 配置基本无损(-0.01%)
MAGI-1 PSNR/SSIM/LPIPS 像素级保真度 MotionCache-slow 19.71 / 0.7231 / 0.2510 FlowCache-slow 18.16 / 0.6486 / 0.3451;TeaCache-fast 11.98 / 0.2632 / 0.7670 PSNR +1.55、SSIM +0.0745、LPIPS -0.0941
长视频 FLOPs(SkyReels-V2 10s) Total TFLOPs / Peak Memory MotionCache 40 TFLOPs / 42 GB Vanilla 168 / 34 GB;TeaCache 72 / 36 GB;FlowCache 47 / 42 GB 比 FlowCache 再省 15% FLOPs,peak memory 与 FlowCache 持平

局限与改进

作者明确列出的局限:(1) 完全在 VAE latent 域内运作,无法直接利用 RGB 光流(Table 8 显示 KLT/Farneback 比帧差慢 429×/925×,每次 VAE decode 9.7s 会抵消所有加速);(2) 引入四个需调超参数:$\alpha$、$K$、warm-up $m$、阈值 $\tau$,不同模型需要重新搜索(SkyReels-V2 用 $\alpha=0.6,K=6$,MAGI-1 用 $\alpha=0.5,K=9$);(3) 仅在两种自回归模型上验证,对标准 DiT 图像/视频模型未做实验;(4) 双阶段调度把 K 步强制全算,对极短视频不划算;(5) Phase 1 内仍为 chunk 级,对全局结构不稳健的视频可能引入 early-stage 漂移。我们额外观察:threshold $\tau$ 与 $\alpha$ 之间存在隐性耦合(本文未单独消融),且 token 级 scatter/gather 在超长序列下会成为新的 host-device 传输瓶颈。

独立分析的弱点

独立分析有三点可改进方向:(1) 双阶段硬切换过于刚性——Phase 1→Phase 2 是 0/1 跳变,可尝试随 timestep 衰减的 soft-gate(例如 $\beta(t)=1-\sigma((t-K)/T_\mathrm{trans})$)避免语义尚未充分稳定时过早进入稀疏模式;(2) 阈值 $\tau$ 是全局常数,未考虑不同 chunk 运动强度差异,建议做成 chunk-level 自适应 $\tau_i=\tau_0\cdot\mathrm{std}(M_i)$,避免运动剧烈 chunk 整体被跳过或静止 chunk 都被选中;(3) 帧差代理仅利用相邻两帧,没用到更长时序上下文,若加入 3–4 帧滑动窗口差分 + 轻量 attention 重要性头部,可进一步压制大象象牙、袖口等关键细节偶发的 flicker 现象;(4) 当前实现对每个 chunk 单独算 importance,未复用前一 chunk 的 motion prior,可在前 k-1 个 chunk 上跑 EMA 来平滑权重。

未来方向

作者已提出的方向:(a) 把 motion-aware token 重要性扩展到 RGB 域与多模态条件(音频、文本)联合的设置;(b) 探索与稀疏 attention、量化、编译优化的协同。基于结果可延伸的方向:(c) 把 MotionCache 与 token pruning 或 token merging 结合,构建真正的 sparse DiT 推理管线;(d) 利用 Phase 1 期间收集的残差稳定性作为自动搜索 $\alpha/K$ 的信号,做 hyperparameter-free 配置;(e) 推广到交互式 long-horizon 视频(分钟级),验证 Phase 2 的 KV cache 复用是否仍能维持长程一致性;(f) 在端侧 GPU(消费级显卡或移动 NPU)上蒸馏 MotionCache 调度器,做实时视频生成。

复现评估

复现友好度较高:作者给出代码链接 https://github.com/ywlq/MotionCache;两个 backbone SkyReels-V2-1.3B 与 MAGI-1-4.5B-distill 权重均开源;所有超参数明确披露(SkyReels-V2:$\alpha=0.6,K=6,m=4$;MAGI-1:$\alpha=0.5,K=9,m=5$),Table 8/9 给出阈值与公式。算力门槛可控:NVIDIA A800 80GB 单卡、batch size 1、PyTorch 实现,长视频扩展性可在 10s 上验证。潜在难点:(i) Flow Matching 的 token-wise scatter/gather 需要较强 GPU 工程经验;(ii) 不同 DiT 后端的 time embedding 频率 $\omega_k$ 不同,需重新验证 Lemma 4.2 的 Lipschitz 常数;(iii) VAE decode 单 chunk 需 9.7 s,若复现平台 I/O 较慢,会使 wall-clock 与 FLOPs 加速比不一致。