浙大港大开源LayerRecall:0.033%参数量优化长视频记忆

长视频生成正在从单镜头片段向连贯叙事发展,但真正的考验往往发生在角色离开镜头之后。当主角离场再返回时,很多自回归视频模型可能已经替换了他的外貌、服装,甚至遗忘了原本应该出现的场景物体——这是因为这类模型通常用Key-Value缓存保存上下文,为了控制计算量,缓存会优先保留最近的片段,早期的身份、属性和场景线索很容易被挤出。
针对这个问题,浙江大学相关团队与香港大学联合提出并开源了LayerRecall:一款仅需训练约165万参数的轻量记忆路由模块,参数量仅为5B骨干模型的0.033%,且生成骨干模型全程保持冻结状态。与传统直接把整段历史输入模型的方案不同,LayerRecall同时解决两个核心问题:当前生成阶段需要召回哪些历史记忆?这些记忆应该被注入到模型的哪些网络层中?
研究团队设计了100组未参与训练的三镜头Prompt,专门测试模型对主体、颜色、位置和场景四类长时记忆的还原能力,每个类别包含25个测试案例,并与13个长视频生成或记忆增强基线方案进行了对比。在MemoBench评测中,LayerRecall的Overall得分达到0.548,高于最佳基线MemFlow的0.531;在MovieBench评测中,Overall得分达到0.578,超过最佳基线Rolling Forcing的0.548。同时,LayerRecall的VBench-Long平均分为0.978,与LongLive-2.0骨干模型的表现持平,说明长程记忆能力的提升并没有牺牲基础的视频生成质量。
当然,额外的记忆路由模块并非完全没有开销。在H100显卡的配置下,端到端生成时间从305.9秒增加到309.4秒,仅增加约3.5秒;解码帧吞吐率从5.22 FPS略微下降到5.16 FPS。总体而言,LayerRecall的核心设计思路不是让模型回看更多历史,而是让它更有选择地调用记忆。
很多人会认为,既然模型会遗忘历史,那就扩大缓存容量或者让每一层都读取远期历史,但实际测试发现,视频DiT模型的不同网络层对上下文的使用方式存在显著差异:有些层更关注当前和近期的画面,另一些层则会对远期历史投入更多注意力。这种层间差异为保留局部连续性、按层引入远期线索提供了依据。
类似的层间差异在LongLive和Self-Forcing等骨干模型中也存在,但注意力峰值的位置并不完全相同,这说明“哪些层需要长时记忆”需要针对具体的骨干模型进行调整,不能用一套固定的层配置适配所有视频生成模型。更关键的是,如果将历史K/V缓存注入所有网络层,远期线索反而可能打乱当前的运动逻辑,团队的All-Layer Routing对照实验就证明了这一点:模型虽然能看到更多历史,但更容易出现画面突变和时间抖动。
LayerRecall将长视频记忆的优化拆分为两个关键路线:
第一,确定需要召回的历史内容:系统会为历史片段生成紧凑的摘要,当当前画面生成时,路由器会读取当前的隐藏状态,生成随生成内容动态变化的查询向量,再从历史候选片段中找出最相关的记录。需要注意的是,这些摘要仅用于检索打分,真正送入注意力计算的仍是被选中片段的完整K/V缓存,并不会用摘要代替原始的历史内容。
第二,确定记忆注入的网络层:被选中的记忆会被注入到预先选定的记忆敏感层中,这些层可以同时看到保留的起始片段、检索到的历史内容和当前生成的片段;而其他网络层则继续使用原来的局部滑动窗口上下文。这样一来,远期的身份、属性等关键线索会被送到最需要它们的网络层,其余层则保持对局部运动的维护。需要澄清的是,LayerRecall并不是每一步都动态选择网络层,当前生成状态动态控制的是“需要召回什么历史”,而“记忆注入哪些层”则是针对具体骨干模型预先分析确定的固定策略。
训练记忆路由器面临一个核心难题:高质量的长视频训练样本本身稀缺,且缺少逐帧标注“此刻应该召回哪段历史”的监督信号。为此,团队提出了Cross-Horizon Prediction Matching(CHPM)训练方法,使用同一个冻结的视频骨干模型构建了“老师”和“学生”两个模型:老师模型可以看到最多384个潜在帧的长历史,而学生模型的单次注意力只能看到32个潜在帧,只能依靠局部上下文和LayerRecall来补全关键信息。
CHPM并不要求学生模型复制老师模型的注意力分布,也不需要知道老师模型具体使用了哪段历史,仅需要比较两者在相同噪声、文本条件和扩散时间步下的去噪预测结果,让路由器自主找到能够缩小预测差距的记忆选择策略。在使用10个记忆层的配置下,随机初始化的路由器MemoBench Overall得分从0.519提升到0.548,整个训练过程仅优化约165万参数,5B生成骨干、文本编码器和VAE均保持冻结状态。
项目中展示了一个典型的案例:角色在第一幕穿着蓝色内搭,离场后重新出现时,内搭一度变成了错误的浅色花纹,但随着当前镜头的内容逐渐清晰,服装的颜色和纹理又恢复成历史中的外观,而动作、角色身份和整体场景没有发生整体重置。团队解释,这是因为当前生成状态越来越明确后,查询向量更容易对齐到正确的历史记录,记忆敏感层据此修复局部的属性错误,其余层则继续维护正在发生的运动。
需要注意的是,LayerRecall并不会显式检测生成过程中的错误位置,目前展示的案例只是与机制一致的行为表现,尚未完成因果验证的纠错模块。另外,选择性注入记忆可以有效降低画面的高频抖动:相较所有层统一读取历史的方案,LayerRecall将2-12Hz高频帧变化功率比从0.60降到了0.38,同时提升了相邻帧的CLIP和DINO一致性。
团队还测试了LayerRecall的跨骨干迁移能力:将训练好的路由参数直接迁移到LongLive和Self-Forcing骨干模型,不需要重新优化路由器,仅改用目标骨干自己的记忆层策略。迁移后,LongLive的MemoBench Overall得分从0.4985提升到0.5430,Self-Forcing的得分从0.3270提升到0.4965,证明了LayerRecall在这两个测试骨干上的迁移能力,但目前还不能外推为可以即插即用在任意视频生成模型上。
本次开源的是叠加在Wan2.2-TI2V-5B与LongLive-2.0之上的轻量记忆路由模块,配套发布了权重文件layer_recall_chpm_v3_step200.pt,该模块仅用于增强现有骨干的记忆使用能力,而非替代完整的视频生成模型。该模块共有1,648,416个可训练参数,约1.65M,占5B骨干模型的0.033%,CHPM训练仅更新这部分参数,不修改生成骨干的任何参数。
GitHub仓库不仅提供了推理脚本,还公开了CHPM训练代码、hard/soft选择策略、SP/DP与多机配置、流式Ulysses处理、精确断点恢复审计、CPU/分布式/CUDA测试代码,以及100组三镜头评测Prompt。需要说明的是,用户仍需自行准备Wan2.2-TI2V-5B和LongLive-2.0的基础权重;默认的约64秒、24FPS的视频配置需要两张GPU,分别运行DiT和流式VAE;公开的仅为评测Prompt库,而非完整的CHPM训练数据;项目主页提供了视频展示,并已加入Hugging Face交互演示入口,本地复现仍需准备对应的模型资产。
LayerRecall为长视频生成带来的核心启发,并不是简单地增加记忆容量,而是对有限的记忆资源进行更聪明的调度:让合适的内容,在合适的时刻,交给合适的网络层。当视频模型开始生成越来越长、越来越复杂的叙事内容时,决定角色能否始终保持一致性的,不仅是画面的生成质量,还有模型能否正确地回忆起历史中的关键信息。

