MemTensor开源 Metis:把记忆写进模型内部,128K长文本端到端加速1.6倍
一句话讲清楚MemTensor 联合多所高校开源 Metis 让模型在前向计算中把历史压进固定大小的内部状态自动完成记住、更新、遗忘和调用在 128K 历史长度下它比每次重读完整上下文快约 1.6 倍。论文标题Metis: Memory Foundation Model论文链接https://arxiv.org/abs/2607.26760Github 链接https://github.com/MemTensor/Metis模型链接https://huggingface.co/collections/IAAR-Shanghai/metis一个长期运行的 AI 助手要记住用户偏好、项目进度和已经纠正过的事实。常见做法是把历史存进外部数据库查询时检索相关片段再塞回 prompt 。这个流程容易检查和修改也已经被大量产品采用。代价随历史增长逐渐显现。检索、重排、摘要和拼接是彼此独立的外部环节通常无法与语言模型一起端到端训练。模型每次回答还要重新读取取回的文字长会话中读取输入所需的时间和会话存储随之增加。Metis 探索的是另一条路线把在线交互产生的信息压进模型内部让记忆直接参与每一层计算。论文把这一类模型称为“记忆基础模型” Metis 是首个原型。外部记忆与原生记忆的差异。上排需要独立的检索、存储和适配流程下排把记忆状态、读写操作放进模型计算。记忆从一段文字变成持续变化的模型状态论文对“原生记忆”给了两个条件。一是模型内部存在一个跨多轮交互持续保留、不断变化的记忆状态。它只保存交互开始后获得的信息预训练阶段学到的内容仍被视为知识。二是模型能够在前向计算中执行记忆操作。一句“张三搬到了上海”意味着旧地址需要更新一句“请忘掉之前的饮食偏好”要求删除特定信息一个需要组合多条历史事实的问题还要求模型调用并整合记忆。论文在形式化定义中把第 轮参与计算的全部状态记作 但这不意味着模型权重会在使用中持续训练。预训练得到的固定权重始终冻结真正随会话变化的是内部记忆状态 。模型完成当前轮回答后再根据输入和输出把它变成 。写入信息时系统还不知道未来会怎样提问只能提前判断哪些内容值得保留、应该以什么形式保留。 RAG 用人工设计的切分、检索和重排规则作出这类判断 Metis 尝试通过训练让模型自己完成。Metis Block 怎样读写记忆Metis 基于 Qwen3.5 构建在 Transformer 层中加入 Metis Block 。每个 Block 有两部分每层的记忆状态论文称 Local Memory Block 保存当前会话的信息记忆更新模块 Hyper Memory Block 负责把本轮信息转换成下一轮状态。Metis 总体结构。右下角紫色部分是测试时变化的局部记忆蓝色部分是训练后冻结的超记忆参数。写入先挑重要位置再更新固定大小矩阵记忆更新模块先给当前序列每个位置的内部向量打分然后选出总重要度达到阈值 所需的最少位置。它保留的信息量会随内容变化而非机械截取固定数量的 token 。被选中的表示经过独立的键、值投影写入一个稠密记忆矩阵是第 层在第 轮之前的记忆 控制旧状态保留多少 是本轮被选中的位置数。右侧新项把这些位置压成键和值的关联矩阵。直观上这个更新在固定大小的“纸面”上不断叠加新记录。键表示以后可以用什么线索找到信息值表示线索对应的内容。它不会保存原句也不会让矩阵随会话变长。好处是状态大小恒定代价是多轮信息会混在同一个数值矩阵里早期内容可能被逐步削弱。论文最终使用带门控的更新方式让模型自己决定保留多少旧信息、写入多少新信息。消融实验表明简单线性更新在短期记忆操作上并不差但在较长的 LoCoMo 会话任务上明显落后。读取每层多走一条记忆注意力分支模型回答新问题时原有注意力处理当前输入另一条记忆注意力分支读取 是专门寻找历史信息的查询向量 用于给每个查询校准读出强度避免某些向量只因数值较大就压过其他记忆。假设之前写入“张三住在上海”现在询问“张三住在哪里”这条分支会学习让当前问题与“张三—居住地”的记忆线索具有较高相关度再从矩阵中读出对应内容。论文没有直接复用普通注意力的查询变换因为“当前句子里的词彼此怎样关联”与“当前问题应该从历史中找什么”是两个任务。单独学习一套变换可以减少无关轮次对读取结果的干扰。普通注意力与记忆注意力可以并行计算得到结果后再融合。当前轮只读取旧状态新状态用于下一轮所以写入也不必阻塞当前答案。这套结构省下了随历史增长的读取与存储却把可直接检查的文字变成难以审计的数值状态。后面的实验需要同时回答两个问题速度是否值得信息损失是否可控。训练重点不是背答案而是学会管理状态结构只提供一块可以变化的内部状态。模型是否知道该记什么、忘什么仍取决于训练数据和目标。研究团队从 27 个公开基准构造了 357,137 条主训练样本约 4.061 亿 token 覆盖四种操作■记住给出事实间隔若干轮后询问■更新先给旧事实再给新事实答案必须使用新值■遗忘撤销一条事实后续不得继续暴露■反思保存多条事实再组合它们完成推理。每种操作又分为明确指令、自然叙述和插入无关对话三种形式。这样可以避免模型只认“请记住”之类表面关键词也检验无关内容会不会覆盖已有状态。另有 609,443 条辅助样本处理两类更实际的问题。多事实样本要求模型把相似属性绑定到正确对象并做到只忘掉被撤销的一项普通对话样本则约束模型已有记忆不应污染与它无关的回答。训练时一条样本会按时间顺序送入多轮信息和操作模型每轮先更新状态只在后面的查询轮计算答案损失。需要逐字重建的样本教模型从记忆中还原信息更新、遗忘等样本要求查询答案符合操作后的最新状态多实体和普通对话样本则要求模型别把不同对象的事实弄混也别让无关记忆进入当前回答。这一阶段冻结 Qwen3.5 骨干只优化新增的记忆参数。模型上线后不做梯度下降写入只需要正常推理。不带原始上下文 Metis 还能记住多少主实验把模型放在三种条件下比较每次提供完整历史、只检索部分历史以及查询时完全不提供历史。最后一种条件最能检验答案是否真的来自内部状态。MemOps 专门检查记住、更新、遗忘和反思是否执行正确 LoCoMo 检查长对话中的单跳、多跳和时间关系问答 NextMem 汇集四类数据检查模型能否用先前给出的信息生成正确答案。论文用 gpt-4.1-mini 将回答与参考答案比较重复三次后取中位数下表分数按 0 100 报告越高越好。自动裁判仍会带入模型偏好团队自建测试集上的高分也不能直接外推到真实长期会话因此外部基准与容量实验更值得一起看。记忆操作主结果。重点看 No Context 区域查询时没有原始历史 Metis 只能依靠内部记忆状态。在团队构造的测试集上普通 Qwen3.5 在无上下文时平均只有 16.87 18.64 分。 Metis-4B 、 9B 和 27B 分别达到 56.72 、 57.92 和 73.77 。 27B 模型的遗忘得分达到 77.50 表示后续回答更常表现得像已经遗忘它不能证明数值状态中的旧信息已不可恢复地消失。外部 MemOps 基准更难。 Metis-27B 平均 24.76 仍低于完整上下文 Qwen3.5-27B 的 87.90 。这个结果说明模型内部确实存进了可调用的信息但离无损替代原始历史还有很大距离。问答实验呈现相同趋势。 LoCoMo 中普通 Qwen3.5 在无上下文时平均接近零 Metis-27B 达到 26.74 NextMem 平均分则从普通 Qwen3.5-27B 的 17.75 提升到 50.82 。完整上下文 Qwen3.5-27B 仍有 78.80 说明原文可见时依然更可靠。定性案例里 Metis 能在无关对话之后回忆饮食偏好也能在保存年龄、食物和居住地后回答正确属性。遗忘案例更值得留意内部状态最终删除了旧偏好但模型收到遗忘指令时的即时回复仍重复了旧事实。状态更新正确不代表当轮语言行为也完全正确。四类交互案例。右上角遗忘案例中模型最终答对但执行遗忘指令当轮仍复述了被要求删除的信息。固定大小带来效率也带来容量上限Metis 的记忆状态不会随历史长度增长。论文在一张 A800 GPU 上把历史从 512 token 增加到 128K 并统计完整处理历史和回答问题的总时间。不同历史长度下的端到端延迟。 Metis 与完整上下文的交叉点出现在 64K 历史继续增长后差距扩大。这里的端到端时间包括处理整段历史、写入或检索、再生成答案不只是最后一次回答的耗时。测试使用单张 A800 GPU 、批量大小为 1 。 32K 以内 Metis 略慢于完整上下文因为它需要编码历史并写入状态。到 64K Metis 开始领先。 128K 时生成 32 token 的耗时从完整上下文的 14.254 秒降到 9.521 秒快 1.497 倍生成 128 token 时从 21.404 秒降到 13.423 秒快 1.595 倍。这个数字只适用于论文的硬件、模型和生成长度设置。Metis 要到 64K 才更快与骨干结构有关。 Qwen3.5-4B 的 32 层中有 24 层已经用固定大小的状态处理历史只有 8 层的注意力缓存会继续随文本变长。历史较短时 Metis 新增的写入成本抵消了收益文本足够长后减少这 8 层的历史缓存读取才占上风。会话存储的差别更直接。论文统计的是服务为了恢复每个会话而必须单独保留的运行状态不包含所有会话共享的模型权重。 32K 历史下完整上下文需要保留注意力缓存等状态共占 1,118.86 MB Metis 完整记忆状态恒定为 16.79 MB 相差约 67 倍。每个会话的持久化存储。完整上下文缓存随历史增长 Metis 状态保持恒定。记忆矩阵还可以做低秩分解。完整维度为 1024 时把秩保留到 64 四项基准的平均分达到 33.10 完整状态为 33.14 恢复率 99.9%每个会话只需 2.11 MB 是完整 Metis 状态的八分之一。低秩记忆状态的平均结果。秩从 16 增加到 64 后基本追平完整状态继续增加收益很小。固定大小并不意味着容量无限。研究团队让模型记住虚构用户的 40 个属性分别增加单次写入长度和连续更新次数。左图增加单次写入字数右图增加连续更新组数。 Metis 对早期事实的准确率持续下降完整上下文基线则保持稳定。当一次写入超过数百词开头、中间和结尾事实的准确率都明显下降。连续更新时最早事实几乎一路衰减近期事实也有波动。这表明问题不只是“旧记忆被新记忆覆盖”每次压缩产生的误差还会在状态变换中累积。记忆激活后会干扰模型原有能力论文还检查了一个容易被效率数字掩盖的问题新增记忆分支会不会改变骨干模型本来的行为。记忆为空时 Metis-4B 与 Qwen3.5-4B 差距很小。写入一段与任务无关的信息后四项通用能力全部下降基准原骨干Metis差值MMLU-Pro46.0040.90-5.10IFEval76.7154.53-22.18GSM8K84.5378.92-5.61MMMLU59.9056.60-3.30IFEval 的下降最大说明无关记忆会影响严格的指令遵循。内部状态参与每层计算省去了检索与长上下文重放也失去了外部记忆“没有取回就不进入模型”的隔离性。现阶段两种记忆方式更适合互补。外部文字易于审计、删除和精确引用完整上下文在关键事实任务上仍有明显优势原生状态体积固定、读取快适合承载经常使用、无需逐字保存的交互信息。对医疗、金融或权限状态等要求可验证的事实单独依赖难以直接查看和核验的数值状态风险很高。Metis 证明了模型可以在冻结权重、无梯度更新的条件下通过正常前向计算维护可用的内部记忆。它也用容量衰减和能力干扰说明记忆进入模型内部后存储效率、可控性与准确性必须一起评估。短期内更可行的方向是让原生状态承担快速工作记忆让可审计的外部存储保留长期事实与证据。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】