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 要解决三个行业痛点:
- 推理内存瓶颈:Transformer 的 KV cache 随序列长度线性增长,在长上下文场景代价极高
- 线性模型能力短板:之前的 Gated DeltaNet 等线性注意力模型在 state tracking(如奇偶校验、状态追踪)任务上明显弱于 Transformer
- 硬件效率不匹配:理论线性推理算法在 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) |
坑与适用边界
⚠️ 安装坑
- CUDA wheel 预编译机制:Linux 下 pip 会优先尝试匹配预编译 wheel(
MAMBA_KEEP_CUDA_BUILD=TRUE),本地编译需要加MAMBA_FORCE_BUILD=TRUE。确保 PyTorch 版本与 CUDA 驱动兼容。 - no-build-isolation 必须加:否则 pip 会装 torch-cpu,覆盖已有的 CUDA PyTorch 环境。
- 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 层来降推理成本,这是目前最可靠的选择。