Mamba-3:SSM 与线性注意力混合最强线性模型 · 干货攻略

  • 链接:https://x.com/tri_dao/status/2033948569502413245
  • 分类:x-tips
  • 来源:X @tri_dao
  • 作者:Jay
  • 更新:2026-08-10
  • 仓库:state-spaces/mamba
  • 论文:https://arxiv.org/abs/2603.15569

这是什么

Mamba-3 是由 Tri Dao 和 Albert Gu 联合团队发布的第三代 Mamba 模型(ICLR 2026 Oral),核心定位是在推理效率优先的前提下推进性能-效率帕累托前沿。它基于上一代 Mamba-2 的架构做了三项核心方法改进,并将 SSM(状态空间模型)与线性注意力彻底融合为同一套理论框架(Structured State Space Duality)。

官方代号:Mamba-3: Improved Sequence Modeling using State Space Principles 论文:arXiv:2603.15569,2026 年 3 月 16 日提交,ICLR 2026 Oral 代码:https://github.com/state-spaces/mamba(Apache 2.0 许可证) 预训练模型:发布于 HuggingFace state-spaces 组织下,含 1.5B 等规模


为什么值得关注

谁分享的、解决什么问题

@tri_dao 是 FlashAttention 和 Mamba 系列的一作,他亲自发推宣布 Mamba-3 发布。推文指出这次更新的核心逻辑是:scaling inference-time compute 已经成为 LLM 性能的重要驱动力,模型架构设计必须把推理效率当作第一公民

Mamba-3 要解决三个行业痛点:

  1. 推理内存瓶颈:Transformer 的 KV cache 随序列长度线性增长,在长上下文场景代价极高
  2. 线性模型能力短板:之前的 Gated DeltaNet 等线性注意力模型在 state tracking(如奇偶校验、状态追踪)任务上明显弱于 Transformer
  3. 硬件效率不匹配:理论线性推理算法在 GPU 上的实际解码效率低(decode 阶段算术强度不足,硬件空闲率高)

这次 Mamba-3 的核心主张是:在不牺牲推理速度的前提下,把线性模型的性能天花板推高到与 Transformer 正面竞争的水平。


核验过程

读过的官方来源

来源 获取内容
GitHub state-spaces/mamba README 安装命令、三种 Block 接口(Mamba/Mamba2/Mamba3)、模型使用示例、预训练模型列表
arXiv:2603.15569 Abstract + HTML 正文 论文三大核心贡献、性能数字、ICLR 2026 Oral 身份确认
arXiv HTMLv1 全文 exponential-trapezoidal discretization 原理、complex-valued SSM 与 rotary embedding 的数学联系、MIMO 架构细节、benchmark 数据
ICLR 2026 Virtual Oral Page 确认 Oral 身份,摘录了 1.5B 规模对比数据与帕累托 frontier 描述
Together AI Blog(Mamba-3) 与论文一致的性能描述、混合模型实验结论
Medium 技术博客(ai.gopubby.com) 第三方复述,确认 Apache 2.0 许可证、长序列最高 7 倍加速说法

交叉验证结论

以下为官方论文/arXiv 原文说法,已与多个来源交叉确认:

  • ICLR 2026 Oral — 论文于 2026 年 3 月提交,接收为 ICLR 2026 Oral(5% 录取率)
  • 1.5B 规模:+0.6pp vs Gated DeltaNet, MIMO 变体再 +1.2pp — Abstract 原话,多个来源一致
  • 同等困惑度下只需 Mamba-2 一半的 state size — Abstract + HTML 正文原话
  • 三大核心改进:exponential-trapezoidal discretization、complex-valued state update(等价于 data-dependent rotary embedding)、MIMO formulation — 论文 Section 1 原话
  • 混合模型(1 层 NoPE self-attention + 5 层 Mamba-3)超越纯 Transformer 和纯 SSM — 论文 Section 5 + 多个第三方来源一致
  • 预训练模型发布在 HuggingFace state-spaces 组织 — GitHub README 明确列出

⚠️ 未核验 / 原帖主张: - "长序列比 Transformer 快 7 倍" — 此数字来自第三方博客复述,arXiv HTML 正文的 Table 7 benchmark 数据中仅描述 decode latency 相对关系,未直接引用"7x"这一具体倍数,攻略正文不引用此数字


上手步骤

环境准备

依赖: - Linux - Python 3.10+ - PyTorch 1.12+ - NVIDIA GPU + CUDA 11.6+(GPU 执行所需)

安装方式(四档,按需选择)

# ① 核心包(无 CUDA 扩展,适合 CPU 推理或测试)
pip install mamba-ssm --no-build-isolation

# ② 核心包 + causal-conv1d
pip install "mamba-ssm[causal-conv1d]" --no-build-isolation

# ③ 从源码安装,默认不含 selective_scan_cuda
pip install git+https://github.com/state-spaces/mamba.git --no-build-isolation

# ④ 启用 CUDA selective_scan(推荐生产环境)
MAMBA_KEEP_CUDA_BUILD=TRUE pip install mamba-ssm --no-build-isolation
# 如需强制本地编译而非使用预编译 wheel:
MAMBA_FORCE_BUILD=TRUE MAMBA_KEEP_CUDA_BUILD=TRUE pip install mamba-ssm --no-build-isolation

⚠️ --no-build-isolation 是必须的,否则 pip 会装 torch-cpu 而非你已有的 CUDA 版 PyTorch。

Mamba-3 Block 使用示例

import torch
from mamba_ssm import Mamba3

batch, length, dim = 2, 2048, 768
x = torch.randn(batch, length, dim).to(torch.bfloat16).to("cuda")

model = Mamba3(
    d_model=dim,       # 模型维度
    d_state=128,       # SSM state size
    headdim=64,        # SSM headdim
    is_mimo=True,      # 使用 MIMO 模式(精度更高,decode latency 不增加)
    mimo_rank=4,
    chunk_size=16,     # bf16 时为 64/mimo_rank
    is_outproj_norm=False,
    dtype=torch.bfloat16,
).to("cuda")

y = model(x)
assert y.shape == x.shape  # (2, 2048, 768)

完整语言模型调用(含 LM Head)

# models/mixer_seq_simple.py 提供完整语言模型封装
# 配合 generation script 使用,预训练权重会自动从 HuggingFace 下载
# 参考:https://github.com/state-spaces/mamba#pretrained-models

预训练模型列表(HuggingFace state-spaces 组织)

模型 规模 训练数据
mamba-130m ~ mamba-2.8b 130M–2.8B Pile (300B tokens)
mamba2-130m ~ mamba2-2.7b 130M–2.7B Pile (300B tokens)
mamba2attn-2.7b 2.7B Pile + attention layer
mamba-2.8b-slimpj 2.8B SlimPajama (600B tokens)

坑与适用边界

⚠️ 安装坑

  1. CUDA wheel 预编译机制:Linux 下 pip 会优先尝试匹配预编译 wheel(MAMBA_KEEP_CUDA_BUILD=TRUE),本地编译需要加 MAMBA_FORCE_BUILD=TRUE。确保 PyTorch 版本与 CUDA 驱动兼容。
  2. no-build-isolation 必须加:否则 pip 会装 torch-cpu,覆盖已有的 CUDA PyTorch 环境。
  3. Python 版本要求 3.10+:低于此版本可能在某些依赖上不兼容。

适用边界

  • Mamba-3 适用:长序列语言建模、状态追踪任务、需要 GPU 高效推理的场景;与 self-attention 混合使用(Hybrid 架构)时效果最佳
  • Mamba-3 不适用:需要精确 KV cache 检索的场景(纯 SSM 的压缩状态天然有信息损失);对训练速度优先于推理速度的场景(建议选 Mamba-2)
  • MIMO vs SISO:MIMO 变体精度更高且 decode latency 不增加,但 prefill 阶段有适度开销(论文 Section 3.3),长序列生成场景选 MIMO

与 Mamba-2 的关键区别

维度 Mamba-2 Mamba-3
离散化方式 exponential-Euler(启发式,无理论证明) exponential-Trapezoidal(理论上更表达,隐式卷积更精确)
状态更新 实数值 复数值(等价于 data-dependent rotary)
架构 SISO(单输入单输出) SISO + MIMO(可选,精度更高)
state size 更大 同等困惑度下只需一半
定位 训练效率优先 推理效率优先

一句话结论

Mamba-3 是目前线性模型中性能-效率帕累托最前沿的解:ICLR 2026 Oral 论文背书,1.5B 规模精度超 Gated DeltaNet 1.8pp,同等困惑度 state size 减半,GitHub 已开源,生产可用。 如需在长序列或 Agent 场景用 SSM 替代部分 Attention 层来降推理成本,这是目前最可靠的选择。