Video Diffusion 综合报告:基座、位置寻址、记忆与参考一致性
2026-07-14
统一结论:位置编码决定信息如何被寻址,memory 决定信息是否仍然存在,Forcing 决定模型能否在自身历史上使用它,reference-aware decoder 决定信息能否恢复到像素。
核心判断
现代视频 diffusion / flow 模型已经形成一个相对稳定的生成基座:视频先被压缩为三维 latent grid,DiT 在固定时空 token 集合上预测 flow,文本和参考条件通过 joint attention、cross-attention 或 latent channel 进入模型。四个代表基座的主要差异,已经不再是“是否使用 DiT”,而是:
- latent 压缩率怎样分配时空信息预算;
- 文本与视频是在同一个 attention 空间共同更新,还是由视频单向读取固定文本 memory;
- 参考条件被当作首帧、附加 latent、语义 token,还是独立 memory;
- 固定 clip 内联合生成,怎样过渡到 chunk 级因果生成;
- 训练和推理是否能在模型自己的历史误差上继续稳定工作。
这五个问题可以统一为一条信息流:
视频/参考表示
→ 条件与位置寻址
→ DiT latent 生成
→ 历史状态写入、读取与淘汰
→ VAE decoder 恢复像素
参考一致性与长程一致性分别约束这条链上的不同环节:参考一致性要求外部参考信息没有在表示、寻址和解码中消失;长程一致性要求模型在自己的生成历史上仍能保留、选择并正确使用状态。两者不能由一个更大的 attention window 自动同时解决。
本报告的最终提案是:
其中每个模块都有相邻工作的局部证据,但完整组合仍是待验证的系统性研究方案,而不是某篇论文已经完成的结论。
统一形式化
生成对象
原始视频写为:
视频 VAE 将其压缩为:
若 VAE 的时空压缩率为 ,DiT patch 大小为 ,则每个 DiT token 覆盖的原始像素时空体积为:
token 数量近似为:
这个量直接决定 full attention 的序列长度,但不等于完整计算量;latent channel 数、DiT width、head 数、文本 token 和并行策略同样重要。
Flow 目标
用一般插值路径表示加噪 latent:
DiT 学习条件速度场:
其中:
- 是文本条件;
- 是当前生成段可读取的参考表示;
- 是第 个生成段之前的历史 memory;
- 是视频、参考与 memory token 的位置坐标策略。
固定窗口模型一次实例化完整 ,若干 ODE / flow 求解步同时更新所有帧。因果长视频模型则按 chunk 分解:
“因果 DiT”通常表示 chunk 之间顺序解码;每个 chunk 内的空间 token 和若干时间 token仍可联合生成,甚至使用局部双向 attention。它不等同于逐像素或逐帧串行生成。
Memory 接口
固定预算 memory 不只是一个 KV 列表,而是四个操作的组合:
这里:
- 决定写入什么;
- 决定按时间、对象、场景还是事件寻址;
- 决定如何检索;
- 决定在预算 内如何合并和淘汰。
仅增加 KV 长度,只增加“可能可见的历史”,没有回答哪些内容值得保存、当前 query 应读什么,以及被保存的内容是否已经漂移。
四类信息损失
完整系统的失败可以分为四类:
| 层 | 失败 | 典型现象 | 需要的机制 |
|---|---|---|---|
| 表示 | 参考或视频被编码得过于语义化或过于低层 | 像但不精细,或直接 copy-paste | 异构编码、表征对齐、多视图/部件表示 |
| 寻址 | 条件存在,但 token 不知道何时、向谁读取 | 多主体串扰、背景泄漏、参考被忽略 | 位置域、subject routing、attention mask |
| 轨迹 | 模型在自身错误历史上持续外推 | chunk 边界跳变、身份漂移、循环或冻结 | Self/Context Forcing、rolling denoising、分层 memory |
| 解码 | DiT latent 中仍有信息,但无条件 decoder 丢失细节 | 脸、服装、纹理在像素恢复时变弱 | reference-aware decoder |
后续四部分分别对应:基座决定表示与生成对象;位置编码决定如何寻址;memory 决定历史如何保存与调用;改进方案把四个瓶颈串成一个可训练系统。
第一部分:四个视频生成基座
共同骨架
HunyuanVideo、Open-Sora、Wan 和 Step-Video-T2V 的公开技术报告共同支持以下训练骨架:
图像空间与概念预训练
→ 低分辨率短视频学习运动
→ 延长时长并提高分辨率
→ 高质量视频 SFT / post-training
→ 参考任务或控制任务适配
→ 偏好对齐与推理蒸馏
所谓“统一训练”并不是从头到尾使用一个静态的 image-video-task 混合分布。真正统一的是 latent 接口、Flow Matching 目标和大部分 DiT 参数;数据质量、分辨率、时长、任务比例和后训练目标始终阶段化。
四基座对照
| 基座 | latent / VAE | DiT 与文本路径 | 时序 attention 与生成方式 | 训练主线 | I2V / 参考条件 | 后训练重点 |
|---|---|---|---|---|---|---|
| HunyuanVideo | causal 3D VAE,约 4×8×8,C=16;配合 1×2×2 patch 时 | 约 13B MMDiT;dual-stream 后进入 single-stream;MLLM 文本表示加 CLIP pooled 全局条件 | 3D RoPE,固定 clip 内时空 full attention,整段 latent 联合 Flow 生成 | 256/512 T2I → 低清短视频 → 低清长视频 → 高清长视频;视频阶段继续混图像 | 首帧 latent replacement + timestep 0;另有 MLLM 图像语义 token。Avatar 将 reference latent 沿时间重复并按 channel 拼接 | 高质量人工视频精调、prompt rewrite、timestep shift、CFG distillation |
| Open-Sora 1.2 → 2.0 | 1.2 为 2D VAE + causal temporal VAE 级联,总压缩约 4×8×8;2.0 主模型复用同级别 causal VAE | 1.2 是 PixArt/STDiT + T5 cross-attention;2.0 改为 11B FLUX/MMDiT,T5-XXL + CLIP | 1.2 为空间/时间 factorized attention;2.0 改为 3D RoPE + full attention;二者均是固定 clip 联合生成 | 1.2 分阶段适配图像模型与时序模块;2.0 由 256px 大规模 T2V 进入 T/I2V,再到 768px 高质量阶段 | 1.2 用干净条件帧和随机 mask 统一 I2V、续写、首尾帧;2.0 使用 noisy latent + condition latent + task mask,并解耦图像/文本 CFG | 高质量和高分辨率 specialization;主要依赖 serving-time guidance,主报告未披露显式 DPO |
| Wan | causal Wan-VAE,约 4×8×8,C=16;VAE cache 支持分块编解码,不代表 DiT 可无限生成 | 14B/1.3B classic DiT;visual self-attention 后 cross-attention 读取 umT5 | 3D full spatiotemporal self-attention;固定窗口整段 Flow | 256px T2I → 192px/5s 视频 → 480px joint → 720px joint → 高质量 video post-training | condition latent + mask 与 noisy latent channel 拼接;另有 CLIP image feature cross-attention。Personalization 使用多帧 latent prefix | 高质量视频继续训练;Streamer/LCM 等属于派生效率路线 |
| Step-Video-T2V | causal dual-path VAE,8×16×16,C=64;无额外 spatial patch 时 | 约 30B classic DiT;48 层、48 heads;Hunyuan-CLIP 与 Step-LLM 序列拼接后作为 cross-attention KV | 3D RoPE + full attention;公开固定窗口 204 frames | 256px T2I → 192px T2VI → 540px T2VI → video-only SFT → Video-DPO | 原始基座技术报告是 T2V,没有 reference input;不能把后续 TI2V 能力反推给该 checkpoint | 高质量 SFT、checkpoint averaging、paired-noise Video-DPO、1-RF 到 2-RF 蒸馏 |
对应官方论文为 HunyuanVideo、Open-Sora 1.2、Open-Sora 2.0、Wan 和 Step-Video-T2V。
Latent 压缩是第一层架构选择
HunyuanVideo、Open-Sora 2.0 主模型和 Wan 的典型 token 覆盖体积约为:
Step 的典型配置约为:
在相同原始时长和分辨率下,Step 的视觉 token 数大约减半,因此仅由序列长度产生的 attention matrix 元素数约为前者的四分之一。但 Step 使用 64-channel latent,而前三者常见配置为 16 channels;这说明高压缩不能只以 token 数评价,还要同时看:
- VAE 重建 fidelity;
- latent cell 内的信息密度;
- diffusion / flow 是否容易在该 latent 分布上学习;
- decoder 能否稳定恢复高频细节。
Open-Sora 2.0 对更高空间压缩 DC-AE 的试验出现模糊,正说明“重建压缩率高”不等于“生成可学习性好”。
两种 DiT 条件拓扑
MMDiT / joint attention
HunyuanVideo 与 Open-Sora 2.0 将文本和视频放进可共同更新的多模态 attention 结构。double-stream 阶段保留模态专属投影,single-stream 阶段进一步融合。其优点是条件交互深入;代价是 reference、文本和视频的角色边界更耦合。
Classic DiT + cross-attention
Wan、Step 以及 Open-Sora 1.2 让 visual token 在 self-attention 中更新,再由 cross-attention 单向读取固定文本 memory。这个结构天然保留独立条件路径,便于增加 reference branch、缓存条件 KV 或替换编码器,但并不能据此断言它在相同计算下优于 MMDiT。
目前公开报告没有在相同参数、数据、FLOPs 与训练步数下完成 MMDiT 和 classic DiT 的长期对照,因此更合理的结论是:两者代表不同的条件拓扑,而不是已确定的优劣顺序。
Full attention、factorized attention 与 causal 不是同一维度
需要同时区分三条轴:
| 轴 | 选项 | 回答的问题 |
|---|---|---|
| 覆盖范围 | full、factorized、local、sparse | 一个 token 能访问哪些时空位置 |
| 时间方向 | bidirectional、causal、block-causal | 是否可以读取未来时间 token |
| 外层生成 | full-clip joint、frame/chunk autoregressive、rolling | 整段 latent 是一次实例化还是逐段提交 |
因此:
- causal VAE 不推出 causal DiT;
- Open-Sora 1.2 的 spatial/temporal factorization 不推出时间单向;
- full attention 也不必然是双向,只是四个基座的固定 clip 配置通常没有 causal mask;
- 长视频 causal DiT 可以在 chunk 内 full attention、chunk 间 causal。
相关概念见 Causal vs Bidirectional Video DiT 和 Full-Attention Video DiT。
I2V 条件设计的演化
四基座及其派生设计可以压缩为三类参考注入:
- 硬空间条件:首帧 latent replacement、condition latent + mask、reference latent channel。它保留局部纹理和结构,但容易把姿态、背景和身份纠缠在一起。
- 软语义条件:CLIP、MLLM 或独立 image feature branch。它提供主体和语义概念,但可能丢失实例级细节。
- 序列 memory 条件:reference latent 沿时间重复、作为 prefix 或附加 token。它让所有帧直接读取参考,但仍受固定窗口与位置域约束。
Wan 的 latent + mask + CLIP 与 Hunyuan 的 首帧 latent + MLLM image token 都已经隐含了“低层细节和高层语义需要分工”。本报告第四部分将这一经验推广为显式的异构 key-value reference memory。
后训练的发展进程
四个基座展示了五个连续阶段:
- 高质量 SFT:不改变 flow 目标,只把训练分布收缩到高质量视频;
- 能力适配:增加 I2V、续写、关键帧、身份、相机、音频等条件接口;
- 偏好对齐:从人工选样进入 pairwise DPO 或 reward-based 优化;四份报告中 Step 的 Video-DPO 描述最明确;
- 效率蒸馏:CFG distillation、rectified-flow distillation、LCM 等降低 NFE;
- serving-time alignment:prompt rewrite、CFG schedule、time shift 和负提示控制产品输出,但它们不一定更新模型参数。
这条演化说明:参考一致性和长视频能力通常不是基座预训练自然涌现的完整能力,而是条件接口、memory、偏好目标与推理策略共同构成的后训练系统。
第二部分:位置编码的使用
3D RoPE 的基本形式
设一个视频 token 的坐标为:
视频 3D RoPE 通常把 head channel 分给时间、高度和宽度三个子空间:
query 和 key 分别旋转:
其内积依赖相对位置:
CogVideoX 明确给出一种 3D-RoPE 通道分配实例:空间两轴分别占 3/8,时间轴占 2/8。不同视频 DiT 的具体通道比例可以不同,但共同点是把三维坐标映射成 factorized rotary phase。
大多数“RoPE 变种”其实是坐标策略
很多工作没有改变频率基底或旋转核,而是改变 token 坐标映射:
其中 可以表示 reference、subject、view、shot、memory role 或 generation block。
最常见的是组别平移:
对同组 token:
所以组内几何不变。对不同组 token:
额外 phase 差充当软角色地址。
这比按论文名称数“有多少种 RoPE”更稳定。现有方案可以归结为四个基本操作:
- 静态坐标平移、分区与 gap;
- 分组、分带和 subject / view address;
- 随生成动态重标定到有界局部坐标;
- 主动相位跳跃、cut 或 shot discontinuity。
代表方案
| 机制 | 坐标操作 | 主要作用 | 不能单独解决的问题 |
|---|---|---|---|
| 基础 3D RoPE | 视频使用 | 编码局部时空相对关系 | reference role、多主体地址、无限时间外推 |
| Kaleido R-RoPE | 为 reference image 分配与视频不同的 rotary 坐标域 | 多参考图整合并降低 reference/video 角色混淆 | 单视图 3D 欠定、长期 memory |
| ContextAnyone Gap-RoPE | 在 reference reconstruction 与 generated video 的时间位置之间留 gap | 稳定参考—视频边界,避免两类 token 被解释成普通连续帧 | 多主体寻址;硬信息流仍需 mask |
| MV-S2V TS-RoPE | 同一主体的多视图排成相邻 pseudo-frames,不同主体组之间插入 temporal gap | 在时间轴上编码 subject / view 分组 | 给无序多视图强加伪时间;不等于 3D 几何 |
| Mv²ID RD-RoPE | 多视图共享同一时间坐标,每个 view 使用不同空间区域 | 表达“时间等价、空间可区分” | 大空间坐标需要相应训练;反复制还依赖 region masking |
| ST-DRC TASS-RoPE | reference 位于视频后的相邻时间位置,同时移到不重叠的空间区域 | 兼顾低层细节读取与反逐位置复制 | 只解决固定 clip reference address,不提供长期状态 |
| ARGUS negative-time memory | identity mosaic 位于视频之前的负时间坐标,并配合 read-only attention mask | 把多视图身份信息变成视频 token 空间内的稳定锚点 | 生成过程中的动态长期 memory |
| Infinity-RoPE | Block-Relativistic RoPE 把新 block 保持在基座最大 temporal horizon 附近,旧 block 向后重标定;RoPE Cut 制造转场不连续 | 训练外扩展位置范围、及时响应新提示、支持 cut | 旧信息是否被正确保留;主体级 memory |
| StoryMem Negative RoPE Shift | 当前镜头从 0 开始,稀疏历史关键帧放在固定 stride 的负时间位置 | 将历史表示为离散过去事件,同时保留当前 I2V 坐标分布 | 关键帧仍按时间组织,没有对象级地址 |
| ShotStream | 用 RoPE discontinuity 区分 global shot cache 与 local current-shot cache | 消除两个 cache 的角色歧义,支持多镜头流式生成 | 哪个主体被保存、是否仍忠实外部参考 |
| Echo-Infinity | sink 从 0 锚定,最新 frame id 不超过预训练最大 temporal id;训练和推理使用同一 relative schedule | 避免 temporal id 越界和 train-test RoPE 分布错配 | learnable query 的有限信息容量与身份可重建性 |
这张表只列出已核验的一手论文代表。引用对话里还包含更多命名方案,但报告不把未逐篇核验的名称计数当成结论。
Reference 坐标策略的四种形态
Reference / video 空间域分离
Kaleido 与 ST-DRC 的共同点,是让 reference token 离开视频的原生空间网格。ST-DRC 给出一种清晰形式:
reference 在时间上紧邻视频,在空间上没有逐位置重叠。它的有效性应解释为训练学会了 reference role 和反复制地址,而不是“距离越远,attention 必然越小”。
无序多视图的分组
MV-S2V 把多视图排成 pseudo-time sequence,并在不同主体间加入 gap;Mv²ID 则让同一主体的所有视图共享时间位置、分配不同空间区域。二者分别表达:
前者更接近底模已有时间坐标,后者更严格地表示多视图无序,但会产生更强的空间坐标外推。
Reference / generation 角色边界
ContextAnyone 的 Gap-RoPE 可写为:
其中 reference 与 generated video 使用不同 ;论文使用 。它主要稳定 reference reconstruction 和 video generation 的边界。reference 不读取 noisy video 的性质来自单向 mask,而不是 gap 本身。
外部身份作为只读 pre-history
ARGUS 将多视图 identity mosaic 放在负时间区间:
其完整机制是负时间地址、空间对齐、diffusion timestep 对齐和只读 mask 的组合。单独复制负时间坐标,不能得到同样的信息流拓扑。
RoPE 是软寻址,不是距离衰减核
单个频率分量依赖:
它们具有周期性。因此:
并不推出第一个位置对的 attention 更小。把 reference 放在“很远”的坐标域,含义是改变相位分布,让模型在训练中学会把不同 phase band 解释为不同角色;它不是数学上的硬屏蔽。
真正的硬拓扑约束来自 attention mask 或独立分支。例如 ARGUS 的 read-only mask 可以写为:
若行列顺序均为 [identity, video],则 identity query 不能读取 noisy video,而 video query 可以读取 identity。位置负责“如何寻址”,mask 决定“能否读取”。
静态位置与动态位置
静态 reference address
reference 的坐标在整个 clip 中固定,适合固定窗口 I2V 或 S2V。它回答:
- 这是 reference 还是生成 token;
- 属于哪个主体或视图;
- 是否与视频空间位置对齐。
动态 history address
长视频每生成一个新 chunk,活动历史都会变化。动态 RoPE 把当前位置重新映射到训练过的局部区间:
它回答:
- 当前 token 距最新生成位置多远;
- sink、memory query、recent tail 和 active chunk 分别处于哪个 role band;
- 如何避免绝对时间 id 无限增长。
动态重标定可以解决位置外推,但不会自动选择应该保留的历史内容。因此 Echo-Infinity 还需要 learnable memory query,Context Forcing 还需要 Slow/Fast memory。
位置编码的设计原则
- 物理坐标与角色地址分离:视频 表达物理时空,reference / subject / shot role 由独立偏移、embedding 或 branch 表达。
- 不要用位置距离冒充硬隔离:需要只读或单向访问时,使用 attention mask。
- 固定窗口 reference 与无限 history 分开设计:前者适合静态坐标域,后者需要动态有界重标定。
- 训练与推理使用相同位置分布:纯推理重映射容易产生新的 train-test gap;若目标是长期部署,应在多 chunk 训练中暴露该坐标策略。
- 避免朴素时间取模: 会让 与 完全同址,容易制造周期性回退和动作循环。
- 位置只负责访问,不负责信息存在:被 VAE、reference encoder 或 memory 压缩丢失的信息,RoPE 无法恢复。
第三部分:视频生成的 memory 管理
Memory 要解决三个问题
长视频质量可分解为:
位置扩展只增加“可访问”;retrieval、slot 或压缩决定“正确选择”;Self/Context Forcing 决定模型是否能在自身生成历史上继续工作。
长程退化的四个来源
| 问题 | 原因 | 代表方案 |
|---|---|---|
| rollout 分布错配 | 训练看真实历史,推理看模型自己的错误历史 | Self Forcing、Self-Forcing++ |
| 局部提交误差 | 严格逐 chunk 提交后,过去错误无法被未来修正 | Rolling Forcing |
| memory 存取误差 | 短 cache 遗忘,长 dense cache 又保存大量冗余和错误 | Context/Relax Forcing、SlotMemory、Echo-Infinity |
| 教师拓扑错配 | bidirectional teacher 的未来条件无法由 causal student 单值恢复 | Causal Forcing |
详细机制和证据边界见 Forcing-Family Long-Horizon Video Consistency Stack。
Forcing 系列的角色分工
Self Forcing:历史来自谁
Self Forcing 在训练中让 student 实际生成自己的历史,并对完整 rollout 执行 distribution matching。核心变化不是 attention 结构,而是把训练条件从真实视频 prefix 改成:
这样模型能在自己的误差分布上学习恢复。它不能自动获得主体级长期 memory;训练 rollout 多长,直接监督通常就覆盖到多长。
Rolling Forcing:当前窗口怎样提交
Rolling Forcing 在活动窗口内同时去噪多个不同噪声等级的帧或 chunk:窗口内部局部双向,窗口对已输出历史保持因果。每次推进只提交最左侧 clean chunk,并在右侧补入新噪声。
这比严格逐 chunk 独立去噪多了一段 mutual refinement 区间,因此降低局部误差传播。但 initial sink 与 recent KV 仍然主要按时间组织,不能保证离场主体被对象级保存。
Causal Forcing:学生从谁的轨迹初始化
Causal Forcing 指出,bidirectional teacher 预测当前帧时使用未来信息;相同当前 noisy frame 在不同未来条件下可能对应不同 clean target。causal student 看不到未来,直接回归会趋向条件平均。
更合理的过程是:
teacher-forced multi-step causal teacher
→ causal PF-ODE trajectories
→ few-step causal student initialization
→ self-rollout distribution matching
它改善因果 student 的初始化质量,但不增加长期 memory 容量。
Context Forcing:教师和学生看什么历史
Context Forcing 使用 long-context teacher 监督 long-context student,并将历史拆成 Sink、Slow、Fast。Slow memory 保存高信息事件,Fast memory 保存近期运动;论文报告有效上下文超过 20 秒,但这不等于无限无损记忆。
Relax Forcing:更长 dense history 不一定更好
Relax Forcing 将 cache 拆成 Sink、Tail 和动态 History,进一步支持一个重要判断:memory 的位置和角色结构,比简单增加 dense history 长度更重要。
从“何时发生”到“是什么对象”
SlotMemory 把 memory 从时间片段重组为对象级语义 slot。关键不是把所有内容压缩进低维 slot,而是:
更合理的映射是:
slot 用于路由和重识别,真正的视觉细节仍保存在高保真 KV 中。这使主体离开画面后可以通过相同对象地址被重新检索。但 SlotMemory 存的是生成历史,没有外部参考锚;若早期身份已经漂移,slot 可能稳定地保存错误身份。
Memory 的可验证性
Memento 提出一个重要训练原则:如果 memory 真保存了主体,就应能仅依靠 memory 和全局故事描述重建主体。其目标可抽象为:
这把“memory 是否包含身份信息”从间接注意力统计变成可验证任务。其局限同样明确:生成退化的镜头写回 memory 后,错误仍会传播。因此可重建监督需要与不可变 reference anchor 配合。
推荐的五层 memory 状态
| Memory | 保存内容 | 更新速度 | 淘汰策略 | 主要风险 |
|---|---|---|---|---|
| 外部参考的身份、部件、纹理与约束 | 不更新 | 永不淘汰 | 过强会复制姿态、背景或压制运动 | |
| 视频起始状态、全局色调或世界初始状态 | 固定或极慢 | 通常保留 | 可能造成回放和早期状态过绑定 | |
| 生成中获得的可信新视角、对象 slot 与高保真 KV | 极慢、置信门控 | 按主体和覆盖度淘汰 | 错误帧写入后形成身份漂移正反馈 | |
| 布局、关键事件、物体状态、镜头级语义 | 慢 | 相关性、surprisal 或事件级淘汰 | 稀有但关键状态可能被错误压缩 | |
| 最近动作、局部过渡和 recent KV | 每个 chunk | FIFO / tail | 容量短,无法承担长期身份 |
读取可以写成:
这里必须把外部 reference memory 与生成历史分开。生成历史描述“已经发生了什么”,外部参考描述“哪些属性不能被生成轨迹重写”。
动态身份写入
只有同时满足身份可信、视觉质量合格和视角新颖时,才允许把新视角写入 :
若 ,当前生成只进入短期 motion memory,不更新身份状态。原始 永远不被生成内容覆盖。
算法时长与有效记忆时长
应区分:
- algorithmic horizon:程序可以继续运行多少 chunk;
- positional horizon:RoPE 是否仍处于训练过的坐标范围;
- accessible horizon:某个历史 token 是否仍可能被检索;
- effective semantic horizon:很久以前的主体、状态和因果关系是否还能被正确重建。
“24 小时 rollout”“无限视频”或“任意长度”通常只直接证明前两项。要证明长期身份 memory,需要离场—重现、对象重建、视角回环和多主体休眠测试。
第四部分:可能的改进方案
方案总览
推荐系统保持视频基座的原生 3D-RoPE 和 full/causal attention 主体结构,只增加四个可独立消融的模块:
Reference image / reference views
│
├── semantic encoder: DINOv3 / VFM
├── detail encoder: VAE or high-resolution image encoder
└── explicit positive-negative alignment
│
▼
Read-only reference memory
semantic key + detail value + subject route
│
├── jittered reference address plane
├── per-chunk cyclic reference rephasing
└── hard read-only attention topology
│
▼
Video DiT
original video self-attention
+ gated reference cross-attention
+ Sink / ID / Scene / Motion memory
│
├── causal teacher initialization
├── self/context forcing
└── rolling joint denoising
│
▼
Reference-aware video decoder
这一结构将 reference representation、position addressing、history memory 和 pixel recovery 分开,因此每个模块的收益与失败都可以被单独测量。
改进一:Reference 专属位置空间
保留视频原生 3D-RoPE
最安全的改造不是把整个预训练 DiT 从 3D-RoPE 改成 5D-RoPE,而是保留视频 self-attention:
新增独立 reference cross-attention branch:
并令 零初始化。这样可以把 reference 坐标实验与视频基座的位置几何隔离。
Reference box jitter
将 reference patch 的标准化坐标记为:
为第 个主体分配独立 reference base address ,并在训练时对整个 reference box 使用共享变换:
所有 patch 共用同一个 ,因此:
reference 内部拓扑仍保留,但 reference-video 的精确同坐标对应不断变化,迫使模型更多依赖内容和 subject route,而不是复制相同 的像素。
DINOv3 直接支持归一化坐标 box、box scaling 与 Gram anchoring;把它扩展成 reference 专属 affine jitter 是本报告的研究提案,不应归因给 DINOv3 原文。
禁止逐 patch 独立抖动:
因为它会破坏五官、部件和纹理之间的局部几何。
分层时间与 reference rephasing
朴素循环:
会让 与 完全同址。更合理的时间分解是:
局部位置 描述当前窗口内的运动,粗粒度 block / age address 区分不同 chunk:
更保守的实现只循环 reference phase,而不循环视频时间:
- 缓存未旋转的 reference key ;
- 每个新 chunk 将 reference 重映射到该 chunk 前的固定局部位置 ;
- 重新计算:
- reference value 保持不变;
- 视频历史继续使用有界 relative / age position。
这可以称为 cyclic reference rephasing。它让任意新 chunk 都能在熟悉的局部距离读取参考,同时保留 block identity,避免精确时间碰撞。
改进二:异构 Reference / Video 编码器与显式对齐
为什么不应只用同一个 VAE
视频 VAE 的首要目标是压缩可生成的视频 latent,强调重建、连续运动和 decoder 可逆性;reference encoder 的首要目标是跨姿态、尺度和遮挡稳定地识别主体与部件。这两个目标并不相同。
推荐分解为:
将两类特征投影到共同 subject / part slots 后:
语义 key 回答“当前视频 token 应读取参考的哪个主体或部件”;detail value 传递颜色、纹理、服装和局部结构。
已有直接证据:RefAlign
RefAlign 在 Wan2.1 中把前若干 DiT block 的 clean reference-token feature 投影到冻结视觉基础模型空间:同主体正对齐,异主体使用 margin 负对齐。其目标可概括为:
完整目标为:
RefAlign 在推理时移除 VFM 和投影 MLP,因此证明的是“外部 VFM 可作为 training-only representation teacher”。本报告提出的 persistent heterogeneous runtime 更进一步:推理时保留 DINO/VFM key 作为长期内容地址,因此成本更高,也需要单独实验验证。
Gram / slot 关系约束
DINOv3 的 Gram anchoring 对 patch feature 的两两关系进行约束:
应用到视频参考一致性时,不应直接比较参考图和新姿态帧的全部 patch Gram,因为视角、可见性和尺度已经变化。更合理的是先得到 个 subject / part slots,并进行可见性和软匹配:
其中 是 slot 软匹配矩阵, 是可见性 mask。这一目标允许姿态变化,但约束主体内部关系不任意漂移。它是由 DINOv3 机制迁移而来的提案,不是现有视频论文已验证结论。
训练目标
推荐联合目标:
其中:
align使 DiT/reference slot 进入 VFM 语义空间;neg-subject防止多主体表示塌缩;Gram保留部件关系;late-fidelity重点监督视频晚期和低分位数帧;anti-copy使用跨背景、跨姿态、空间 jitter 和 region masking,防止复制参考图。
改进三:Reference-aware decoder
独立瓶颈
latent diffusion 系统常在 DiT 中加入丰富参考条件,但 VAE decoder 仍只接收 denoised latent。即使 DiT latent 中残留身份信息,无条件 decoder 也可能在逐级上采样中丢失细节。
RefDecoder 直接验证了这一点:轻量图像编码器产生高维 reference token,在 video VAE decoder 的每个上采样阶段与 video token 联合 attention,再分别执行 reference spatial upsampling 与 video spatiotemporal upsampling。
其结构可概括为:
RefDecoder 在不同 decoder backbone 上报告重建和 I2V 改善,说明 decoder conditioning 与 DiT conditioning 是正交模块。
推荐的受控注入
为降低背景、姿态和光照复制,应把 reference injection 写成置信门控残差:
其中:
- 是主体/部件 mask 与对应置信度;
- 是视角与可见性估计;
- 高层 decoder stage 主要恢复结构;
- 后期高分辨率 stage 主要恢复纹理;
- 限制参考覆盖运动和姿态。
训练时可以使用 latent-token dropout,迫使 decoder 实际读取 reference,而不是把新增分支学成零贡献。
能力边界
reference-aware decoder 不能:
- 恢复 DiT latent 中已经完全消失的身份或几何;
- 从单张图推断未观察背面;
- 替代 long-term memory;
- 修复错误运动与布局;
- 自动避免背景和姿态泄漏。
因此它应位于完整系统的最后一层,而不是被当作参考一致性的唯一解法。
改进四:Reference 与历史分离的 memory 管理
不可变 anchor 与动态 view bank
将主体 memory 分为:
不可变 anchor:
永不更新、永不淘汰,并在每个 chunk 中重新 rephase。动态 view bank 只接收可信新视角:
这解决两个相反风险:只读 anchor 防止长期漂移,但无法吸收背面和新视角;动态 view bank 扩展身份覆盖,但可能被生成错误污染。
语义地址与高保真内容分离
借鉴 SlotMemory:subject slot 只负责地址,高频内容仍保存为少量高保真 KV:
新主体创建 slot,旧主体离场后 slot 继续保留;重新出现时由文本、DINO/VFM query 和当前视觉 query 联合检索。memory budget 满时,按主体重要性、覆盖视角、最近访问和信息冗余淘汰,而不是单纯按时间 FIFO。
Scene 与 motion 分层
场景状态和局部运动不应占用同一种 cache:
Scene memory 保存“发生了什么变化”,motion memory 保存“最近怎样运动”。二者分别使用 slow update 与 fast update。
训练必须覆盖 self-generated history
memory 架构不能只在 teacher-forced 真实历史上训练。推荐顺序:
causal teacher initialization
→ short self-rollout distribution matching
→ long rollout random-window correction
→ long-context teacher with the same memory interface
→ rolling joint denoising inference
如果训练预算不足,优先保证 short self-rollout 与 memory read/write 真实发生;否则训练时学到的 memory 选择策略会在推理时被生成噪声改变。
完整训练课程
阶段 A:基座与 decoder
- 选取稳定的 fixed-window video DiT 与 causal video VAE;
- 验证 VAE reconstruction、latent generative learnability 和不同长度解码;
- 冻结基座,训练 reference encoder projector 与零初始化 reference branch;
- 训练 reference-aware decoder,单独确认像素恢复收益。
阶段 B:固定窗口参考一致性
- 使用 cross-pair、跨背景和跨姿态数据,抑制 copy-paste;
- 加入 reference box jitter、subject routing 和 read-only mask;
- 联合优化 flow、正负对齐、晚期 fidelity 与运动自由度;
- 先在 5–10 秒 fixed clip 内验证 representation、address 和 decoder 三层。
阶段 C:因果化与长程适配
- 训练 multi-step causal teacher;
- 用 causal trajectories 初始化 few-step student;
- 进行短 self-rollout distribution matching;
- 延长 rollout,并从晚期随机采样教师窗口;
- 引入 ;
- 若预算允许,用共享 memory 接口的 long-context teacher 做 Context Forcing。
阶段 D:联合后训练
- 对 reference fidelity、motion、prompt following 和 naturalness 做多目标 preference optimization;
- 使用最差帧和低分位数指标,避免均值掩盖晚期崩坏;
- 对 cache 成本、NFE、首帧延迟和吞吐进行独立蒸馏;
- 最后调 serving-time image/text/history guidance,不把其收益混入参数训练结论。
最小消融矩阵
| 实验 | 新增模块 | 验证问题 |
|---|---|---|
| A0 | 基座原生 I2V | 固定窗口参考能力基线 |
| A1 | VFM semantic key + detail value | 异构编码是否优于同一 VAE reference latent |
| A2 | RefAlign 风格正负对齐 | 多主体可分性和跨姿态寻址是否改善 |
| A3 | 独立 reference address plane | reference/video role 是否更稳定 |
| A4 | A3 + shared box jitter | 是否减少同坐标 copy-paste 和姿态锁定 |
| A5 | reference-aware decoder | latent-to-pixel 的额外身份损失有多大 |
| A6 | immutable anchor + recent FIFO | 10s + 10s 续写是否减少漂移 |
| A7 | object slot + dynamic view bank | 离场重现和新视角身份是否改善 |
| A8 | Slow/Fast memory + Self/Context Forcing | 长 rollout 是否同时保持一致性和运动 |
| A9 | cyclic reference rephasing | 超出预训练位置范围后 reference 是否仍可稳定访问 |
评测协议
外部参考忠实度
- 每帧与 reference 的身份、服装、纹理和局部结构相似度;
- 低分位数、最差帧和随时间的 drift slope;
- 遮挡、背面、离场和镜头切换后的恢复;
- reference 对背景、姿态和其他主体的 leakage。
视频内部一致性
- subject / background consistency 曲线;
- chunk boundary 光流尖峰与结构跳变;
- scene reset、周期重复和 motion collapse;
- 初始、中期和晚期画质差异。
可生成性
- dynamic degree、motion smoothness、camera control;
- prompt change responsiveness;
- 身份保持与运动自由度的 Pareto,而不是单一 FaceSim。
Memory 压力测试
- 主体离场超过 active cache 后重新出现;
- 相机围绕主体一周并回到初始视角;
- 多个相似主体交替休眠和重现;
- 参考图背景与目标视频背景完全不同;
- memory budget 固定,持续增加主体和事件;
- 在历史中主动注入一个退化 chunk,测试错误是否被写入长期 memory。
系统成本
- reference encoder 和 decoder 的额外 FLOPs;
- KV / slot / view-bank 显存;
- reference rephasing 开销;
- first-frame latency、稳定 FPS 和不同 NFE 下的质量;
- algorithmic horizon 与 effective semantic horizon 分开报告。
证据边界与研究优先级
| 结论 | 当前证据 | 报告中的定位 |
|---|---|---|
| image-first、阶段式视频训练和 fixed-clip Flow 是四基座共同骨架 | 四份官方技术报告直接支持 | 已建立事实 |
| reference latent + semantic branch 比单一路径更能覆盖细节与语义 | Hunyuan/Wan/Open-Sora 条件结构支持,但缺统一消融 | 跨报告综合 |
| RoPE 变种多数是坐标策略,而非新旋转核 | 多篇机制公式共同支持 | 形式化归纳 |
| Self-rollout 缩小 exposure bias;rolling joint denoising降低局部提交误差 | Self/Rolling Forcing 直接支持 | 已有方法证据 |
| memory 结构和寻址比单纯 dense 容量更重要 | Context/Relax/SlotMemory 一致支持 | 中强证据 |
| 对象 slot 适合长期身份地址 | SlotMemory 近期单主干实验 | 有前景但需复现 |
| decoder conditioning 是独立有效模块 | RefDecoder 多 decoder backbone 实验 | 中强证据 |
| VFM 可用于 reference feature 的显式训练对齐 | RefAlign 直接支持 | 已有方法证据 |
| DINO key + detail value 在推理时长期并存 | 尚无统一端到端验证 | 研究提案 |
| reference address jitter + cyclic rephasing | 来自 DINOv3、RoPE 和长视频方法的组合推导 | 研究提案 |
| 五层 memory + heterogeneous encoder + RefDecoder 完整系统 | 尚无单篇工作统一验证 | 系统性假设 |
优先级建议如下:
- 先在固定窗口内验证异构 reference encoding、正负对齐和 reference-aware decoder,隔离表征与解码收益;
- 再验证 reference address plane 和 shared box jitter,确认它减少 copy-paste 而不伤害细节;
- 然后将 fixed-window 模型因果化,加入不可变 reference anchor 与 recent FIFO;
- 最后增加对象 slot、dynamic view bank、Slow/Fast memory 和 Context Forcing,进入分钟级长程实验。
这个顺序遵循 YAGNI 式研究拆解:先证明每个独立瓶颈确实存在,再组合高成本 long-horizon 系统。
结论
四个基座的共同进展,是把图像生成的 latent DiT 扩展为固定窗口视频 Flow 模型;它们已经较好解决“怎样在有限 clip 内联合生成全部帧”。下一阶段的核心不再只是增大 DiT,而是建立三个长期状态:
外部 reference 必须作为第四类、不可被生成历史覆盖的状态:
位置编码决定这些状态如何被寻址,memory 管理决定它们是否仍然存在,Forcing 决定模型能否在自己的历史分布上使用它们,reference-aware decoder 决定这些信息最终能否恢复到像素。完整问题因此不是“找到一种更好的 RoPE”或“把 KV cache 加长”,而是同时设计:
这条链条也是后续继续阅读 reference consistency、causal video DiT 与 long-video memory 论文时最稳定的比较框架。
主要来源
四个基座
- HunyuanVideo: A Systematic Framework For Large Video Generative Models
- Open-Sora: Democratizing Efficient Video Production for All
- Open-Sora 2.0: Training a Commercial-Level Video Generation Model in $200k
- Wan: Open and Advanced Large-Scale Video Generative Models
- Step-Video-T2V Technical Report
位置、参考与表征
- CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer
- Kaleido: Open-Sourced Multi-Subject Reference Video Generation Model
- ContextAnyone: Context-Aware Diffusion for Character-Consistent Text-to-Video Generation
- MV-S2V: Multi-View Subject-Consistent Video Generation
- Identity-Consistent Video Generation under Large Facial-Angle Variations
- Spatial-Temporal Decoupled Reference Conditioning for Identity-Preserving Text-to-Video Generation
- ARGUS: Stacked Multi-View Identity Mosaic Injection for Subject-Preserving Video Generation
- Infinity-RoPE: Action-Controllable Infinite Video Generation Emerges From Autoregressive Self-Rollout
- StoryMem: Multi-shot Long Video Storytelling with Memory
- ShotStream: Streaming Multi-Shot Video Generation for Interactive Storytelling
- Echo-Infinity: Learning Evolving Memory for Real-Time Infinite Video Generation
- DINOv3
- RefAlign: Representation Alignment for Reference-to-Video Generation
- RefDecoder: Enhancing Visual Generation with Conditional Video Decoding
长程生成与 memory
- Diffusion Forcing: Next-token Prediction Meets Full-Sequence Diffusion
- Self Forcing: Bridging the Train-Test Gap in Autoregressive Video Diffusion
- Rolling Forcing: Autoregressive Long Video Generation with Rolling Joint Denoising
- Self-Forcing++
- Causal Forcing
- Context Forcing: Consistent Autoregressive Video Generation with Long Context
- Relax Forcing
- SlotMemory: Object-Centric KV Memory for Streaming Long-Video Generation
- Memento: Reconstruct to Remember for Consistent Long Video Generation
主题: Video Diffusion, 生成模型, 参考一致性