MAI-Thinking-1: Building a Hill-Climbing Machine

发表时间: 2026-06 · Tech report by Microsoft AI (microsoft.ai)

文章标题:MAI-Thinking-1:构建一台爬山机
作者/机构:The Microsoft AI Team

A1 主要贡献(总结)

本文介绍了由微软人工智能(MAI)从零开始开发的强大推理模型 MAI-Thinking-1,该模型在STEM推理和编码任务上与同等规模的模型相比具有竞争力。该模型的开发遵循一种“爬山机”的系统级优化理念,旨在持续改进模型性能。其核心贡献和特点如下:

  1. 核心开发理念:爬山机(Hill-Climbing Machine)

    • 研究目标:将模型开发视为一个系统级的优化问题,其解决方案是构建一个能够实现快速、持续改进的“爬山机”。这台机器整合了数据管道、训练基础设施、强化学习环境与奖励、评估套件和安全测试,形成一个针对特定领域的经验性优化闭环。
    • 三大设计原则
      1. 能力应通过学习获得,而非继承:模型不使用来自第三方模型的蒸馏数据,以确保其可控性和长期稳健的性能提升,避免通过模仿快速获得但基础不牢的能力。
      2. 简单性是可持续的:偏好简单、可扩展的方案、干净可信的数据和透明的基础设施,这些共同支持从零开始的持续改进。
      3. 科学严谨性避免捷径:所有决策都必须通过数据驱动的“阶梯”(ladders)、消融实验和评估进行验证,以找到通往性能顶峰的可靠路径。
  2. 预训练阶段的创新与特点

    • 数据策略:模型在30万亿(30T)个词元上进行预训练,数据完全由内部从公开可用和授权的人类生成数据中提取和处理,涵盖网页、GitHub代码、书籍、学术论文等。关键在于,预训练不使用任何语言模型生成的合成数据,并努力清除数据源中的AI生成内容。中期训练阶段进一步加强了STEM、数学和编码能力。
    • 架构与规模:MAI-Thinking-1是一个拥有350亿(35B)激活参数和1万亿(1T)总参数的稀疏混合专家(MoE)模型,最终实现了256K的上下文长度。
    • 评估方法:开发了一套以负对数似然(NLL)为核心的内部评估基准,用于在预训练阶段指导架构和数据决策,认为NLL比准确率更能提供高信噪比的开发反馈。
  3. 强化学习(RL)阶段的强大攀升

    • 从零开始的推理学习:RL阶段从一个没有接触过任何推理轨迹的基础模型开始,完全从零学习推理、使用工具和遵循人类偏好。
    • 稳健的RL配方:通过对GRPO算法的改进(自适应熵控制和外部比率裁剪)、自蒸馏技术以及优化的基础设施,实现了数千步的持续对数线性性能提升(如图1所示)。
    • 领域专家模型:为实现并行开发,训练了三个领域专家模型:一个用于STEM推理,一个用于智能体编码和工具使用,一个用于通用帮助性和安全性。这些专家模型最终被整合成单一的MAI-Thinking-1模型。


    图1. MAI-Thinking-1强化学习期间的性能。STEM攀升(左和中):在以STEM为重点的攀升过程中,对AIME 25和LiveCodeBench v6的困难子集(1月25日之后)进行评估的性能。两条曲线都显示了3个相邻检查点的pass@1平均值。智能体攀升(右):在以代码为重点的智能体攀升过程中,在SWEBench Verified上的Pass@1性能。

  4. 卓越的性能与安全性

    • 基准测试表现:MAI-Thinking-1在多个高难度基准测试中表现出色,例如在SWE-Bench Pro上达到52.8%,在AIME 2025上达到97.0%,在LiveCodeBench v6上达到87.7%,与Sonnet 4.6在广泛的基准测试中具有竞争力。
    • 安全性与实用性的平衡:开发过程中的一个关键技术挑战是在安全性(要求模型拒绝不当请求)和实用性(要求模型遵从请求)之间取得平衡。通过开发内部安全基准和在RL攀升中整合安全训练,模型能够在遵守安全策略的同时提供有用的响应。

MAI-Thinking-1是使用这台“爬山机”开发出的第一个模型,验证了这一系统化、科学驱动的AI开发方法论的有效性,为从头开始构建以人类需求为中心的基础模型提供了宝贵的经验。

A3 背景知识/关键Observation/设计原则(缩写)

2.2 模型消融方法论

** principled and reproducible manner: scaling ladders and efficiency gains.** 我们现在描述用于评估预训练中不同架构和数据相关设计选择的实验设置。一个关键的考虑因素是规模的作用:模型创新或新数据集的表面优势通常会随着计算预算的增加而减弱。因此,在对我们的基线进行更改之前,我们必须在不同规模上收集足够的支撑证据。在以下小节中,我们介绍了使我们能够以有原则和可复现的方式执行此过程的主要组成部分:扩展阶梯(scaling ladders)和效率增益(efficiency gains)。

2.2.1 扩展阶梯

扩展阶梯用于系统性地进行消融实验。 所有的消融实验都以扩展属性为核心焦点。为实现这一点,我们利用一个扩展阶梯:对于任何消融实验,我们在恒定的每(激活)参数词元数(TPP)下训练不同规模的模型,并将其扩展曲线与我们的基线进行比较。使用的TPP取决于实验的性质。例如,大多数架构消融实验在接近Chinchilla最优区域【45, Training compute-optimal large language models by Jordan Hoffmann et al., 2022, arXiv】的100-200 TPP下进行,而我们的主运行通常在更高的500-1000 TPP下进行过训练,以产生一个相对更紧凑、适合重度推理需求的模型。消融实验使用最新的阶梯进行,被接受的更改成为下一个基线阶梯配置的一部分,然后过程重复。

模型配置由层数L唯一确定。 对于我们在2.1节中描述的架构家族,一个模型配置完全由单个参数指定:层数L。对于我们使用的5:1的局部与全局注意力比例,L必须是6的倍数,以便最后一个注意力层应用全局注意力。隐藏大小D则由$D = L \times \frac{256}{3}$确定,以在整个阶梯上保持相同的宽高比。这种宽高比的选择与最近的一些模型相似【76, gpt-oss-120b & gpt-oss-20b model card by OpenAI, 2025; 64, Deepseek-v2: A strong, economical, and efficient mixture-of-experts language model by Aixin Liu et al., 2024; 37, Gemma 2: improving open language models at a practical size by Gemma Team, 2024】,并且在我们的设置中,由于L总是6的倍数,这导致D的值对硬件更友好。查询头的数量设置为L,并向上取整到最近的16的倍数,以便于使用张量并行进行服务。每个密集前馈层将隐藏维度扩展2倍。对于LatentMoE层,我们对LatentMoE使用2倍的压缩因子,并在每个专家内部将压缩表示扩展3倍。

MAI-Base-1的最终架构细节。 完整的扩展阶梯细节如表1所示。MAI-Base-1的最终架构有78层。虽然它基于阶梯中的L78,但我们略微修改了其专家输入大小以适应DeepEP【132, DeepEP: an efficient expert-parallel communication library by Chenggang Zhao et al., 2025a】,该库要求用于all-to-all集合通信的隐藏维度能被512整除。

2.2.2 效率增益

效率增益(EG)的定义与计算。 在我们的架构和扩展讨论中,效率增益(EG)衡量基线模型需要多高的训练成本才能达到给定候选模型所达到的评估指标【50, Scaling laws for neural language models by Jared Kaplan et al., 2020; 45, Training compute-optimal large language models by Jordan Hoffmann et al., 2022】。在大多数情况下,评估指标是使用我们的预训练评估套件(2.3节)定义的聚合评估损失。我们首先对基线阶梯拟合一个扩展定律,

其中C表示给定基础设施下的训练成本,如FLOPs或时间。A是控制可约减损失项整体幅度的扩展系数,$\alpha$是控制损失随计算量增加而下降速度的扩展指数,E是不可约减损失。对于一个以成本C'达到L'的候选运行,我们计算基线达到相同损失所需的成本预算为$f^{-1}(L')$,并将EG定义为

例如,EG = 1.3意味着基线模型需要高出30%的成本才能达到候选模型的损失【65, Muon is scalable for LLM training by Jingyuan Liu et al., 2025a; 27, BTLM-3B-8K: 7b parameter performance in a 3b parameter model by Nolan Dey et al., 2023】。我们进一步在不同的成本预算下进行消融实验,以获得一系列EG与成本的关系,这有助于我们找到随着规模增加而持续存在的改进。

EG的两种成本定义:FLOPs和时间。 我们最常使用FLOPs来定义成本C,这有意地不考虑训练中可以实现的wall-clock效率。成熟架构的实现通常已经积累了大量的性能优化,这可能使它们看起来比新的变体更强。通过将指标与FLOPs利用率(MFU)【22, PaLM: Scaling language modeling with pathways by Aakanksha Chowdhery et al., 2023】解耦,我们可以观察到,如果给予同等的优化努力,不同架构之间可能会如何竞争。然而,在某些我们确实关心现有硬件栈效率的情况下,我们使用时间定义上述成本C。在这些情况下,我们明确地将效率增益称为EGTime。

2.2.3 模型消融示例

通过EG比较进行日常消融实验。 我们在日常消融实验中广泛使用阶梯和EG比较。下面我们展示两组实验,演示了EGs在不同评估类别中可能如何变化,以及EGs如何扩展以反映与我们基础设施的协同设计因素。

示例1:稀疏性分配。 表2比较了我们的交错式高稀疏度MoE和密集FFN布局与更常见的每层使用中等稀疏度MoE的设计。实验在稀疏度受控的设置下进行,其中所有模型家族共享相似的总参数与激活参数比率;这是通过固定top-k(8,或使用共享专家的7+1【24, Deepseekmoe: Towards ultimate expert specialization in mixture-of-experts language models by Damai Dai et al., 2024; 85, Qwen2.5 technical report by Qwen, :, et al., 2025】)同时调整MoE-every-layer家族的专家扩展率和专家数量来实现的。我们报告了沿两个成本维度定义的两个版本的EG:FLOPs和训练时间,这些是在2.2.1节描述的L12–30阶梯模型上测量的。虽然MoE-every-layer结合共享专家在FLOPs上实现了1.03的EG,但一旦考虑到训练MFU,交错式范式提供了更好的权衡,如EGTime < 1所反映的。


图3. 随着模型家族稀疏度的增加,预训练效率增益(2.2.2节)在不同评估任务类别中的表现。结果通过为每个稀疏度级别训练一个模型阶梯(2.2.1节)获得。由于每个数据点都与扩展定律(公式1)进行比较,基线原始数据点的EG可能不完全为1。

示例2:稀疏性扩展。 一个可扩展的架构设计应该随着稀疏度的增加产生健康的改进。图3表明我们的架构家族具有此属性,随着我们将专家数量从256增加到1024(top-k=8,MoE稀疏度从32倍增加到128倍),显示出持续的效率增益。对于MAI-Base-1,我们选择了top-8/512的配置,以平衡模型质量与训练和推理效率,并将稀疏性扩展的进一步探索留给未来的工作。

2.3 评估方法论

使用内部NLL基准进行实验和进度跟踪。 我们使用一套专注于NLL任务的内部基准来进行实验和进度跟踪。这些基准来自不同来源:由供应商创建的完全从训练中排除的数据,网络上不存在的内部来源,以及我们小心地从训练数据中移除的网络来源。我们的基准示例如表3所列,我们将在2.3.2节讨论使用NLL评估基准的动机。我们将在2.7节报告预训练后的评估结果。

聚合评估指标的计算方法。 我们总共有近40个这样的基准,分为5个不同的类别:代码、STEM、数学2、通用知识和多语言。当我们需要将这些聚合成一个单一的数字用于直接的EG比较(2.2.2节)或模型排名时,我们使用以下公式:
目标 = 0.5×编码+0.175×STEM+0.175×数学+0.1×通用知识+0.05×多语言 (3)
这些明确的权重使我们能够将关于每组基准的相对优先级和重要性的决策编码下来。我们对代码和推理任务下游性能的关注反映在我们在预训练中为这些类别分配的较大权重上。

类别分数的计算与标准化。 为了计算公式3中的各个类别分数,我们首先使用一个固定的内部参考模型作为基线来标准化原始的NLL结果,然后对该类别中的所有基准取均匀平均值。所有评估的模型都使用相同的分词器,因此NLL值是直接可比的。请注意,我们选择将数学提升为自己的类别,而STEM则专注于科学、技术和工程。

2.3.1 公开评估数据去污染

公开基准在模型开发中的作用与挑战。 公开可用的评估基准对于指导我们许多模型的开发非常有帮助。随着近年来AI模型重要性的增长,评估数据集泄露到训练数据源中的情况也在增加。这在GitHub上尤其常见,许多AI研究人员和开发者在那里分享他们的工作。许多常见的评估以其原始形式发布在GitHub上【10, Program synthesis with large language models by Jacob Austin et al., 2021】,并且几乎每个基准都在那里被多次复制,通常带有解决方案、模型生成等。许多公开评估源自我们用于训练的一些在线资源,但经过了额外的策划过程(例如【112, Measuring short-form factuality in large language models by Jason Wei et al., 2024a; 43, Measuring massive multitask language understanding by Dan Hendrycks et al., 2020】)。随着我们训练集的规模和覆盖范围的增长,这种重叠的影响变得显著。与先前的工作类似【39, Gaperon: A peppered English-French generative language model suite by Nathan Godey et al., 2025】,我们在实验中观察到,这种污染可能导致反直觉的结果,例如,名义上旨在提高编码性能的数据也会导致长尾通用知识评估的改进。

数据去污染的方法与局限性。 我们使用了几种方法来检测和移除训练数据中泄露的评估样本。所有来自huggingface.co和镜像域的数据都被移除,并对我们所有的训练源应用了通用20-gram模糊去重,相似度阈值为80%。我们发现这些方法能准确地移除大量泄露的样本,但它们并不完美。

开发私有基准的必要性。 认识到这一点,我们为自己开发了私有基准,我们确信这些基准在网络的其他地方是找不到的。

2.3.2 准确率与NLL评估的比较

使用内部专有评估进行日常开发。 我们使用内部专有评估进行日常开发。这些评估由MAI团队成员策划,部分委托给聘请领域专家的数据供应商,其他则从全球微软组织的领域专家处收集。

预训练阶段侧重于NLL评分方法。 对于预训练,我们选择专注于使用NLL评分方法的评估,而不是多项选择、生成或其他形式。衡量模型能正确回答多少问题的评估对于跨模型比较和与人类基准比较很方便,但它们存在一些下面概述的操作挑战。

评估的效率和成本。 许多前沿基准需要思维链推理【88, GPQA: A graduate-level google-proof q&a benchmark by David Rein et al., 2023; 81, Humanity’s last exam by Long Phan et al., 2025】、工具使用或其他生成。这种自回归生成既昂贵又耗时。训练框架和配置通常没有为适合这些评估的快速自回归推理进行优化。使用更高效的推理框架可以加速这些评估,但会为架构变体引入额外的复杂性和支持。带有开放式或自然语言答案的评估通常需要使用一个评判模型,这会增加额外的成本。相比之下,NLL评估与预训练的基本下一词元预测目标相同,可以非常高效地运行。通过降低每次评估的时间和计算成本,我们可以运行更详尽的评估,并确保每个实验的一致性。

对混杂因素的敏感性。 评估可能对预训练模型行为中看似微小的变化高度敏感。例如,MMLU【43, Measuring massive multitask language understanding by Dan Hendrycks et al., 2020】、MMLU-Pro【113, MMLU-Pro: A more robust and challenging multi-task language understanding benchmark by Yubo Wang et al., 2024b】及相关基准【129, Mmmu: A massive multi-discipline multimodal understanding and reasoning benchmark for expert agi by Xiang Yue et al., 2024; 130, Mmmu-pro: A more robust multi-discipline multimodal understanding benchmark by Xiang Yue et al., 2025; 99, Beyond human data: Scaling self-training for problemsolving with language models by Aaditya Singh et al., 2025b】对于评估预训练知识很有价值,但它们的多项选择格式含蓄地假设模型已经获得了理解和回答多项选择题的能力——这种能力通常在预训练评估中达到惊人的大规模时才会出现【32, Understanding emergent abilities of language models from the loss perspective by Zhengxiao Du et al., 2024】。尽管这些任务有时使用基于A、B、C、D的logits的NLL评分方案进行评估,但许多问题需要的不仅仅是事实回忆,自由形式的生成通常是更忠实的评估协议。

格式不一致性对评估结果的影响。 同样,MATH【44, Measuring mathematical problem solving with the math dataset by Dan Hendrycks et al., 2021】要求严格遵守格式约定,例如将答案包裹在\boxed{}中,而MBPP【10, Program synthesis with large language models by Jacob Austin et al., 2021】则使模型面临共享提示中的Unix风格换行符(\n)与问题陈述中的Windows风格换行符(\r\n)之间的不一致。预训练数据中的微小格式差异,特别是当它们在不同来源之间变化时,会显著影响模型对此类不一致性的响应方式。我们在许多实验中观察到这种交互作用,这使得结果的解释变得复杂,并增加了新手和有经验的研究人员误解的可能性。

NLL评估的鲁棒性。 NLL评估对此类问题更具鲁棒性。在每个预测步骤,模型都以真实前缀为条件。这种教师强制(teacher-forcing)设置限制了微小错误累积的程度。我们的结论遵循了先前的工作,表明基于损失或困惑度的指标可以为具有格式选择的任务提供比其他任务更高信噪比的模型开发反馈【42, Signal and noise: A framework for reducing uncertainty in language model evaluation by David Heineman et al., 2025; 32, Understanding emergent abilities of language models from the loss perspective by Zhengxiao Du et al., 2024】。

构建高质量评估的复杂性。 构建一个高质量的问答评估需要大量且精心协调的努力。在评估达到可接受标准之前,通常需要多轮数据收集、难度校准、去重和质量控制,并且每个阶段都必须与领域专家密切合作。设计新颖的问题本身就是一个不小的挑战,尤其是在领域知识的前沿。

NLL评估的构建门槛较低。 相比之下,基于NLL的评估的入门门槛要低得多。任何与主题相关的内容都可以作为初始语料库,随后的改进——例如施加额外的结构、修剪为更具代表性的样本或整合更高级的材料——都直接转化为评估质量的增量收益。

A2 方法细节(缩写)

MAI-Thinking-1的基础模型,名为MAI-Base-1,是一个拥有350亿激活参数/1万亿总参数的稀疏混合专家(MoE)模型,它在Azure平台内一个由微软运营的集群上,使用内部自分布式训练基础设施(2.8节)从头开始在8K个GB200 GPU上进行预训练。我们的训练语料库完全由内部从公开可用和购买的数据源构建,不含任何蒸馏数据(2.4节)。我们从这个语料库中进行了30万亿词元的主预训练阶段,随后是总计3.55万亿词元的中期训练阶段(2.6节)。

我们在预训练中的目标是产生一个在广泛领域都有能力的基础模型,并且其能力是从人类知识中学习而来,而不是模仿现有AI模型的。我们建立了一个消融协议,通过测量沿一系列规模递增的预训练模型“阶梯”的效率增益(2.2节)来仔细检查我们模型决策的扩展特性。为了支持这些消融实验,我们开发了一套预训练指标(2.3节),包括覆盖广泛主题、任务和数据分布的留出负对数似然(NLL)评估。我们报告了MAI-Base-1和同期基础模型的性能,以说明这些评估在未经后训练的模型上的使用(2.7节)。


图2. MAI-Base-1架构概览。左图:Transformer主体的整体布局,我们将高稀疏度的MoE层与小型密集FFN交错,并将全局注意力与局部注意力交错。右图:MoE层,其中在压缩的潜在空间中,每个词元会激活512个专家中的8个。

2.1 模型架构

MAI-Base-1的架构设计原则。 MAI-Base-1的模型架构旨在利用我们基础设施和硬件上的规模优势。我们使用一个仅解码器的Transformer【107, Attention is all you need by Ashish Vaswani et al., 2017, Advances in Neural Information Processing Systems】,带有周期性的局部和全局注意力层以及交替的密集和MoE前馈模块。架构的高层概览如图2所示。在每一层中,我们在残差连接之前,立即在输入和输出处都使用了RMSNorm【133, Root mean square layer normalization by Biao Zhang and Rico Sennrich, 2019, arXiv】(类似于【38, Gemma 3 technical report by Gemma Team et al., 2025】)。我们在模型中不使用任何偏置,并且输入和输出的嵌入权重是绑定的。虽然我们观察到自研的分词器在模型性能上有一些提升,但我们选择了o200k_base分词器,其词汇量为200,019【75, tiktoken: A fast bpe tokeniser for use with openai’s models by OpenAI, 2022; 47, Gpt-4o system card by Aaron Hurst et al., 2024】,以简化与现有内部工具和工作流的集成。我们架构设计的一个关键考虑是与底层GPU基础设施的协同优化,以确保预训练和强化学习(RL)的高效扩展。

注意力机制的设计。 我们遵循Gemma 3【38, Gemma 3 technical report by Gemma Team et al., 2025】的周期性注意力设计,将5个局部注意力层【16, Longformer: The long-document transformer by Iz Beltagy, Matthew E. Peters, and Arman Cohan, 2020】与1个全局注意力层配对,这显著降低了训练中注意力的计算成本和推理时KV缓存的大小。局部注意力层使用旋转位置编码(RoPE)【103, Roformer: Enhanced transformer with rotary position embedding by Jianlin Su et al., 2023】 ,滑动窗口大小为512,基频为10,000。全局注意力层不使用任何位置编码【51, The impact of positional encoding on length generalization in transformers by Amirhossein Kazemnejad et al., 2023】,其性能与RoPE相当,但效率更高。我们使用带8个KV头的分组查询注意力(GQA)【4, GQA: Training generalized multi-query transformer models from multi-head checkpoints by Joshua Ainslie et al., 2023】,每个头的维度为128。我们对查询和键应用RMSNorms【26, Scaling vision transformers to 22 billion parameters by Mostafa Dehghani et al., 2023; 120, Small-scale proxies for large-scale transformer training instabilities by Mitchell Wortsman et al., 2023】。这些标准组件的使用使我们能够利用FlashAttention-4【131, Flashattention4: Algorithm and kernel pipelining co-design for asymmetric hardware scaling by Ted Zadouri et al., 2026】和Ulysses风格的上下文并行【48, DeepSpeed Ulysses: System optimizations for enabling training of extreme long sequence transformer models by Sam Ade Jacobs et al., 2023】来高效地训练长上下文。

前馈网络与MoE层的交错布局。 对于每个块中的前馈层,我们在MoE层和密集前馈网络(FFN)之间交替。我们发现,这种将高稀疏度层与零稀疏度(密集)层配对的范式,在iso-active和iso-total模型参数设置下,与平衡稀疏度分配(即,全程使用中等稀疏度MoE)相比,其扩展性相当,但在wall-clock时间上更高效(2.2.3节)。我们还发现,每层都是MoE的布局更严重地依赖于共享专家,而向交错布局中添加共享专家几乎没有或没有好处。我们的第一个前馈层是密集的【29, Deepseek-v3 technical report by DeepSeek-AI et al., 2025a; 52, Kimi K2: Open agentic intelligence by Kimi Team et al., 2026; 24, Deepseekmoe: Towards ultimate expert specialization in mixture-of-experts language models by Damai Dai et al., 2024】,并且我们对密集和MoE前馈层都使用了SwiGLU【95, Glu variants improve transformer by Noam Shazeer, 2020】。

LatentMoE设计。 我们采用了LatentMoE设计【74, NVIDIA Nemotron 3: Efficient and open intelligence by NVIDIA, :, et al., 2025】,在all-to-all分发之前应用一个共享的下投影。潜在表示在all-to-all合并后被投影回其原始维度。重要的是,路由决策基于原始表示,并且每个压缩表示通过softmax门控被路由到512个专家中的8个。

全局批量负载均衡。 我们使用全局批量负载均衡损失【86, Demons in the detail: On implementing load balancing loss for training specialized mixture-of-expert models by Zihan Qiu et al., 2025; 124, Qwen3 technical report by An Yang et al., 2025】,其中经验性的专家频率是通过在同一全局批次内的数据并行工作器和微批次上聚合得到的。我们发现聚合策略比负载均衡损失类型重要得多。我们使用的GShard风格损失【60, GShard: Scaling giant models with conditional computation and automatic sharding by Dmitry Lepikhin et al., 2020】在确保全局聚合的情况下,与无损失变体【111, Auxiliary-loss-free load balancing strategy for mixture-of-experts by Lean Wang et al., 2024a】表现相似。

无丢弃MoE实现。 值得注意的是,我们观察到关于最优负载均衡方法的实验结果可能取决于专家容量。在有限容量下,即使精心设计了令牌丢弃策略以避免微妙的因果泄漏,并且通过慷慨的容量预算将丢弃率保持在较低水平,得出的结论仍可能与在不丢弃的设置中获得的结果不同。因此,我们最终采用了一个完全无丢弃(dropless)的MoE实现(详见2.8.1节),它支持all-to-all通信的可变消息大小,并确保在高不平衡下内存使用有界。

表1. MAI-Base-1架构家族中所有模型大小的配置。 (专家-)FFN大小指的是第一个线性层的输出大小,由于SwiGLU的存在,它是第二个线性层输入大小的2倍。MAI-Base-1的配置与L78略有不同,以方便训练和推理效率。

表2. 两种每层均为MoE的变体相对于MAI-Base-1的交错布局(8/512 MoE + 密集FFN)的效率增益。两种变体在EGFLOPs上与基线接近,但在EGTime上明显落后。

2.4 预训练数据

预训练数据的来源与处理原则。 MAI-Base-1在混合了公开可用和授权的人类生成数据上进行训练。我们编译了一套高质量、多样化的预训练数据,涵盖了网页、公共GitHub代码、书籍、学术论文、新闻、多语言文本和领域特定材料。我们选择不在预训练中使用语言模型生成的合成数据,并努力避免和移除收集到的数据源中AI生成的内容(附录A)。

数据处理的内部化与质量控制。 我们所有的预训练数据都是从我们的基础来源之一(网页的HTML和PDF、书籍和期刊、以及公共GitHub代码)在内部进行处理的。我们不使用任何开源训练数据集,并且我们从我们的网页数据中排除了常见的机器学习仓库,如huggingface.co和类似网站。我们反复发现,对数据质量的仔细迭代,而不仅仅是数量,不仅对预训练结果至关重要,对下游推理基准的性能也至关重要。以下小节描述了我们在处理每个主要数据源时应用的通用技术。关于每个独立来源的数据管道的具体细节,以及完整的技术细节,请参见附录A。我们的网页数据处理流程概览如图4所示。


图4. HTML预训练数据处理流程。我们从一个专有爬取和Common Crawl开始,经过HTML提取,然后基于各种启发式方法进行过滤。接着我们进行精确和模糊去重、跨源去重和嵌入生成。这些数据随后由不同的管道进一步处理;这些管道的具体细节见附录A。

表4. 我们训练数据源的知识截止日期。

2.4.1 数据来源、许可和治理

公开数据的合规性收集。 我们数据的公开可用部分是根据适用的使用条款和网络控制的行业标准收集的。对于网络数据,我们使用一个专有的爬虫,它遵守机器人排除协议(robots.txt)及相关的元标签和HTML控制,使网站所有者能够管理其网站内容的访问和使用方式。我们还排除了违反微软负责任AI政策或出现在美国贸易代表办公室(USTR)臭名昭著市场名单上的来源。

第三方数据的获取与治理。 我们的训练语料库还包括通过商业协议从第三方提供商处获得的数据集。第三方数据集需经过尽职调查流程,以评估数据保真度、所有权和适用的使用权,并受保密条款和条件的约束。各来源的知识截止日期如表4所示。

用户数据的保护。 我们没有使用私人客户数据或来自微软产品和服务的数据进行预训练,除非用户明确选择加入或在适用协议下允许使用,并尊重用户的退出选择。在训练之前,我们的整个语料库都经过PII风险和安全过滤处理;有关这些步骤的详细信息可在附录A中找到。出于隐私、法律、安全和竞争原因,我们不披露完整的数据集或数据提供商列表。

2.4.2 HTML提取

HTML提取的多样化策略。 我们数据的很大一部分来自网络,其中可训练的内容需要从原始HTML中提取。实现这一点的方法有很多,并且产生的质量差异通常非常微妙。我们最感兴趣的一些内容——数学、代码等——在网络上的表示方式并不一致,许多现成的方***会丢弃大量这些关键数据,同时保留周围的文本。表格和其他结构化内容通常也很重要,但保留这些数据需要一些小心。

根据数据源结构采用不同提取方法。 我们不为所有来源使用单一的提取方法;相反,我们根据每个域的结构和可靠性应用不同的方法:

2.4.3 去重

大规模模型中的记忆与过拟合风险。 像我们这样规模和稀疏度的模型拥有获取和回忆详细知识的卓越能力。虽然这种能力是它们作为通用系统的核心效能,但它也增加了记忆和过拟合训练数据的风险【59