[控场AI]
· 5 分钟阅读· 2,953 字

Transformer、RNN、SSM:AI模型的记忆到底藏在哪里?

Transformer、RNN、SSM:AI模型的记忆到底藏在哪里?

以「记忆存在哪里」为视角,重新审视RNN、Transformer、SSM三类架构的本质设计取舍。

这篇文章来自Reddit机器学习社区的一场深度讨论,提出了一个不同寻常的架构分析框架:与其比较谁的基准测试更强,不如追问「历史信息被压缩进了什么样的载体」。RNN将记忆塞入固定大小的循环隐状态,但参数O(N²)与状态O(N)的比例失衡是根本瓶颈;Transformer用不断膨胀的KV缓存换取强大的长程检索,但权重冻结意味着经验永远无法沉淀为持久知识;以Mamba为代表的选择性SSM让记忆保留变成输入相关,仍未逃脱有限状态的信息天花板;而BDH等新架构尝试让工作记忆与神经元连接结构对齐,获得类赫布学习的突触解释。文章的落脚点并非宣判胜负,而是提出一条更有价值的分析主线:认清每种架构在「记忆」上付出的代价,才是理解下一代模型设计的真正钥匙。

在AI架构的讨论中,人们往往把Transformer、RNN和SSM(状态空间模型)当作一场性能竞赛来比较。但如果换一个视角——不去问哪个架构更强,而是追问「记忆究竟存在于模型的哪个部分」——很多看似复杂的设计差异会突然变得清晰起来。这正是Reddit机器学习社区近期一场深度讨论的核心命题。

reddit source: Transformers vs RNNs vs SSMs

从「工作记忆」的角度重新审视架构

当我们把这些架构放在「工作记忆」(working memory)的透镜下观察时,问题就从「谁更快更强」转变为「历史信息被压缩进了什么样的载体」。记忆可能是一个紧凑的循环状态,可能是一个不断增长的KV缓存,也可能是某种更接近网络本身结构的东西。

这个提问之所以有价值,是因为它触及了当前大模型的一个根本性限制:在推理阶段,模型权重是冻结的。无论上下文窗口多大,模型都是在「管理上下文」,而不是把当下的经验真正转化为持久的模型知识。记忆的位置,决定了模型能记住多久、记住多少、以及遗忘的方式。

RNN:优雅但受限的循环状态

RNN把记忆保存在一个循环隐藏状态里,状态随着时间步逐步向前传递。这种设计非常优雅——信息像接力棒一样一步步传下去。

但这里存在一个明显的瓶颈。原帖作者给出了一个关键的比例关系:一个模型可以拥有大约 O(N²) 量级的参数,却只携带约 O(N) 量级的跨时间状态。换句话说,模型的「容量」和它能跨时间保留的「记忆」之间存在严重的不匹配。

这就引出了一个有趣的反思:RNN真的是因为「循环」这个想法本身有缺陷才被淘汰的吗?还是说,真正的问题出在记忆与计算之间的比例失衡?如果是后者,那么循环机制本身或许并没有被判死刑。

这里的「梯度消失」问题同样是RNN受限的重要原因。当误差信号需要沿时间步反向传播时,梯度会以指数级衰减(或爆炸),导致模型难以学到跨越长距离的依赖关系。LSTM和GRU通过引入门控机制(gate)缓解了这一问题——遗忘门、输入门和输出门可以学会「什么时候该清空、什么时候该写入」,本质上是让模型自己决定状态更新的节奏。但门控并未从根本上解决O(N²)参数与O(N)状态之间的比例失衡:隐藏状态的维度终究是固定的,大量信息在反复压缩中不可避免地丢失。这也是为什么循环架构在超长序列上的表现始终不如Transformer,问题的症结或许不在「循环」这个想法本身,而在于状态容量的硬性天花板。

Transformer:把过去钉成「便利贴」

Transformer做出了几乎相反的取舍。在带缓存的推理过程中,它不把过去压缩成单个隐藏状态,而是把过去的表示存成一条条键值(key-value)条目,再通过注意力机制回看。

原帖作者打了一个贴切的比方:这些KV条目就像一张张便利贴,每个token都留下一个用于检索的「键」和一个记录内容的「值」。这种机制极其强大,但也带来一个耐人寻味的特性——由于推理时权重冻结,模型实际上是在管理上下文,而非把经验沉淀为持久的模型知识。于是形成了一种割裂:一边是固定的权重,另一边是快速变化的KV缓存记忆。

这也是为什么KV缓存会随序列长度不断膨胀。它换来了强大的长程检索能力,代价是记忆无法被「消化」为模型的一部分。

SSM与Mamba:有选择地记住与遗忘

状态空间模型(SSM)把方向重新拉回到固定大小的循环记忆,但使用了截然不同的状态结构和更新规则。以Mamba为代表的选择性SSM让「保留什么」变成输入相关的——哪些信息被记住、哪些被遗忘,取决于当前进来的token。

它们的状态不必像经典RNN那样小,但本质上仍然是把历史压缩进有限的记忆之中。这带来了一个更深层的问题:状态一定要存在于一个被压缩的「工作维度」里吗?还是说,它可以存在于更接近模型内部神经元或连接结构的地方?

状态空间模型的数学根源来自控制理论中的线性时不变系统:用一组矩阵(A、B、C)描述输入如何更新隐状态、隐状态如何映射到输出。早期的SSM如S4通过对矩阵A施加特殊结构(HiPPO初始化)来高效捕获长程依赖,同时保持线性递推的推理效率。Mamba在此基础上引入了「选择性」机制:矩阵B、C以及离散化步长Δ都变成了依赖于输入的函数,而非固定参数。这使模型能够根据当前token的内容动态决定「这条信息值得记住多久」,而不是对所有信息一视同仁地衰减。这种设计在语言建模任务上显著缩小了与Transformer的差距,同时推理时的内存占用保持恒定——不会随序列长度线性增长,这对部署长上下文应用具有实际意义。

BDH:让记忆住进「突触」里

原帖特别提到了一个引发其思考的例子——BDH(Dragon Hatchling)。它把高维神经元空间中的线性注意力,与一个低秩的GPU实现结合起来。

它的循环注意力状态是一个 N × D 的矩阵(其中 N 远大于 D),而不是一个实际展开的 N × N 连接矩阵。在图(graph)的解释框架下,相关联的神经元活动会对连接产生类似「赫布学习」(Hebbian)的更新,使工作记忆获得了一种突触层面的解释。

在这种结构里,工作记忆与学习到的连接方式在形式上更加贴近。不过作者也清醒地指出:这并不意味着经验被真正固化进了训练好的权重,固定大小的状态终究还是有有限的信息容量。

赫布学习(Hebbian learning)来自神经科学家Donald Hebb在1949年提出的假设:「一起激发的神经元,会连接在一起」(neurons that fire together, wire together)。其核心思想是突触强度的变化与两端神经元的协同激活正相关,这被视为生物神经网络中联想记忆与长时程增强(LTP)的基础机制。在BDH的架构中,线性注意力的状态更新在形式上与赫布规则高度相似:外积 v⊗k 对状态矩阵的累加,等价于「值神经元」与「键神经元」同时激活时对连接权重的增强。这种类比使工作记忆获得了神经科学层面的直觉解释,但两者也有本质区别:BDH的状态在序列推理结束后并不会持久化到模型参数中,而生物突触的长时程变化是真正意义上的学习与记忆存储。

真正的问题也许不是「谁取代谁」

讨论的落脚点很克制:作者并不认为这能「干掉」Transformer,也不认为它解决了持续学习(continual learning)的难题。他更感兴趣的是一个方法论层面的转变——「记忆住在哪里」是不是一个比传统的「架构赛马」更好的问题?

这里留下了一个开放的争论:SSM以及这些更以网络为中心的架构,究竟是给了我们一种更好的记忆处理方式,还是说我们仍然在撞上同一堵墙——必须把历史压缩进一个有限的状态?

无论答案如何,这个视角都提供了一条有价值的分析主线。与其纠结哪个架构赢了基准测试,不如看清每种设计在「记忆」这件事上究竟付出了什么代价:是容量与计算的失衡,是不断膨胀的缓存,还是有限状态的信息天花板。认清记忆的归属,或许才是理解下一代架构的真正钥匙。

#Transformer#RNN#SSM状态空间模型#Mamba#KV缓存#工作记忆#BDH#模型架构对比
分享:

相关推荐