LayerRecall让AI视频模型记住长历史,修复DiT层记忆丢失
LayerRecall让模型不仅会从历史中找回相关记忆,还知道应该把记忆送进哪些视频DiT层。这意味着「哪一层需要长时记忆」与具体骨干有关,不能把同一组层位置当成所有视频模型的通用答案。图4|LayerRecall同时解决「检索哪段历史」与「在哪些层使用」。
视频生成模型会”选择性遗忘”了
视频生成模型最怕的就是“忘事”, 角色换服饰的方式、空间环境变来变去, 新研究不依靠堆叠记忆算力容量解决这类问题, 而是让该模型学会一种只记忆关键信息的智能式调度, 把需要记忆的内容, 精准留存于模型系统本该留存对应数据的位置。
记忆不是越多越好
大大多人的第一反应就是, 模型它忘事的话于是就扩大它的缓存, 让它每一层都能读得到早期画面内容, 团队那边发现这么做反而会把整件事情搞砸呀。
把每一层都塞进所有历史键值对, 远期线索肯定会打乱当前运动的连续稳定性。对照实验明确显示, 全量读取历史内容的模型极易出现画面的突兀变化和时间上的不规则抖动。
找到对的层才对
逐层分析后的团队发现, 不同DiT层承载的任务并不一样。部分层更依赖当下乃至近期的画面, 负责维持住姿态、运动还有局部细节的连贯性。
这意味着需要长时记忆的那一层, 跟具体骨干架构有关, 不能把同一组层位置当成所有视频模型的通用答案, 每个模型都得重新探测。
用路由器动态检索
在当前这一画面到来之后, 这个路由器会把隐藏状态读取, 形成会随着生成内容发生变化的查询, 再从历史的那些候选里头找出最相关的片段送进去。
核心细节实际上是: 摘要只承担检索打分的功能, 真正参与到注意力计算中去的终究还是被选中区块的完整键值对, 用小型索引来查找资料, 可是不仅仅给到生成模型一份内容摘要。
三层分工各司其职
负责远期身份和属性的层能拿到旧线索, 负责当前动作的层则绝不会被迫反复回忆过去, 动态变化的是历史检索。使用哪些层——实际为骨干特定策略, 其是预先分析并固定的骨干特定策略, 这一点是清楚的。
当前什么状态控制取, 在什幺用则来自有关详细具体骨干的层的啥子策略? 两幺者配合, 既保留那些了关于记忆的那种连续性, 又不干啥预当下的那些生成里某个节奏?
无监督训练的新思路
训练记忆路由器最大的难题就是欠缺足量标注数据, 实际中也无人能逐帧标注准现时该找回的对应历史段落, 高质量长视频样本的供给本就非常稀缺。
团队用冻结视频骨干构建看得更远的教师与记忆受限的学生。单次注意力可见预算仅仅32帧, 仅依靠局部上下文来补充回关键信息。通过比较两者去噪预测的差距, 让路由器自行找到合适的记忆筛选。
开源开放但门槛还在
此次项目公开的, 不只是一个轻量路由权重, 还涵盖完整训练脚本、评测代码与多机配置。能让人直接拿来套用, 但需自行购置或者配备所需的基础模型权重。
用在其他骨干上的, 是迁移测试显示的训练好的路由参数;不过说它们目前还不能对所有视频生成模型做到即插即用, 实际还需更多时间去验证的是效果。
你觉着视频生成模型最需要牢牢记住的是什么? 人物的外貌形象、所处环境的空间排布, 还是各个步骤衔接的流畅性? 期待你在评论区说说你的体会。