强化学习 (RL) 是调整语言模型的核心,从 AI 助手中的人类反馈强化学习 (RLHF) 到用于推理和智能体任务的较新的具有可验证奖励 (RLVR) 的强化学习工作流,皆包含在内。
在企业需要更准确的智能体来处理特定领域的工作流的情况下,RL 现已成为专用 AI 的一种实用技术。开放模型提供对数据、IP 和部署的更多控制,而 RL 则将领域成功标准转化为训练信号。
Frontier Labs 已证明 RL 可以提高通用模型的能力。OpenAI 使用大规模 RL 训练其 O 系列模型,而 DeepSeek-R1 则展示了组相对策略优化 (GRPO) 和可验证奖励如何改善数学、代码和推理行为。
NVIDIA Nemotron 3 Super 在 21 个 NVIDIA NeMo Gym 验证器和 37 个数据集上使用多环境 RL 进行后训练,生成了约 1.2 万次环境部署。
本指南可帮助模型构建者、研究团队和智能体开发者决定何时使用 RL,以及如何为长时间运行的智能体运行首个可验证的 RL 训练循环。
为什么 RL 对智能体很重要
组织需要专门的智能体来处理安全分类、科学发现、CLI 自动化、客户支持、数据分析和内部工具使用等工作流。定制 Nemotron 等开放模型可以实现这一点。团队可以专注于准确性和速度,同时保持对数据、IP 和部署的控制。
提示、RAG、和工具可以帮助您取得更大的进步。将模型视为智能体的大脑,智能体作为其主体,工具作为其可以发挥作用的工作空间。改进线束或添加工具会有所帮助,但并不总是能改变模型行为。如果智能体重复出现工具调用错误、在漫长的工作流程中失败、输出格式不正确或选择了错误的策略,您需要一个训练信号。这正是 RL 的适用之处。
RL 允许您定义成功、生成尝试、对尝试进行评分并更新模型权重,从而提高成功行为的可能性。在代理式系统中,这种奖励可以来自验证器:使用测试、工具执行、模式验证、模拟器、奖励模型、LLM-as-judge 审查、人类偏好标签或其他特定任务反馈对输出或轨迹进行评分的代码。
图 1. 环境优先的 RL 训练工作流Nemotron、NVIDIA NeMo RL 和 NVIDIA NeMo Gym 提供开放模型、后训练工作流和环境基础架构,可与 OpenRLHF、PrimeIntellect、SGLang、Unsloth、veRL 和 vLLM 等生态系统工具配合使用。
RAG、提示、SFT 和 RL:何时使用
避免以“我应该使用哪种算法?”开头
首先:“我想增加什么行为,以及如何测量它?”
以下是一个决策矩阵示例:
| 问题 | 尝试的第一种方法 |
| 模型缺乏领域事实 | RAG 或数据注入 |
| 模型不遵循格式 | 提示,然后是 SFT |
| 模型需要模仿示例 | SFT (使用 LoRA 或 QLoRA 进行高效调整) |
| 您的首选输出与被拒绝的输出 | DPO |
| 您可以通过算法验证成功 | 支持 GRPO 的 RLVR |
| 您需要细致地调整人类偏好 | RLHF 或奖励建模 |
| 通过多次工具调用、状态更新或对话轮询,智能体在长时间的工作流中都会失败 | 基于环境的 RL,可获得轨迹级奖励 |
SFT、DPO、RLVR、RLHF
当您演示了所需行为 (例如指令遵循、多回合对话、输出模式、工具调用格式或域工作流) 时,请使用 SFT。
如果您有偏好对,一个答案比另一个更好,请使用 DPO。
当规则无法捕捉到细微的人类偏好时,使用 RLHF,您可以支持偏好数据、奖励模型和精心训练的基础设施。
使用 RLVR 当可以通过算法检查正确性时,例如有效的 JSON、正确的 CLI 命令、通过测试、精确的数学答案、成功的工具调用或模拟器结果。
最好的方法取决于您所使用的信号。对于可验证的工具使用和智能体工作流,常见的起始路径为:SFT (如果需要) 具有可验证奖励的 GRPO 评估检查失败重复。
GRPO 是 RLVR 或可验证任务的良好默认设置
对于 RLVR 工作流程而言,GRPO 通常是切实可行的起点。它会根据每个提示生成多个完成项,使用验证器对其进行评分,并根据组内的相对性能更新模型。与 PPO 式 RLHF 相比,GRPO 的运动部件更少,并且可以自然地使用基于规则的奖励,成为许多代理式 RL 示例的默认设置。
随着 RL 训练系统的成熟,新的变体不断涌现。例如,动态采样策略优化 (DAPO) 基于具有动态采样和非对称裁剪的 GRPO 构建,以保留有用的学习信号和探索多样性,而组序列策略优化 (GSPO) 则在序列级别 (而非令牌级别) 进行优化,以提高训练稳定性,尤其是对于 混合专家 (MoE) 模型。
本指南的其余部分重点介绍使用 GRPO 和基于环境的评估的实用 RLVR 工作流程。
最小 RL 循环
针对 LLM 或智能体的 RL 训练包含七个部分:
- 策略模型:您正在训练的模型
- 任务:模型接收的输入
- 动作:模型输出、工具调用、代码补丁、命令或多步骤轨迹
- 环境:执行操作并提供反馈的系统
- 验证器:评分成功或产生奖励的信号
- Rollouts:从当前模型中进行的采样尝试
- 策略更新:训练步骤可提高输出结果更出色的概率
此 RL 101 术语表 提供了每个组件及其协同工作方式的详细了解。
在训练之前先进行评估。在暂停的任务集上运行当前模型,检查失败,并在更新权重之前分析验证器或奖励函数。当模型有时可以产生正确的行为,但不可靠时,RL 就能发挥最佳效果。如果奖励错误,RL 将优化错误行为。
开发者在使用 RL 时面临的常见挑战是数据、环境设计、奖励设计和计算决策。
任务和训练数据
对于 SFT,您需要输入输出示例来教会模型所需的行为。对于 RLVR,您需要任务、包含验证器的环境逻辑以及可以对输出进行评分的工具。当真实示例稀疏时,合成数据生成有助于扩大覆盖范围:生成任务变体、边缘案例、工具调用场景和预期输出,然后使用验证器、奖励模型或 LLM-as-judge 审查对其进行筛选。
NVIDIA NeMo Data Designer 可以帮助从零开始或根据种子数据生成结构化任务数据集,控制字段之间的关系,生成批量数据,并根据规格验证输出。然后,NeMo Gym 可以在环境中运行这些任务,从模型或教师代理中生成评分轨迹,这些轨迹可用于 SFT 演示、偏好对或 RL 部署。
合成数据并非真实数据。保留小型人类品质的种子集,积极地去重,执行评估任务,并在用作训练数据之前检查失败案例。
代理式 RL 需要环境,而不仅仅是数据集
对于更简单的单轮任务,静态数据集可能就足够了:
{"prompt": "Return valid JSON for this command...", "answer": "..."}
对于跨单步/ 回合、多步和多回合工作流的代理式 RL,您需要一个环境来定义:
- 数据集
- 智能体线束
- 验证器
- 州 省 自治区 直辖市
例如,长时间运行的编码智能体在测试通过之前可能需要多次工具调用;数据分析智能体可能需要检查文件、运行查询、生成图表并验证结果;科学智能体可能需要搜索文献、调用模拟器并修改假设。
环境可以是简单或复杂的:用于数学运算的解析器和答案检查器、用于代码生成的单元测试,或者包含工具、文件、回合限制和特定任务成功标准的沙盒,供长时间运行的智能体使用。
Evals 和环境是同一系统的两面。良好的评估会传达模型是否成功,而良好的 RL 环境会将该信号转化为训练数据。
NeMo Gym 提供了一种可扩展、可复制的方式来构建连接智能体、模型、外部系统、工具和验证器的环境,并提供了单步、多步骤、有状态、现实世界和 LLM 评判环境的教程。
图 2. NeMo Gym 库组件奖励和验证器设计:从简单着手
奖励设计是许多 RL 项目过于复杂的地方。
从证明循环有效的最简单奖励开始。对于 RLVR,这可以从二进制文件开始:如果输出通过验证器,则为 1,否则为 0
仅在测量实际进度时添加中间信号。对于编码智能体,它可能是
+0.1选择了正确的工具
+0.2产生了有效的中间伪影
+0.3通过了部分测试
+1.0完成了任务
-1.0的不安全操作
过多的塑造可能会教会模型优化检查清单而不是任务。优秀的奖励函数具有三个属性:
- 它们用于衡量实际任务。
- 很难进行游戏/ 破解。
- 当出现错误时,它们会明显失败。
训练前,请针对 50-100 个模型输出运行奖励函数,并手动检查分数。如果奖励与您的判断不一致,则固定奖励。
计算:训练和部署预算
RL 成本来自两种工作负载:部署和训练。两者都受批量大小、模型大小和序列长度的影响。具体来说,部署成本会随着工具调用、对话次数和环境步骤的增加而增加。vLLM 等推理软件可降低发布延迟,而 NeMo Gym 可改善工具调用编排。
或者,训练成本会随数据集大小和策略更新次数而增加。训练软件如Megatron和NeMo Automodel可提高吞吐量。RL框架如NeMo RL建立在这些推理和训练软件之上,实现了优化模型学习的高效循环。
GPU 需求因工作负载而异。基于适配器的 1B-8B 小型实验可以在单个现代 GPU 或小型多 GPU 节点上启动。大型模型、完全微调、长上下文任务、部署数量较多或多步骤智能体环境都需要多个 GPU。在计算能力受限的情况下,请首先减小模型大小、最大令牌数、每个提示的生成次数以及并行环境。
对于早期实验,从小处着手。较小的模型擅长调试数据、验证器、环境和训练循环。复杂的任务需要一个能力更强的模型,才能在奖励曲线或延迟评估结果中显示出有意义的改进。
首次 RL 训练的实际运行规模小、可验证且可检查
我们来构建一个工作场所助手式智能体,根据自然语言请求生成正确的 JSON 工具调用:
首先,使用 NeMo RL 入门示例 清理管道设置。
接下来,学习多步骤示例,例如 NeMo RL 和 NeMo Gym Workplace Assistant 教程,该教程使用 GRPO 训练 Nemotron Nano 9B v2 以便在项目管理工作流中调用工具。我们将从简单的一步到位工具使用任务开始,该任务也可以扩展到多步骤环境。
第 1 步:选择一种行为
选择一种行为进行自动评估。
示例:给定自然语言请求,为内部 CLI 或 API 生成正确的 JSON 工具调用。
{
"prompt": "Create a calendar event for Alex next Tuesday at 2 PM.",
"expected_tool": "calendar.create_event",
"expected_args": {
"attendee": "Alex",
"day": "Tuesday",
"time": "14:00"
}
}
第 2 步:运行基准评估并对失败进行分类
在训练前准备单独的训练和验证任务文件。在验证集上运行基准模型,并测量有效的 JSON 率、正确的工具或命令率、正确的参数率、执行成功率和不安全操作率。
然后,按类型检查输出和组故障:格式错误、错误的工具或命令、不一致的成功、不安全的操作或长期故障。在训练前确认模型具有可测量的故障模式。
这表示要使用哪种训练方法。
第 3 步:判断是否需要使用 SFT
如果模型很少遵循预期的格式或工具系列,请从 SFT 开始。如果有时可以成功,但不一致,请使用 RLVR 和 GRPO。
实际路径如下:
- 用于理解格式和任务的 SFT
- 采用 GRPO 的 RLVR 可提高可靠性
- 部署前出现反复的情况
第 4 步:构建验证器或奖励函数
如果 RL 是正确的下一步,请将您的评估逻辑转换为奖励函数。从简单且确定的角度出发。
def reward(output, expected):
if not is_valid_json(output):
return -1.0
parsed = json.loads(output)
score = 0.0
if parsed["tool"] == expected["expected_tool"]:
score += 0.4
score += 0.4 * argument_match(
parsed["args"],
expected["expected_args"]
)
if executes_safely(parsed):
score += 0.2
return score
在训练前,针对样本输出运行此验证器。如果奖励与您认为正确的内容不一致,请先修复验证器。
第 5 步:运行小型 GRPO 作业
从小型模型或基于适配器的运行开始。有意缩小第一次运行的范围。
model: nvidia/Nemotron-Nano-9B-v2
algorithm: grpo
adapter: lora
num_generations_per_prompt: 8
reward: tool_call_verifier
eval_interval: 10
held_out_eval: tool_call_eval
第 6 步:追踪正确的指标
不要只跟踪培训奖励。跟踪验证奖励、成功率、无效输出、不安全操作、延迟和成本。查看验证奖励或准确性在模型未进行训练的任务上是否高于基准。
第 7 步:检查故障并谨慎推广
每个检查点的输出样本。寻找奖励黑客、格式化回归、不安全的操作,或者奖励得到改善但真实质量变得更糟的情况。只有在经过调优的模型在出现延迟的情况下突破基准后,才会发货,而不会在安全、延迟或一般能力检查方面出现问题。
持续改进长时间运行的智能体
长时间运行的智能体应像软件系统一样进行改进。将 RL 用作持续改进生产级智能体工作流程的实用循环:
- 记录真实轨迹
捕获提示、工具调用、观察、输出、故障、人工干预和最终结果。 - 将故障转化为错误
每个生产故障都应成为回归测试或环境任务。 - Bucket 故障模式
分开的格式错误、错误的工具选择、错误的规划、不安全的操作、检索失败、幻觉 API 和 不完整的执行。 - 首先选择最简单的 fix
Prompt 或工具更改。用于重复格式或域行为的 SFT。用于首选质量的 DPO。当您可以验证成功时的 RLVR/GRPO。 - 针对难以完成的任务进行训练
保留一个模型从未使用过的固定评估集。不断添加新任务。 - 仅在行为改善时才进行推广
在成功率、安全故障、成本、延迟和回归测试方面,将基准与调优模型进行比较。 - 请持续关注模型版本
对于智能体的专业化,请对每个经过调整的检查点或适配器进行版本控制,以便您可以比较行为、安全回滚并避免覆盖基础模型。
此循环的输出是一个智能体飞轮:生产失败变成无效,EVAL 变成环境,环境产生奖励,奖励改进模型,并且在部署前测试下一个模型。
开始使用针对 LLM 和智能体的强化学习
有用的 RL 运行的最短路径是明确的任务、可信赖的验证器、小型基准模型,以及用于判断模型是否真的变得更好的评估。
准备好将 RL 应用于您自己的模型和智能体了吗?借助 NVIDIA NeMo 和 Nemotron 加速开发:
- 使用 Nemotron 打开模型、方法和代理式 AI 示例
- 使用 NeMo RL 进行可扩展的后训练
- 使用 NeMo Gym 的可验证奖励环境、推出和评估
- 使用 NeMo Data Designer 生成合成数据
- 有关定制智能体不同技术的详细指南 技术
这些工具可帮助开发者从任务定义和数据生成转向训练、评估和优化,而无需从头开始重建完整的 RL 堆栈。