MiniMax 模型迭代与竞品分析:从 Text-01、M1、M2 到 M3

1. 从 Text-01 到 M3

MiniMax 的模型路线:Attention 从 Lightning–Softmax 混合结构转向 Full GQA,再转向 MSA;能力定位则从超长上下文和长思维,逐渐扩展到 Coding、Agent 和原生多模态。

版本 参数规模 Attention Context 主要定位
MiniMax-Text-01 456B / 45.9B activated 7 个 Lightning blocks 后接 1 个 Softmax block 训练 1M,推理外推至 4M 高效超长上下文
MiniMax-M1 456B / 45.9B activated 延续 Text-01 的混合结构 1M input,最高 80K thinking budget 长思维与大规模 RL
MiniMax-M2/M2.7 229.9B / 9.8B activated Full Attention + GQA 192K Coding、Agent、工具调用
MiniMax-M3 约 428B / 23B activated 前三层保留非稀疏 Attention,后续采用 MSA 1,048,576 1M、Coding、Agent、图片与视频理解

Text-01 共有 80 层,使用 7:1 的 Lightning Attention 与 Softmax Attention 排列。M1 建立在 Text-01 上,并继续预训练 7.5T tokens,再通过大规模 RL 扩展 reasoning length。论文给出的理论估算中,生成 100K tokens 时,M1 的 Attention FLOPs 约为 DeepSeek-R1 的 25%。

MiniMax-M1 的能力与理论推理 FLOPs

M2 没有继续沿用这套混合结构。M2 论文认为,线性或局部 Attention 在生产级 reasoning、coding 和 agent workloads 上没有稳定匹配 Full Attention,长上下文差距尤其明显;相关算子和并行基础设施也不如 Full Attention 成熟。因此 M2 缩小单 token 激活规模,同时回到 Full GQA,把重点放到 SFT、长程 RL、Forge 和 Self-Evolution。训练系统部分此前已经在《MiniMax-M2 Series:Pretraining、SFT、RL 与训练外层循环》中讨论。

MiniMax-M2、M2.5 与 M2.7 的能力进展

到了 M3,1M Context、图片/视频输入和长程 Agent 又把 Attention 成本推到主要瓶颈。MiniMax 没有回到 Lightning Attention,而是选择保留精确 Softmax 的 MSA:先从完整上下文召回少量候选 block,再在候选中执行主 Attention。

2. 从 Lightning Attention 到 MSA

三代 Attention 的差别,可以先压缩成一个问题:模型怎样组织和查找历史信息?

对第 $t$ 个 token,Attention 根据 hidden state $h_t$ 生成 Q、K、V:

\[ q_t=h_tW_Q,\qquad k_t=h_tW_K,\qquad v_t=h_tW_V. \]

$W_Q/W_K/W_V$ 在推理期间固定,但每个 token 的 $h_t$ 不同,所以得到的 Q/K/V 也不同。当前 query 表示“现在要找什么”,历史 key 表示“过去各位置包含什么线索”,value 则是命中后需要取回的信息。历史 K/V 会进入 KV Cache,供后续 query 使用;历史 query 完成当时的查询后通常不再缓存。

在这个共同基础上,三条路线的区别是:

路线 怎样处理历史信息 优点 主要代价
Lightning Attention 把历史 K/V 聚合进可递推状态 长输入和长输出成本较低 历史被压缩,改变了精确检索方式
Full GQA 当前 query 与所有历史 keys 比较,再执行 Softmax 精确、长程质量稳定 序列级计算约为 $O(N^2)$
MSA Indexer 全局召回少量 blocks,再执行精确 Softmax 保留 Softmax,同时降低主 Attention 成本 依赖 Indexer 召回质量

Full Attention 在单个 head 上可以写成

\[ \begin{aligned} s_{ti}&=\frac{q_t^\mathsf Tk_i}{\sqrt{d_k}},\\ \alpha_{ti}&=\frac{\exp(s_{ti})}{\sum_{j\le t}\exp(s_{tj})},\\ o_t&=\sum_{i\le t}\alpha_{ti}v_i. \end{aligned} \]

其中 $s_{ti}$ 是 query $t$ 与 key $i$ 的分数,$\alpha_{ti}$ 是 Softmax 后的权重。GQA 只改变多个 query heads 如何共享 K/V heads,单个 head 内部仍是这个 Softmax Attention。

Text-01/M1 选择 Lightning Attention 路线。Linear Attention 把 Softmax 相似度换成可分解的 kernel:

\[ \begin{aligned} \operatorname{sim}(q,k)&=\phi(q)^\mathsf T\phi(k),\\ o_t &=\frac{\sum_{i\le t}\phi(q_t)^\mathsf T\phi(k_i)v_i} {\sum_{i\le t}\phi(q_t)^\mathsf T\phi(k_i)}\\ &=\frac{\phi(q_t)^\mathsf T \left(\sum_{i\le t}\phi(k_i)v_i^\mathsf T\right)} {\phi(q_t)^\mathsf T \left(\sum_{i\le t}\phi(k_i)\right)}. \end{aligned} \]

关键在于,$\phi(q_t)$ 可以被提到历史求和之外。把两个历史求和记为 $S_t$ 和 $z_t$,就能随 token 递推:

\[ \begin{aligned} S_t&=S_{t-1}+\phi(k_t)v_t^\mathsf T,\\ z_t&=z_{t-1}+\phi(k_t),\\ o_t&=\frac{\phi(q_t)^\mathsf TS_t}{\phi(q_t)^\mathsf Tz_t}. \end{aligned} \]

其中 $S_t$ 保存“带 value 的历史信息”,$z_t=\sum_{i\le t}\phi(k_i)$ 保存“历史权重总量”,用来归一化输出,避免累积结果随序列变长而不断放大。

Full Attention 需要让 query 与全部历史 keys 计算分数并执行 Softmax,Linear/Lightning Attention 则可以直接查询累积状态 $S_t$ 和 $z_t$,不再进行 Softmax。这个求和重排将序列级复杂度从随长度二次增长降为线性增长。

M2 则回到 Full GQA 路线,用更高的 Attention 成本换取 Coding 和 Agent 场景中的长程质量。

M3 选择的 MSA 不是重新采用 Lightning Attention,而是保留 Softmax,但先缩小参与 Softmax 的候选范围。

MiniMax Sparse Attention 架构

MSA 可以被理解成 Attention 内部的检索系统:Indexer 面向完整历史做廉价召回,Main Branch 面向少量候选做精确 Softmax。它比线性 Attention 更接近 Full Attention 的计算语义,也把新的风险集中到了 Indexer recall。

MSA 的推理过程可以拆成四步:

  1. 全局打分。 Index Branch 为每个 GQA group 生成轻量 $Q_{\mathrm{idx}}$,并用共享的 $K_{\mathrm{idx}}$ 扫描完整 causal context。
  2. 从 token 汇总到 block。 每 128 tokens 组成一个 KV block,Indexer 对 block 内的 token scores 做 max pooling。只要其中存在一个高相关 token,整个 block 就有机会被召回。
  3. 选择候选。 每个 query、每个 GQA group 选择 16 个 blocks;当前 local block 被强制包含在这 16 个之中,而不是额外增加第 17 个。
  4. 精确计算。 Main Branch 只在候选 blocks 内执行标准 Softmax Attention,最多处理
\[ 16\times128=2048\ \text{tokens}. \]

因此,MSA 不是完全不看完整历史。Indexer 仍然进行一次轻量全局扫描,真正被限制在 2048 tokens 内的是昂贵的 Main Branch。

推理过程解释了怎样选 block,接下来的问题是 Indexer 怎样学会选择。训练时,Main Branch 在候选 blocks 上形成 group-averaged 重要性分布 $P$,Indexer 产生预测分布 $Q$,两者通过 KL loss 对齐:

\[ D_{KL}(P\parallel Q)=\sum_iP_i\log\frac{P_i}{Q_i}. \]

这里 $P$ 是老师、$Q$ 是学生。Main Branch target 使用 stop-gradient,使辅助 loss 主要更新 Index Branch;训练早期还会短暂使用 Full-Attention warmup,避免随机选择导致不稳定。推理阶段不再计算 KL loss,只保留打分、Top-K 和 Sparse Attention。

MSA 论文使用一个 109B total、6B activated 的 MoE 模型进行受控实验,训练预算为 3T tokens。128K 上 MSA-CPT 与 Full GQA 的差距很小:

128K evaluation Full Attention MSA-CPT 差值
HELMET Overall 46.53 45.93 -0.60
RULER Overall 72.00 72.12 +0.12

MSA 与 GQA 在长上下文下的效率对比

这组数字来自受控模型与匹配 GQA baseline。M3 模型卡另给出相对 M2 的产品口径:1M 下 per-token compute 约为 1/20、Prefill 约 9×、Decode 约 15×。两组实验的模型、baseline 和实现不同,不能把其中最大的数字拼成同一组 M3 加速结果。

MSA 的核心风险也由此变得清楚:如果 Indexer 漏掉关键 block,Main Branch 再强也无法读取它。因此评估 MSA 不能只看速度,还需要观察 Selection Recall 和被召回的 Attention score 覆盖率。

3. 原生多模态 + 1M Context

“原生多模态”最容易被误解的地方,是把 native 理解为“所有模态使用完全相同的底层网络”。它在这里主要描述训练起点:MiniMax 称 M3 从 Step 0 开始 mixed-modality training,文本、图片和视频交错数据从预训练初期就共同参与学习,而不是在一个训练完成的纯文本模型上后挂视觉能力。

这不意味着 M3 没有独立的视觉模块。其 Hugging Face config 中包含 vision encoder,视觉表示经过投影后进入 6,144 维的文本主干;主干共 60 层、64 个 query heads 和 4 个 KV heads。sparse_attention_freq 的前三项为 0、之后为 1,表明前几层保留非稀疏 Attention,后续层才使用 MSA。因此,“独立 vision encoder”和“原生多模态训练”并不矛盾。

1M Context 则是这套多模态能力的容器。一条长任务可以同时包含论文正文、曲线图、代码、运行日志、网页截图和视频帧;视觉输入会进一步拉长 token 序列。MSA 负责控制这条长序列的 Attention 成本,原生多模态则决定序列中哪些信息可以被联合理解。两者关系紧密,但解决的不是同一个问题。

还需要限定“多模态”的范围。M3 主要接收文本、图片和视频,输出仍以文本、代码和工具操作为主,并不是一个 any-to-any 生成模型。MiniMax 的 Hailuo、Speech 和 Music 属于另外的视频、语音和音乐生成模型线,不能把这些产品的输出能力全部算到 M3 这一个 checkpoint 上。

4. 竞品路线

M3 的竞品需要分成三个层面:Context 解决长序列容量,Coding/Agent 解决长程任务,Multimodality 解决单个 checkpoint 能直接理解哪些输入。

模型版本 访问方式 / Context 模型输入 → 输出 官方重点
MiniMax M3 开放权重 + API;1,048,576 文本/图片/视频 → 文本 Coding、Agent、原生多模态
Kimi K3 开放权重 + API;1M 文本/图片/视频 → 文本 长程 Coding、知识工作、Agent、原生多模态
GLM-5.2 开放权重(MIT)+ API;1M 文本 → 文本 长程任务、项目级工程与 Coding Agent
Qwen3.7-Max 托管 API,未开放权重;1,000,000 文本 → 文本 Coding、工作流自动化、长程 Agent
DeepSeek V4-Pro 开放权重(MIT)+ API;1M 文本 → 文本 推理、Coding、Agent
Gemini 3.1 Pro 托管 API(Preview);1,048,576 文本/图片/音频/视频 → 文本 跨模态推理、SWE、Agent
GPT-5.5 托管 API,未开放权重;1,050,000 文本/图片 → 文本 Coding、专业工作、工具调用
Claude Opus 4.7 托管 API,未开放权重;1M 文本/图片/PDF → 文本 软件工程、长时间 Agent、视觉理解

按这个口径,Kimi K3 是 M3 最直接的开放权重竞品:两者都把 1M、长程 Coding/Agent 和图片/视频理解放进同一个模型。
GLM-5.2 和 DeepSeek V4-Pro 同样开放权重并支持 1M,其公开 model card 和接口均为文本生成。
Qwen3.7-Max 当前版本也是纯文本模型:官方 Qwen Studio 模型说明 明确标注“目前不支持视觉功能”和“模态:文本”,Model Studio API 文档也将其定义为 pure-text-only interface。Qwen 产品中的图片/视频理解由 Qwen3.7-Plus 等多模态模型提供。
Gemini 3.1 Pro 的输入模态最广,GPT-5.5 和 Claude Opus 4.7 则与 M3 重叠于图文、长上下文和 Agent,三者都没有开放权重。

MiniMax M3 官方 benchmark overview

独立评测呈现的是更混合的结果。Artificial Analysis Long Context Reasoning 主要覆盖约 10K–100K 上下文,M3 接近 Kimi K3;Terminal-Bench 2.1 中,M3 则落后于 Kimi、GLM 和 Qwen:

模型 AA-LCR Terminal-Bench 2.1
Kimi K3 74.7 85.0
MiniMax M3 74.0 65.2
GLM-5.2 71.3 77.9
Qwen3.7-Max 69.0 74.5
DeepSeek V4-Pro 66.3 64.0

5. 总结

MiniMax 的迭代不是一条简单的参数扩张曲线。

Text-01 / M1:用 Lightning Attention 降低超长输入与长输出成本
        ↓
M2 / M2.7:回到 Full GQA,优先保证 Coding 与 Agent 的长程质量
        ↓
M3:用 Indexer + Block-Sparse Softmax 重新扩展到 1M,并加入原生多模态

M3 的区别不在于“只有它能看图”,而在于把 1M Context、Coding Agent、图片/视频理解和开放权重放进同一个模型。Kimi K3 已经形成几乎同口径的直接竞争;Gemini 3.1 Pro 的原生输入模态更广,但它与 GPT-5.5、Claude Opus 4.7 都未开放权重;GLM-5.2、DeepSeek V4-Pro 和 Qwen3.7-Max 当前公开接口的重叠面,则主要是长上下文与 Agent。