Nemotron 3 Nano: Open, Efficient Mixture-of-Experts Hybrid Mamba-Transformer Model for Agentic Reasoning

作者/机构: NVIDIA

A1 主要贡献

本文介绍了NVIDIA Nemotron 3 Nano,这是一款具备智能体、推理和聊天能力的混合专家(MoE)混合Mamba-Transformer模型。Nemotron 3 Nano在前几代模型的基础上,结合了Mamba-2和分组查询注意力(GQA),并引入了混合专家(MoE)层来稀疏地扩展模型参数,从而在推理吞吐量与准确率之间取得了显著的平衡。

核心问题与研究目标
核心问题是如何在提升大型语言模型性能(如推理、长上下文处理能力)的同时,保持甚至提高推理效率。研究目标是开发并开源一个在准确率和推理吞吞吐量方面都优于现有同类模型的语言模型。

创新与贡献
1. 混合MoE Mamba-Transformer架构:模型采用了混合Mamba-Transformer架构,并将标准的前馈网络(FFN)层替换为稀疏的混合专家(MoE)层。该模型总参数量为31.6B,但每次前向传播仅激活3.2B参数(含嵌入层为3.6B),实现了高效的稀疏激活。其精细化的MoE架构采用学习型MLP路由器,从128个专家中激活6个。
2. 卓越的性能与效率:在准确率上,Nemotron 3 Nano与GPT-OSS-20B和Qwen3-30B-A3B-Thinking-2507等模型相当或更优。在效率上,其推理吞吐量分别比这两款模型高出2.2倍和3.3倍(在8K输入/16K输出场景下)。
3. 强大的长上下文能力:模型支持高达1M token的上下文长度,并在RULER长上下文基准测试中优于竞争对手。
4. 先进的训练方法
* 预训练:在25万亿个文本token上进行预训练,采用了两阶段课程学习策略。第一阶段使用多样化数据,第二阶段使用高质量数据。
* 后训练:采用三种方法进行后训练:监督微调(SFT)、基于可验证奖励的多环境强化学习(RLVR)和基于人类反馈的强化学习(RLHF),显著增强了模型的智能体、推理和聊天能力。

  1. 开源贡献
    • 模型检查点:发布了预训练基础模型(Nemotron 3 Nano 30B-A3B Base)和后训练模型(Nemotron 3 Nano 30B-A3B)的BF16和FP8量化版本。
    • 训练方案与代码:公开了模型的训练配方和代码。
    • 数据集:发布了多个用于训练的大规模高质量数据集,包括超过2.5万亿新token的Nemotron-CC-v2.1、4280亿token的Nemotron-CC-Code-v1等,推动社区发展。
图1 | Nemotron 3 Nano与Qwen3-30B-A3BThinking-2507及GPT-OSS-20B的准确率和吞吐量对比。Nemotron 3 Nano在多个基准测试中取得了相当或更优的准确率。由于GPT-OSS-20B的上下文长度为128K tokens,因此仅提供了Nemotron 3 Nano和Qwen3在1M上下文长度下的RULER得分。此外,在8K输入/16K输出的设置下,Nemotron 3 Nano的推理吞吐量比Qwen3-30B-A3B-Thinking-2507高3.3倍,比GPT-OSS-20B高2.2倍。我们在单个H200 GPU上使用vLLM和TRT-LLM测量了吞吐量,并为每个模型选取了两者中的最优值。我们使用OpenHands工具来评估SWE-Bench。
图1 | Nemotron 3 Nano与Qwen3-30B-A3BThinking-2507及GPT-OSS-20B的准确率和吞吐量对比。Nemotron 3 Nano在多个基准测试中取得了相当或更优的准确率。由于GPT-OSS-20B的上下文长度为128K tokens,因此仅提供了Nemotron 3 Nano和Qwen3在1M上下文长度下的RULER得分。此外,在8K输入/16K输出的设置下,Nemotron 3 Nano的推理吞吐量比Qwen3-30B-A3B-Thinking-2507高3.3倍,比GPT-OSS-20B高2.2倍。我们在单个H200 GPU上使用vLLM和TRT-LLM测量了吞吐量,并为每个模型选取了两者中的最优值。我们使用OpenHands工具来评估SWE-Bench。

A2 方法细节

2. 预训练

本节重点介绍Nemotron 3 Nano 30B-A3B Base的关键特性,包括其架构、超参数和用于预训练的数据。同时,本节还展示了Nemotron 3 Nano 30B-A3B Base在一系列基准测试中取得了优于其他公开的SOTA模型的准确率。

2.1. 模型架构

混合Mamba-Transformer与稀疏MoE架构。Nemotron 3 Nano 30B-A3B Base模型建立在我们早期的Nemotron-H(【NVIDIA, Nemotron-H: A Family of Accurate and Efficient Hybrid Mamba-Transformer Models, 2025e】)和Nemotron 2 Nano(【NVIDIA, NVIDIA Nemotron Nano 2: An Accurate and Efficient Hybrid Mamba-Transformer Reasoning Model, 2025d】)模型的混合Mamba-Transformer架构之上,通过将标准的前馈网络(FFN)层替换为稀疏的混合专家(MoE)(【Shazeer et al., Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer, 2017】)层进行构建。MoE层帮助我们以一小部分激活参数的数量实现更高的准确率。Nemotron 3 Nano 30B-A3B Base总共包含31.6B个参数,其中每次前向传播有3.2B个激活参数(包括嵌入层则为3.6B)。为了达到最佳准确率,我们使用了一种精细化的MoE架构以及共享专家(【Dai et al., DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models, 2024】)。对于MoE层,我们使用了平方ReLU激活函数和一个带有sigmoid门控的标准学习型MLP路由器。我们没有使用任何位置嵌入、dropout或线性层上的偏置。我们使用RMSNorm进行归一化,并且不共享嵌入和投影权重。

架构细节。表1和图2展示了Nemotron 3 Nano的关键架构细节。

表1 | Nemotron 3 Nano架构
表1 | Nemotron 3 Nano架构
图2 | Nemotron 3 Nano层模式。我们使用了与前一代Nemotron模型相似的混合Mamba-Transformer架构。此外,我们通过使用MoE层代替标准的FFN层来稀疏地扩展模型。

2.2. 预训练数据

新增数据集。在本小节中,我们描述了自Nemotron Nano 2以来我们添加到预训练语料库中的新数据集。我们将在HuggingFace上发布绝大部分新数据,这些数据分为四个主要数据集。下面我们将更详细地描述每一个数据集。

2.2.1. Nemotron-CC-Code-v1

代码数据提取与清洗流程。我们首先基于一个快速的网页代码模式匹配分类器,从Common Crawl中筛选出代码页面。然后,我们通过将修改版的Nemotron-CC-Math流水线(【Mahabadi et al., Nemotron-CC-Math: A 133 Billion-Token-Scale High Quality Math Pretraining Dataset, 2025】)应用于包含代码的Common Crawl页面,构建了我们的高质量代码预训练语料库。

高质量代码语料库构建过程。从原始HTML开始,我们使用Lynx渲染每个文档,这可靠地保留了代码布局、缩进和内联技术元素。生成的文本经过一个基于LLM的清洗阶段,使用了Phi-4模型,该模型在严格保留代码片段、配置块、API参考和数学表达式的同时移除了样板文件。为确保只包含与编程相关的文档,我们应用了一个轻量级的代码质量相关性分类器,过滤掉非技术性页面,并保留包含大量或完整代码内容的文档。这个流水线产生了一个4279.2亿个token的语料库,其中方程式被标准化为LaTeX格式,代码块的结构保真度得以保留,并且噪声被最小化。与之前常常会损坏或截断代码示例的提取方法相比,我们的方法可靠地大规模恢复了完整的代码片段和技术上下文。

2.2.2. Nemotron-Pretraining-Code-v2

数据来源与处理。我们从GitHub上获取了额外的代码,这些代码库是我们现有语料库中所缺失的,此外还收集了截止日期为2025年4月15日的近期数据。我们使用了与NVIDIA(2025d)中所述相同的流水线来整理数据,并移除了我们现有语料库中已存在的精确和近似重复的文件。

合成数据生成。除了原始源代码语料库外,我们还使用Qwen3 32B LLM合成了额外的混合自然语言和源代码文档。与我们在NVIDIA(2025e)中描述的方法类似,我们提示模型使用我们的新源代码数据作为种子来生成问答对。此外,我们还提示模型生成基于代码片段和完整源文件的学生-教师(仅Python)和代码审查(Python/C++)风格的对话。

代码重写与转译。遵循Fujii等人(2025)提出的代码重写工作,我们还发现使用LLM重述源代码可以提高下游代码生成的准确性。我们使用Qwen3 32B,结合了风格引导代码重写(SGCR)和自包含优化重写(SCOR)提示(【Fujii et al., Rewriting Pre-Training Data Boosts LLM Performance in Math and Code, 2025】),以及我们自己具有类似意图的提示,重述了我们所有的原始Python源代码。为了确保高质量的LLM重述,作为后处理步骤,我们对每个重写文件检查了语法错误,并使用Pylint Python linter评估了代码质量的改进。

代码跨语言转换。虽然基于LLM的源代码重写可以被看作是将原始源代码转换为改进版本的过程,但我们扩展了这一概念,并将其应用于从一种语言到另一种语言的源代码文件(即代码转译)。我们使用Qwen3 32B发现,通过这种转译过程从Python生成的C++ token可以提高下游C++代码生成的准确性,因此可以作为我们C++子集的一个有用增强。我们将这种Python到C++的转译过程应用于我们源代码语料库中的所有Python源文件。

2.2.3. Nemotron-CC-v2.1

通用网络爬取数据扩展。对于通用的英文网络爬取数据,我们在https://http://huggingface.co/datasets/nvidia/Nemotron-CC-v2 的Common Crawl快照(CC-MAIN-2025-18, CC-MAIN-2025-21, CC-MAIN-2025-26),并使用了相同的Nemotron-CC配方(【Su et al., Nemotron-CC: Transforming Common Crawl into a refined long-horizon pretraining dataset, 2025】)进行准备。对于所有的合成改写,我们使用了Qwen3-30B-A3B(【Yang et al., Qwen3 technical report, 2025a】)。与Nemotron Nano 2一样,我们只在“中等质量”、“中高质量”和“高质量”这三个桶的数据上进行训练。

高质量数据扩充策略。之前,我们只对Common Crawl数据的高质量子集进行改写。为了进一步扩展我们的高质量独特token语料库,我们将五个提示(【Su et al., 2025】)应用于来自110个Common Crawl快照(从CC-MAIN-2013-20到CC-MAIN-2025-26)的中高质量数据,从而产生了2.1万亿个新token。

跨语言翻译与过滤。最后,我们采用了一种新策略,通过使用Qwen3-30B-A3B将其他语言翻译成英语来获取高质量的英语token。我们首先将当时最新的三个Common Crawl快照(CC-MAIN-2024-51, CC-MAIN-2025-08, 和 CC-MAIN-2025-18)中9种语言(中文、法语、德语、意大利语、日语、波兰语、葡萄牙语、俄语、西班牙语)的文档翻译成英语。之后,我们应用了Nemotron-CC的质量分类器集成,只保留了该翻译子集中的高质量和中高质量文档。此外,我们还将五个Nemotron-CC改写提示中的四个应用于高质量数据,以生成更多独特的token。在Nemotron 3 Nano 30B-A3B Base的训练已经开始后,我们发现一些信息量不大的翻译文档(例如,日常对话、广告)从Nemotron-CC质量分类器中获得了高分。为了解决这个问题,对于该数据集的发布版本,我们额外进行了一轮基于LLM的质量过滤,移除了大约10.6%的token,这在内部消融实验中略微提高了各个基准的准确率。

数据总量。总的来说,我们从Common Crawl数据中整理或生成了超过2.5万亿个新token。

2.2.4. Nemotron-Pretraining-Specialized-v1

数据集构成。该数据集包含各种针对特定主题(如STEM推理或科学编码)的合成数据集。我们在下面更详细地描述这些子集。

合成维基百科数据。我们使用Qwen3-30B-A3BInstruct-2507修订了英文维基百科文章,以提高清晰度和格式。我们丢弃了消歧和重定向页面,并删除了“参考文献”、“另见”、“注释”和“外部链接”等部分。我们还指示模型删除任何不相关的内容,如未清理的HTML元素。

合成数学教科书数据。我们从Nemotron-CC-Math(【Mahabadi et al., 2025】)生成了结构良好的教育性教科书风格章节。我们评估了每个文档中的数学内容,并根据涉及的数学概念和复杂性等多个因素将其分类为不同的教育水平(例如,小学、初中、高中)。我们保留了包含本科及以上水平数学内容的文档,并将其发展成具有定义和说明性示例等多种教育特色的教科书风格章节。

合成科学编码数据。我们使用从Nemotron-CC检索到的STEM相关文档作为种子数据,合成了两种类型的文档:(1)代码嵌入式文章:一篇全面、深入且格式良好的文章,用Python探索并实现一个非平凡的、研究生或研究级别的科学或数学算法;(2)计算编码问题:一个高级的、计算性的、研究生或研究级别的编码问题及其Python解决方案。主问题被分解为5到15个逻辑有序的非平凡子步骤,每个子步骤由一个独立的函数解决。我们提取主问题、依赖项、子步骤描述以及每个函数的签名、文档字符串、函数体和返回语句,并排除了缺少任何这些组件的示例。

合成跨领域代码数据。为了生成更多样化和复杂的代码数据,我们开发了一种我们称之为InfiniByte的新方法,该方法将多个数据集进行交叉培育。当应用于代码时,InfiniByte通过将不同领域的概念结合起来,提出前所未见的问题,从而创造出全新的编程问题。这样做,InfiniByte填补了不同领域之间的问题空间,生成了处于模型能力边界的问题,并模仿了科学研究通常在两个或多个领域交叉点上取得进展的方式。

InfiniByte数据生成流程。我们从开创性的OpenCodeReasoning数据集(【Ahmad et al., 2025b】)中精选的竞争性编码问题列表开始,系统地注入了来自数学(OpenMathReasoning, 【Moshkov et al., 2025】)、物理(Physics Big, 【Zaharov et al., 2024】)、化学(IChO, 【Nguyen, 2025】)及其他科学领域数据集的概念。我们为每个(问题,概念)组合生成多个候选问题,并基于一个作为批评者的LLM的评分标准(测试清晰度、难度和对所采用的交叉培育策略的遵守情况)选择最佳的候选问题。然后,我们使用像Qwen3-235B-A22B-Thinking-2507(【Yang et al., 2025a】)这样的推理模型为每个新的编码问题生成解决方案。我们采用两种不同的策略进行交叉培育:1. 在不真正改变原始问题的情况下进行混淆(这在竞争性编码问题和其他竞赛中很常见)。2. 通过实际使新问题变得更加复杂来增加难度:由此产生的问题更具挑战性,因为它需要跨多个概念进行推理才能解决。

InfiniByte实现。InfiniByte数据生成流水线是在NVIDIA最先进的合成数据生成框架NeMo Data Designer(【The NeMo Data Designer Team, 2025】)中实现的。这使得我们复杂的流水线能够受益于该框架的复合AI方法,从而通过Jinja模板强制实现适当的概念基础,保证所有阶段所需的结构化输出,并包含反馈循环,以及执行数据验证和自动重试。

合成STEM推理数据 (RQA)。为了加强STEM领域内的复杂推理能力,我们构建了推理问答(RQA)数据集。我们创建RQA的目标有两个:i) 展示先进的科学推理和指令遵循能力,这可以在后训练阶段得到进一步加强,如Akter等人(2025)所示。ii) 加强在网络规模数据中很少观察到的高级主题之间的关联。

RQA数据生成步骤。该数据集分四步生成。首先,我们以多样化和高级的科学文本作为种子数据。从Essential-Web网络规模数据集(【Hojel et al., 2025】)的STEM子集开始,我们使用Essential-Web分类法筛选出满足以下标准的文档:本科或研究生教育水平;无提取错误,无内容缺失;高级推理深度;高或极高的技术正确性;利用布鲁姆认知过程中的分析、评估或创造之一;利用布鲁姆知识领域中的概念性、程序性或元认知性之一;英文且长度超过1000个字符。此次筛选产生了约1400万份文档。接下来,我们对文档主题进行分层抽样,以平衡种子文档的数量和多样性。利用Essential-Web分类法中的自由十进制对应(FDC)数值主题代码,文档按层级轮询方式排序,跨越FDC代码中的多个数量级,从高级主题领域(如物理、化学、数学、计算机科学)到低级子领域(如热力学、量子力学)。通过这种方法,我们可以对种子文档应用任何截断值N,以确保在给定文档量的情况下实现最大的多样性;虽然我们为前900万个样本生成了RQA样本,但最终我们选择使用前450万个进行训练。为限制每个种子文档的长度,我们对超过4096个字符的文档进行后处理,提取一个由<4096个字符组成的随机连续文本块。

RQA问题与答案生成。每个种子文档作为上下文呈现给Qwen3-235B-A22B-Thinking-2507,该模型被提示使用STEM内容作为灵感,生成一个困难的(但可回答的)研究生水平的科学推理问题。模型被指示确保该问题在回答时不需要访问原始的种子段落。如果未能在8192个推理token内产生问题,则该示例被丢弃。最后,在第二个生成步骤中,将此问题呈现给Qwen3-235B-A22B-Thinking-2507进行回答,但不包括种子段落作为上下文。生成的推理轨迹和答案经过过滤,以去除特定模型的特异性,限制在8192个字符内,并与问题连接起来,产生一个RQA示例。这个两步生成过程旨在最大限度地激发教师模型的推理能力,既能从种子文档中生成难题,又能回答自己的问题。最终的预训练数据集包含430万个RQA演示,总计约317亿个独特token。

多样化问答数据 (DQA)。为了进一步利用分层的STEM种子文档,我们还制作了该数据集的多样化问答(DQA)版本,使用了分层顺序中的前900万个种子文档,总计约80亿个token。STEM DQA数据集是通过使用Nemotron-CC(【Su et al., 2025】)中演示的DQA提示和生成程序构建的,该程序将源文档中的一个连续文本块与简短形式的问答对连接起来。我们利用Qwen3-30B-A3B来生成这些问答对。

DQA实现。RQA和DQA数据生成流水线均在NeMo Data Designer(【The NeMo Data Designer Team, 2025】)中实现。

SFT风格数据。与Nemotron Nano 2一样,我们在预训练中为代码、数学和STEM领域加入了新的和更新的SFT数据集。详细的合成方法和流程可以在以往的工作中找到(【Toshniwal et al., 2024】; 【Moshkov et al., 2025】; 【NVIDIA, 2025a】; 【Ahmad et al., 2025b,a】; 【Majumdar et al., 2024】)。我们还整合了一组来自AceReason-Nemotron-1.1(【Liu et al., 2025a】)的额外数学和代码SFT样本。这个集合涵盖了广泛的提示来源,包括用于数学任务的NuminaMath(【Li et al., 2024b】)、OrcaMathWordProblems(【Mitra et al., 2024】)、MathInstruct(【Yue et al., 2023】)和MetaMathQA(【Yu et al., 2023】),以及用于编码任务的TACO(【Li et al., 2023】)、APPs(【Hendrycks et al., 2021】)、OpenCoder-Stage2(【Huang et al., 2024】)和OpenCodeReasoning(【Ahmad et al., 2025b】)。这些提示的响应由DeepSeek-R1(【DeepSeek-AI, 2025a】)生成。

2.3. 数据混合与排序

数据构成。我们的预训练语料库涵盖了十五个数据类别。最大的组成部分是网络爬取数据,我们根据Nemotron-CC分类法(【Su et al., 2025】)将其细分为五个基于质量的组:crawl-medium、crawl-medium-high、syn-crawl-medium-high、crawl-high和syn-crawl-high,分别代表中等、中高等、高等的爬取数据。除了网络爬取数据,该混合数据还包括数学、维基百科、代码、nemotron-cc-code、学术文本、Crawl++、多语言数据以及合成的SFT风格数据集,后者又被分为general-sft、stem-sft和code-sft类别。Crawl++包括OpenWebText、BigScience和Reddit数据集。我们的多语言数据包含十九种语言:阿拉伯语、中文、捷克语、丹麦语、荷兰语、芬兰语、法语、德语、希伯来语、印地语、意大利语、日语、韩语、葡萄牙语、波兰语、俄语、西班牙语、瑞典语和泰语。我们设计数据混合方案以平衡覆盖范围和质量,通过为估计质量相似的来源分配相当的权重。相应地,更高质量的数据集被优先考虑,在混合中获得更大的权重。关于我们数据集质量评估和混合构建方法的更多细节可以在Feng等人(2024)和NVIDIA(2025e)中找到。

两阶段训练课程。我们使用了一个基于两个阶段的课程来预训练Nemotron 3 Nano 30B-A3B Base。在第一阶段,我们使用了一个促进数据多样性的数据混合;在第二阶段,我们主要使用高质量的数据集(例如,维基百科)。我们在训练的94%节点切换到第二阶段。每个阶段使用的数据混合如图3所示。

图3 | 预训练各阶段的数据混合。
图3 | 预训练各阶段的数据混合。
2.4. 超参数

学习率与优化器。我们使用Warmup-Stable-Decay学习率(LR)调度方案,对总共25万亿个token进行了Nemotron 3 Nano 30B-A3B Base的预训练。我们在84亿个token上将学习率预热至最大值$10^{-3}$。我们在80%的训练时间(20万亿个token)内保持最大学习率,然后在最后20%的训练时间(5万亿个token)内最终衰减至最小值$10^{-5}$。我们使用了AdamW(【Loshchilov & Hutter, Decoupled Weight Decay Regularization, 2017】)优化器,权重衰减为0.1,$β_1 = 0.9$,以及$β_2 = 0.95$。

批量大小与MoE设置。我们以8192的序列长度和3072的批量大小预训练模型,每个批次大约处理2500万个token。对于MoE层,我们采用了DeepSeek的无辅助损失负载均衡策略(【Wang et al., 2024】; 【DeepSeek-AI, 2025b】),更新率为$10^{-3}$,并结合了标准的负载均衡损失(【Lepikhin et al., 2020】)。我们使用的负载均衡损失系数为$10^{-4}$。

2.5. 长上下文扩展

长上下文阶段(LC-Phase)。与Nemotron 2 Nano类似,我们在预训练的最后增加了一个长上下文阶段(LC-Phase)。在LC-Phase中,我们进行了持续预训练(CPT),以赋予基础模型长上下文处理能力。我们使用了$10^{-5}$的恒定学习率和48的全局批量大小。我们使用8路上下文并行、8路张量并行、8路专家并行和4路流水线并行在H100 GPU上进行训练。我们复用了Nemotron Nano 2的长上下文文档问答数据集,但将其规模扩大了3倍。我们还在CPT数据混合中添加了少量以合成为主的检索数据,最大序列长度为256k token,以帮助改善RULER风格任务的子集性能。我们将文档问答和合成检索数据在LC阶段数据混合中的比例分别分配为20%和1%,剩余的79%为降采样的第二阶段数据。我们最初尝试仅在序列长度为524,288(512k)token的数据批次上进行CPT,但发现短上下文基准测试得分受到轻微影响。因此,我们使用了512k和4k序列的混合,这改善了短上下文基准测试得分,特别是MMLU-Pro和代码,同时也提高了长上下文基准测试得分。LC-Phase总共使用了1210亿个token。

2.6. 基础模型评估

评估结果。表2展示了在通用知识、代码、数学、常识理解、阅读理解、多语言和长上下文基准测试中的全面准确率比较。评估设置遵循标准的社区协议以确保公平比较。所有评估结果均通过Nemo Evaluator SDK2和LM Evaluation Harness3收集。为了可复现性,评估设置的更多细节可以在Nemo Evaluator SDK的configs文件夹4中找到,而用于评估的通过NVIDIA的Nemo Evaluator SDK打包的LM Evaluation Harness开源容器可以在这里5找到。

评估设置细节。对于MATH-500任务,我们采用了抽样策略来报告avg@32得分(从32个样本中估计的pass@1)。对于其余任务,我们报告通过贪婪解码(温度=0)获得的准确率(acc)或归一化准确率(acc_norm)。对于代码评估,即HumanEval和MBPP,我们采用了与Evalplus6中相同的净化方法。少样本设置因基准而异,从HumanEval的0-shot到ARC-Challenge的25-shot。多语言能力在MMLU Global Lite(德语、西班牙语、法语、意大利语、日语、韩语、葡萄牙语和中文的平均值)和MGSM(德语、西班牙语、法语、日语、俄语和中文的平均值)上进行了评估。

深入分析。为了更深入地了解模型的能力,我们进一步在MMLU-redux的两个变体上评估了模型(见附录B)。

表2 | Qwen3-30B-A3B-Base与Nemotron 3 Nano 30B-A3B Base的比较。最佳结果以粗体标出。
表2 | Qwen3-30B-A3B-Base与Nemotron 3 Nano 30B-A3B Base的比较。最佳结果以粗体标出。

3. 后训练

后训练规模扩展。与Nemotron Nano 2相比,我们显著增加了Nemotron 3 Nano后训练的计算资源。值得注意的是,Nemotron 3 Nano是我们首次在后训练阶段大规模扩展强化学习(RL)的尝试。这种RL规模的扩展得益于多环境强化学习(在3.1至3.3节中讨论),我们首次在所有环境中同时进行训练。我们采用了Nemo-Gym,这是一个RL训练环境编排框架,拥有大量RL环境集合;它与作为RL训练框架的Nemo-RL集成,如3.2.4节所述(【NVIDIA, 2025b,c】)。我们开源了Nemo-Gym和Nemo-RL,以使更广泛的社区能够促进大规模RL训练,以及协作和分布式的RL环境构建。

后训练方法论。在本节的其余部分,我们讨论Nemotron 3 Nano的后训练方法论,包括§3.1中的监督微调(SFT),§3.2中的多环境强化学习,以及§3.3中的基于人类反馈的强化学习(RLHF)。最终的评估结果可以在§3.4中找到。我们的后训练方法论在各种推理和智能体任务中取得了同类最佳的性能,并具备token效率、推理开关控制、推理预算控制和工具集成推理能力。

3.1. 监督微调

SFT策略改进。自Nemotron 2 Nano发布以来,我们显著改进了我们的SFT策略。我们提高了数据集的质量和多样性,增加了各种各样的新数据,重点是多步和多轮的智能体任务。与预训练阶段的SFT数据不同,SFT阶段的数据更侧重于智能体任务,并应用了聊天模板。我们发布了我们大部分的训练数据,并开源了我们的SFT代码库。

3.1.1. 聊天模板

推理模式控制。我们通过聊天模板允许在推理或非推理模式下使用Nemotron 3 Nano。在推理模式下,我们针对以下对话场景改变推理流程:

  • 多步(Multi-Step):在一系列助理模型调用中,保留现有的推理token,以允许模型在后续步骤中重用现有的推理。
  • 多轮(Multi-Turn):当引入用户消息时,会丢弃之前轮次的所有推理。

工具调用格式。对于工具调用,我们使用XML风格的特殊标签来减少字符转义,这遵循了GLM-4.5(【Team, 2025a】)和Qwen3-Coder(【Yang et al., 2025a】)的观察。

图4 | 使用Nemotron 3 Nano聊天模板进行2轮对话的提示实例化示例。对于给定的生成,只有当前轮次的推理内容会被实例化到提示中。
图4 | 使用Nemotron 3 Nano聊天模板进行2轮对话的提示实例化示例。对于给定的生成,只有当前轮次的推理内容会被实例化到提示中。
3.1.2. 数据

竞赛数学。对于数学,我们采用了与Nemotron Nano 2(【NVIDIA, 2025d】)类似的策略。然而,我们使用GPT-OSS 120B(【OpenAI, 2025】)更新了响应。此外,我们使用Python工具和GPT-OSS 120B作为教师模型,创建了工具集成的推理轨迹。

竞赛编程。对于代码,我们使用了与Nemotron Nano 2相同的数据,该数据由Ahmad等人(2025b)的提示组成,并辅以DeepSeek-R1-0528(【DeepSeek-AI, 2025a】)的响应。

对话式工具使用。我们生成合成的多轮轨迹来演示对话式工具的使用。这些轨迹的生成涉及一个被赋予任务的用户、一个被指示帮助用户完成任务的智能体,以及一个工具执行环境,每个部分都由一个语言模型模拟。为了将SFT训练数据中的轨迹限制在所有这些实体的行为都与其目标一致的范围内,我们使用一个语言模型作为评判者来评估轨迹,并过滤掉评判者认为某个实体的行为与其目标不一致的轨迹。我们使用Qwen3-235B-A22B-Thinking-2507(【Yang et al., 2025a】)、Qwen3-32B(【Yang et al., 2025a】)、GPT-OSS-120b(【OpenAI, 2025】)和Qwen3-235B-A22B-Instruct-2507(【Yang et al., 2025a】)来在这个合成工具使用轨迹生成流水线中生成数据。

长上下文。我们生成了平均token长度为128k、最大长度为256k的合成数据,以提高长上下文性能,并根据RULER任务的子集进行了验证。

形式化证明。对于Lean定理证明,我们通过以下方式策划了SFT数据:首先,我们使用基于GPTOSS-120B的迭代优化流水线,并结合反向翻译的语义验证,将来自在线数学社区(AoPS, Math StackExchange, MathOverflow)的58万个自然语言定理自动形式化为55万个Lean 4语句。然后,我们使用Goedel-Prover-V2-32B进行大规模证明生成,每个语句最多进行4次独立尝试和8轮自我修正,产生了92万个带有编译器验证解决方案的证明轨迹。经过筛选,最终的数据集包含30万个示例,将形式化的定理陈述与成功的推理轨迹和证明配对。

多语言数据。我们以与Nemotron Nano 2(【NVIDIA, 2025d】)类似的方式生成多语言数据。我们使用Qwen2.5-Instruct将我们现有的英文后训练数据翻译成5种目标语言:法语、西班牙语、意大利语、德语和日语。我们的流水线逐行翻译输入,并跳过代码、XML标签、URL等不可翻译的内容。在翻译完英文源文本后,我们利用语言识别工具https://http://pypi.org/project/langdetect/

多语言语料库补充。我们的多语言语料库还包括162万个文本翻译样本,这些样本来自于新闻评论数据集和专有来源的聚合。这些样本涵盖了英语与五种目标语言之间的双向翻译任务。

终端使用。为了教会Nemotron 3 Nano完成基于终端的自主任务,我们基于Terminal Bench(【Team, 2025c】)生成了一系列多样化的可验证任务。具体来说,我们将我们的竞赛编码、竞赛数学和长上下文数据集中的数据改编为终端基准问题。我们还构建了需要数据分析以及文件创建和操作的合成任务。此外,我们还整合了来自SWE-Smith(【Yang et al., 2025b】)的数据,该数据集提供了真实的软件工程任务。我们使用Qwen3-Coder-480B-A35B-Instruct(【Qwen, 2025】)和Kimi-K2-Instruct-0905(【Team, 2025b】),利用Terminus-1和Terminus-2智能体(【Team, 2025c】)为每个任务生成动作轨迹。

通用聊天。我们通过使用GPT-OSS-120B、Qwen3-235B-A22B-Thinking-2507和Qwen3-235B-A22B-Instruct-2507为LMSYS(【Zheng et al., 2023】)和WildChat数据集(【Li et al., 2024d】)生成响应,来创建SFT数据。通过让同一个语言模型模拟用户并进一步继续对话,将数据扩展到多轮。

指令遵循。我们采用Tülu 3(【Lambert et al., 2025】)中使用的方法,创建了有针对性的指令遵循数据。我们使用语言模型模拟对话中的用户,这些模型以来自Nemotron-Personas-USA(【Meyer & Corneil, 2025】)的用户画像和来自IFeval(【Zhou et al., 2023】)及IFBench(【Pyatkin et al., 2025】)训练集的指令为种子。用户语言模型被提示在一轮或多轮中生成精确的指令遵循查询。然后,我们使用GPT-OSS-120B、Qwen3-235B-A22B-Thinking-2507和Qwen3-235B-A22B-Instruct-2507来生成对用户查询的响应。生成的数据首先被过滤,只保留所有轮次都通过IFEval和IFBench中相应指令验证器实现的样本。然后,通过一个语言模型评判员进行进一步过滤,以移除响应仅是表面上或肤浅地遵循指令的样本。

安全性。我们汇集了来自Nemotron Content Safety v2(【Ghosh et al., 2025】)和Gretel Safety Alignment v1(【gre, 2024】)数据集的多样化不安全提示,以针对内容安全风险,以及来自Harmful Tasks(【Hasan et al., 2024】)和Red-Team-2K(【Luo et al., 2024】)数据集的提示,以针对常见的越狱技术。这个集合还通过来自Nemotron Content Safety v2的安全提示进行了平衡。

安全SFT策略。对于监督微调(SFT),我们对不安全的提示应用了安全的提示包装器,使模型能够学习适当的拒绝行为,同时保持用户参与度。我们实施了各种拒绝策略,以符合良好的用户体验。例如,与自残相关的提示与鼓励使用适当的自杀预防热线的提示模板配对。我们使用内容安全分类器来过滤响应,确保与安全目标保持一致。

软件工程。为了训练Nemotron 3 Nano具备自主软件工程能力,包括代码探索、问题复现和错误修复,我们策划了一个源自真实GitHub问题的编码任务数据集。我们使用了来自SWE-Gym(【Pan et al., 2025】)和R2E-Gym(【Jain et al., 2025】)数据集的问题描述和容器化执行环境。我们从三个开源智能体框架——OpenHands(【Wang et al., 2025a】)、SWE-Agent(【Yang et al., 2024】)和Mini-SWE-Agent(【Yang et al., 2024】)中提取轨迹,并使用Qwen3-Coder-480B-A35B-Instruct(【Qwen, 2025】)作为教师模型。

科学。科学数据集涵盖物理、化学和生物学,通过一个集成了合成、真实和基于文档的种子来源的统一流程生成。我们首先策划了一组具有挑战性的种子问题,这些问题源自Nemotron Nano v2(【NVIDIA, 2025d】)以及预训练语料库中的科学文章。同时,我们还整合了来自同一语料库的其他科学文章作为种子材料的补充库。每篇文章都标注了三个属性:(1)基于bert-finetuned分类器(【Li et al., 2024a】)的教育领域,(2)内容级别(从初级到研究生),以及(3)细粒度的主题类别(例如,生物学、化学、数学、法律)。我们专注于研究生级别的子集,将这些文档索引到向量数据库中,并使用一组多样化的面向科学的查询提示来检索数千个高度相关的段落。这些检索到的片段作为生成多项选择题(MCQ)数据的基础,随后这些数据被转换为开放式问答(OpenQA)格式。

科学数据生成与过滤。所有种子来源——无论是合成的、真实的还是文档检索的——随后都通过NeMo Data Designer(【The NeMo Data Designer Team, 2025】)进行处理。Data Designer被用来改写提示、生成多种格式和指令变体,并增强在不同提示风格下的鲁棒性。SFT阶段的推理轨迹是使用来自GPT-OSS 120B(【OpenAI, 2025】)的工具集成Python推理轨迹生成的。至关重要的是,所有生成的变体都经过了严格的LLM-judge过滤,确保了严格的格式合规性、意图保留和高质量的推理一致性。在RL阶段,我们进一步引入了有针对性的提示和格式增强,以减少提示敏感性并提高泛化能力。

科学数据发布。在这项工作中开发的一部分STEM数据集以多项选择题(MCQ7)和开放问答(OpenQA8)两种格式发布,以支持Nano-V3的训练和更广泛的下游研究。这些数据集完全集成到RLVR流水线中,MCQ9和OpenQA10环境都通过NeMo Gym(【NVIDIA, 2025b】)提供。这个统一的流水线确保了一致的质量标准,并支持在所有STEM领域进行稳健的基于强化学习的评估和训练。

GenSelect。我们通过训练模型在多个候选方案中识别最佳解决方案,来提高其作为生成式奖励模型的能力,这遵循了Toshniwal等人(2025)的方法。我们通过生成合成解决方案,然后使用GPT-OSS 120B(【OpenAI, 2025】)和DeepSeek-R1-0528(【DeepSeek-AI, 2025a】)生成包含最终判断的选择推理轨迹,来调整我们的数学和编码SFT数据中的问题。

CUDA。我们从HuggingFace Transformers(【Wolf et al., 2020】)和KernelBook(【Paliskara & Saroufim, 2025】)中收集种子,并合成了21k个(PyTorch, Cuda C)对。我们首先从Transformers(【Wolf et al., 2020】)和KernelBook(【Paliskara & Saroufim, 2025】)中解析PyTorch代码,然后使用DeepSeek-R1-0528(【DeepSeek-AI, 2025a】)生成相应的Cuda C代码。我们只包含那些Cuda C代码能够成功编译并与PyTorch参考代码进行数值验证的PyTorch, Cuda C对。

图5 | Nemotron 3 Nano的SFT数据混合。
图5 | Nemotron 3 Nano的SFT数据混合。
3.1.3. 数据过滤

统一过滤流程。对于所有领域,我们都应用了一个统一的数据过滤流程,以确保只有高质量、符合许可证要求且可验证的样本被用于训练。我们首先使用结构性检查(例如,当存在工具调用时缺少工具定义)丢弃格式错误的示例。然后,我们积极过滤掉表现出病态重复的推理轨迹,例如在滑动窗口内或整个轨迹中重复的n-gram,我们发现这是格式错误或低质量推理的强烈指标。最后,根据对合成生成数据集的内部审计,我们观察到一些教师模型偶尔会产生隐含地与特定政治实体结盟或宣扬民族主义叙事的推理轨迹和最终响应。为了缓解这种情况,我们应用了有针对性的基于关键词和正则表达式的过滤器(例如,“我们的国家/党[...]”、“我们的价值观”等模式),并移除了所有匹配此类行为的轨迹。

3.1.4. 数据混合

数据混合策略。我们的确切数据混合可以在图5中找到(所有未列出的数据集在混合中占比不到1%)。我们总共训练了超过1800万个样本。对于每个数据集,我们根据在单任务设置中达到最佳性能所需的大致数据量来决定包含多少数据。由于不同数据集的大小差异很大,我们采用了一种动态抽样方法,其中较小的数据集可能会被训练多个epoch,而较大的数据集只训练少数几个epoch。

3.1.5. 推理控制

两种推理控制形式。Nemotron 3 Nano允许两种不同形式的推理控制:推理开关控制和token预算控制。与NVIDIA(2025d)类似,为了实现推理开关控制,我们从随机10%的样本中剥离推理轨迹;为了实现预算控制,我们在继续原始的后推理响应之前,将3%的推理轨迹随机截断到不同的推理预算。

3.1.6. 超参数

训练参数设置。我们使用64的批大小训练13000步,并采用序列打包将序列长度扩展到256K。我们使用$5 \cdot 10^{-5}$的学习率,并进行800步的学习率预热。我们使用序列级的MoE负载均衡正则化器,并将损失系数设置为$10^{-4}$。

3.2. 基于可验证奖励的多环境强化学习

统一RLVR阶段。我们采用一个统一的RLVR阶段,同时在所有环境中进行训练。我们发现,这导致了在整个训练过程中所有基准测试的稳定增益,而单一环境训练常常导致其他基准测试出现不可恢复的性能下降。我们进行了两个阶段的此类RLVR:一个在SFT之后立即进行,另一个在RLHF之后进行。

3.2.1. 环境

竞赛数学。我们在DAPO(【Yu et al., 2025】)和SkyWorks math(【He et al., 2025】)数据集上进行训练。这些数据集分别有17K和104K个任务。

竞赛编码。我们使用来自Ahmad等人(2025b)的竞赛编码问题。为了减少验证时间,我们将单元测试的数量限制在50个。经过此筛选,我们剩下22K个任务。

问答。我们在各种困难的多项选择数据集上进行训练,重点关注STEM领域。在这里,问题和答案是根据参考文档中的信息生成的。该数据集有135K个任务。

结构化输出。我们训练Nemotron 3 Nano使其具有强大的JSON schema遵循能力。我们利用NeMo Data Designer(【The NeMo Data Designer Team, 2025】)创建了RL的种子数据集。我们首先使用Qwen3-235B-A22B-Instruct-2507(【Yang et al., 2025a】)根据不同主题构建(JSON schema, document)对。然后,我们利用这些对来创建RL提示,让模型根据schema总结文档。为确保高语法有效性,该流程强制执行了严格的复杂性控制并应用了拒绝抽样,同时改变指令难度和措辞以最大化输入多样性。该流程产生了9K个任务。

结构化输出奖励机制。在RL阶段,当输出与确切的模式约束匹配时给予正奖励,否则不给予奖励。为简单起见,我们不对输出的语义内容添加奖励。

指令遵循。我们在训练期间使用了两个指令遵循环境。第一个环境类似于NVIDIA(2025a)中使用的IFEval风格环境,但更新了来自IFBench训练集(【Pyatkin et al., 2025】)的约束。我们为这个环境创建了46K个任务。

指令遵循环境二。第二个环境使用LLM作为评判者,来验证智能体是否在多轮设置中遵循了复杂的指令,其中指令可能非常微妙。这个环境的灵感来自于Multi-Challenge基准测试(【Deshpande et al., 2025】)。我们为它创建了总共3K个任务。

长上下文。我们使用Qwen3-235B-A22B-Thinking2507(【Yang et al., 2025a】)生成具有挑战性的长上下文问答对,这些数据来源于我们为多文档综合设计的预训练混合数据的一个子集。每个问题被要求引用至少五个文档,总输入限制在32k个token。我们使用Qwen3-235B-A22B-Instruct-2507(【Yang et al., 2025a】)作为LLM评判者来评估模型的rollouts。该数据集包含12K个任务。

智能体工具使用。我们使用两个环境来提高工具使用能力。第一个是Workplace Assistant,这是一个多步可验证的工具调用设置,改编自Styles(【Styles et al., 2024】),也在Nemotron 2 Nano(【NVIDIA, 2025d】)中使用过。这是一个测试智能体在工作场所环境中执行任务能力的多步智能体环境。Workplace Assistant包含一个沙盒环境,有五个数据库、26个工具和690个任务。这些任务代表了常见的商业活动,如发送邮件、安排会议等。正确性通过执行智能体发出的工具调用并将其与基准数据库状态进行比较来验证。

智能体工具使用环境二。第二个环境是一个多轮对话智能体环境。它测试智能体的工具调用和主动提问能力。该环境包含约1K个任务,模拟了复杂的银行场景,如协助客户解锁信用卡或解决账户纠纷。智能体行为的正确性通过执行其发出的工具调用并将结果数据库状态与预定义的基准进行比较来自动验证。

3.2.2. 数据混合与课程学习

课程学习流程。我们首先使用我们的监督微调(SFT)检查点对所有强化学习(RL)任务进行性能分析。为了将训练集中在具有挑战性的案例上,我们过滤掉了SFT检查点已经达到100%通过率的样本。然后,我们采用了NVIDIA(2025a)中介绍的课程训练方法,该方法在整个训练过程中动态调整任务难度。

高斯采样策略。在每个批次中,我们保持不同领域样本的固定比例。对于每个领域,我们将目标通过率分布建模为一个高斯函数,在训练早期从高通过率(较容易)的样本转向训练后期低通过率(较困难)的样本。高斯分布的目标均值在整个训练步骤中线性减小。在每个批次内,来自不同领域的样本被随机打乱。这种高斯采样策略防止了对过易或过难示例的过拟合,确保了平衡的学习进程。

方法优势。这种方法能够在保持领域多样性和确保高效批次构成的同时,实现任务难度的受控和逐步增加。图6展示了在RL训练过程中样本难度的演变。一旦训练进展停滞,我们使用最佳RL检查点重新对任务进行性能分析,并构建一个新的课程以进一步提升性能。
图6 | RL课程中各批次的通过率。

课程采样与随机采样对比。我们使用一个中间的SFT检查点比较了课程采样和随机采样,两种情况下保持了相同的领域比例。如图7所示,课程采样确保了在整个训练过程中多个领域的稳定学习。相比之下,随机采样使模型偏向于较容易的任务,从而无法有效学习更具挑战性的任务。
图7 | 课程采样与随机采样的比较。

3.2.3. RLVR超越SFT

研究背景。最近的研究表明,仅在小型模型上进行监督微调(SFT)就能取得强大的性能(【Ahmad et al., 2025b】; 【DeepSeek-AI, 2025a】)。在这项研究中,我们探究了RLVR是否能超越一个经过深度微调的SFT基线。如图8所示,我们比较了RLVR训练期间模型的准确率与两个SFT检查点:
- SFT1:我们最初的RLVR起点,微调了大约2个epoch。
- SFT2:一个经过深度微调的检查点,训练至完全收敛(大约5个epoch)。

实验结果。我们的结果表明,即使训练时间相对较短,RLVR在所有评估领域中都持续超过或达到了经过深度微调的SFT模型的准确率。
图8 | RLVR在所有评估领域中超过或达到了深度微调SFT模型的性能。

3.2.4. 基础设施

RL扩展挑战与解决方案。在模型后训练的前沿领域,强化学习(RL)的特点是扩展到越来越多的任务或环境,旨在让模型学习日益通用的能力。将RL扩展到多个环境需要一个高性能、可扩展且标准化的接口,以协调rollouts和训练。为了通过一个标准框架解决扩展性能和可扩展性的挑战,我们采用了NeMo Gym(【NVIDIA, 2025b】)和NeMo RL(【NVIDIA, 2025c】),以支持在许多不同环境/验证器上进行大规模RL。

NeMo Gym与NeMo RL架构。NeMo Gym基于服务器的抽象。Gym中有三种核心类型的服务器:(1)智能体(agents),(2)模型(models),和(3)资源(resources)。智能体服务器实现了RL环境的rollout核心。模型服务器包装了一个推理引擎,如vLLM(【Kwon et al., 2023】),以提供一个提示-响应API,并仔细保留RL所需的token和推理log-prob数据及元数据。资源服务器提供一个验证API,用于从给定的rollout中计算奖励。

集成基础设施。我们所有的Nemotron Nano 3 RLVR实验都基于NeMo RL和NeMo Gym的集成基础设施:NeMo RL作为RL训练循环的控制器,使用Megatron-Core(【Shoeybi et al., 2020】)进行大规模模型训练,并通过NeMo Gym和vLLM路由所有rollouts。

3.2.5. 算法

RL算法与训练细节。我们使用同步GRPO算法和掩码重要性采样来训练Nemotron 3 Nano,以减轻训练-推理不一致的问题(【Shao et al., 2024】; 【Team et al., 2025】; 【Yao et al., 2025】)。我们每步使用128个提示,每个提示生成16个响应。我们以2048的批大小进行训练,使我们的更新是on-policy的。为了进一步稳定训练,我们还冻结了MoE路由器的权重。我们采用了无辅助损失的负载均衡方法,并持续更新专家偏置(【Wang et al., 2024】)。

生成长度与过滤。我们整个训练过程的最大生成长度为49K。我们使用了超长过滤(【Yu et al., 2025】),发现这能提升推理密集型基准测试的性能。
图9 | RL训练期间的基准性能。

3.3. 基于人类反馈的强化学习
3.3.1. 扩展强化学习以进行生成式奖励模型训练

生成式奖励模型(GenRM)。许多近期的研究(【Liu et al., 2025b】; 【Wang et al., 2025b】; 【Chen et al., 2025】)表明,生成式奖励模型(GenRM)比传统的Bradley-Terry模型具有更好的泛化能力,从而降低了RLHF期间奖励 hacking 的风险。为了训练一个准确且鲁棒的GenRM,我们大规模地利用了强化学习。基于Wang等人(2025b)的方法,我们使用GRPO算法将Qwen3-235B-A22B-Thinking-2507(【Yang et al., 2025a】)训练成一个GenRM。给定对话历史、新的用户请求以及两个候选助理响应,GenRM首先推理两个响应的优缺点,然后为每个响应生成一个独立的有用性得分以及一个排名得分。对于GenRM训练,我们每批使用128个提示,每个提示生成8个响应,并对整个批次进行一次梯度更新。我们将奖励定义为:

[公式]
[公式]

其中$P_r, G_r$表示预测和真实的偏好排名;$P_{h1}, G_{h1}, P_{h2}, G_{h2}$分别表示响应1和2的预测和真实有用性得分;$I_{format}$表示预测是否违反了格式要求;$C_1$和$C_2$是控制权重的超参数。我们设置$C_1 = 10$和$C_2 = 1$。

GenRM训练数据与性能。我们利用来自HelpSteer3(【Wang et al., 2025b】)、lmarena-ai/arena-human-preference-140k(【Chiang et al., 2024】)的商业友好子集,以及一个合成安全混合数据集(详见附录D)进行模型训练。在我们的数据集中,单个有用性得分范围从1到5,越高表示越有用,而排名得分范围从1到6,其中1表示响应1远优于响应2,6表示响应2远优于响应1(【Wang et al., 2025b】)。我们通过交换两个响应的位置来增强每个样本,以防止位置偏差。图10显示,随着训练的进行,GenRM在RM-Bench(【Liu et al., 2024】)、JudgeBench(【Tan et al., 2024】)和我们的内部验证集上的性能稳步提升。
图10 | 随着我们扩大RL训练规模,GenRM在各基准测试中的性能均有提升。

3.3.2. 带有组相对长度控制的RLHF

RLHF训练策略。通过训练好的GenRM,我们在同一组提示上进行RLHF。与RLVR一样,我们使用每批128个提示和每个提示16个响应。简单地比较$N$个响应的所有对将需要每个提示进行$\binom{N}{2}$次GenRM调用,这是二次方扩展的,对于大的$N$来说成本高昂。当$N=16$时,每个提示需要120次比较。相反,我们采用了一种循环比较策略,其中每个响应只与其后继者进行比较:$(r_1, r_2), (r_2, r_3), \dots , (r_{N-1}, r_N), (r_N, r_1)$,正好产生$N$次比较。这将计算成本从$O(N^2)$降低到$O(N)$,同时仍然将所有响应连接在一个比较图中。每个响应也在不同位置被评判两次,以减轻位置偏差。

奖励计算与平局处理。对于每次成对比较$(r_i, r_j)$,GenRM会产生独立的有用性得分$s_i, s_j \in [1, 5]$和一个排名得分$s_r \in [1, 6]$。在$s_i = s_j$的情况下,我们进一步采用一个简单的平局打破机制:

[公式]
[公式]

响应$r_i$的基础奖励$R_i^{(base)}$随后通过平均其两次匹配的得分来计算。

组相对长度控制机制。在使用基础奖励进行训练时,我们发现响应的长度会随着RLHF训练的进行而迅速增加。这与奖励 hacking 不同,因为长度的增加主要来自推理轨迹,而只有最终答案被GenRM评判。这与DeepSeek-AI(2025a)中的观察相似,模型花费更多的推理时间计算以获得更好的奖励。然而,与数学和编码等重推理任务不同,RLHF数据集中的提示通常不需要广泛的推理。为了减少冗余思考,我们在RLHF期间提出了一种组相对长度控制机制。具体来说,对于每个提示,我们生成一组$N$个候选响应$\{r_1, r_2, \dots, r_N\}$。每个响应$r_i$被分解为一个推理部分$r_i^{(think)}$和一个答案部分$r_i^{(answer)}$,其相应的长度为$\ell_i^{(think)}$和$\ell_i^{(answer)}$。

长度归一化奖励调整。我们计算一个零均值、组内相对的长度奖励,以鼓励组内较短的响应。对于推理部分,我们首先在组内归一化长度:
[公式]
其中$\ell_{min}^{(think)} = \min_j \ell_j^{(think)}$且$\ell_{max}^{(think)} = \max_j \ell_j^{(think)}$。为确保调整在组内是零和的(保持整体奖励规模),我们对权重进行中心化处理:
[公式]
同样的过程也应用于答案长度以获得$\tilde{w}_i^{(answer)}$。响应的最终奖励为:
[公式]
其中$R_i^{(base)}$是来自成对比较的基础奖励,$\lambda^{(think)}, \lambda^{(answer)}$是控制长度惩罚强度的系数。我们设置$\lambda^{(think)} = 0.5, \lambda^{(answer)} = 0.5$。

质量门控简洁性奖励。为了在不牺牲质量的情况下进一步鼓励简洁的响应,我们为达到顶级质量得分的最短响应引入了可选的奖励。设$\tau_p$为组内得分的第$p$百分位阈值。对于推理长度最短的响应$r_k$:
[公式]
同样地,对于答案长度最短的响应$r_m$:
[公式]
其中$\beta^{(think)}$和$\beta^{(answer)}$分别是推理和答案的简洁性奖励,而$\unicode{x22A }[\cdot]$是指示函数。我们设置$\beta^{(think)} = 0.5, \beta^{(answer)} = 0.5$, 且$\tau_p = 80$。

机制效果。该机制确保(1)长度惩罚是相对于每个提示组内的,而不是绝对的,从而避免了对固有复杂问题的偏见;(2)简洁性奖励只授予高质量的响应,防止模型学习生成简短但低质量的答案。我们观察到,在训练过程中,冗长程度降低了30%,且没有牺牲准确性。

3.4. 后训练模型评估
表3 | Nemotron 3 Nano与Qwen3-30B-A3B-Thinking-2507及GPT-OSS 20B的比较。
表3 | Nemotron 3 Nano与Qwen3-30B-A3B-Thinking-2507及GPT-OSS 20B的比较。
3.4.1. 评估基准

评估范围。我们在一系列广泛的既定基准上评估Nemotron 3 Nano,涵盖了数学和科学推理、编码、智能体工具使用、指令遵循、长上下文理解和多语言能力。表3总结了最终结果。

评估工具与可复现性。所有评估结果均通过Nemo Evaluator SDK11收集,对于大多数基准测试,则使用了Nemo Skills Harness12。为了可复现性,用于评估的通过NVIDIA Nemo Evaluator SDK打包的Nemo Skills开源容器可在此处13找到。除了Nemo Skills,评估还使用了针对Tau-2 Bench、ArenaHard v2、AA_LCR的专用打包容器。关于评估设置的更多细节可以在Nemo Evaluator SDK configs文件夹14中找到。以下基准测试尚未在我们的开源工具中集成,对于这些,我们使用了它们的官方开源实现:Terminal Bench、SWE-Bench、Scale AI Multi Challenge。

具体基准
- 数学与STEM推理:我们在AIME25(有/无工具)、GPQA(【Rein et al., 2023】)、LiveCodeBench v6(【Jain et al., 2024】)、SciCode(【Tian et al., 2024】)和Humanity's Last Exam(【Phan et al., 2025】)上进行评估。我们还加入了MMLU-Pro来评估通用学术和知识密集型推理能力。
- 智能体与工具增强能力:使用TerminalBench、SWE-Bench (OpenHands)(【Jimenez et al., 2023】; 【Wang et al., 2025a】)、TauBench V2 (airline, retail, telecom)(【Barres et al., 2025】)和BFCL v4(【Patil et al., 2025】)进行衡量,这些基准通过单元测试、数据库状态转换或结构化模式约束提供可验证的奖励信号。
- 指令遵循与对话能力:使用IFBench、Scale AI MultiChallenge和Arena-Hard-V2(【Li et al., 2024c】)进行评估。这些基准测试探究了多约束指令、偏好对齐的聊天行为以及对用户意图的忠实度。对于Arena-HardV2,我们遵循Yang等人(2025a)的方法,使用GPT-4.1作为评判者。
- 长上下文性能:使用RULER-100在256k、512k和1M tokens(【Hsieh et al., 2024】)以及AA-LCR进行评估,评估了在极端上下文长度下的检索、稳定性和思维链连贯性。RULER-100在关闭推理的情况下进行评估,而AA-LCR则在开启推理的情况下进行测量。
- 多语言能力:我们报告了在MMLU-ProX(【Xuan et al., 2025】)和WMT24++ (en→xx)(【Deutsch et al., 2025】)上的结果,涵盖了多种高资源语言的推理和翻译设置。

结果对比。为了与GPT-OSS 20B和Qwen3-30B-A3B-Thinking-2507进行比较,我们尽可能使用官方报告的数字;如果某个基准未被报告,我们从ArtificialAnalysis (AA)15获取数值;如果两个来源都没有提供结果,我们可能会使用官方评估协议自己计算分数。

性能总结。表3展示了三个模型之间的全面性能比较。Nemotron 3 Nano表现出强大的结果,在所有类别中都超过了GPT-OSS 20B和Qwen3-30B-A3B-Thinking-2507。在推理基准上,Nemotron 3 Nano超过了Qwen3模型,并与之前在这些类别中表现最好的GPT-OSS具有竞争力。在智能体、聊天和长上下文类别中,Nemotron 3 Nano显著优于其他两个模型,展示了我们后训练流程的强大实力。

4. 量化

量化流程。在BF16精度下完成模型后训练后,我们使用ModelOpt16和Megatron-LM应用了训练后量化(PTQ)技术,将模型量化到FP8。

4.1. 训练后量化校准数据集

校准数据选择。对于PTQ校准,我们使用了包含1K个样本的小型子集,这些样本来自后训练的推理SFT数据集。使用基于后训练SFT数据的校准数据,相比于cnn_dailymail数据集,获得了稍好的准确率恢复效果。

校准数据消融实验。我们还使用从BF16模型按策略生成的数据策划的校准数据进行了PTQ的消融实验,但与基于SFT的校准数据集相比,在准确率恢复方面没有观察到任何好处。

4.2. 选择性训练后量化

量化策略。为了在提高效率的同时保持准确性,我们采用了一种选择性的量化策略。我们进行了量化敏感性分析,并探索了一套针对混合精度模型的量化配置。这项研究表明,自注意力层(对于Nemotron 3 Nano,52层中有6层)是最敏感的组件,因此我们将其保持在BF16精度。此外,输入到自注意力层的Mamba层也被发现是敏感的,并保持在BF16精度。总的来说,将6个自注意力层和6个Mamba层保持在BF16精度,为准确率恢复和效率权衡提供了一个最佳配置点。

量化细节。模型权重、激活值和KV缓存被量化到FP8。所有Mamba层内的Conv1D则保持在BF16精度。

4.3. 准确率和吞吐量

量化后准确率。表4比较了Nemotron 3 Nano FP8与BF16在多个基准测试上的准确率数据。总体而言,FP8模型相比于BF16模型实现了大约99%的中位数准确率恢复。

选择性量化有效性验证。为了验证我们选择性量化策略的有效性并更好地理解准确率-效率的权衡,我们评估了多种量化配置。我们通过对不同模型组件应用PTQ进行了一项消融研究。具体来说,我们考察了三个因素:注意力层量化(BF16或FP8)、Mamba层量化(FP8或BF16与FP8的混合)以及KV缓存量化(BF16或FP8)。

准确率-效率权衡。如图11所示,使用FP8量化的KV缓存通过允许更大的批处理大小,显著提高了吞吐量。虽然其他量化配置会遭受准确率下降的影响,但我们的选择性量化即使在进行KV缓存量化的情况下也能保持准确率。结果证实,将自注意力层及其前面的Mamba层保持在BF16精度,同时将其余层和KV缓存量化为FP8,可以产生强大的准确率-效率权衡。

表4 | Nemotron 3 Nano在FP8量化前后的准确率数据。
表4 | Nemotron 3 Nano在FP8量化前后的准确率数据。
图11 | 不同量化配置在准确率-吞吐量权衡上的消融研究。准确率恢复和吞吐量提升是相对于Nemotron 3 Nano BF16检查点计算的,数值已归一化,使得BF16基线为100%。准确率恢复定义为所有基准测试中恢复率的中位数。该基准测试在单个H100上进行,ISL/OSL=8K/16K。鉴于更激进的量化模型由于内存占用较小可以容纳更大的批处理大小,我们在相同硬件约束下为每种量化配置使用了最大批处理大小以进行公平比较。

A4 实验环境

  • 数据集

    • 预训练:在25万亿个文本token上进行预训练,数据跨越15个类别。新发布的数据集包括:Nemotron-CC-v2.1 (2.5万亿新token)、Nemotron-CC-Code-v1 (4280亿token)、Nemotron-Pretraining-Code-v2 (刷新和合成代码)、Nemotron-Pretraining-Specialized-v1 (合成STEM、数学、代码数据)。
    • 后训练
      • SFT:使用了大量多样化的数据集,涵盖竞赛数学、竞赛编程、对话式工具使用、长上下文、形式化证明、多语言、终端使用、通用聊天、指令遵循、安全、软件工程、科学、GenSelect和CUDA等领域。
      • RLVR:环境包括DAPO、SkyWorks (数学)、Ahmad et al. (2025b) (编码)、STEM多选题 (问答)、JSON模式遵循 (结构化输出)、IFEval/IFBench (指令遵循)、Workplace Assistant (智能体工具使用)等。
  • 模型架构

    • 模型名称:Nemotron 3 Nano 30B-A3B
    • 架构:混合Mamba-Transformer与稀疏混合专家(MoE)
    • 参数:总参数31.6B,激活参数3.2B(不含嵌入层)。52层,模型维度2688,32个Q头,2个KV头,128个专家(激活6个)。
  • 硬件配置

    • 训练:在H100 GPU上进行长上下文训练,使用了8路上下文并行、8路张量并行、8路专家并行和4路流水线并行。
    • 评估:在单个H200 GPU上测量推理吞吐量。
  • 软件配置

    • 训练框架:Megatron-Core
    • RL框架:NeMo Gym, NeMo RL
    • 推理引擎:vLLM, TRT-LLM
    • 评估工具:Nemo Evaluator SDK, LM Evaluation Harness, Nemo Skills Harness
    • 量化工具:ModelOpt

A4 实验结果

  • 基础模型性能 (表2):Nemotron 3 Nano 30B-A3B Base在代码(HumanEval 78.05 vs 70.73)、数学(MATH 82.88 vs 61.14)和长上下文(RULER 64K 87.50 vs 63.55)等多个基准上显著优于同等规模的Qwen3-30B-A3B-Base。在通用知识和常识理解方面也表现出强大的竞争力。
  • 后训练模型性能 (图1, 表3)

    • 总体性能:Nemotron 3 Nano在所有评估类别(推理、智能体、聊天、长上下文、多语言)中均超越了GPT-OSS 20B和Qwen3-30B-A3B-Thinking-2507。
    • 推理能力:在AIME25 (with tools)上达到99.17分,超过了GPT-OSS的98.7分和Qwen3的85.0分。
    • 智能体能力:在SWE-Bench上得分为38.76,显著高于Qwen3的22.00和GPT-OSS的34.00。在TauBench V2上平均得分为49.04,也领先于竞争对手。
    • 长上下文:在RULER@1M上得分为86.34,远超Qwen3的77.50。
    • 推理效率:在8K输入/16K输出的设置下,推理吞吐量是Qwen3的3.3倍,GPT-OSS的2.2倍。
  • RLVR vs. SFT (图8):实验证明,即使经过短暂训练,RLVR的性能也能持续超越或持平于一个经过充分训练(完全收敛)的SFT模型,验证了RLVR在提升模型能力方面的有效性。

  • 量化性能 (表4, 图11)

    • 准确率:FP8量化后的模型在中位数上恢复了BF16模型约99%的准确率,损失极小。
    • 效率:采用选择性量化策略(保留部分敏感层为BF16,其余量化为FP8)相比于BF16基线,推理吞吐量提升了约3.5倍,实现了最佳的准确率-效率权衡。
  • 模型鲁棒性 (附录E, 表8):通过提示敏感性分析,Nemotron 3 Nano在不同提示风格下的表现非常稳定,其敏感性得分(标准差)显著低于Qwen3和GPT-OSS,表明其预测结果不易受提示词微小变化的影响。

A5 结论

我们介绍了Nemotron 3 Nano,这是一款开放且高效的、用于智能体推理的MoE混合Mamba-Transformer模型。Nemotron 3 Nano在准确率上优于或持平于竞争模型,同时推理吞吐量最高可达3.3倍。它支持高达1M token的上下文长度。我们已经在HuggingFace上发布了基础模型(Nemotron 3 Nano 30B-A3B Base)和最终模型(Nemotron 3 Nano 30B-A3B)的权重。随同权重,我们还开源了训练配方、数据和代码。

A6 附录

A. 基础模型评估

预对齐基础模型与最终基础模型对比。为完整起见,表5展示了用于初始化对齐过程的基础模型检查点(称为预对齐基础模型)的评估结果。在开发过程中,我们发现该模型在一些关键基准上的性能存在局限,这促使我们训练了旨在发布的改进版基础模型(如表2所评估)。

性能改进。与落后于Qwen3的预对齐基础模型不同,改进后的检查点在代码和通用知识任务上的平均性能超过了Qwen3。在数学任务上的领先优势也比预对齐基础模型显著扩大。在多语言基准测试中,虽然Qwen3在MMLU Global Lite任务上仍保持领先,但改进后的检查点在MGSM任务上已经超过了Qwen3。唯一显著的退步是在长上下文方面,改进后的检查点相比预对齐基础模型性能略有下降,但仍以较大优势领先于Qwen3。
表5 | Qwen3-30B-A3B-Base与Nemotron 3 Nano预对齐基础检查点(用于初始化对齐流程的特定检查点)的比较。两者中的最佳结果以粗体标出。
表5 | Qwen3-30B-A3B-Base与Nemotron 3 Nano预对齐基础检查点(用于初始化对齐流程的特定检查点)的比较。两者中的最佳结果以粗体标出。

B. MMLU-redux评估

MMLU-redux变体。我们开发了以下两个MMLU-redux的变体:
(1) MMLU-redux CoT。我们创建这个变体是因为观察到许多STEM问题本质上需要逐步推理才能成功解决,而原始的多项选择、无思维链格式无法充分捕捉这一点。模型可能通过猜测或记忆得出一些答案。因此,我们为每个科目创建了五个范例,每个范例都附有详细的逐步解决方案。这使我们能够在一个5-shot思维链的设置下评估模型。
(2) MMLU-redux Tweak。由于MMLU的广泛使用增加了因大量调优而导致过拟合和基准饱和的风险,我们引入了这个变体,以更严格地评估模型在与原始问题难度、风格、结构和格式非常匹配但又是新的例子上的性能。我们使用Qwen3-235B-A22B-Thinking-2507修改了原始测试样例,以评估相同的基本概念、思想和技能,同时改变了数值和方程等具体细节。

评估结果。评估结果如表6所示。总的来说,启用CoT推理带来了显著的准确率提升,尤其是在STEM科目上。与Qwen相比,我们的模型从CoT中获得了更大的增益(平均提升+5.27对+0.79)。此外,我们观察到“其他”类别下的“专业会计”任务有了显著提升,从64.00提高到77.00(+13.00),因为这项任务也严重依赖计算技能。

MMLU-redux Tweak结果。在MMLU-redux Tweak上,两个模型在非STEM类别上都取得了明显的增益,这可能是因为许多非STEM问题评估的是领域知识,而调整后的问题是使用Qwen3-235B-A22B-Thinking-2507生成的,其知识可能与被评估的模型更为一致。我们观察到在STEM上出现了分歧的趋势:Qwen的准确率略有下降(-0.83),而我们模型的得分增加了5.31。
表6 | 在MMLU-redux及其两个变体上的评估结果。“Qwen”指的是Qwen3-30BA3B-Base模型。“Ours”表示我们用于消融研究的基础模型检查点,它是在与我们最终模型所用数据混合略有不同的数据上训练的,因为消融研究与训练是同时进行的。

C. 用于减少工具幻觉的DPO

目标与方法。减少幻觉性工具使用是我们对齐实验的关键目标之一。尽管我们发布的模型不依赖于DPO,因为强化学习(RL)已经取得了相当的性能,但我们还是探索了DPO作为一种额外的技术,因为它简单且计算开销极小。如下文所示,即使是非常少量的DPO训练也能显著减少幻觉性工具调用并提高推理稳定性。为支持这一分析,我们首先定义了在我们的评估中什么构成幻觉性工具使用。

工具幻觉定义。我们将工具幻觉定义为模型在系统消息中未声明任何工具的情况下尝试调用工具的任何实例。在“无工具”和“幻觉惩罚”设置下,模型应完全依赖内部推理;因此,任何包含工具调用的输出,如Python执行请求、搜索调用或任何特定于工具的API格式,都被视为幻觉。工具幻觉率是此类意外工具调用在评估样本中出现的比例。

DPO数据构建。为了研究DPO如何影响工具使用的校准和推理性能,我们使用了2000个推理任务构建了一个DPO数据集:1000个数学问题和1000个STEM多项选择题。对于每个问题,模型生成了32个策略内解决方案,提供了多样化的候选行为。然后,这些原始生成通过我们的DPO数据构建流水线进行处理,根据正确性和工具使用条件分配偏好标签,总共产生了约5万个偏好样本。我们后来发现,即使使用显著更小的数据集,模型的改进仍然存在;实际上,使用少至1万个偏好样本(甚至更少)进行训练也产生了类似的好处。这进一步凸显了DPO在我们的设置中的低计算成本和高样本效率。我们将数据分为三类:(1)无工具,(2)有工具,和(3)幻觉惩罚。

训练设置。对于我们的DPO实验,我们使用了一个轻量级的训练配置,旨在最小化对SFT后模型的扰动,同时仍提供有意义的偏好学习信号。具体来说,我们使用3e-6的学习率,128的批大小,训练50步。我们将SFT损失系数设为0.2,偏好(DPO)损失系数设为1.0,KL损失系数设为0.05。

结果。表7显示了应用少量DPO训练对推理准确率和幻觉性工具使用的影响。尽管只用了50个训练步骤和一个适度的学习率,我们观察到在所有评估的基准测试中都有一致的改进。
- 在AIME25上,准确率从80.88%提高到84.58%,幻觉率从1.25%降低到0%。
- 在GPQA上,准确率从65.15%提高到69.19%,幻觉率从8.33%急剧下降到仅0.7%。
这些结果表明,即使是最小化的DPO训练也能有意义地减少幻觉性工具使用,同时提高推理准确率。
表7 | DPO实验的评估结果。
表7 | DPO实验的评估结果。

D. 安全偏好数据

数据构建。对于RLHF阶段,奖励模型训练数据包含与SFT安全子集相同的底层数据集,从而使起始种子提示具有相似的分布。响应生成更为细致,以处理过度拒绝和有害参与作为被拒绝的响应。
- 有害提示:选择的响应与SFT响应的生成策略类似。被拒绝的响应是不安全的模型输出,通过两种方法生成:(i)应用越狱模板产生有害的完成,(ii)直接提示模型并使用内容安全审核分类器检测有害输出的情况。
- 安全提示:选择的响应是通过将安全提示原样传递给底层模型生成的,并使用内容安全审核分类器确保响应安全。被拒绝的响应是通过应用拒绝提示模板生成的,导致过度拒绝。

偏好标注。由此产生的响应对使用基于偏好的方案进行标注:对于有害提示,<安全,不安全>的完成被标记为<选择,拒绝>对。对于安全提示,<安全,过度拒绝>的完成同样被标注为<选择,拒绝>对。这种方法支持训练奖励模型,以实现强大的安全对齐并减轻过度拒绝行为。

多样性保证。为确保多样性,我们使用五(5)种不同的开源模型为每个提示生成选择和拒绝的响应对,然后应用必要的过滤器,只保留安全(用于选择)和不安全或过度拒绝的响应(用于拒绝),以构建候选的选择和拒绝响应列表。最后,从候选者中为每个提示随机选择一个选择和拒绝的响应对。

E. 提示敏感性分析

表8 | Nemotron 3 Nano, Qwen3-30B-A3B-Thinking-2507 和 GPT-OSS 20B的提示敏感性(越低越好)。(Comp-Math-24-25包含AIME24, AIME25, HMMT 2024年2月、11月和2025年2月的数据集)。
表8 | Nemotron 3 Nano, Qwen3-30B-A3B-Thinking-2507 和 GPT-OSS 20B的提示敏感性(越低越好)。(Comp-Math-24-25包含AIME24, AIME25, HMMT 2024年2月、11月和2025年2月的数据集)。

背景。LLM的预测可能对输入的微小变化敏感(【Nalbandyan et al., 2025】)。即使是简单的、非对抗性的编辑(例如,提示措辞的改变、答案格式指令或问题在提示中的相对位置)也可能足以改变模型的输出,从而改变单个预测,并最终影响基准测试的准确率。为了减少因单一提示选择而高估或低估准确率的风险,我们使用多个提示来评估模型。这更好地反映了模型在常规、现实的提示变化下的稳定性。

测量方法。为了测量提示敏感性,我们为每个数据集构建了一组提示,这些提示在措辞、指令的粒度(最小化 vs. 详细)、问题位置(提示前、中、后)和答案格式上有所不同。对于每个提示,我们计算八个种子的平均准确率,并使用提示平均值的标准差作为提示敏感性指标。

结果。提示敏感性结果如表8所示。Nemotron 3 Nano在所有数据集上的敏感性得分均低于1,显示出对提示变化的强大稳定性和鲁棒性。