Llama-3.1-Nemotron-Nano-4B-v1.1模型论文速读:高效推理模型

《Llama-Nemotron: Efficient Reasoning Models》论文讲解

一、引言

近年来,语言模型的发展速度不断加快,在众多自然语言处理任务中性能得到了显著提升。随着推理模型的出现,如 OpenAI o1 和 DeepSeek-R1,这些模型能够在回答问题前进行深入思考,其特征是长篇幅的回答,包含长链条的思考过程、自我验证、反思和回溯等。这些长篇幅的回答使其在多种任务中达到了最先进的性能,包括博士级别的 STEM 问题和竞赛级别的数学问题。

然而,随着推理能力越来越依赖于推理时间的扩展,设计高效运行的模型变得至关重要。推理效率不再仅仅是部署时需要考虑的问题,它已经成为限制模型整体智能和代理流程可行性的关键因素。因此,最大化推理效率成为这些模型的主要优化目标之一。除此之外,让用户能够控制推理行为同样关键。并非所有查询都能从详细的多步骤推理中受益,这样的回答可能会过于冗长,甚至在某些情况下适得其反。赋予用户切换推理开关的能力,可以确保推理资源得到合理分配,并且响应风格与任务相适应。

本文详细介绍了 Llama-Nemotron(LN)模型家族的训练过程,这是一个开放的异构推理模型家族,具有卓越的推理能力、推理效率,并且具有商业许可的企业使用权限。该模型家族包括三种大小:LN-Nano(8B)、LN-Super(49B)和 LN-Ultra(253B),在性能上能够与最先进的推理模型 DeepSeek-R1 竞争,同时在推理吞吐量和内存效率方面表现更优。LN-Ultra 在单个 8xH100 节点上即可运行,并且具有更高的推理吞吐量。

二、推理优化模型的创建

LN-Super 和 LN-Ultra 模型使用 Puzzle 框架进行优化,以实现高效推理。Puzzle 是一个神经架构搜索(NAS)框架,它将大型语言模型转化为硬件高效的变体,以满足实际部署约束。从 Llama 3 指令模型开始,Puzzle 应用块级本地蒸馏来构建替代 Transformer 块的库。每个块独立并行训练,以近似其父块的功能,同时改善计算属性,如延迟、内存使用或吞吐量。这使得每个替代块能够在一定的准确性 - 效率权衡曲线上近似原始行为;即库中的某些块更高效,但可能会导致一些质量下降,从而引入计算成本与模型准确性之间的显式权衡。块变体包括:

  • 完全省略注意力机制的块,从而减少计算和 KV 缓存内存消耗。

  • 变量 FFN 尺寸:变化前馈网络的中间尺寸,实现在不同粒度级别的压缩(例如,原始隐藏尺寸的 87%、75%、50%,直到 10%)。

除了上述操作外,Puzzle 还支持其他操作,包括不同数量键值头的分组查询注意力(GQA)、注意力的线性替代方案以及无操作替代方案。但实证评估表明,对于 LN-Super 和 LN-Ultra 模型,注意力移除和 FFN 压缩在整体吞吐量和内存节省方面最为有效。

在构建块库之后,Puzzle 通过选择每层的一个块来组装完整模型。该选择由混合整数规划(MIP)求解器控制,该求解器在给定一组约束条件下(如硬件兼容性、最大允许延迟、总内存预算或期望的推理吞吐量)识别最高效的配置。由于 Puzzle 支持每个层具有不同准确性 - 效率权衡曲线的多个块变体,因此用户可以精确地针对准确性 - 效率帕累托前沿上的任何点。例如,Puzzle 可以生成满足与代理系统或部署流程相关的特定约束的模型,如有限的内存使用或严格的端到端响应时间。

(一)垂直压缩与 FFN 融合

对于 LN-Ultra 模型,引入了一种额外的压缩技术,称为 FFN 融合,旨在减少顺序深度并改善推理延迟。这种技术利用了 Puzzle 移除一些注意力层后出现的结构特性:模型通常包含连续的 FFN 块。FFN 融合识别这些序列,并用更少、更宽的 FFN 层替换它们,这些层可以并行执行。这减少了顺序步骤的数量,同时不损害表达能力,并显著提高了计算利用率 — 特别是在多 GPU 设置中,层间通信开销不容忽视。

(二)部署约束与效率目标

LN-Super 被优化为在单个 NVIDIA H100 GPU 上以张量并行度 1(TP1)高效运行。使用 Puzzle,产生的模型在批大小为 256 且 TP1 的情况下,比 Llama 3.3-70B-Instruct 的吞吐量速度快了 5 倍。即使当 Llama 3.3-70B-Instruct 在其最优配置(TP4)下运行时,LN-Super 在 TP1 下仍然具有 ≥2.17 倍的吞吐量优势。该模型还在大约 300K 缓存令牌的约束下进行了优化(批大小 × 序列长度),在单个 H100 GPU 上以 FP8 精度测量。例如,这对应于处理批大小 16 和序列长度 18,750。

LN-Ultra 被优化为在完整的 H100 节点(8 个 GPU)上运行。在 Puzzle 的架构搜索阶段,该模型被约束为在延迟上至少比 Llama 3.1-405B-Instruct 快 1.5 倍。应用 FFN 融合后,最终模型实现了 1.71 倍的延迟改进。LN-Ultra 还在缓存令牌约束下进行了优化,在 FP8 精度下支持多达 3M 令牌,在 BF16 精度下支持 600K 令牌。

(三)后 NAS 训练:知识蒸馏与继续预训练

在 NAS 阶段之后,LN-Super 和 LN-Ultra 还要进行额外的训练,以改善块间兼容性并恢复块级替换过程中引入的质量损失。

  • LN-Super 使用知识蒸馏目标在 Distillation Mix 数据集上训练了 40B 令牌。

  • LN-Ultra 首先使用相同的知识蒸馏数据集进行知识蒸馏训练 65B 令牌,然后在 Nemotron-H 第 4 阶段预训练数据集上继续训练 88B 令牌。

这最后的预训练步骤使 LN-Ultra 不仅能够匹配,而且能够在关键基准测试中超越参考模型 Llama 3.1-405B-Instruct,证明了通过短时间的蒸馏和预训练,可以调和激进的架构优化与高模型性能之间的关系。

三、合成数据

精心策划了推理和非推理数据,用于监督微调。对于推理样本,包含系统指令 “detailed thinking on”,对于非推理样本,使用 “detailed thinking off”。这种设置使模型能够在推理时根据提示学习切换推理行为。

(一)推理开启

1. 数学

为了构建数学推理部分的数据,使用了 Moshkov 等人描述的流程。从 Art of Problem Solving(AoPS)社区论坛收集了大量的数学问题。除了 “Middle School Math” 外,包含了所有论坛讨论,因为早期实验发现 “Middle School Math” 太简单,对训练无帮助。在检索论坛讨论后,执行以下步骤以提取问题并合成新解决方案。除非另有说明,否则在管道的所有步骤中都使用 Qwen2.5-32B-Instruct。

  • 问题提取 :提示大型语言模型(LLM)识别并提取初始论坛帖子中的所有问题。虽然大多数帖子只包含一个一个问题,但有些帖子包含多个问题或根本没有问题。

  • 问题分类 :将每个提取的问题分类为以下几类:证明问题或非证明问题、多项选择问题或非多项选择问题、是 / 否问题(二元问题)或非二元问题、有效问题或无效问题。例如,缺少上下文或引用其他问题的问题被视为无效。

  • 答案提取 :从论坛讨论中提取最终答案,而不尝试提取完整的解决方案。仅提取最终答案表达式,以便进行自动正确性检查。

  • 基准去污染 :遵循 Yang 等人的方法,使用基于 LLM 的比较来移除与流行的数学基准测试中问题过于相似的问题。

  • 解决方案生成 :提示 DeepSeek-R1 和 Qwen2.5-Math-7B-Instruct 多次解决每个问题,分别生成 “推理” 和 “非推理” 解决方案。每个问题使用 DeepSeek-R1 生成 16 个解决方案,使用 Qwen2.5-Math-7B-Instruct 生成 64 个解决方案。

  • 解决方案过滤 :作为最后的过滤步骤,移除所有未达到预期答案的解决方案。通过提示 Qwen2.5-32B-Instruct 判断预测答案和预期答案在问题背景下的等价性来比较预测答案和预期答案。对于无法提取最终答案的问题,将所有可用解决方案候选中最常见的答案视为真实答案。

2. 代码

代码推理数据集的构建涉及问题收集、解决方案生成和后处理步骤的多阶段过程。

  • 问题收集与验证 :从包括 TACO、APPS、CodeContests 和 CodeForces 在内的不同来源聚合了 28,904 个独特的竞争性编程问题,在进行精确匹配去重后。为了确保与基准测试(如 Jain 等人;Li 等人;Chen 等人;Austin 等人)的评估完整性,我们使用 Yang 等人的方法严格检查污染情况。这包括余弦相似性检查和由 LLM 裁判(Llama-3.3-70B、Qwen2.5-32B)进行的语义评估。手动验证确认重叠可以忽略不计(< 0.3%),从而验证了问题集。

  • 解决方案生成 :使用 DeepSeek-R1 主要生成 Python 的每个问题的多个解决方案,也为特定基准测试生成 C++ 解决方案。使用 Nucleus Sampling(温度 0.6,top-p 0.95)通过 SGLang 明确提示包含在 标签中的推理步骤来生成解决方案。

  • 后处理与精炼 :通过验证推理痕迹的存在、提取解决方案代码段(由 python… 标记)、移除样本中代码在推理标签内的代码,并使用 Tree Sitter 验证语法来精炼生成的响应。此过程产生了大约 488K 个 Python 样本。

3. 科学

策划了一组来自内部和外部来源的开放性问题和多项选择问题(MCQs)。这些包括从 StackOverflow 提取的问题 - 答案对和通过 Nemotron-4-340B-Instruct 定义的合成 MCQ 问题。

  • 合成问题生成 :为了创建合成问题,使用 Nemotron-4-340B-Instruct 定义了一系列广泛的学术主题(例如物理、生物、化学)及其子主题,并指定了多个难度级别,以确保数据集的多样性和可扩展性。提示 Qwen2.5 模型根据主题、子主题和难度级别生成 MCQs。每个问题都经过格式合规性验证。按照 OpenMathInstruct-2 流程,通过提示 Qwen2.5 生成原始问题的变体来扩充数据集。

  • 基准去污染 :为了确保公平评估,对所有真实和合成问题进行全面去污染处理,以防止与主要科学基准测试(如 GPQA、MMLU 和 MMLU-Pro)的测试集重叠,遵循 Yang 等人概述的方法。

  • 解决方案生成 :对于数据集中的所有问题,使用 DeepSeek-R1 生成多个推理痕迹。对于没有真实答案的问题,通过对生成的解决方案进行多数投票来推断最可能的正确答案。

4. 通用

对于通用领域数据,遵循 NVIDIA(2024c)中建立的生成流程。生成涵盖各种任务(如开放式 QA、封闭式 QA、提取和头脑风暴)的合成提示。此外,从具有许可协议的公开数据集中获取真实世界用户提示。对于响应,提示 DeepSeek-R1 多次生成,并使用 Llama-3.1-Nemotron-70B 奖励模型进行拒绝采样,以确保响应质量高。

(二)推理关闭

为了训练模型遵循推理切换指令,构建了成对数据,其中每个提示都有推理响应和非推理响应。具体来说,从第 3.1 节的推理数据集中随机采样提示,并使用 Llama-3.1-Nemotron-70B-Instruct 为通用领域提示生成相应的非推理响应,对于其他提示则使用 Llama-3.3-70B-Instruct。每个响应都标记了适当的系统指令 ——“detailed thinking on” 用于推理,“detailed thinking off” 用于非推理。这种配对使模型能够基于系统提示调节其推理行为。

响应随后根据真实答案或奖励模型进行过滤。还利用函数调用和安全性的公共许可数据集,对其进行增强以训练模型并提高其在这些领域的能力。为了进一步提高模型在一般任务上的性能,使用第 3.2.1 节中描述的反馈 - 编辑系统。

1. 通用领域开放式推理时扩展

为了生成高质量的通用领域开放式响应,采用 Llama-3.1-Nemotron-70B-Instruct 与 Wang 等人(2025b)描述的新型反馈 - 编辑推理时扩展系统相结合。该过程从 ShareGPT 和 WildChat-1M 中获取 20k 第一回合提示开始。使用 Llama-3.1-Nemotron-70B-Instruct 为每个提示生成多个初始响应。这些响应通过三个阶段的流程进行完善:专门的反馈模型识别需要改进的领域,专门的编辑模型根据反馈进行针对性编辑,专门的选择模型选择最佳编辑响应。结果数据集包含 20k 第一回合提示及其相应的高质量响应。

四、监督微调

监督微调(SFT)在将推理能力转移到 Llama-Nemotron 模型中发挥着关键作用。尽管先前阶段(如 NAS 和 CPT)侧重于架构效率和广泛的知识转移,但 SFT 通过在特定任务的推理痕迹上训练,从强大的教师模型(如 DeepSeek-R1)中提取推理行为,并使用 “detailed thinking on/off” 指令建立对响应风格的细粒度控制。最近的研究表明,这种推理 SFT 可以显著提高复杂推理任务的性能。本文的结果证实了这些发现,强调了在 SFT 阶段对大规模、高质量的推理痕迹进行训练对于在下游使用中引发强大的推理能力的重要性。本节在第 3 节描述的合成数据的基础上,进一步提供了每个模型的具体实施细节。

(一)一般方法论

所有模型均使用基于指令调优数据的令牌级交叉熵损失进行训练。在大多数设置中,训练批次混合推理和非推理数据,其中提示与基于相应系统指令(“detailed thinking on/off”)的响应配对。

观察到模型需要更高的学习率才能有效地从长推理痕迹中学习,特别是由于序列长度依赖的令牌损失平均化。多个 epoch 的扩展训练提高了性能,尤其是对于较小的模型,这一趋势在先前工作中也有观察到。使用 Adam 优化器训练所有模型。使用余弦学习率衰减,线性热身至大约总步骤的 10%,有助于稳定训练,这对于 LN-Ultra 至关重要。

(二)特定模型的训练

LN-Nano 与其他模型不同,其采用三阶段 SFT 流程,全局批量大小为 256,使用序列打包,有效序列长度为 32k 令牌。在第一阶段,模型仅在代码、数学和科学领域的推理数据上进行微调,学习率为 1e−4,持续四个 epoch。这可防止诸如重复完成等失败模式。在第二阶段,引入非推理数据并与推理样本混合,使模型能够学习推理控制。在最后阶段,使用更小的混合数据集,重点关注聊天、指令遵循和工具调用。

LN-Super 在整个 SFT 数据集上训练一个 epoch,使用固定学习率 5e−6,序列长度 16k,全局批量大小 256。小规模运行表明,使用更大的学习率(5e−5)进行 3−4 个 epoch 可以提高性能,但由于计算和时间限制,训练受到限制。最近的研究表明拒绝微调可以进一步提高性能;然而,在我们的实验中并未获得增益,因此被舍弃。

LN-Ultra 在整个数据集上使用序列打包进行训练,有效序列长度为 24k,全局批量大小为 256,以最大化令牌吞吐量 — 对于微调具有长上下文推理数据的大型模型而言,这是一种重要策略。初始消融运行表明,更高的学习率(如 5e−5)通常可以改善结果,但始终如一的高学习率会导致训练不稳定,包括梯度爆炸。为此,我们实施了线性热身至 1e−5,随后进行余弦衰减至 1e−6,热身比例为 10%。尽管采取了这些措施,训练仍在第一个 epoch 后遇到了梯度爆炸和数值不稳定的问题。这需要在重新初始化优化器状态后恢复训练,之后成功收敛。

五、推理强化学习

如第 4 节所述并如表 5 所示,模型可以通过监督微调从强大的教师模型中获得强大的能力。然而,蒸馏本质上限制了学生的表现,特别是当学生的基本模型比教师更强大时。使用监督微调,LN-Ultra 可以接近 DeepSeek-R1 的性能,但无法超越它。为了使学生超越教师,大规模强化学习是必不可少的方法,因为它允许模型不断探索新的可能性并进行自我学习。与 DeepSeek-AI 等人的发现一致,我们的初步实验表明,对于较小的模型而言,强化学习(RL)的结果不如蒸馏理想。鉴于这些观察和资源限制,我们仅对 LN-Ultra 应用推理强化学习,使其能够超越其教师模型,并在 GPQA 中成为开放模型中的新标杆。

(一)训练流程

对于 LN-Ultra,我们通过大规模强化学习增强其科学推理能力,采用集团相对策略优化(GRPO)算法。我们使用 72 的 rollout 提示大小,并在温度 = 1 和 top_p = 1 的情况下为每个提示采样 16 个响应。在训练期间,我们设置全局批量大小为 576,并进行 2 次梯度更新 per rollout。我们训练模型直到其在推理任务上收敛。图 5 显示了随着我们的优化训练进展,GPQA-Diamond 上的准确率得分。借助我们优化的训练基础设施(见第 5.2 节),整个训练过程大约需要 140k H100 小时。

在这一训练阶段,我们利用两种类型的奖励:

  • 准确性奖励 :对于每个训练示例,提供一个真实答案(数字、句子或段落)。我们使用 Llama-3.3-70B-Instruct 模型来判断策略的预测是否与真实答案匹配。

  • 格式奖励 :遵循 DeepSeek-AI 等人的做法,我们采用格式奖励,以确保模型在使用 “detailed thinking on” 模式时将其思考过程置于 “” 和 “” 标签之间。我们还检查在使用 “detailed thinking off” 模式时不存在思考标签。

为了确保模型得到充分挑战,我们通过独立使用 LN-Super 为每个问题生成 8 个响应,计算通过率,然后故意丢弃通过率高达 0.75 或更高的提示,从而增加训练数据的难度。除了数据过滤外,我们还发现课程训练很有帮助,因为它允许模型逐步从难度递增的任务中学习。具体来说,我们实施了基于预计算的通过率作为难度指标的渐进式批量策略。在固定批量大小的情况下,我们的方法核心是为每个顺序批量动态计算目标通过率分布。该分布以难度水平为中心,使用高斯函数建模,难度水平从初始批次的高通过率(较容易的示例)到后期批次的低通过率(较难的示例)逐步推进。在分配样本到每个批量时,主要根据此目标分布,同时考虑每个通过率的可用数量,任何剩余的批量容量则通过优先考虑剩余样本池中数量最多的通过率来填充。这确保了批量的平均样本难度逐渐且可控地增加,同时在批量内部随机打乱样本。图 6 展示了我们课程策略的有效性,它稳定了训练过程并实现了更高的准确率。

(二)基础设施

我们主要使用 NeMo-Aligner 来执行强化学习训练,其中使用了实现 GRPO 和异构模型支持的开发分支。我们使用 vLLM 执行生成阶段,使用 Megatron-LM 执行训练阶段。生成和推理阶段位于同一 GPU 上。

使用的 GPU 总数为 72 个 8xH100 节点。使用的训练模型并行性为:张量并行 = 8(带序列并行)、上下文并行 = 2、管道并行 = 18 和数据并行 = 2。生成模型的并行性为张量并行 = 8,数据并行 = 72。关于如何选择此并行化策略的详细信息,请参阅 5.2.2。生成在 FP8 中执行,训练在 BF16 中进行,优化器状态为 FP32。

每个阶段维护自己的模型权重集,这些权重在每个步骤开始时同步。首先,所有训练权重在训练管道并行维度上进行全归约,转换为 vLLM 格式,并写入共享内存。然后释放或卸载所有训练阶段的内存。接下来,vLLM 从睡眠模式唤醒,从共享内存中加载新保存的模型权重,并开始生成。生成完成后,使用睡眠模式 = 2 释放 vLLM GPU 内存,然后重新加载所有训练内存。

1. 内存分析和优化

在 LN-Ultra 的 GRPO 训练中,主要挑战之一是内存管理。训练作业被调度到共享集群环境中。在集群中,每个节点有 8 个 H100 GPU、双插槽 32 核 CPU 和 2TB CPU DRAM。另一方面,BF16 类型的模型占用约 253 × 2 ≈ 500GB 内存。此外,如第 5.2.1 节所述,为了提高 GPU 利用率,我们决定将训练和推理阶段堆叠在同一组节点上。如果没有仔细的内存管理,则很容易在 GPU 和 CPU 内存分配中遇到内存不足错误。

为了更好地跟踪训练过程中的内存使用情况,我们开发了三个简单的内存分析工具来监控内存使用情况:使用 PyTorch 的 GPU 内存利用率、使用 psutil 的 CPU 内存利用率以及使用 df 命令的 /dev/shm 利用率。GPU/CPU 内存分析器帮助我们跟踪不同代码指针处的 GPU/CPU 内存使用情况。需要 /dev/shm 分析器是因为我们使用 /dev/shm 将权重从训练器传递给 vLLM 服务器,主机配置为将多达 1TB 分配给 /dev/shm 空间。

借助这些分析工具,我们能够准确定位导致内存不足错误的具体内存分配,并设计解决方案来克服这些问题。第一个挑战是权重准备。当我们在管道并行阶段跨全归约训练权重时,由于异构架构,我们遇到了非常大的张量。其中一个张量有 13B 个元素,在 BF16 类型下占用 26B GPU 内存。我们需要定期释放未使用的 GPU 内存,并将一些张量转换操作移到 CPU 以控制此阶段的 GPU 内存使用。第二个挑战是 vLLM GPU 内存利用率。在张量并行等于 8 的情况下,我们期望每个 GPU 保留 BF16 中约 500/8 ≈ 62GB 的权重。考虑到 KV 缓存、激活以及训练器占用的 GPU 内存,我们对 vLLM 的预算非常紧张。我们不得不禁用 cudagraph 功能以避免 vLLM 中的 GPU 内存不足。然而,当我们在 5.2.3 节中启用 FP8 推理生成时,GPU 内存预算变得宽松得多,我们可以再次启用 cudagraph 功能。最后一个挑战是训练器的 GPU 和 CPU 内存使用。张量并行 = 8 是将完整模型分区到每个节点中的 8xH100 GPU 的自然选择。由于模型架构是异构的,我们需要插入身份层以平衡管道并行中的管道阶段。我们希望有足够的管道并行性以避免 GPU 中的训练内存不足和 CPU 中的检查点保存内存不足。另一方面,我们也希望减少管道阶段的数量以降低通信成本。在所有权衡之后,我们发现最佳的管道并行设置是 18。激活也消耗大量内存,我们需要在管道并行性为 18 的情况下保持 18 个微批次。我们最终选择张量并行 = 8(带序列并行)、上下文并行 = 2、管道并行 = 18 和数据并行 = 2,以实现 >90% 的 GPU 利用率,同时避免任何主机遇到 GPU 或 CPU 内存错误。

2. FP8 推理生成

我们确定生成阶段是步骤时间的主要组成部分。为了提高性能,我们实现了支持 vLLM 的在线 FP8 生成模式,该模式使用每个令牌的激活缩放因子和每个张量的权重缩放因子执行所有 GEMMs。我们实现了自定义 vLLM 权重加载器,能够在运行时将训练阶段提供的 BF16 权重转换为 FP8 权重和缩放因子。由于 vLLM 不支持直接初始化 FP8 中的模型,我们还实现了元权重张量初始化,以避免生成完整的 BF16 推理引擎,这将导致 GPU 中的内存不足错误。

总的来说,我们观察到 FP8 生成的峰值吞吐量为每秒每个 GPU 每个提示 32 个令牌,比 BF16 快 1.8 倍,据我们所知,这是在如此大规模的推理训练中观察到的最高解码吞吐量。我们观察到仅 FP8 生成带来了 1.4 倍的速度提升,另外 0.4 倍来自内存使用减少,这使得我们能够再次启用 vLLM 的 cudagraph 功能。

六、偏好优化的强化学习

(一)指令遵循

在科学推理训练之后,我们对 LN-Super 和 LN-Ultra 进行了一次简短的强化学习运行,以优化指令遵循能力。我们采用了与 Zhou 等人相似的验证设置,并生成了包含一个到十个详细指令的合成指令遵循提示。我们使用 RLOO 算法进行不到 120 步的强化学习,使用我们的指令遵循验证器作为奖励,批量大小为 128 个提示。我们发现这种训练提升了在传统指令遵循基准测试以及推理基准测试中的性能。

(二)基于人类反馈的强化学习(RLHF)

我们使用 RLHF 提高模型在一般帮助性和聊天能力方面的表现,同时谨慎地保持其在其他领域的熟练度。如表 4 所示,LN-Super(49B 模型)在 Arena Hard 上得分为 88.3,超过了 Claude 3.5 Sonnet 和 GPT-4o-2024-05-13 等专有模型,以及 Llama-3.1-405b-instruct 和 Mistral-large-2407 等更大的开放模型。

为了实现这一点,我们使用迭代在线 RPO 来最大化 Llama-3.1-Nemotron-70B-Reward 预测的奖励,这些奖励来自 HelpSteer2 的提示。对于每次迭代,我们使用学习率 α 为 4e-7,KL 惩罚 β 为 1e-5,奖励尺度 η 为 3.0,批量大小为 64,训练 500 步。两次在线 RPO 迭代将 Arena Hard 得分从 69.1 提高到 88.1。更有趣的是,此过程还提高了模型在除 IFEval 之外的所有其他采用的基准测试中的表现。由于既没有数据集也没有奖励模型针对数学、编码、科学或函数调用进行优化,我们推测 RLHF 帮助模型更好地利用其现有的知识和技能。

对于 LN-Ultra,我们遵循相同的流程,但使用 GRPO。对于每个提示,我们采样 8 个响应。我们以 3e-7 的学习率、288 的批量大小和 1e-3 的 KL 惩罚 β 训练模型 30 步。

对于 LN-Nano,我们进行了两轮使用策略数据的离线 RPO。第一轮 RPO 使用适当的系统提示混合了推理和非推理数据以改善推理控制,随后第二轮使用策略生成数据以提高指令遵循能力。对于每轮 RPO,我们训练最多 400 步,学习率 α 为 7e-7,KL 惩罚 β 为 3e-2,批量大小为 512。

七、推理和聊天基准测试评估

(一)基准测试

我们对所有 Llama-Nemotron 模型进行了推理和非推理两大类基准测试的评估。

1. 推理基准测试

这些包括 2024 年(AIME24)和 2025 年(AIME25)的美国邀请赛数学考试、GPQA-Diamond(Rein 等人,2024)、LiveCodeBench(Jain 等人,2024)和 MATH500(Lightman 等人,2023)。AIME25 分为两部分:AIME25-I 和 AIME25-II,每部分包含 15 个问题。对于 LN-Nano,我们仅使用 AIME25-I;对于 LN-Super 和 LN-Ultra,我们在完整的 30 个问题上进行评估。由于 AIME25 最近发布,因此不太可能与训练数据重叠。因此,该基准测试上的更强性能表明对训练分布之外的数学问题具有更好的泛化能力。LiveCodeBench 按日期索引包含问题,我们报告了两个特定范围(2408–2502 和 2410–2502)的结果,以实现与先前基线的公平比较。

2. 非推理基准测试

这些包括 IFEval(严格指令)(Zhou 等人,2023)用于指令遵循、BFCL V2 Live(Yan 等人,2024)用于通过函数调用进行工具使用,以及 Arena-Hard(Li 等人,2024)用于评估与人类对话偏好的一致性。

所有评估均在 32k 上下文长度下进行,即使 LN-Super 的训练最大上下文长度为 16k,LN-Ultra 为 24k。我们观察到在扩展上下文长度下进行评估时的一致性改进,因为较短的限制可能会截断长推理痕迹,导致不完整的生成 — 特别是在需要多步骤推理的基准测试上。对于推理开启评估,我们使用温度 0.6 和 top-p 0.95,对于推理关闭则使用温度 0(贪婪解码)。我们为每个提示生成最多 16 个完成,并报告平均 pass@1 准确率。根据先前工作(Moshkov 等人,2025),在 AIME 等推理密集型任务上的评估可能会因数据集规模较小和生成的随机性而表现出高差异。报告的数字可能因重复运行或采样策略而有所不同。

(二)LN-Nano 评估结果

表 3 显示,LN-Nano 在所有推理基准测试中均表现出色,包括 AIME25-I 和 LiveCodeBench,尽管其体积较小。这证明了我们 SFT 流程和策划的推理数据集在将结构化推理转移到小型模型方面的有效性。对于 LN-Nano 来说,在 SFT 阶段平衡数学、编码和 stem 领域的数据分布至关重要,以实现接近最先进的准确性。例如,早期实验显示在 GPQA-D 的主要领域之一的化学相关问题上的准确率较低。在 SFT 混合数据集中对化学相关数据样本进行上采样有助于提高 GPQA-D 准确率。在后训练管道的最后阶段的 RPO 主要针对提高 IFEval 准确率,如表 3 所示。

(三)LN-Super 评估结果

表 4 比较了 LN-Super 与其他同一体积模型在推理和非推理任务上的表现。在推理关闭模式下,LN-Super 的表现与基于其上的 Llama-3.3-70B 持平。在推理开启模式下,它超越了 DeepSeek-R1-Distilled-Llama-70B 等竞争模型,提供了强大的推理能力,而没有牺牲指令遵循能力。这些结果表明,这一单一模型结合了推理优化和非推理模型的优势,使其适用于通用助手和结构化推理用例。此外,如表 4 所示,以推理为重点的 SFT 导致 IFEval 分数显著下降。为了恢复指令遵循能力,我们应用了专门的 IFEval 强化学习运行(见第 6.1 节),以确保强大的推理不会以降低通用助手行为为代价。我们的实验结果揭示了另一个权衡:优化指令遵循(如 IFEval 所衡量)可能会损害对话性(如 Arena-Hard 所衡量),反之亦然。为了解决这一问题,我们对 LN-Super 应用了模型合并,从帕累托前沿中选择了一个平衡这些目标的检查点。由于结果喜忧参半,我们没有将这种方法应用于其他模型。LN-Super 唯一表现不佳的领域是 LiveCodeBench,这归因于其 SFT 阶段是在早期版本的数据集上进行的,与 LN-Nano 和 LN-Ultra 不同。我们计划在未来模型更新中解决这一问题,并提高与编码相关的推理性能。

(四)LN-Ultra 评估结果

表 5 和图 2 显示,LN-Ultra 在推理和非推理基准测试中均匹配甚至超越了所有现有的开放权重模型。它在 GPQA 中实现了开放模型中的最先进性能,证明了我们大规模强化学习训练的有效性。与之前的最先进模型(如 DeepSeek-R1)不同,LN-Ultra 被优化为在单个 8xH100 节点上高效运行,提供了改进的推理吞吐量和部署效率。

从表 5 可以看到,LN-Ultra-SFT 模型在 GPQA 和 AIME 等多个推理基准测试中接近 DeepSeek-R1 的表现。然而,强化学习阶段对于超越 DeepSeek-R1 尤其是在 GPQA 上至关重要。这突出了 SFT 和 RL 的互补优势:SFT 通过从教师模型蒸馏推理行为建立了强大的基础,而 RL 对于超越教师性能和进一步增强推理能力至关重要。

我们还发现,在 SFT 训练的范围和随后 RL 的成功可能性之间存在权衡。尽管我们拥有 SFT 检查点具有更高的基准分数,但我们从一个较早的检查点初始化 RL 以改善最终的 RL 结果。

八、判决能力评估

除了模型训练的推理和聊天能力外,我们还评估了我们的模型在分布外任务 LLM-as-a-Judge 上的性能,以进一步评估其性能。具体来说,我们在 JudgeBench(Tan 等人,2025)上测试了它们,任务是区分高质量和低质量的响应。如表 6 所示,我们的模型超过了顶级专有和开源模型。特别是,LN-Ultra 成为仅次于 o3-mini(high) 的最佳开源模型,并且仅排在其之后。此外,LN-Super 也超过了 o1-mini,表明我们的模型在各种任务中展现出强大的泛化能力。

总结

本文介绍了 Llama-Nemotron 系列模型,这些模型在商业许可下发布,并且开源了权重、训练数据和代码。Llama-Nemotron 系列模型在性能上与最先进的推理模型相当,同时具有低内存要求和高效的推理能力。

研究发现,在强大的推理教师模型存在的情况下,对由该教师模型生成的高质量合成数据进行监督微调,对于将推理能力迁移到小型模型中非常有效。然而,为了将推理能力推向超越单独的教师推理模型所能达到的水平,有必要进行大规模、基于课程的强化学习,以可验证的奖励进行训练。

此外,研究还表明,要产生一个全方位优秀的模型,即在一个广泛的基准测试中表现良好的模型,需要在后训练管道中有多个阶段。

核心技术汇总表

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Open-source-AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值