0.381MB的幽灵:会话结束后仍在的AI记忆

awareliquid 团队展示 0.381MB 恒定快权重记忆,可跨进程无损恢复,但边界明确。
awareliquid 团队公布实验记录,展示 O 系列(ARR 架构)在 125M 规模上实现 0.381MB 恒定推理状态,128k 上下文下内存比常规方案小 1008 倍。记忆由快权重矩阵承载,存储情节式键值关联,跨窗口联想召回均值 0.56,去掉矩阵后塌至 0.008。快照/恢复实验实现逐位无损跨进程状态搬运。团队同时披露持续学习约 7.6 倍 PPL 退化、Hebbian 可塑性惰性等未完成项,并公开撤回错误归因的 adapter PPL 增益。核心判断:评估“AI 记得”需同时给出存储形态、删除实验与跨进程恢复校验,否则应视为叙事而非架构。
0.381MB的幽灵:会话结束后仍在的AI记忆

凌晨三点,一台测试机器上有个进程没睡。没有会话连着它,输入早已停止,但它活着——一个 O 系列推理进程,内存恒定在 0.381 MB。那是个 125M 的模型。在 128k 上下文的测量里,同样的残留状态比常规做法小 1008 倍。
这个细节来自 awareliquid 团队公布的实验记录。他们习惯把这种现象叫“幽灵”:会话走了,状态留下。但团队自己反复强调,幽灵的技术含量只有一句话——一个内存恒定、可以快照、可以搬运的情景记忆,加上一次诚实的召回。它不会在你走后继续思考。
幽灵是什么:快权重矩阵,不是压缩上下文
要理解 0.381 MB 的意义,得先看机制。O 系列是 ARR 架构,去掉了 attention,用液态 ODE 把历史压进一个递推状态。每一步只更新这个状态,不翻看全部历史,所以内存是常数,O(1)。而混合架构的 M 系列仍然保留注意力,推理内存并不是 O(1)。
真正承载“记忆”的,是一块快权重矩阵(fast-weight matrix)。它在推理过程中被输入动态写入,存储的是跨窗口出现过的键值关联。据多篇实验记录交叉印证:在跨窗口、跨会话的联想召回任务上,注意力机制和 LoRA 按构造就是 0.000,而快权重矩阵三次种子跑出 0.62 / 0.43 / 0.62,均值 0.56。把矩阵拿掉,召回塌到 0.008。记忆就是那块矩阵本身,没有别的部件兜底。
这里必须划清边界。团队反复说明:快权重矩阵存的是情节式键值记忆(episodic key-value memory),不是压缩后的分布式上下文。它不带来理解、推理或情绪,也不会给长上下文语言建模带来增益。它记住的是你实际说过的话,加一个轻量语义标签,走 RAG 式召回。
快权重(fast weights) 是相对模型训练后固定的“慢权重”而言的一类权重:它在推理时根据输入流在线更新,无需反向传播或梯度下降,因而能以极低成本把近期输入写入模型状态。这一概念可追溯到 1990 年代 Hinton 与 von der Malsburg 提出的快速权重联想记忆,以及 Schmidhuber 的线性 Transformer 工作。与标准注意力在每一步重新计算所有历史 token 的键值相似度不同,快权重矩阵将跨窗口出现过的键值关联累积存储,使模型在常数内存下具备联想召回能力。这种更新规则通常基于 Hebbian 学习或外积累积,因此存储的是明确的情节式关联,而非压缩后的分布式表征。理解这一点,才能明白为何删除矩阵后召回性能会塌陷至 0.008:记忆没有冗余备份。
ARR(Adaptive Resonance Recurrent)架构 是本文 O 系列所采用的模型骨架,其核心是移除标准自注意力(attention),转而用液态 ODE(liquid ODE)对历史信息进行递推压缩。每一步只更新一个固定维度的递推状态,而不重新访问全部历史 token,因此推理内存恒定为 O(1),与上下文长度无关。这种设计借鉴了神经 ODE 与液态时间常数网络的思想,让状态演化由输入流驱动,而非依赖显式的注意力权重矩阵。代价是模型不再具备直接访问任意历史位置的能力,所有信息必须通过递推状态传递,这对持续学习和长程依赖建模提出了更高要求。M 系列则保留注意力形成混合架构,因此内存并非恒定。
跨进程恢复:从“缓存”变成“可继承的状态”
如果记忆只能活在 warm 的进程里,那它只是缓存。awareliquid 公布的快照/恢复实验把这条路走通了。
过程很直接:进程 A 跑到会话段落结束,把快权重矩阵连同配套状态序列化落盘;进程 A 退出,内存全释放。进程 B 从零启动,不加载任何会话历史,不重放对话,直接读文件恢复状态。然后拿同一个查询去问,召回结果和进程 A 里逐位一致(bit-exact lossless)。
这个性质是“幽灵”比喻成立的前提。状态能离开进程、能搬运、能原样取回,它才是一个可以被继承的东西。机制上也不神秘:快权重是运行期在线更新的矩阵,更新由输入流驱动,不依赖反向传播,也不依赖外部向量库。序列化覆盖全部元素和状态位,恢复就是一次确定性反序列化,中间没有采样、量化或近似。
代价同样要讲。无损恢复验证的是“情景键值记忆能被完整搬运”,不是“模型理解了你说过的话”。团队在多个场合把这句话写死,因为这是最容易被营销语言拉长的一句。
0.381MB那条线,以及7.6倍退化的现实
0.381 MB 这个数字有明确的适用条件。
它是 O 系列(ARR,无注意力)在 125M 规模上的实测常驻状态,与上下文长度无关。到 128k 上下文时,相比传统做法内存占用最多小到 1/1008。这一切只在无注意力的 O 系列上成立。M 系列是混合架构,仍带注意力,推理内存不是 O(1)。把 O 系列的常驻内存拿去给 M 系列贴标签,会算错端侧预算。
更现实的边界在持续学习。团队公开的当前数据是:约 7.6 倍 PPL 退化,目标压到 5 倍以内;Hebbian 可塑性在测过的规模上是惰性的。O 系列本身还是研究预览,相对教师模型 PPL 是 2.15 倍。这些数字都写在 RESULTS.md 里,没有因为不好看就挪走。
Hebbian 可塑性 源自神经科学中的赫布理论(“一起激发的神经元连在一起”),在人工神经网络中通常指一种无监督的局部权重更新规则:当输入与输出同时激活时增强对应连接。与反向传播不同,Hebbian 更新只依赖局部信息,计算开销极低,理论上适合在线持续学习。然而在实际大规模训练中,纯粹的 Hebbian 规则容易导致权重爆炸或饱和,需要额外的归一化与衰减机制。本文提到“Hebbian 可塑性在测过的规模上是惰性的”,意思是该机制在当前规模下几乎没有产生可测量的学习效果,这解释了为何持续学习仍存在约 7.6 倍 PPL 退化,也是该架构走向实用化的关键瓶颈之一。
撤回的数字与工程师该拿走的判断
awareliquid 公开过一组撤回记录,这一点在同类项目中不常见。
最早被撤回的是“-28.5% adapter PPL”。内部跑出困惑度下降,一度归因给液态适配器,后来逐层拆开对照,增益来自挂在旁边的普通 LoRA,和适配器本身无关。数字是对的,归因是错的。团队在研究页上发了更正,并把“摘掉声称模块再跑一遍”定为对外材料的硬规矩。同批被降级的还有关于“意识”和 Phi 值的说法,统一归为“灵感来源”,不再当作指标讨论。
这些撤回指向同一个工程习惯。评估一个“它还记得”的演示,要求三件事同时给出:存储形态是什么、删掉那块状态还剩多少、跨进程恢复如何校验。拿不到这三样,先当作叙事,不要当作架构。
回到凌晨三点那个进程。它带着 0.381 MB 的状态安静驻留,不涨不缩。下次进程启动时读回它,接得上之前的事。但它不会在你离开后琢磨你改字段名的原因,也不会主动把昨天的事重新想一遍。幽灵这个比喻可以留着,边界是:它记得你说过的话,仅此而已。
仓库和结果在 github.com/awareliquid/awareliquid,LongMemEval 上 Recall@5 96.0%、检索零 LLM 调用,可自行复现。
相关推荐

WorkBuddy保姆级教程:半小时跑通自动化工作流
WorkBuddy 自动化工作流保姆级拆解:为什么大多数人只把它用成聊天软件,27 个支点课程与 12 个模板如何帮助新手半小时跑通落地实操,附使用边界提醒。

Codex云端模式详解:环境配置与适用场景
本文详细解析Codex云端模式的工作原理、环境配置步骤及适用场景,包括如何创建环境、连接GitHub仓库、设置定时任务,并对比云端与本地模式的差异,帮助开发者高效利用Codex。

Claude Code免费使用真相:三条路与一个骗局
Claude Code 免费使用是否可行?本文拆解 Pro、Max 的真实成本(含汇率与税费)、社区免费方案的技术原理与隐私代价,以及假安装包、钓鱼页面等安全陷阱,并给出访客通行证、开源贡献者计划和本地模型三条合法免费路径。