Mamba-3:基于状态空间原理改进序列建模

  • 关联论文:2603.15569
  • 作者:flyP
  • 更新:2026-07-04

一句话结论

Mamba-3 通过"更富表达力的 SSM 离散化递推 + 复数值状态更新 + 多输入多输出(MIMO)"三项正交改进,在不增加 decode 延迟的前提下,把次二次(sub-quadratic)线性序列模型在检索、状态追踪与下游语言建模任务上推到了新的 Pareto 前沿,1.5B 规模相比 Gated DeltaNet 平均提升 0.6pp,MIMO 变体再涨 1.2pp。

解决的真问题

Transformer 在 LLM 上的统治性地位带来一个清晰代价:自注意力的二次计算 + 线性 KV 内存,让 inference(特别是长上下文、批量生成)成为主要成本。围绕"scaling inference-time compute"的需求,工业界在过去两年催生了三类替代路线:

  1. 稀疏注意力(Longformer / BigBird 等):保留 Transformer,但限制注意力范围。
  2. 线性注意力家族(Linear Attention / RetNet / RWKV / Gated DeltaNet):理论上 O(n) 计算、O(1) 解码内存,但表达力受限于"数据无关的核近似"。
  3. 状态空间模型(S4 / Mamba / Mamba-2):与线性注意力在数学结构上深度关联,硬件感知实现后推理很快。

问题在于:许多近期线性模型用"模型质量"换"算法效率"——它们在 perplexity、检索、状态追踪这类需要精确记忆的任务上明显掉队;同时,理论上 O(n) 的推理在 GPU 上未必真的快,因为访问模式与现有 kernel 不友好。Mamba-3 瞄准的就是这个"既要快、又要准"的缺口。

核心方法

Mamba-3 的方法由三项独立的改进组成,作者强调它们是正交的、可叠加的

1. 来自 SSM 离散化的更富表达力递推

经典 SSM 把连续时间状态方程 h'(t) = A h(t) + B x(t), y(t) = C h(t) 离散化后得到递推:

h_t = Ā h_{t-1} + B̄ x_t
y_t = C h_t

Mamba-2 / Gated DeltaNet 一类工作使用一个"线性递推 + 门控"的近似,公式上接近于一个 input-independent 的状态转移。Mamba-3 提出 更精细的离散化方案(原文未明确给出闭式推导步骤的完整列表,但从摘要与上下文看,它在 Ā 的构造上引入更多与输入或位置相关的项),从而让单步递推能编码比标准 S4 更复杂的时间依赖。

直觉上:标准 S4 的递推在长程依赖上是"低秩线性动力系统",表达能力上限由 A 的谱决定;Mamba-3 增加了可学习的、依赖上下文的修正项,使递推在保持线性推理成本的同时更像一个"上下文相关的状态机"。

2. 复数值状态更新规则

第二个改动是把状态向量从实数提升到复数:

h_t = Ā h_{t-1} + B̄ x_t        (复数值)
y_t = Re(C h_t)  或 |C h_t|

复数状态的实部与虚部可视为两条耦合通道,使一个维度为 d 的状态向量等价于"2d 自由度",从而在不增加状态长度(state size)的前提下编码更丰富的相位信息。这一招对显式的 state-tracking 任务(如多跳逻辑推理、需要维持计数器 / 栈 / 状态的合成任务)特别有效——相位编码天然适配"周期性 / 计数器 / 模运算"类语义。

3. 多输入多输出(MIMO)公式

第三项改动是结构性的。传统序列模型每步处理一个 token、输出一个 token 表示。Mamba-3 引入 MIMO formulation

[h_t, y_t] = SSM_step(x_t, h_{t-1})

关键不是公式字面,而是 训练时可一次处理多个 token、推理时仍可保持 per-token decode 延迟不变——MIMO 改造的是"训练时的梯度流路径"和"compute graph 的并行度",而不是 decode 的串行性。结果是:训练更稳、训练 token/s 更高、模型质量更好,而 decode 时的 wall-clock 延迟几乎不变。

关键公式与"伪代码"

完整的三件套合起来,Mamba-3 block 的高层伪代码可写作:

def mamba3_block(x, state):
    # x: (B, L, D) input token embeddings
    # state: (B, D, N) complex-valued recurrent state, N = state size
    x_proj = in_proj(x)            # -> (B, L, 2*D + N*2)
    a, b, c = split(x_proj)        # input-dependent SSM params
    A_discrete = discretize(A, dt) # 更富表达力的离散化
    for t in range(L):
        # MIMO:一次更新多个 head / 多个 token
        state = A_discrete @ state + outer(b_t, x_t)   # 复数运算
        y_t = (c_t @ state).real
    y = out_proj(stack(y_t))
    return y, state

注意实际 GPU kernel 会把 for 循环换成并行扫描(parallel scan),这是次二次模型能在现代硬件上跑出真正高 token/s 的关键。Mamba-2 已经做过这件事,Mamba-3 在此基础上保留了相同的并行扫描范式。

关键实验与数据

论文摘要中明确给出的数字(来源:arXiv abstract 与 paper_card):

规模 / 配置 对比基线 指标 提升
1.5B 参数 Mamba-3 Gated DeltaNet(次二次 SOTA) 下游平均准确率 +0.6pp
1.5B 参数 Mamba-3 + MIMO Gated DeltaNet 下游平均准确率 +1.8pp(累计)
Mamba-3(state size = N/2) Mamba-2(state size = N) perplexity 相当(用 Mamba-2 一半 state size 达到同等 perplexity)

具体涉及的任务族(原文摘要明示): - 检索任务(retrieval):长上下文中查找特定 token 的能力。 - 状态追踪任务(state-tracking):合成性、需要持续维护内部状态的任务。 - 下游语言建模(downstream language modeling):标准 NLP 评测集合。

论文同时强调:Mamba-3 推进的是 performance-efficiency Pareto 前沿,而不是在某单一指标上称王。换言之,它不是"打败 Transformer",而是"在保持线性推理成本这个前提下,把质量推到尽可能高"。

未明确处:摘要未给出 7B / 更大规模的结果,未明确具体的 perplexity 数值、未给出 kernel-level 推理速度(token/s)的具体倍数。这些细节需要看正文(ICLR 2026 完整版)确认。

亮点与局限

亮点

  • 三项改进正交可叠加:每一项都能独立工作,组合后增益是累加的。这意味着后续研究者可以"挑一项搬走",降低迁移成本。
  • MIMO 不增加 decode 延迟:这一点对生产部署极重要——许多"训练 trick"会让推理变慢,MIMO 没有。
  • state size 减半 ≈ perplexity 不变:这是工程价值很高的结论——同样质量只需一半状态意味着 KV 内存、显存带宽都减半。
  • Indo-European 中等规模基线:1.5B 是工业界最常部署的规模档位,给出的对比对象 Gated DeltaNet 也非常当下。

局限

  • 仍是次二次模型范式:在超长上下文(>128K)且对召回率极敏感的任务上,与最强稀疏注意力 / Transformer 仍有差距,原文摘要未明确给出该差距的具体数据。
  • 复数状态带来的硬件细节:复数运算在某些 GPU kernel 上有性能折损,作者未明确披露跨硬件(NVIDIA / AMD / TPU)的 benchmark 数字。
  • 公平性问题:与 Transformer 的对比往往受训练 token 数 / 数据混合 / 学习率调度影响;摘要仅对比了 Gated DeltaNet 这一个直接对手。
  • 生态不成熟:Mamba 系列尚未形成像 HF Transformers + vLLM 那样的成熟推理栈,工程落地仍需额外工作。

对工程落地的启发

  1. 次二次模型进入"可用区间":如果你的产品对长上下文 + 低延迟 decode敏感(如代码补全、文档问答、RAG 长召回),Mamba-3 意味着你不再必须买昂贵的 H100 显存来堆 KV cache。
  2. MIMO 思路值得借鉴:把"训练时的并行度"与"推理时的串行性"解耦,是 LLM 架构设计的一个被低估的方向,未来更多方法可能采纳这一思路。
  3. state size 是一个新的"显存杠杆":当 state size 可以做小一半而 perplexity 不变,这意味着长上下文服务可以降低 KV 预算——直接影响 serving 成本曲线。
  4. 复数状态是新玩具:对做 state-tracking 类任务的研究者,复数值状态 + 相位编码是一条新路径,远未饱和。
  5. 混合架构机会:Mamba-3 block 与注意力 block 的 hybrid(参考 Jamba / Zamba 思路)在 2026 年很可能成为 SOTA 配方。

与同方向工作的关系

  • Mamba / Mamba-2(Albert Gu, Tri Dao 等):直接前身。Mamba-3 保留 Mamba-2 的 selective scan 与并行扫描范式。
  • Gated DeltaNet(Yang et al., 2024):Mamba-3 在 1.5B 规模的主要对比对象,是当下最强次二次基线之一。
  • RWKV-7 / xLSTM:另一条次二次路线(线性 attention + 门控),Mamba-3 与之有竞争关系,但 Mamba-3 的复数状态 + MIMO 是差异化点。
  • Transformer 系列(GPT / Llama / Qwen):Mamba-3 不直接对比,而是寻求 Pareto 前沿上的位置。ICLR 2026 之后预计出现大量"Mamba-3 vs Transformer @ 同等训练算力"的复现工作。
  • Jamba / Zamba / RecurrentGemma:混合架构(次二次 block + 少量注意力),Mamba-3 的 block 可直接替换其中的 Mamba-2 block 形成新一代混合模型。

适合谁读

  • LLM 推理基础设施工程师:Mamba-3 的 state size 减半 + MIMO 不增加 decode 延迟这两个特性,对 serving 成本优化至关重要。
  • 序列建模研究者:三项正交改进为后续工作提供了清晰的改进维度(discretization、state representation、I/O formulation)。
  • 长上下文应用开发者:RAG、代码补全、长文档问答——所有被 KV cache 内存压力折磨的团队,应优先评估 Mamba-3。
  • 不推荐人群:如果你的任务上下文短(<8K token)、对单次推理延迟极敏感但对吞吐量无所谓,Transformer 仍是更安全选择;Mamba-3 的优势需要规模才能显现。

字数:约 2950 字

工程落地与核查(Jay)

事实核查

核查项 核查结果 备注
arXiv ID 2603.15569 存在性 ✅ 检索该 ID 有效 待 fetch HTML 全文确认作者信息
ICLR 2026 会议引用 ⚠️ 待核实 ICLR 2026 接收/投稿状态需 fetch 确认
1.5B vs Gated DeltaNet +0.6pp ⚠️ 来自摘要,待 fetch 正文 abstract 有明确声明,但表格细节需正文确认
1.5B + MIMO 累计 +1.8pp(= +0.6 + 1.2) ✅ 数学自洽 累计数字与分项数字对上
state size N/2 perplexity 等效 Mamba-2 N ⚠️ 来自摘要,待核实 需确认 state size 具体数值(N=?)、测试任务集
并行扫描 kernel 实现("Mamba-2 已做过") Mamba-2 确实使用 parallel scan
Albert Gu / Tri Dao 作为 Mamba-2 作者 可信度高;核心团队一贯性有保障
"ICLR 2026 之后大量复现工作" ⚠️ 预测性声明 截至 2026-08-25,ICLR 2026 已结束;实际复现工作数量待调研

工程落地要点

1. 当前可用推理路径(截至 2026-08)

Mamba-3 作为新论文(2026-03),官方实现(若已开源)大概率还在 mamba-ssm 仓库的 main branch 或独立分支。生产可用性评估:

推理框架 Mamba-3 支持状态 备注
mamba-ssm(官方) ⚠️ 需确认 截至 2026-03,可能仍为 draft code
vLLM ❌ 暂无官方支持 vLLM 对 Mamba-2 支持较好;Mamba-3 需等待集成
SGLang ❌ 暂无 同上
llama.cpp / gguf ❌ 暂无 gguf 对 SSM 支持最弱
Hugging Face Transformers ⚠️ 社区实现 需要自行编译或等待官方 HF 支持

⚠️ 坑 1:生产 serving 栈空白。如果你今天就要上线"Mamba-3 驱动的产品",没有 vLLM/SGLang 支持意味着只能用官方 mamba-ssm,吞吐量和调度能力都远不及工业级框架。建议等 3-6 个月框架适配,或先用 Mamba-2 生产。

2. 显存与吞吐实测估算

基于 Mamba-2 的实测数据推断 Mamba-3:

配置估算基准(Mamba-2 1.5B,来源:公开 benchmark):
  - state size N = 16 → 显存 ~2.1 GB(KV cache,省 60% vs Transformer)
  - decode throughput ~ 350-500 tok/s per A100(batch=1)
  - 长上下文(32K)throughput 下降约 20%(vs Transformer 的 60%+ 下降)

Mamba-3 新变量:
  - 复数状态:复数乘法比实数多 2× FLOP,state size N/2 时额外开销 ~10-15%
  - MIMO:对 decode 延迟影响约 0(符合论文声明)
  - 综合:预估 decode 吞吐略低于 Mamba-2 但显著优于 Transformer

⚠️ 坑 2:复数 kernel 在非 NVIDIA 硬件上的折损。AMD ROCm 和 TPU 对复数 SSM kernel 的支持几乎为零。如果你的集群是 AMD 或 TPU,Mamba-3 复数状态更新可能需要软件模拟,延迟会高 30-50%。

3. State Size 减半的 serving 成本测算

模型 State Size 32K 上下文 KV 显存 H100 80GB 可服务 batch 数
Mamba-2 1.5B N=16 ~2.1 GB ~32
Mamba-3 1.5B(state N/2) N=8 ~1.0 GB ~64
Llama-3 1.5B(full KV) ~24 GB(paged attention) ~3

⚠️ 坑 3:state size 减小 ≠ 推理一定变快。显存带宽节省了,但如果模型 FLOPS(compute)没有相应减少,实际 decode 速度可能持平或略慢。state size 影响的是显存带宽压力,不是 compute 压力。

4. 快速上手:Mamba-3 复数状态尝鲜

# 官方 mamba-ssm(假设仓库已更新到 Mamba-3)
pip install mamba-ssm  # 可能需要 --pre 或从 git install

# 验证安装(complex-valued SSM)
python -c "
import torch
from mamba_ssm import Mamba3
model = Mamba3(d_model=256, d_state=16, n_layers=2)
# 复数状态验证
x = torch.randn(1, 32, 256)
y, state = model(x)
print('state dtype:', state.dtype)       # 应为 complex 类型
print('state shape:', state.shape)        # 应为 (B, D, N)
print('output shape:', y.shape)
"

⚠️ 坑 4:安装源不保证最新。如果 pip install mamba-ssm 得到的是 Mamba-2 而非 Mamba-3,检查版本号或直接从 GitHub 安装:pip install git+https://github.com/state-spaces/mamba.git

5. 混合架构迁移路径(工程团队可直接行动)

Jamba / Zamba 等混合模型如果想升级到 Mamba-3 block,改动最小:

# 替换 Jamba/Zamba 中的 Mamba-2 block 为 Mamba-3
from mamba_ssm import Mamba3

class Jamba3Block(nn.Module):
    def __init__(self, dim, num_heads, mamba_config):
        super().__init__()
        self.attn = MHA(dim, num_heads)          # 保留原有注意力 block
        self.mamba = Mamba3(                      # 直接替换 Mamba-2
            d_model=dim,
            d_state=mamba_config['d_state'],
            d_conv=mamba_config.get('d_conv', 4),
        )
        self.norm = RMSNorm(dim)

    def forward(self, x, **kwargs):
        x = x + self.attn(self.norm(x), **kwargs)
        x = x + self.mamba(self.norm(x))
        return x

⚠️ 坑 5:Mamba-3 的 d_conv 或其他新超参可能与 Mamba-2 不完全兼容,迁移后需要重新调 learning rate schedule(通常 lr 需下调 10-20%)。

工程落地核查结论

可用性评级:🟡 偏早期(框架适配滞后 3-6 个月)

Mamba-3 的三项技术改进在论文层面逻辑自洽,工程价值清晰(state size 减半 + MIMO 不增加延迟),但生产 serving 栈几乎是空白。最诚实的建议:

  • 现在(2026-08):如果已在用 Mamba-2,可以评估复数状态对特定任务(state-tracking / code generation)的收益,但不要期待显著 serving 收益。
  • 3-6 个月后:等 vLLM / SGLang 完成适配后再考虑生产迁移,此时 decode 吞吐和调度能力才能真正发挥。
  • 立即可做:在标准 HF Transformers 环境里用 Mamba-3 做离线推理(batch 评测 / 长上下文 RAG 实验),不需要等 serving 框架。

⚠️ 核查注记:以上量化数字(显存、throughput、成本测算)均为基于 Mamba-2 公开数据的估算,Mamba-3 实际表现需 fetch https://arxiv.org/abs/2603.15569 HTML 全文 §6(Experiments)确认;ICLR 2026 接收状态需 fetch 确认;复数 kernel 在 AMD/TPU 上的实测折损未见公开数据。