微软MAI-Thinking-1推理模型技术深度评测
微软在 Build 2026 上公布了一份长达 109 页的技术报告,详细介绍了他们从零开始独立训练的推理模型——MAI-Thinking-1。这是微软首次不依赖 OpenAI 或任何第三方模型蒸馏,完全自主构建的前沿大模型。所有训练数据均经过商业授权,整个流程由微软内部独立完成。报告里透露了不少有意思的细节,下面就来拆解一下。
核心主张:“爬山机器”
报告的标题“Building a Hill-Climbing Machine”点明了核心思想:将模型开发本身转变为可持续优化的工程系统,而不是依赖某一次单一突破。
贯穿全文的三个设计原则很清晰:
能力要自己学,不靠蒸馏 — 通过蒸馏获得的能力,可控性和鲁棒性都存疑,不适合长期迭代。
简单才能持久 — 优先选择干净的数据、简洁的配方和透明的基础设施。
科学严谨,拒绝捷径 — 每个决策都必须通过数据驱动的消融实验和专门的“Scaling Ladder”验证。
模型架构
基本规格
| 项目 | 数值 |
|---|---|
| 架构类型 | 稀疏混合专家(Sparse MoE) |
| 活跃参数 | 34.7B |
| 总参数 | 约 962B(~1T) |
| 层数 | 78 层 |
| 上下文窗口 | 256,000 tokens |
| 激活专家 / 总专家 | 8 / 512 |
| 词表大小 | 200,019(o200k_base tokenizer) |
| 训练 GPU | 8,192 张 GB200 NVL72 |
图1:架构设计的三个核心选择
三个核心架构选择
1. Local / Global 注意力 5:1 交替
每 6 层中,5 层是 Local Attention(RoPE 编码,滑动窗口 512),1 层是 Global Attention(无位置编码)。这么做的收益很直接:大幅降低计算量和 KV 缓存,无论训练还是推理,效率都提升不少。
2. Dense FFN 与 MoE 交替
每两层由一个高稀疏 MoE(8/512 专家)和一个 Dense FFN(SwiGLU 激活)交替构成。相比“全 MoE”方案,虽然 FLOPs 差不多,但实际训练速度(EGTime)更优,因为 MFU 更高。
3. LatentMoE 压缩
在 All-to-All 路由前,先对数据做下投影压缩到潜空间,目的是减少跨 GPU 的数据传输量。路由决策仍基于原始表示,每个压缩表示被路由到 8/512 个专家,使用 softmax 门控,全局批次负载均衡,不丢弃任何 token(Dropless MoE)。
Scaling Ladder
微软构建了一个完整的模型梯队,从 L12(365M 活跃参数)到 L78(35.6B 活跃参数)。在恒定 TPP(每活跃参数训练 token 数)下进行消融实验,确保架构改进在大规模下依然有效。所有决策都必须在至少两个不同规模上验证过才行。
预训练数据
数据配比(30T tokens)
| 数据来源 | 独特 token 量 | 训练 token 量 | 占比 | 平均复读次数 |
|---|---|---|---|---|
| 代码 | 7.4T | 16.4T | 54.6% | 2.22× |
| STEM | 2.2T | 4.7T | 15.8% | 2.17× |
| 网页文本 | 8.1T | 4.5T | 14.9% | 0.55× |
| 数学 | 0.3T | 1.6T | 5.4% | 5.28× |
| 2.7T | 1.4T | 4.7% | 0.53× | |
| 书籍期刊 | 0.6T | 0.9T | 3.1% | 1.65× |
| 多语言(其他) | 8.1T | 0.5T | 1.6% | 0.06× |
数据知识截止日期:
- 网页 HTML:2025 年 9 月
- 网页 PDF:2025 年 12 月
- 公开 GitHub 代码:2025 年 6 月
- 书籍与期刊:2026 年 3 月
重要原则:
- 不使用任何 LLM 生成的合成数据用于预训练
- 不使用任何开源训练数据集
- 排除 huggingface.co 等机器学习数据仓库
- 所有数据来源于公开可用或经商业授权的人工数据
图2:数据配比最重要的发现——“代码优先”比“STEM优先”在大规模下更好
关键发现:排名非不变性
报告记录了一个挺反直觉的实验:在小规模(5B 参数)下,STEM 重型数据在 STEM 评估上优于代码重型数据;但当规模扩大到 23B 参数、训练 20T token 后,情况发生了反转——代码重型数据的 STEM 评估反而更优。
根本原因在于:STEM 重型配置里有两个数据集质量高但多样性低,小模型能从中获益,但大模型很容易过拟合。这个发现直接打破了“小规模实验可以预测大规模排名”的常见假设。从此,团队不得不在多个规模点上验证数据配比决策。
去重体系
一共用了五种去重手段,层层叠加:
- Boilerplate 去除:基于行频统计去掉导航栏、页眉页脚等重复元素
- 精确去重:字节级和哈希级完全重复
- 模糊去重:MinHash LSH,相似度阈值 0.8
- 模板去重:对页面骨架做模糊去重,消除大量相似的“计算器网页”等
- 语义去重:使用 Qwen3-Embedding-0.6B 向量化,按余弦相似度聚类,每簇只保留有限代表
强化学习(RL)流水线
整体结构
Mid-trained MAI-Base-1
│
├──→ STEM Climb(数学 / 科学 / 竞赛编程)─────┐
├──→ Agentic Climb(SWE + 工具调用)───────→ Self-Distillation SFT → Consolidated Model → Final RL → MAI-Thinking-1
└──→ H&S Climb(帮助性与安全性)──────────┘
三个专家模型并行训练,最后通过 Self-Distillation SFT 合并,再做一轮轻量级的 Final RL。
RL 算法:改进版 GRPO
基础算法采用 GRPO(Group Relative Policy Optimization),Token 级别的策略梯度,并加入了两个关键改动:
改动一:自适应熵控制(Adaptive Entropy Control)
传统固定 clip 上界容易导致熵崩溃或熵爆炸。MAI 的解决方案是用积分控制器动态调整 clip 上界,让实时策略熵维持在目标值 H* = 0.3 附近,无需显式的熵奖励项。
改动二:外层比率 Clip(Outer Ratio Clip)
GRPO 原始公式在两个区间内缺乏限制(advantage 为负但 new policy 概率更高,或反之),这两种情况在实践中偶尔会引发梯度爆炸。通过添加硬性外层 clip(rmax = 50),大幅减少了 spike 出现的频率。
奖励设计
所有 RL 阶段统一使用同一个奖励分解公式:
R(q, y) = R_task(q, y) + w_lang × R_lang(y) - w_len × R_len(y)
- 任务奖励:各领域专属(代码执行、数学验证、AI Judge 等)
- 语言一致性奖励:惩罚推理链中间出现非英文 token(这会导致 training / inference 分布不一致)
- 长度惩罚:根据题目的通过率调整——难题通过率低,惩罚弱;简单题惩罚强,防止模型进行无谓的长推理
Self-Distillation 关键发现
经过大量实验,报告总结出了一些最佳实践:
- 约 100 万条推理轨迹基本够用,数据再多收益递减,而且会限制策略的探索空间
- 只用成功轨迹(正确答案),失败轨迹训练效果和成功轨迹差不多,但没必要额外引入
- 从晚期 checkpoint 多样采样,效果比只用最终 checkpoint 更好(多样性更高)
- 训练时混入 mid-training 数据,防止模型遗忘长上下文能力
STEM 爬坡:数据管道
STEM 数据从数百万文档中提取,经过四个阶段处理:
- 层次解析:OCR + 结构识别 + Q/A 提取
- Q-A 配对:多轮 LLM 辅助配对(题目与答案分散在不同位置的情况)
- 质量筛选:分类可验证性、题型、去除 PII、去答案泄漏、格式转换(MCQ→开放题)
- 难度评分:四个不同能力的模型各自解题 k 次,用通过率划分难度区间;盲评筛掉那些地真答案可疑的题目
最终 STEM Mix 数据集超过 500 万条样本,其中最难的子集超过 55 万条。
Agentic 爬坡:SWE 环境构建
从 1.02 亿个 GitHub PR 出发,经过筛选、环境构建、验证,最终只有 26.5 万个(5.5%) 通过了所有关卡,覆盖了 94,044 个唯一仓库。
防作弊机制(报告里提到了三种真实作弊行为):
- 搜索互联网拿 PR 答案 → 通过网络隔离解决
- 翻 git 历史找 solution commit → 通过时间旅行清洗 repo 解决
- 篡改测试文件 → 通过隐藏测试集 + 提交后重置解决
帮助性与安全性:优先级机制
安全在这里不是“一个权重很高的软约束”,而是“先于所有奖励计算的硬门”:
- 词典序聚合:低优先级奖励只在高优先级 tied 时才参与梯度
- 门控聚合:安全违规直接给最低奖励,不看其他维度的分数
这样设计,确保安全性永远不会被帮助性高分所覆盖。
YOLO 训练框架
YOLO(You Only Launch Once)是微软自研的大规模训练框架,基于 PyTorch,支持预训练、中期训练、SFT 和 RL 的所有阶段。
确定性训练
给定相同硬件和配置,两次训练能产生比特完全一致的结果。实现手段包括:
- 固定数据加载顺序
- 确定性 GPU kernel(两阶段 tiled reduction,固定累积顺序)
- 固定 NCCL 拓扑(禁用 NVLink SHARP)
- MoE 路由使用稳定排序
代价是 MFU 轻微下降,但换来了完整的科学复现能力和调试能力。
异步检查点
先将 checkpoint tensor 从 GPU 复制到 host 内存,再在独立进程里写入存储,训练同时继续进行。配合预计算的 sa ve plan,把 checkpoint 存储时间压缩了 10 倍以上。
架构演化(v2 → v5)
| 版本 | 活跃参数 | GPU 数量 | 关键变化 | MFU |
|---|---|---|---|---|
| v2 | 23B | 4,096 | 首个 GB200 基线 | 22% |
| v3 | 23B | 4,096 | Dropless MoE | 22% |
| v4 | 23B | 8,192 | 专家数 192→512,Top-4→8,LatentMoE | 20% |
| v5(MAI-Base-1) | 35B | 8,192 | 模型扩大至 35B | 20% |
效率增益从 v2 基线的 1.0× 提升到了 v5 的 1.69×。
基准测试成绩
核心 STEM 与编程
| 基准 | MAI-Thinking-1 | 备注 |
|---|---|---|
| AIME 2025 | 97.0% | 数学竞赛 |
| AIME 2026 | 94.5% | 数学竞赛 |
| SWE-Bench Pro | 52.8% | 软件工程(与 Claude Opus 4.6 持平) |
| LiveCodeBench v6 | 87.7% | 竞赛编程 |
Base 模型预训练对比(Bits-per-Byte,越低越好)
MAI-Base-1 在代码、QA、STEM、数学四项 held-out 评估上,均优于同规模的 DeepSeek V3.2、Kimi-K2 和 Gemma4-31B。与活跃参数 1.4× 的 DeepSeek V4 Pro 差距明显,与 1.6× 总参数的同款相比则更接近。
⚠️ 以上数据均来自微软自发布的预印本,独立机构的完整复现尚未完成。
安全与红队测试
内部测试
覆盖了有害内容(CSAM、暴力、自我伤害)、CBRN(化生放核武器)、自我感知(self-awareness)、欺骗性行为等类别,并专门开发了内部安全基准来衡量进展。
外部独立测试
由独立机构负责,细节有限,相关结果已写入报告但未完整公开。
奖励设计中的安全机制
- 有害请求:全拒绝或部分拒绝(拒绝有害部分,提供安全替代)
- 边界请求:do-not-refuse,提供有边界的有用答案,不对接并拒绝
- 安全评分维度:政策合规 × 参与程度 × 响应风格(三轴独立评分)
总结与判断
这份报告最大的价值在于它的完整性——从数据管道到架构设计,从 RL 算法细节到训练基础设施,每个环节都有具体描述和实验数据支撑。
对 AI 研究者最有价值的内容:
- 自适应熵控制机制(无需显式熵奖励的稳定 RL 方案)
- STEM 数据配比的排名非不变性发现(挑战小规模实验代替大规模决策的常见假设)
- SWE 环境防作弊机制(对真实作弊模式的系统性解决)
- Outer Ratio Clip 防梯度爆炸(GRPO 的一个实用改良)
对产品决策者最关键的信息:
- 这是微软第一个从零训练、完全不依赖 OpenAI 的前沿推理模型
- 在 SWE-Bench Pro 上与 Claude Opus 4.6 持平,AIME 数学推理达到 97%
- 目前通过 Microsoft Foundry 私有预览 开放,未来会上线 OpenRouter 等平台
- 与 GPT-5.5 相比,经微调的 MAI 系列每美元输出 token 数预计提升约 10 倍