一句话定义
SSM(状态空间模型)用固定大小的隐状态递推处理序列:h_t = A h_{t-1} + B x_t,y_t = C h_t。Mamba 是其中一种让 A/B/C 随输入变化的选择性实现。
为什么需要它
Attention 要计算 N×N 的 token 对,长序列下是 O(n²)。SSM 每步只更新固定状态,复杂度 O(n),推理时也不必保存不断增长的 KV Cache。
怎么工作
- 输入 x_t 通过 B 写入状态,上一时刻状态 h_{t-1} 通过 A 衰减/混合。
- 两者相加得到新状态 h_t,再通过 C 读出 y_t。
- 训练时可以把递推展开成并行 scan,不必逐步串行。
- Mamba 让 A/B/C 依赖当前输入(选择性),并配合卷积、门控和硬件优化。
SSM 的 A 常做结构化初始化(如对角/低秩),让长程衰减稳定;Mamba 用硬件感知 scan 提升吞吐。混合模型常见 Mamba + 少量注意力层。
关键取舍
- 长序列线性复杂度、推理状态固定,适合流式和超长输入。
- 固定状态容量有限,精确检索、长程回忆可能不如注意力。
- 生态和算子成熟度不如 Transformer;常见做法是 SSM + Attention 混合。
- 混合模型里,SSM 层常与少量注意力层交替。
常见误区
- SSM 不是“普通 RNN”:训练可并行、状态有结构化参数。
- Mamba 不是“全面替代 Transformer”:不同任务和规模要评测。
- 线性复杂度不等于所有场景都更快;短序列和硬件适配会影响收益。
用在哪里
- 超长序列、音频、基因组、传感器流等连续信号。
- 边缘设备、流式推理、需要常数状态的任务。
- 作为混合架构的一部分,与注意力互补。
相关概念
- Attention:SSM 主要对标的机制。
- 线性注意力与 RWKV:另一条线性时间路线。
- 上下文窗口:长序列需求推动的优化目标。