记忆一直是挂在外面的
过去两年,想让大模型记住东西,工程上基本只有三条路:把历史塞进上下文窗口靠 KV Cache 硬扛;把知识微调进权重,改一次要重训整个模型;或者外挂向量库,每次靠检索把内容找回来。三条路各有各的账:上下文越长越贵,权重改动越大越慢,检索则受限于召回质量。
记忆张量 10 月 20 日发布并开源的 MemT-1.0 走的是第四条路:把记忆变成模型前向传播的一部分。团队在选定的 Transformer 模块里插入原生记忆模块,让原有注意力与记忆注意力并行运行,历史信息被编码成可持续更新、可长期存在的内部状态,而不是每轮重新拼进提示词。
这句话的分量在于位置变了。记忆从提示词和数据层挪到了计算层,读写发生在每个 token 的生成过程中。
三条架构改动
第一是写入方式。MemT-1.0 用基于 Gated DeltaNet-2 的逐 token 稳定更新机制,在每轮交互结束后通过擦除、写入、遗忘三个动作,把新信息并进已有记忆。关键在于训练信号的回传路径:来自回答预测的误差梯度会沿记忆读出反向传播,再沿更早的存储操作更新回去。用团队的说法,这相当于让一次考试的错题反过来决定平时该记什么笔记。
第二是容量。Mixture-of-Storage 把记忆模块拆成多个记忆专家并采用稠密路由,为后续扩容留出结构上的接口。第三是训练流程,分持续预训练与后训练两阶段,先让模型学会读写记忆,再让它学会基于记忆完成任务。
两个版本的具体规模:MemT-1.0-Flash 288B 总参数、17B 激活、336M 动态记忆;MemT-1.0-Nano 36B 总参数、3B 激活、10M 动态记忆。团队称这是目前规模最大的开源参数化记忆模型。
实测数字
在 11 项记忆基准上,Flash 平均 50.6 分、Nano 47.0 分,在本次评估的参数化记忆方法里排第一和第二。编程智能体的数据更有说服力:由执行框架在关键断点触发经验写入时,Nano 在 SWE-bench Verified 的 500 项任务上平均成功率从 66.07% 提升到 69.73%,三次执行全部成功的比例从 54.00% 升到 62.80%。后者意味着稳定性改善,不只是单次运气变好。
长历史场景是成本账的关键。128K 历史下,Nano 端到端推理速度约为完整上下文方案的 1.86 倍;256K 下扩到 3.99 倍。相同历史长度里,每条轨迹的持久记忆状态占用约为完整上下文 KV Cache 的六十六分之一。对于长期会话,这意味着状态预算更容易估算,多个查询还能复用已构建的状态分摊准备开销。
记忆原生和外部记忆不是非此即彼。需要精确原文、来源或版本号的查询,外部记录仍然不可替代;需要跨任务复用经验的执行场景,才轮到原生机制发挥作用。
权重已在 Hugging Face、ModelScope 与 GitHub 开放,技术报告同步公布。团队说下一步是提升长期记忆、扩大容量、降低更新成本,并探索模型自主获取经验、跨任务持续整合。这条路通向的是递归自我改进的前置条件:有效进步能被留下,并在新任务里反复被验证。
需要泼一盆冷水的是,团队自己也没主张记忆原生在任务质量上必然优于外部记忆。它给出的是在近似质量前提下更低的返工与更少的重复交代,这部分收益对企业运维是实打实的,但不该被读成一次能力跃迁。