核心要点
复杂度对序列长度线性(O(n)),优于自注意力的 O(n²),利于长序列
推理时维持固定大小的状态(O(1)),无需像 Transformer 那样缓存全部 KV
选择性机制(Selective SSM)让参数随输入动态变化,可有选择地记忆/遗忘
配合硬件感知的并行扫描(scan)算法,在 GPU 上高效训练
标准回答
SSM 基本思想
状态空间模型把序列建模成一个随时间演化的隐状态:用状态转移把历史压缩进固定维度的状态,再映射出输出。它可写成卷积形式高效并行训练,也可写成递归形式低成本推理。
Mamba 的关键:选择性(Selective)
传统 SSM 的参数与输入无关(时不变),表达力受限。Mamba 让状态转移/输入门控参数随当前 token 动态变化,从而能根据内容选择性地记住或忽略信息,逼近注意力的内容寻址能力。
相对 Transformer 的优势
- 复杂度对序列长度线性,自注意力是平方级,长文本/长序列更省算力。
- 推理维持固定大小状态(O(1)),无需缓存随长度增长的 KV Cache,长上下文显存占用更稳定。
- 通过硬件感知的并行扫描在 GPU 上高效训练。
代价
精确「回看任意历史 token」的能力不如注意力,部分需要精确检索的任务上可能逊色,故也常见 Mamba 与注意力混合的架构。详见 线性注意力架构演进。
常见误区
⚠️ 常见踩坑
Mamba 推理是固定大小状态、不维护 KV Cache,别说成「KV Cache 更小」;它并非纯线性时不变 SSM,关键正是「选择性」让参数随输入变化。
追问
追问 1:为什么 Mamba 推理不需要 KV Cache?
Transformer 每生成一个 token 都要对全部历史 token 做注意力,必须缓存所有 KV,显存随序列线性增长。Mamba 用递归形式,把历史压缩进一个固定维度的状态,每步只需上一时刻状态即可推进,状态大小与序列长度无关,因此是 O(1) 推理、无需 KV Cache。
追问 2:Mamba 在哪些任务上可能不如 Transformer?
需要对长上下文中任意位置做精确检索/拷贝的任务(如长文档精确召回、in-context 复制特定片段),注意力的全局内容寻址更直接,而把历史压进固定状态会丢信息。实践中常用 Mamba 与注意力层混合,兼顾效率与精确检索。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。