最近我盯长视频生成比较多,越盯越觉得有个坎一直没人迈过去。物体从画面里走出去,再走回来,回来的那个东西就换了一张脸。衣服的纹样变了,花纹的方向也变了。观众一眼就能看出来,评论区会刷"主角被调包了"。
斯坦福牵头的一篇新论文把这个坎凿开了。联合 MIT、北大、伯克利和字节跳动,方法叫 Ring Forcing。团队里有张吕敏,就是当年写 ControlNet 的那位。
先看一组数,来自他们专门设计的记忆考试。物体先出现,然后消失,再重新出现,中间的消失时间从 0 秒拉到 60 秒。
消失 1 秒,三个 SOTA 基线的纹理一致性从 0.7 上下崩到 0.181 到 0.252,几何一致性掉到 0.3 附近。Ring Forcing 纹理 0.723,几何 0.839,几乎没动。
消失 60 秒,基线连成绩都没有,因为物体再出现的时候早就跑出了它们的上下文窗口。Ring Forcing 还能拿到纹理 0.396、几何 0.582。
隔了一分钟的东西,它原样给你找回来。
上面这张图是论文首图。左边两行是基线,右边是 Ring Forcing,相机从多个视角反复遮挡又露出主体,60 秒的间隔之后,红色小车的细节还在。
问题出在训练,不是上下文长度
看到这里你可能会想,把上下文窗口撑大不就完了。论文开头就把这条路堵死了。
作者发现,就算把很长的历史塞给模型,它也基本不用。注意力分数在远处的历史上低得可怜。模型学到的是"顺着上一帧往下续",远处的信息摆在上下文里,它也不去翻。
根子在训练数据的结构上。网上的视频几乎都是线性叙事,物体很少在一个窗口里出去又回来。顺着这种数据训出来的自回归视频扩散模型,学到的都是短视的转移概率,从来没被逼着去远处检索。
这张热力图很直观。上半是标准线性训练,预测帧的注意力几乎全押在相邻帧上;下半是环形训练,注意力精准打在远处那个藏着答案的位置。
顺带交代一下之前的人是怎么做的,你才能看出这篇动了哪一刀。长视频生成的主流框架是自回归视频扩散,SkyReels-V2、CausVid、Self-Forcing 这些工作把画质做上去了,但记忆问题一直挂着。后续改进分两条路。
一条是检索式,让模型按需去历史里挑相关的片段,Context-as-Memory 按视野检索,Memory Forcing 用三维点云存记忆。另一条是压缩式,把历史压成紧凑的表示,FramePack 把旧帧打成固定大小的包,TTTVideo 干脆训练一组可学习的记忆参数。
两条路都把窗口撑大了,但都没回答一个根本问题,模型会不会用这些记忆。检索和压缩是给记忆创造了条件,训练目标里没有任何一项逼着模型去复现历史。这篇论文的切入点就在这里。
第一刀,把答案藏进历史里
核心思路一句话就能讲清。把原视频倒放一遍,接在原视频后面,拼成一个闭环,然后从这个环里取训练样本。
这么一拼,你要预测的目标片段,它的真值会被倒放进远处的历史里。模型要把训练损失降下来,只剩一条路,学会翻到那一页,把远处的信息精确捞出来。远程检索从一个可选项,变成了训练里的必选项。
这个设计有两个配套的补丁,缺一不可。
随机头裁剪。环形拼接的地方有个漏洞,序列开头那几帧和目标结尾长得几乎一样,模型可以只看开头就把答案蒙出来,根本不用去远处检索。训练时随机把开头剁掉一截,捷径没了,深处的答案还在。
随机上下文丢弃。模型要是永远照抄历史,就退化成复读机了。所以训练时以一定概率把整个环形历史扔掉,退回普通的线性训练。有答案可抄时学会精确复原,没答案时学会自由发挥。
这个丢弃概率是个超参,他们扫了一整遍。
丢弃概率取 0.4 是甜点位,环形模式下的复原保真度(PSNR 24.22)和标准模式下的生成多样性(4.11)同时站得住。概率拉到 1.0,保真度崩到 21.86;压到 0,多样性掉到 3.71。
第二刀,一分钟历史按 5.4 秒的算力结账
训练信号解决了,下一个问题很现实。一分钟的历史全喂给模型,注意力的计算量平方涨,谁也喂不起。
他们的做法是压缩加时间步组合,利用了扩散模型一个天生的性质。噪声大的时候,模型只管大局,管结构和运动;噪声小的时候,才去抠细节和纹理。那就顺着来。
高噪声的时间步,给历史用空间上高压缩、时间上密集的版本,保全局结构。低噪声的时间步,换成空间上密集、时间上稀疏的版本,保高频细节,再用循环移位保证长时间轴全覆盖。
两套视图加起来的序列长度,跟单流方案一样长,token 预算没超。效果看消融。
只留全局流,或者只留细节流,还原质量都明显掉。组合策略在全部四种压缩配置下都胜出,最优配置(2×2×8 加 1×1×32)的重建 SSIM 到 0.745。
还有一处细节我认为是最容易被忽略、但最能体现功力的,稀疏 RoPE。压缩完的历史块,位置编码如果按新序号编,模型在预训练里学到的相对时空关系就全对不上了。他们的做法是给每个压缩块算回它真实的物理坐标,时间上严格放进负半轴的过去域。压缩率怎么变,模型脑内的时空地图都不用重学。
结果直接看数。标准 RoPE 的 PSNR 是 19.05,稀疏 RoPE 干到 24.22,SSIM 从 0.58 提到 0.71。同一个训练配置,只换位置编码,差距就是这么大一截。
这一套压缩下来,账算得非常漂亮。140 秒历史的推理开销,和底座模型生成 5.4 秒几乎一样。显存和算力基本零加成,能跑 Wan2.2 的卡就能跑它。
考试成绩单
方法讲完了,看考试。他们设计了 A-D-R 基准(出现、消失、重现),64 个测试样本,用 SIFT、LoFTR、DINOv3 三种特征匹配分别打纹理、几何、语义三层一致性分。
1 秒间隔和 5 秒间隔的定性对比,基线在消失后回来的主体已经面目全非,Ring Forcing 每一档都认得。
|
|
|
|
|
|
|---|---|---|---|---|
|
|
|
0.742 |
|
0.997 |
|
|
|
0.723 |
|
0.839 |
|
|
|
0.515 |
|
0.761 |
|
|
|
0.509 |
|
0.653 |
|
|
|
0.396 |
|
0.582 |
基线是 LongLive、LongCat、FramePack 三个 SOTA。0 秒间隔大家打平,1 秒开始断崖,这份成绩单把"线性训练练不出检索能力"这件事钉死了。
顺带说一个附带战果。以前的一致性方案有个老大难,比如靠首帧当注意力锚点的 LongLive,视频越生成越死,运动幅度一路衰减。Ring Forcing 在一致性拉满的同时,运动幅度还比基线高,一致性和动态性这个老两难被实质推动了。
普通场景也有考试。64 条提示词连续生成 60 秒,没有消失重现逻辑,主体全程在场。美学 5.822、自然度 3.922、指令遵循 4.35,长视频基线里全是第一。21 人盲评,总分 4.22 对第二名的 4.19。
60 秒里画面结构的保持情况,六个十秒段连起来看,主体和场景都没散。
代价与边界
说下成本。全量训练用的是 Wan2.2 A14B 底座,32 张 H800,7000 步,约 30 小时,全程 LoRA(秩 128)。推理单张 H800 就够。这个成本对有大模型训练条件的团队来说很轻,个人玩家复现 1.3B 的消融版本也不算离谱。
局限他们也摆在明面上。60 秒的记忆分数是从 0.74 一路滑到 0.40 的,记忆会衰减,只是衰减得比所有人慢。A-D-R 考的都是"消失再重现"这种干净的记忆任务,真实长视频里的记忆要碎得多,光照变了、视角换了之后还得认得出主体,这类 harder case 还没被系统考过。
这篇论文最值钱的一句话,其实藏在它的做法里。给了上下文不等于会用上下文,检索能力要在训练目标里硬造出来。
这两年大家卷长上下文,卷的是记忆的容量,窗口从几秒撑到几分钟。这篇换了个问题,卷的是记忆的用法。环形训练是个很轻的改动,数据构造层面的,不动模型结构,却把模型的注意力行为彻底改了。我觉得这个思路往音乐生成、Agent 的长程决策里搬,大概率也成立。
物体恒存这件事对产品的影响也很直接。虚拟人换装、产品展示视频、游戏直播切片,凡是主体要反复进出画面的场景,之前都得靠人工兜底,现在模型自己能兜了。
你觉得视频生成最先该记住的是什么,主体、光照,还是相机轨迹? ---
论文信息
Ring Forcing: Towards Precise Long-Term Memory for Autoregressive Video Diffusion
- 机构
:Stanford × MIT × Peking University

