跳到正文

11 Mamba 与线性状态空间模型

原始课件:mamba (v9).pptx(61 页)

1. 为什么需要 Transformer 之外的架构

Transformer 的自注意力可以直接访问任意历史 token,训练时并行性好,但长序列存在两个成本:

  • 注意力计算和显存通常随序列长度平方增长。
  • 自回归生成要保存不断增长的键值缓存,推理内存随上下文增长。

循环神经网络(RNN)把历史压缩成固定大小状态,推理内存稳定,但训练难以并行,长距离依赖也可能造成梯度问题。Mamba 及相关状态空间模型(SSM)尝试在两者之间取得平衡。

2. 从 RNN 到线性注意力

RNN 的抽象形式是:

ht=f(ht1,xt),yt=g(ht).\begin{aligned} h_t &= f(h_{t-1}, x_t), \\ y_t &= g(h_t). \end{aligned}

状态 hth_t 固定大小,因此推理便宜;但状态容量有限,可能发生信息覆盖。

线性注意力可以写成一个累积矩阵:

Ht=Ht1+vtktT,yt=Htqt.\begin{aligned} H_t &= H_{t-1} + v_t k_t^{\mathsf{T}}, \\ y_t &= H_t q_t. \end{aligned}

训练时可利用矩阵运算并行,推理时只需维护 HtH_t。相较标准注意力,它把二次复杂度降为近似线性,但固定状态仍会带来记忆干扰:新信息可能覆盖旧信息,或者不同模式竞争同一容量。

3. RetNet 与门控记忆

Retentive Network 在状态累积中加入衰减因子,让旧信息随时间逐渐消退。固定衰减能控制记忆范围,但所有输入使用同一遗忘速度并不灵活。

后续门控 retention 让遗忘程度依赖输入:重要信息保留更久,不相关信息更快清除。课件把这种输入相关的选择机制视为从“固定记忆”走向“可选择记忆”的关键。

4. Mamba:选择性状态空间模型

Mamba: Linear-Time Sequence Modeling with Selective State Spaces 将状态空间模型与输入相关的选择机制结合。每个 token 不只更新状态,还影响状态转移、输入和输出参数,从而决定当前信息应该写入、保留还是忽略。

可以用直觉流程理解:

  1. 输入经过线性投影得到候选内容。
  2. 选择参数根据当前输入决定状态更新强度。
  3. 状态递推压缩历史信息。
  4. 从状态读取当前输出。

Mamba 的目标不是保存所有历史,而是学习哪些历史值得保留。它的优势包括线性序列复杂度、固定推理状态和较强长序列效率;代价是状态压缩可能损失需要精确回看的信息。

5. 记忆干扰与可写状态

课件介绍了几条改进路线:

  • GLA:使用更灵活的门控线性注意力,改善状态写入和读取。
  • DeltaNet:当新旧信息冲突时,使用 delta 更新覆盖或修正旧状态,而不是简单累加。
  • Titans:把测试时记忆视为可学习模块,研究模型如何在推理阶段写入长期信息。

这些工作共同面对一个问题:固定状态的容量有限,模型必须决定何时遗忘、如何覆盖,以及怎样避免短期噪声污染长期记忆。

6. Mamba 与 Transformer 的取舍

维度 Transformer Mamba/SSM
训练并行性 通过扫描和硬件实现逐步改善
单步推理 依赖 KV cache 维护固定大小状态
长序列成本 注意力通常为平方级 近似线性
精确回看历史 强,可直接访问 token 依赖状态是否保留了信息
记忆机制 显式注意力检索 学习状态写入与读取
工程生态 成熟、工具丰富 需要专门内核和训练实现

Mamba 不是在所有任务上替代 Transformer。需要精确复制、随机访问或复杂上下文检索时,注意力仍然有明显优势;超长序列、低延迟和固定内存场景则更适合研究 SSM 或混合架构。

7. 混合架构与 Transformer 转换

课件列出多项将 Transformer 与 SSM 结合的工作:

  • Mamba-2 / State Space Duality:从注意力与 SSM 的统一视角改进实现。
  • LoLCATs:研究把注意力模型转换为线性或状态空间形式。
  • Mamba in Llama:探索在现有 Llama 类模型中替换或混合 Mamba 层。
  • Transformers to SSMs:分析从注意力到状态空间模型的转换。
  • MambaOut:讨论哪些任务并不需要 Mamba,避免为了架构新颖性而盲目替换。

混合设计的基本原则是:让注意力负责需要精确检索的部分,让 SSM 负责长序列压缩和高吞吐计算。

8. 理解状态空间模型的方法

分析 Mamba 类模型时,应重点观察:

  • 状态维度与有效记忆长度。
  • 输入选择参数是否真正随 token 变化。
  • 状态更新在冲突信息上的覆盖行为。
  • 不同层承担短期模式、长期信息还是输出变换。
  • 在复制、检索、长文理解和流式任务上的差异。

不能只比较参数量或短序列准确率;应报告长上下文吞吐、显存、延迟和状态失真。

9. 本章结论

  1. Transformer 的主要瓶颈是长序列计算和不断增长的 KV cache。
  2. 线性注意力和 SSM 用固定状态换取近似线性复杂度,但必须面对记忆容量和干扰。
  3. Mamba 的核心创新是输入相关的选择性状态更新,而不是简单把注意力改成 RNN。
  4. 未来更可能出现注意力、SSM 和外部记忆的混合架构,而非单一架构全面取代另一种架构。

你可能还想看