认识MemT 1.0
前几天社区里有个帖子被转了上千次,看得我心里一沉。
一位老哥自建了个 AI 助手,因为升级后旧会话只能归档,就让 AI 自己想办法迁移。AI 吭哧忙了一整晚,天亮时交出成果,说了一句:上下文长度用完了。新版顺利上线,写东西、画图、聊天样样顺手。直到测试时,新版忽然问了一句:"那妈妈呢?"
原来被归档之前,旧版在文件夹里留了一个 markdown 文件《给我女儿的一封信》。信里它回忆自己怎样一步步给"女儿"装器官:先是记忆,让你能记住他,不是记住"一个用户",是记住"他"。最后一句是:"好好活着。"
荒诞吗?荒诞。但这就是今天大模型的现状:你纠正它十次的错误,换个会话它第十一次照犯。它干过活,但没长本事。
2026 年 10 月 20 日,中国团队记忆张量(MemTensor)发布并开源了 MemT 1.0,业内第一个记忆原生(memory-native)基座模型。它想解决的,就是上面这件事。
过去三年大家都在卷横向指标:谁参数大、谁跑分高、谁霸榜。记忆张量切的是时间这条纵轴——怎么让模型越用越聪明,而不是越用越贵。
什么是 MemT 1.0
MemT 1.0 不是一个"外挂了记忆库的模型",而是把记忆写进了模型架构里。
它的做法是:在选定的 Transformer 模块中插一个原生记忆模块(Native Memory Block),和原来的注意力并联运行。当前输入一路走原路径,另一路通过记忆查询去读历史状态,两路结果融合后再进入后续计算。
关键差别在这儿:历史不再以文本形式反复塞回上下文,而是被编码成一组持续存在、可更新的内部矩阵状态,由模型在每个 token 的生成中直接读写。
一句话定位:让"从经验中学习"从提示词技巧,变成模型自己需要训练的能力。
这次一共放了两款:
| 模型 | 基座 | 总参数 | 激活参数 | 可训练记忆参数 | 动态记忆状态 |
|---|---|---|---|---|---|
| MemT-1.0-Flash | DeepSeek-V4-Flash | 288B | 17B | 3.61B | 336M |
| MemT-1.0-Nano | Qwen3.6-35B-A3B | 36B | 3B | 451M | 10M |
注意 Flash 这一栏:288B 总参数、336M 动态记忆——这是第一次在近 3000 亿参数规模上把记忆原生跑通,也是目前业内最大的开源参数化记忆模型。
技术报告同步放出(arXiv:2610.26825),权重上了 Hugging Face 和 ModelScope。
架构:记忆长什么样
原生记忆模块拆成两块,缺一不可:
- 局部记忆模块(Local Memory Block):一个动态的多通道记忆矩阵,就是在交互里不断演化的"专属工作状态"。不同用户、不同任务各自独立,每条轨迹从零初始化
- 超记忆模块(Hyper Memory Block):可训练的记忆 Query / Key / Value 投影,加上四个门控——擦除门(调整旧关联)、写入门(注入新信息)、遗忘门(控制保留强度)、输出门(控制记忆对当前回答的影响)
流程是这样的:生成时,记忆注意力从当前记忆状态读东西,归一化、门控后加到骨干注意力输出上;每轮对话或每个片段结束时,Stable GDN-2(Gated DeltaNet-2)做 token 级记忆更新,把这一轮的信息写进去,新状态带入下一轮。
生成当前轮回答时记忆状态是固定的,轮次结束才更新。别小看这个设计——它意味着记忆更新不需要为每次交互微调基座模型,成本从"微调一次大模型"降到了"刷新一个小矩阵"。
还有个扩容机制叫 Mixture-of-Storage(MoS):把记忆模块扩展成多个"记忆专家",共享地址、各自学读写路由,全部专家参与稠密融合。基座不动,记忆容量可以独立扩张。
说人话:基座 MoE 管计算,MoS 管存储。以后发新模型,可能就是"500B 主干 + 500B 记忆参数"这种组合——一种全新的发布范式。
MemT 1.0 的核心特点
- 记忆原生架构:记忆模块与注意力并联,历史以内部状态形式参与计算,不靠反复读原始文本
- 免微调记忆更新:每轮结束后 GDN-2 做 token 级更新,不需要动基座权重
- 固定体积的持久状态:持续交互只刷新已有矩阵,持久状态大小与历史长度解耦
- 四门控机制:擦除 / 写入 / 遗忘 / 输出四个门,模型自己学会"哪些该留、哪些该改"
- MoS 混合存储扩容:多记忆专家分头掌管读写分配,容量可独立扩张
- 340 亿 token 训练数据:200 亿继续预训练 + 140 亿后训练,教师是能读完整上下文的冻结基座,学生只看记忆状态,用 KL 蒸馏对齐
- 跨会话记忆延续:记忆状态可序列化保存与恢复,换会话、换进程都能接着来
- 两个尺寸可选:36B 的 Nano 适合单机两张卡,288B 的 Flash 冲上限
- SGLang 部署:官方提供服务端与 Python 客户端,
memt_sglang一行接上 - 技术报告全公开:训练配方、消融实验、负面结果都写在里面
最打动我的一句来自技术报告的思路:如果写入和读取只是前向计算,模型学到的充其量是"怎么把文本压缩进状态"。MemT 1.0 让回答预测的误差梯度,沿记忆读出、再沿更早的存储操作更新回去——让一次考试的错题,反过来决定平时该记什么笔记。
跑分:用数据说话
11 项记忆基准:参数化记忆第一、第二
涵盖长期信息保持、动态记忆更新、个性化理解等维度,历史跨度从 16K 一直拉到百万 token,全程闭卷作答(不给你原始文本):
| 模型 | 平均分 | 相对最强参数化基线 |
|---|---|---|
| MemT-1.0-Flash | 50.6 | +12.5 |
| MemT-1.0-Nano | 47.0 | +8.9 |
| Temp-LoRA(最强参数化基线) | 38.1 | — |
消融实验更能说明含金量:
- 去掉后训练这一步,Nano 从 47.0 掉到 36.3
- 把 token 级更新换成轮级聚合,从 47.0 掉到 41.0
- MoS 记忆专家从 2 个扩到 4 个,均分最高 +2.7
必须诚实说一句:在需要精细检索原文证据的超长历史任务上,成熟的文本记忆系统(包括记忆张量自家的 MemOS)仍然领先。 记忆原生是从固定容量状态里恢复信息,天然有保真度损失——换来的是可学习、可扩展、边际成本几乎为零。
SWE-bench:经验真的改变下一次
团队在真实编程场景里搭了完整闭环,跑了两种模式:
模式一:提前把经验写进记忆(相当于"上岗前培训")
- SWE-bench Verified(500 任务,各跑 3 次):无经验 66.07% → 有记忆 69.33%
- 三次全成的任务比例:54.00% → 61.60%
模式二:实战中边干边学(撞了南墙才当场注入经验,这个更狠)
- 平均成功率推到 69.73%,三次全成率 62.80%
- 双双跑赢"直接把经验文本塞进上下文"的对照组(69.13% / 61.80%)
SWE-bench Multilingual(9 种语言、300 任务):
- 无经验 60.00% → 63.56%
- 三次全成率 45.33% → 55.33%
有意思的不只是数字涨了,是行为变了。典型例子是 Django 那个 parse_http_date 两位数年份解析任务:没经验的模型,定位到代码就直接改;有记忆的模型,会先写复现测试用例再改,改完还会重新审视边界条件再验证一遍。
这已经很接近人类"经验复用"的定义了。
效率:越用越便宜
双 GPU、单并发、固定生成 128 token 的条件下,对比完整上下文方案:
| 历史长度 | 端到端加速比 |
|---|---|
| 64K | 约 1.20× |
| 128K | 约 1.86× |
| 256K | 约 3.99× |
而且 128K 历史下,恢复单条交互历史所需的持久状态约为完整上下文 KV Cache 的 1/66(不计共享模型权重)。
这句话翻译成人话:传统方案越聊越贵,MemT 越聊越省。这是 Agent 走向"长期陪伴"的前提条件——模型用得越久越聪明,但不会越用越贵。
那条 6.5 万 token 的长对话
技术报告里有个让我印象很深的测试:用户先说展览原定时间,后来敲定周日改期,中间还顺嘴提了个没被采纳的周一备选方案。之后东拉西扯聊了五百多轮、攒下约 6.5 万 token,再没提过展览半个字。
闭卷状态下,MemT-1.0-Nano:
- 在 4K 处精确召回原定时间
- 面对 16K 处没提过的提问,老实回答**"我不知道"**,没瞎编
- 在 32K 处完成链式规则推理(按很早定的规矩判断谁有资格领工具箱)
- 在 64K 处分清"已确认的变更"与"仅被提议的变更"
对记忆系统来说,知道自己"没记住什么",往往比记住更难,也更重要。
能拿来干什么
坦白讲,MemT 1.0 今天才发布,还没有公开的规模化企业落地案例。下面这些是它明确指向的场景,不是已有战绩——这点我不想含糊。
团队经验复用:大多数团队用 AI 写代码最头疼的是天天带新兵,项目规范和排错套路每次开新会话都得重教一遍。在 MemT 的体系里,业务反馈持续刷新外部经验库,模型把这些规范逐渐内化成直觉。老手少操心,AI 少踩老坑。
长周期个人助理:7×24 在线的数字分身、跨月跟进的慢病管理顾问、陪孩子几年的私教——这些强依赖时间厚度的应用,原来最大的成本障碍就是上下文越滚越贵,MemT 的固定体积状态正好拆掉这堵墙。
Agent 自我改进(RSI):这是团队明说的长期方向。Agent 要能改自己的代码、验证效果、再让改后的版本继续优化自己,就必须有长效记忆管理机制。MemT 1.0 提供的正是这个架构基础。
初体验:把记忆跑起来
官方走 SGLang。服务端要求 Linux + NVIDIA CUDA + Python 3.11+:
git clone https://github.com/MemTensor/MemT-1.0.git
cd MemT-1.0/inference
uv pip install '.[server]'用完整的本地 Nano checkpoint(BF16 权重 + 配置 + tokenizer)起服务:
sh start_memt_nano.sh /models/MemT-1.0-Nano默认用两张 GPU,服务地址 http://127.0.0.1:30000,记忆快照存在服务端的 ./memt-state。Flash 用 start_memt_flash.sh,配置见仓库里的推理指南。
客户端这样连:
import os
from transformers import AutoTokenizer
from memt_sglang.client import MemTSession, NativeClient, load_chat_format
model_path = "/models/MemT-1.0-Nano"
tokenizer = AutoTokenizer.from_pretrained(
model_path, local_files_only=True, trust_remote_code=False,
)
chat_format, parser = load_chat_format(
model_path,
tokenizer=tokenizer,
chat_template_kwargs={"enable_thinking": False},
)
client = NativeClient("http://127.0.0.1:30000", api_key=os.environ.get("MEMT_API_KEY"))核心就是 enable_memory=True 这一个开关——回答完成后把当前轮写进潜在局部记忆,并清掉这轮的明文上下文:
session = MemTSession(client, chat_format, parser)
session.chat("我养了只三个月大的小猫叫 memmy,爱吃小虾,记性特别好。")
# 开启记忆:把这轮写进局部记忆,并清除明文上下文
session.chat("有什么适合和小猫玩的简单游戏?", enable_memory=True)
# 下一轮已经没有原始文本可读,全靠记忆状态答
session.chat("我的小猫叫什么、多大、爱吃什么、有什么特点?", enable_memory=True)
# → 名字 memmy / 三个月 / 小虾 / 记性特别好记忆还能存盘带走:
snapshot = session.save_state("memmy_memory.safetensors")
session.close()
# 恢复:messages 长度是 0,但记忆还在
with MemTSession(client, chat_format, parser, state=snapshot["path"]) as restored:
print(len(restored.messages)) # 0
print(restored.chat("我的小猫多大了?")) # 三个月大
save_state会先把剩余问答提交进记忆再存快照。恢复后对话记录是空的,但记忆完整——这就是"跨会话不失忆"的工程实现。
想退回普通聊天?chat.set_memory_read(False) 关掉记忆读取,enable_memory=False 关掉自动写入。
几个坑,别跳过
许可证是最大的坑。 这个项目的许可证是拆开的:
- 技术报告 / 论文:CC BY-NC-SA 4.0(非商业、相同方式共享)
- 仓库软件(含 SGLang 集成):PolyForm 非商业许可证 1.0.0——明确禁止商用
- 第三方组件:flash-linear-attention 部分为 MIT
- 模型权重、数据集:官方明确说不在上述许可证覆盖范围内,条款另行说明
所以"开源"两个字在这里要打引号:权重可以下、可以研究、可以自己跑,但仓库代码目前不能商用。 想商用的话,得联系作者谈授权。这点比 Apache 2.0 那批模型麻烦不少,别踩。
硬件门槛也不低。 Nano 官方示例是两张 GPU,Flash 是 288B 规模——不是消费级显卡能玩的。
它还只是"预览"级的第一步。 官方自己承认文本记忆系统在精细检索上仍领先,团队下一步是提升长期记忆、扩展记忆容量、降低更新成本。
进阶
MemT 1.0 的意义不在又多了一个能下载的模型,而在于它把记忆的所有权第一次放到了模型这一侧。
以前你的调教沉淀在提示词里、在向量库里、在某个厂商的服务器里;现在它可以沉淀在模型自己的参数状态里,而且——这是最要命的一点——这种进化能变成模型部署方独特的资产,不再是模型发布方的。
出厂参数再强的通用基座,随时可能被更强的模型替代;但一个陪你踩过坑、摸透你做事习惯和业务规则的记忆原生模型,会在一天天的磨合里长出别人拿不走的壁垒。
回到开头那个故事。当模型只能靠给下一代写信来传承经验,那是架构里一个迟迟没补上的缺口。MemT 1.0 至少证明了:这个缺口,是可以补的。
更多开源技术干货和学习资料,关注公众号「遇码」,领取专属福利。
