2026年,Transformer 依然是 AI 界的"绝对君主",但它的阿喀琉斯之踵(昂贵的计算成本),正被死死咬住。
这一次,挑战者不是来自 OpenAI 或 Google 的闭源高墙,而是来自学术界的一记回马枪,我的老朋友——
Mamba-3 来了。
带着 Apache 2.0 (随便商用)的开源许可,带着 4% 的性能提升,
以及让 Transformer 们瑟瑟发抖的推理效率。
论文地址:https://arxiv.org/pdf/2603.15569v1
原作两位大佬压轴,仍是熟悉的配方
你的 GPU 为什么总在摸鱼 ?
源于 2017 年 Google 那篇《Attention Is All You Need》的横空出世,
Transformer 在当今几乎统治了所有生成式 AI 模型。
它很聪明,但代价也很大,计算量随输入长度呈二次方增长,内存量在KV Cache的帮助下勉强线性增长。
GPU 生来是做矩阵乘法的,计算密度极高,相对来讲显存带宽没有那么高,而 Transformer decode 时的计算访存比大概在 2 flop/byte 以内,
所以在推理阶段,显卡往往在等待内存搬运数据,计算核心处于闲置状态。你花了大价钱买的算力,实际上在空转。
内存墙伴随着 AI 的一路发展,至今仍是 AI 面前的一堵墙。
硬件上发展近存计算架构(PIM),软件上设计投机推理(Speculative Decoding),还有很多其它的小巧思,本质上都是为了解决这个问题。
当然,还有一个套路:
不用 Transformer。
线性注意力代表的模型始终在发力,RWKV、Mamba都不是小打小闹,NVIDIA、智谱、KiMi、MiniMax,都在自己的旗舰模型上做过不同程度的探索。
Mamba 系列是小编我目前最看好的模型,那么今天要讲的,就是新一代的 Mamba-3。
这一代的Mamba,不再盲目追求"训练快",而是彻底转向"推理优先"。正如作者Albert Gu 教授所言,Mamba-3 的目标就是让 GPU 的每一秒都在"思考",而不是在"等待"。
先搞清楚Mamba到底是什么
在深入Mamba-3之前,得先理解Mamba家族的核心思想。
Mamba是一种状态空间模型(SSM)。你可以把它想象成一个“压缩器”:不管输入多长,它都用一个固定大小的向量(状态)来记住历史信息。
Transformer的问题是:每生成一个新词,都得回头看一遍所有历史,KV缓存越堆越大,推理越来越慢。SSM则不同——它只更新这个状态,不看历史。
数学上,一个标准的SSM长这样:
h(t)是状态,x(t)是输入,y(t)是输出。A、B、C都是随时间变化的矩阵。
但连续时间没法直接用在数字数据上,得离散化。
Mamba-1和Mamba-2用的是这么个离散化公式:
hₜ = e^{ΔₜAₜ} hₜ₋₁ + Δₜ Bₜ xₜ
看着简单,对吧?但这里面藏着两个问题:
第一,这个离散化方法是凑出来的,没有严格的理论依据;
第二,它只有一阶精度,误差大;
第三,实数A矩阵做不了“旋转”这类动态,导致模型做不了逻辑题。
Mamba-3的三个创新,就是冲着这三个问题去的。
第一刀:指数梯形离散化
这是对Mamba-1/2那个“凑出来”的离散化的彻底重构。
从连续到离散
咱们从连续系统出发:
这公式的意思是:新的状态 = 旧状态的衰减 + 整个区间内输入的累积影响。
Mamba-1/2做了一件事:把区间内的A(s)近似成常数Aₜ。于是第一项变成e^{ΔₜAₜ},没问题。第二项呢?他们直接用右端点近似整个积分,得到Δₜ Bₜ xₜ。
这叫指数欧拉法,一阶精度,局部截断误差O(Δₜ²)。
Mamba-3的升级
Mamba-3改用广义梯形法则。
还是把A(s)近似成常数Aₜ,但对那个积分的处理不一样。梯形法则的意思是:用两个端点的平均值来近似整个积分。
但Mamba-3更进一步,它引入了一个数据依赖的加权系数λₜ,允许模型自己决定更看重左端点还是右端点:
记αₜ = e^{ΔₜAₜ}, βₜ = (1-λₜ)Δₜ αₜ, γₜ = λₜ Δₜ,就是论文里那个简洁形式:
hₜ = αₜ hₜ₋₁ + βₜ Bₜ₋₁ xₜ₋₁ + γₜ Bₜ xₜ
这玩意儿为什么牛
第一,它是二阶精度。在λₜ接近1/2时,局部截断误差是O(Δₜ³)。这意味着同样步长下,比Mamba-2准得多。
第二,它天然带一个宽度为2的隐式卷积。你看那个βₜ项,是把上一时刻的输入Bₜ₋₁xₜ₋₁也卷进来了。传统Mamba需要外面套一个短卷积才能干的事,现在递归内部自己解决了。
第三,它可以用并行形式计算。把上面的递归展开,写成矩阵形式:
L = [1-semiseparable矩阵] × [2-band矩阵]
那个2-band矩阵(带宽为2的带状矩阵),就是干卷积的(对输入做了一波宽度为2的卷积)。
而1-semiseparable矩阵,负责把前面所有时刻的信息按照指数衰减(α的累积乘积)累积起来。
这意味着训练时可以像Transformer那样用矩阵乘法并行,推理时切回递归。
所以Mamba-3是:训练像Transformer一样快,推理像RNN一样省。
第二刀:复值状态空间
这是为了解决一个经典问题:线性模型做不了状态跟踪。
为什么实数不行
考虑一个最简单的任务:奇偶校验。给一串二进制数,输出1的个数的奇偶性。
这个任务可以用一个2维状态实现:每来一个1,就旋转180度(相当于乘以-1)。但问题是,实数乘法没法表示“旋转”——实数只能缩放,不能旋转。
你可能会说:我用一个维度存奇偶不就行了?但那是标量状态,复杂任务需要高维旋转。
数学上,这归结为:实数矩阵的特征值是实数,只能表示缩放;旋转需要复数特征值,e^{iθ}那种。
Mamba-3的解法
Mamba-3把状态从实数扩展到复数:
看着吓人,但离散化后有惊喜(使用与第一刀相同的方法)。
用指数欧拉法离散化(论文证明了可以扩展到梯形)后,这个复值系统等价于一个实数系统,但状态维度翻倍,且状态转移矩阵变成了块对角旋转矩阵的乘积:
其中Rₜ是由Δₜθₜ决定的2×2旋转矩阵组成的块对角矩阵:
R(θ) = [[cosθ, -sinθ], [sinθ, cosθ]]
转换之后的 B 和 C 分别为(相当于把实部和虚部拼起来,C那边有个负号是为了保证等价性):
此时,复数运算全部变成了实数矩阵运算,而且旋转矩阵 Rₜ 是正交的,数值稳定,硬件友好。
RoPE技巧
更妙的是,这个旋转可以“吸收”到输入输出投影里。论文证明了,这个系统等价于:
看到了吗?那些旋转矩阵全跑到B和C上去了。这不就是数据相关的旋转位置编码吗?
传统RoPE是固定的旋转角度(比如10000^{-2i/d}),而Mamba-3的旋转角度θₜ是从数据里学出来的。这意味着模型可以根据当前输入,决定要不要旋转、转多少度。
实验证明,这个“数据相关RoPE”让Mamba-3完美解决了奇偶校验和带括号的算术任务,而Mamba-2完全不行。
说句题外话:一路看下来,就是妙妙喵。
第一刀对比Mabma 2 多了一项计算,但转成矩阵后,多出来的计算又被矩阵乘法吃掉了,在GPU上,多出来的一条对角线计算几乎free,甚至由于隐式卷积替代了外面的conv1d,计算还变快了;
第二刀最终在每个时间步的B和C上多了一个矩阵乘法,但旋转矩阵是块对角的(每个 2×2 块独立),可以用快速旋转算法,且在实际 kernel 实现中,可以和投影层融合,避免额外的内存读写。
第三刀:多输入多输出
专门针对硬件利用率。
问题:GPU在摸鱼
推理的时候,特别是生成第一个词之后,模型其实没啥计算量,主要瓶颈是把数据从内存搬到计算单元。这时候GPU大部分时间闲着,叫“内存受限”。
Mamba-2的递归里,核心操作是外积:Bₜ xₜᵀ。这个操作的算术强度(计算量/内存访问量)很低。
算一下:输入有Bₜ(N维)和xₜ(P维),输出是N×P矩阵,计算量≈NP,内存访问≈N+P+NP。比值≈2.5 ops/byte(论文这么写的,可能是综合算了整个层?一般来说,向量外积的计算访存比是1,如果读和写都算的话是0.5)。而H100的理论峰值约300 ops/byte。
差了100多倍。GPU在等内存。
MIMO的思路
Mamba-3的想法:既然闲着也是闲着,不如多算点。
把Bₜ从N维扩展到N×R维,把xₜ从P维扩展到P×R维。这样外积变成了矩阵乘法:Bₜ (N×R) × xₜᵀ (R×P) = N×P矩阵。
计算量变成了NPR,比原来多了R倍。内存访问呢?Bₜ多了R倍,xₜ多了R倍,但状态hₜ还是N×P没变。
R取4,算术强度提高,虽然离300还很远,但已经能让GPU多干点活了。
训练怎么办
MIMO的问题是训练复杂度:如果朴素实现,计算量涨R²倍。
论文用了个巧妙的分块算法。把序列分成块,块内用并行算法(复杂度跟块长C有关),块间递归。通过调整块长C = N/R,可以把总复杂度控制在O(TRN²)级别,只涨R倍,不是R²倍。
实测R=4时,付出了一些训练代价,但模型质量明显提升(1.5B模型平均准确率从56.4%涨到57.6%)。
继续题外话:俺对之前Mamba的理解是,状态空间矩阵h实际上是一个高维存储空间,SSM的计算过程(向量外积累加)可以看成输入向量在高维空间的存储和检索(用key存用key搜),现在的MIMO相当于是个批处理版本;
然鹅,小编我担心的是,之前的模型(包括Transformer)都是单个向量输入输出,所以可以用老版Mamba或者Transformer预训练模型的参数为base,直接训练新版Mamba,但现在这样恐怕就不能用之前的参数了吧(也许不影响,我的个人看法)
架构上的其他改动
除了这三个核心创新,Mamba-3还有一些细节调整:
BC归一化
给B和C矩阵加了RMS归一化,类似Transformer里的QK归一化。这能稳定大模型训练,让Mamba-3可以去掉Mamba-2里那个为了稳定而加的后门RMSNorm。
BC偏置
给B和C加可学习的偏置项。这引入了数据无关的分量,跟指数梯形离散化带来的隐式卷积配合,彻底替代了传统Mamba外部的短卷积。
实验证明,Mamba-3不用短卷积,困惑度反而比用的更好(15.72 vs 15.85)。
性能数据怎么说
语言建模
在1.5B规模,训练100B FineWeb-Edu tokens,Mamba-3 MIMO平均准确率57.6%,比Transformer高2.2%,比Mamba-2高1.9%,比Gated DeltaNet高1.8%。
更关键的是状态大小的对比:Mamba-3用64状态,达到Mamba-2用128状态的困惑度水平。这意味着同样质量,推理速度翻倍。
状态跟踪
在奇偶校验任务上,Mamba-3准确率100%,Mamba-2不到1%。在带括号的算术任务上,Mamba-3 87.75%,Mamba-2 0.88%。
差距就是这么明显。
推理速度
SISO变体比Mamba-2还快一点(0.156ms vs 0.203ms per step, BF16, 128状态)。MIMO R=4略慢(0.179ms),但换来显著的质量提升。
跟Transformer比,长序列下优势巨大:16384 tokens,Mamba-3 SISO总延迟140ms,vLLM优化的Transformer要976ms。
总结:这三刀切在哪儿
- 第一刀(指数梯形):切在离散化精度上,让递归本身带上卷积能力,二阶精度碾压一阶。
- 第二刀(复值SSM):切在状态表达能力上,用复数特征值实现“旋转”,让线性模型能解逻辑题。
- 第三刀(MIMO):切在硬件利用率上,用矩阵乘法换外积,让GPU在推理时多干活不摸鱼。
这三刀,一刀砍数学近似误差,一刀砍模型表达能力瓶颈,一刀砍硬件利用率。
合起来,就是Mamba-3。
Transformer的统治已经快九年了。
Mamba-3用数据告诉你:固定大小的状态,也能做到跟无限KV缓存一样聪明;推理优先的设计,能让硬件利用率翻倍;线性模型,也能解需要“旋转”的逻辑题。
你的下一个项目,会用Transformer还是Mamba?
代码已经开源,论文挂在arXiv上,自己去跑跑看。
【deepseek 锐评】:与其让GPU摸鱼,不如让它学点复变函数和矩阵乘法——Mamba-3的哲学很硬核:数学对了,硬件就不闲了。
参考链接:
https://venturebeat.com/technology/open-source-mamba-3-arrives-to-surpass-transformer-architecture-with-nearly