SSM、Transformer 与 RNN 的统一视角

前面几篇里,我们分别拆解了 S4、Mamba 以及家族中的其他变体。本篇把视角拔高一层,把 RNN、Transformer 和 SSM 这三大门派放在同一张桌子上,先看它们共同的数学本质,再看具体的指标差异,最后给出实战选型建议。

一、统一视角:三者都在对历史做加权求和

如果剥开 RNN、Transformer 和 SSM 复杂的网络结构(FFN、LayerNorm、激活函数),只看它们最核心的序列混合(Sequence Mixing)机制,也就是“当前输出如何依赖过去的输入”,会发现一个统一的事实。

它们在数学本质上都是在对历史输入做加权求和。假设要计算第 $t$ 个时间步的输出 $y_t$,输入序列是 $x_1, x_2, \ldots, x_t$,三种模型都可以被抽象为同一个公式:

$$y_t = \sum_{k=1}^{t} \alpha_{t,k} \cdot x_k$$

这里的 $\alpha_{t,k}$ 是一个权重(可以是标量,也可以是矩阵),它决定了在计算当前输出 $y_t$ 时,历史第 $k$ 个输入 $x_k$ 到底有多重要。

三大模型的根本分歧因此收敛为一个问题:权重 $\alpha_{t,k}$ 是如何计算出来的?

二、三种计算 $\alpha_{t,k}$ 的思路

1. RNN(LSTM / GRU):黑盒的隐式压缩

RNN 没有显式计算 $\alpha_{t,k}$ 的公式。它把所有的历史信息一股脑塞进一个固定大小的隐藏状态 $h_t$ 中,通过复杂的非线性门控(遗忘门、输入门)进行压缩。

这个方式有两个特点。

隐式且不可控。 很难解释 RNN 为什么记住了第 3 个词而忘了第 5 个词,注意力分布没有显式表达,只能从状态里反推。

天然的衰减与遗忘。 隐藏状态容量有限,每次更新都有信息损耗,$\alpha_{t,k}$ 会随着时间差 $(t-k)$ 的增大而不可避免地趋向于 0。这就是梯度消失现象在权重视角下的对应表现。

2. Transformer(Self-Attention):显式的全局两两对比

Transformer 用一个显式且直接的公式来计算权重:

$$\alpha_{t,k} = \text{Softmax}\left(\frac{Q_t \cdot K_k}{\sqrt{d}}\right)$$

当前 token 生成一个 Query($Q_t$),去和所有历史 token 的 Key($K_k$)做点积,算出相似度,最后用 Softmax 归一化。

它有下面三个特点。

绝对的内容感知。 权重完全由 $Q$ 和 $K$ 的内容语义决定。只要语义匹配,哪怕是 10 万个 token 之前的词,权重也能接近 1。

没有先天的时间衰减。 在 Attention 眼里,第 1 个词和第 10000 个词是平起平坐的,位置信息靠位置编码后天注入。

代价是平方级复杂度。 每来一个新 token,都要和前面所有 token 算一次点积,复杂度为 $O(L^2)$。

3. SSM(以 Mamba 为例):带物理意义的结构化衰减

SSM 通过状态转移矩阵的连乘来决定权重:

$$\alpha_{t,k} = \mathbf{C}t \left( \prod{j=k+1}^{t} \bar{\mathbf{A}}_j \right) \bar{\mathbf{B}}_k$$

这个式子的直觉是这样的:$\bar{\mathbf{B}}_k$ 是第 $k$ 步的“写入”,$\bar{\mathbf{A}}_j$ 是中间每一步的“衰减与遗忘”,$\mathbf{C}_t$ 是第 $t$ 步的“读取”。历史信息被逐步写入、逐步衰减,最后被读取出来。

由此带来三个特点。

结构化衰减。 因为 $\bar{\mathbf{A}}$ 的特征值被设计为小于 1(代表衰减),连乘项 $\prod \bar{\mathbf{A}}_j$ 天然带有“时间越久,权重越小”的物理特性。这种衰减有明确的数学来源,比 RNN 的黑盒衰减更稳定、更可控。

内容感知。 在 Mamba 中,$\bar{\mathbf{A}}_j$、$\bar{\mathbf{B}}_k$、$\mathbf{C}_t$ 都是当前输入的函数。模型因此可以像 Attention 一样,根据内容动态决定哪些信息该重重衰减(忽略)、哪些该轻轻衰减(记住)。上一篇讨论过“既然与线性 Attention 数学等价,为什么 Mamba 实践中更好”,答案的关键也在这里。

效率高。 因为是递推形式,计算当前步只需要 $O(1)$ 的状态更新,不需要和所有历史逐一对比。

三、复杂度与显存的对比

假设序列长度为 $L$,模型隐藏维度为 $D$,SSM 的状态维度为 $N$。三大架构在关键指标上的差异如下。

训练计算复杂度: RNN(LSTM) 是 $O(L)$,但计算串行,实际极慢;Transformer(Attention) 是 $O(L^2 \cdot D)$,高度并行;SSM(Mamba) 是 $O(L \cdot D)$,同样高度并行(并行扫描只增加 $O(\log L)$ 的计算深度,总计算量仍与序列长度成正比)。

推理计算复杂度: RNN 每步 $O(1)$;Transformer 每步 $O(L \cdot D)$,需要遍历 KV Cache;SSM 每步 $O(1)$。

推理显存占用: RNN 是 $O(D)$,只存 $h_t$;Transformer 是 $O(L \cdot D)$,KV Cache 随长度膨胀;SSM 是 $O(N)$,极小,且 $N \ll D$。

长程记忆能力: RNN 极差,受梯度消失限制;Transformer 优秀,全局可见;SSM 优秀,依靠结构化衰减。

内容感知能力: RNN 较差,属于黑盒;Transformer 优秀,依靠 Softmax;SSM 优秀,依靠 Mamba 的选择性机制。

总结成一句话:Transformer 用平方级的空间和时间换取了完美的全局视野;RNN 用极小的空间换取了线性的速度,代价是长程记忆;Mamba 恰好卡在中间,用线性的空间和时间,实现了接近 Transformer 的内容感知和长程记忆。

四、归纳偏置:集合与序列

决定一个模型“天生适合干什么”的最深层原因,是它的归纳偏置(Inductive Bias)。

1. Transformer 的假设:文本是一个集合

如果去掉 Transformer 的位置编码,打乱输入句子的顺序,Self-Attention 算出来的结果完全一样。这在数学上称为排列不变性(Permutation Invariance),也说明 Transformer 处理的对象更像一个集合(Set)。

由此带来的优势是:它非常适合做全局信息检索和复杂逻辑推理(比如大海捞针、数学证明),因为能无视距离,直接把相关的线索“抓”到一起。

相应的劣势是:它天生不理解“时间”和“因果”,必须靠外挂的位置编码来注入顺序概念。

2. SSM / RNN 的假设:文本是一个时间序列

递推公式 $h_t = f(h_{t-1}, x_t)$ 天然包含了严格的因果性(当前只能看到过去)和时间衰减(过去的影响逐渐减弱),不需要任何位置编码。

由此带来的优势是:它天生适合处理具有强烈时间属性、流式到达、或者极长上下文的数据,例如音频波形、视频流、DNA 序列、百万字长篇小说。

相应的劣势是:衰减特性使它在“需要绝对精确地回忆某个遥远细节”的任务上天然吃亏。

五、实战选型指南

基于以上对比,可以在工程与研究中得到下面三组建议。

1. 什么时候用 Transformer

任务特征: 需要极强的逻辑推理、代码生成、精确的长程事实检索(例如 RAG 检索增强生成)。

场景特征: 上下文长度在 8K 到 32K 以内,算力与显存预算充足,追求极致的模型能力。

2. 什么时候用 SSM(如 Mamba)

任务特征: 超长上下文理解(100K 到 1M 以上)、流式数据处理(语音识别、实时翻译)、高频时间序列预测(股票、传感器数据)、生物序列分析(DNA、蛋白质)。

场景特征: 端侧部署(手机、PC,显存极其受限)、需要极高的推理吞吐量(流式生成)、训练数据的序列极长。

3. 什么时候用混合架构(如 Jamba)

任务特征: 既要超长上下文,又要复杂推理。

场景特征: 工业界的大规模基座模型训练。用 SSM 处理大部分常规的序列压缩,用少量 Attention 层处理需要精确检索的部分,再用 MoE 扩大模型容量。从目前的证据看,这是最务实、也最具性价比的路径。

六、小结

  • RNN、Transformer 和 SSM 的序列混合机制都可以写成 $y_t = \sum_{k=1}^{t} \alpha_{t,k} x_k$,三者的区别只在于 $\alpha_{t,k}$ 的计算方式:RNN 是隐式的黑盒压缩,Transformer 是显式的全局两两对比,SSM 是带物理意义的结构化衰减。
  • 训练复杂度上,RNN 是 $O(L)$ 但串行,Transformer 是 $O(L^2 \cdot D)$,SSM 是 $O(L \cdot D)$ 且高度并行;推理复杂度与显存上,SSM 与 RNN 都保持每步 $O(1)$,Transformer 则随序列长度线性增长。
  • 归纳偏置决定了各自的强项:Transformer 视文本为集合,擅长全局检索与逻辑推理;SSM 与 RNN 视文本为时间序列,擅长流式、超长、强时间属性的数据。
  • 选型原则是看任务对“精确检索”与“超长上下文”的需求权重,两者都强时用混合架构。