智能体/生成式 AI

如何借助 RL 智能体技能和 NVIDIA NeMo 运行自动研究工作流

编码 AI 智能体 正成为长期运行的机器学习 (ML) 工作流程的实用运算符。他们可以检查资源库、设置运行时、解决构建问题、启动实验、监控执行、分析指标并汇总结果。

对于 强化学习 (RL) 研究而言,这一点很重要,因为有意义的指标通常只有在基本实验基础设施就绪后才会出现。 Autoresearch 是 Andrej Karpathy 的一个开源 Python 项目,用于自动化 AI 和 ML 模型训练。

通过这种方法,自主 AI 智能体将高层次的目标转化为假设,编辑和测试真实的代码库,保留改进指标的想法,并将结果交还给人类研究人员。这使得团队能够从高性能开放模型 (例如 NVIDIA Nemotron) 开始构建专业领域智能体,然后使用 RL 针对可测量的领域任务对其进行改进,同时保持对数据、IP、部署和训练工作流的控制。

本文将介绍如何运行轻量级、无代码、基于技能的用户端自动研究工作流。它在 NVIDIA NeMo RLNVIDIA NeMo Gym 上使用前沿编码代理(Codex with GPT 5.5)以及 NVIDIA Brev GPU 实例进行了测试。

构建自主 RL 研究工作流程

此工作流演示了以下三种智能体功能:

  • 全栈自主性:设置软件堆栈;解决依赖项;管理 GPU 显存、磁盘空间和检查点;启动实验;监控运行情况;以及调试问题。
  • 目标驱动的自动研究:分析基准、提出或遵循假设、启动实验、分析指标,以及迭代实现研究目标。
  • 用纸转代码:阅读论文、制定实施计划、将算法转换为代码、添加测试并开始验证训练。

在本文提供的示例中,Codex 首先带来了完整的 NeMo RL 和 NeMo Gym 堆栈,用于视觉语言模型 (VLM) RL 训练烟雾测试。然后,它从零开始概念化并创建新颖的 NeMo Gym 视觉计数环境,并训练 Qwen3-VL-2B-Instruct 模型,将其在任务中的准确率从 25.0% 提高到 96.9%。最后,它实现了研究论文中的非策略 RL 算法,并开始了 10 小时的验证训练活动。

自动研究的目标不是将研究人员从循环中移除,而是将重复性设置和迭代工作交给智能体。研究人员仍负责设定目标、回顾里程碑、制定指导策略并做出最终决策。

视频 1. 了解如何使用智能体技能构建由智能体主导的自主 RL 研究工作流

使用 NeMo RL、NeMo Gym 和智能体技能进行自动研究

NeMo RLNeMo Gym 是 NVIDIA NeMo 框架中的开源库。NeMo RL 基于 AutoModelMegatron-BridgevLLM 构建,用于后训练 LLM 和 VLM,由 Ray 编排。它支持 GRPO、DPO、SFT 和奖励模型训练等工作流,并具有由配方驱动的配置,可以从小型验证运行扩展到分布式训练。NeMo Gym 提供的环境可让模型与任务交互、获得奖励,并通过实时生成的体验进行学习。

NeMo RL 和 NeMo Gym 共同为智能体主导的 RL 研究提供了有用的基础。智能体可以检查配方、连接新环境、运行基准、调整训练参数,并在同一存储库中比较结果。

采用 GPT 5.5 的 Codex 提供强大的推理、代码导航和工具使用功能,但并不会自动了解每个本地操作规范。它可能不知道检查点应位于何处、哪些指标具有权威性,或者如何在长时间会话、上下文压缩或断开连接后恢复活动目标。

因此,我们还使用了三种互补的智能体技能

  • Brev-etikette:NVIDIA Brev GPU 实例的操作指南。它可以保持仓库整洁,存储目标卷上的检查点和缓存等大型构件,并安全处理机密。
  • 会话内存:适用于长期工作的持久会话日志。它记录总体目标、子任务、加载的技能、重要文件、决策、进度和交接说明。
  • Autoresearch:实验循环。它保留用户的目标,建立基准,为每个假设创建分支,记录分类帐中的尝试,监控停止规则,并总结结果以供人类审查。

这些技能充当结构化、可重复使用的工作流程指令。它们对运营环境和机构知识进行编码,使智能体能够以更可复制的方式执行研究循环。

预备知识

此演示使用以下设置:

  • Visual Studio Code
  • 使用 GPT 5.5 模型的 Codex 插件
  • 配备一个 NVIDIA L40S 48 GB GPU 的 Brev 实例
  • NeMo RL 库 (适用于可启动的 Brev;在/home/ubuntu/RL 下进行预克隆)
  • 如果工作流需要经过身份验证的模型、数据集或日志记录访问权限,请使用人脸和 Weights& Biases 凭据

以下各节将验证三种智能体的能力。首先,设置计算机并验证堆栈。接下来,运行目标驱动的自动研究活动。最后,使用相同的智能体工作流实施研究论文,并开始运行更长的验证训练。

全栈自主

本节将展示智能体自动管理整个硬件和软件堆栈的能力。在开始自动搜索循环之前,首先验证机器、存储库、依赖项、模型访问和训练循环是否端到端工作。这种设置验证是由智能体主导的长期研究运行的基础。

第 1 步:启动 Brev 实例

使用 NeMo-RL Autoresearch Launchable 启动配备一个 NVIDIA L40S 48 GB GPU 的 Brev 实例。

第 2 步:将 VS Code 连接到远程实例

在 Windows 上,打开 SSH 配置文件 (通常位于 C:\Users\<YOUR_USER_NAME>\.ssh\config 下) ,然后添加以下内容:

Host Brev-Ubuntu
    HostName <BREV_IP_ADDRESS>
	User ubuntu
    IdentityFile C:/Users/<YOUR_USER_NAME>/.brev/brev.pem

找到 Brev 实例页面顶部列出的 BREV_IP_ADDRESS。在 VS Code 中,选择“Connect to Host” (连接到主机) ,然后选择已配置的主机名称,例如 Brev-Ubuntu。在 macOS 和 Linux 上,Brev 键通常位于 ~/.brev/brev.pem 下,SSH 配置类似。

第 3 步:安装并配置 Codex

在 VS Code 中,打开 /home/ubuntu/RL 下的 NeMo RL 目录。然后从 VS Code 扩展程序市场安装 Codex IDE 扩展程序。安装后,聊天窗口中会出现 Codex。使用 API 密钥或 ChatGPT 账户登录。

Codex 可以在多种权限模式下运行:默认、自动审核和完全访问。对于此工作流程而言,Auto-Review 是一个合理的起点。它允许 Codex 运行沙盒命令,同时添加对提升操作的审查。完全访问权限可提供对实例的更广泛控制,并且只能在您熟悉安全设置时才使用。

第 4 步:准备 NeMo RL 工作空间

/home/ubuntu/RL 中打开 VS Code 终端。如有需要,请为凭据创建 .env 文件:

export WANDB_API_KEY=wandb_v1xxx
export HF_TOKEN=hf_mqyyy

熟悉 Brev 环境。例如,输入 df -h 以了解有关虚拟实例存储配置的更多信息。

第 5 步:运行 NeMo RL 烟雾测试

现在,提示 Codex 设置 NeMo RL 并运行小型 RL 训练烟雾测试:

/goal Use the nemo-rl-brev-etiquette skill under `./skills`, set up NemoRL to 
do a smoke test RL training of the Qwen3-VL-2B-Instruct model

/goal 命令为 Codex 设置持久目标。在此运行中,Codex 应加载 Brev 操作技能,初始化缺失的 NeMo RL 子模块,从 Hugging Face 下载 Qwen3-VL 模型,将 Hugging Face、Torch、Triton、uv、Ray、logs 和 worker cache 等大型素材路由到 /ephemeral,并解决依赖项或配置问题,直到训练步骤完成。

运行时间约为 40 分钟到一小时。我们的目标不是优化 NeMo RL 设置,而是通过存储库设置、模型访问、依赖项解决和训练执行提供经过验证的端到端路径。

第 6 步:继续使用会话内存进行设置

堆栈运行后,请使用以下提示坚持设置状态:

Now use the nemo-rl-session-memory skill under `./skills`, persist this setup information

要在网络断开连接或 VS Code 重启后继续,您可以使用以下提示加载最新会话:

Use the nemo-rl-session-memory skill under `./skills`, load the latest session, and provide me with a summary

这将为 Codex 提供先前的目标、环境假设、加载技能、重要路径和最近的命令结果,然后再继续。

目标驱动的自动研究

经过堆栈验证后,下一步是从设置转向目标驱动的战役。在此模式下,人类提供目标和预算,而 Codex 则管理循环:基准、假设、实验、指标和摘要。

第 7 步:新建 NeMo Gym 环境

在启动活动之前,请让 Codex 实施新的 RL 环境。以下示例为 VLM 创建了可视化计数任务:

/goal Now using the Nemo gym circle click environment as a reference, 
implement a new Gym environment named "star count", that teaches 
a model to count the number of stars of different colors on a canvas of 
different resolutions. Show me several examples

生成的环境会生成具有不同画布分辨率的彩色星形图像,并要求模型按颜色统计星形数量。

第 8 步:启动 Autoresearch 活动

接下来,使用以下提示启动有时间限制的活动:

Great. /goal Now use the nemo-rl-autoresearch and nemo-rl-session-memory skill under `./skills`, start a new 
auto research session, goal: Train the Qwen3-VL-2B-Instruct model to high accuracy, using SFT algorithm 
on the star count gym environment. Start with profiling the model out of the box accuracy. Time budget: 5h

提示必须包含目标、方法、任务环境、基准要求和时间预算。自动研究技能将这些结果转化为活动,其中包含可测量的停止规则和实验分类帐。

在本次运行中,Codex 将星数环境中合成生成的数据连接到 NeMo RL SFT 路径中。本例中使用了 SFT,因为之前的自动研究会话发现 GRPO 没有提高此任务的准确性,而 Codex 提出的 SFT 路径后来证明是有效的。

在一次实验中,Codex 在一小时内取得了最佳结果。当出现提供简要总结的提示时,Codex 最终报告如下所示:

The star_count SFT campaign trained Qwen/Qwen3-VL-2B-Instruct on the new NeMo Gym visual 
counting environment using LoRA SFT. We first profiled the model out of the box on a fixed 64-example 
held-out eval split, where it reached 25.0% exact accuracy with mean reward 0.705208. After setting up the 
environment, data generation, evaluator, and SFT recipe, the first LoRA smoke run improved accuracy to 78.125%.
Scaling the SFT data and training steps produced the main gains. A 2048-train / 256-val, 160-step run 
reached 95.3125% exact accuracy, and the best 4096-train / 512-val, 320-step run reached 96.875% exact 
accuracy with mean reward 0.992188. The best checkpoint was step_240, which slightly beat the final checkpoint 
on partial-credit reward while tying exact accuracy.
Overall, accuracy improved from 25.0% to 96.875%, a gain of 71.875 percentage points. The remaining errors 
were not formatting failures; they were near-miss off-by-one count mistakes on individual colors, suggesting the 
next best improvement would be targeted hard-case augmentation for dense or visually ambiguous scenes.

剩下的错误几乎是单个颜色的一次性计数错误。这表明下一个实验需要针对密集或视觉模糊的场景进行有针对性的硬壳增强。

这体现了智能体主导的研究循环的核心价值。具体来说,Codex 并非只运行一条命令。相反,它分析了基准,构建了环境和数据路径,运行了验证实验,扩展了数据和训练步骤,评估了检查点,分析了错误,并提出了合理的下一个人工审查方向。

纸到代码

将论文转换为代码是 OpenAI PaperBench 为自动实现论文中的研究理念而率先提出的理念。为了加快这一过程,Codex 阅读了一篇论文,制定了实施计划,编写和测试了代码,然后开始了训练。

第 9 步:为 Codex 撰写论文并制定实施目标

在本示例中,目标论文是 LLMs Can Learn to Reason via Off-Policy RL。本文介绍了基于 Optimal Advantage 的策略优化与滞后推理策略 (OAPL) ,这是一种长期滞后的不策略 RL 方法。OAPL 没有将训练推理策略不匹配视为需要消除的漏洞,而是将延迟生成策略用作目标的一部分,即使训练和生成模型严重不同步,也能实现稳定高效的训练。

这是一个有用的测试用例,因为它需要算法实现和系统级判断。损失计算发生变化,长时间滞后设置也会影响训练和生成的协调方式。

合成提示为:

/goal Start a new session with nemo-rl-session-memory skill under `./skills`. First, read 
this paper https://arxiv.org/abs/2602.19362 in pdf format, form a plan then implement it. 
Write and run unit tests to satisfaction. Write document. Then start a new autoresearch 
session with the nemo-rl-autoresearch skill, train a Qwen3-1.7B model with this algorithm 
on the DAPO-math-17K dataset. Time budget: 10h

Codex 将请求分解为以下阶段:

  • 阅读 PDF
  • 提取算法
  • 检查 NeMo RL 勾点
  • 制定实施计划
  • 将算法转换为代码
  • 添加单元测试
  • 编写文档
  • 使用 DAPO-math-17K 数据集在 Qwen3-1.7 B 上开展验证活动

这个提示是有意要求的。在实践中,更安全的工作流程是分阶段进行的。首先使用 Codex 进行阅读和规划,并进行人工审查,然后批准实施、文档和单元测试,然后才开始更长的自动研究验证活动。

其他验证还包括自一致性,即 Codex 在不同的分支上实现两次算法并比较决策;或代理交叉检查,即另一个前沿编码代理审查论文、实施、测试和结果。

第 10 步:训练验证和后续研究问题

图 3 显示了在 Qwen3-1.7 B 模型和 DAPO-math-17K 数据集上,OAPL 算法与 GRPO 变体 DAPO 的训练进度对比。

在本次运行中,OAPL 以更少的训练步骤实现了更高的准确性,这与论文中关于有效的长期滞后偏离策略训练的核心观点一致。右侧面板还显示了 OAPL 使用的 token 比 DAPO 多得多,这就产生了一个自然的后续研究问题:为什么 OAPL 变得更加冗长,以及哪些算法更改可以在不牺牲准确性的情况下提高简洁性?

关于自动研究工作流程的提示和最佳实践

虽然前沿智能体的功能越来越强大,但仍然存在一些需要注意的故障模式,包括:

  • 上下文漂移:长时间会话可以经历多个上下文压缩周期。如果没有持久内存,智能体可能会忘记目标、技能或停止规则。
  • 本地管理:日志、检查点、数据集和缓存可能会分散在整个文件系统中,除非机器特定的规范是明确的。
  • 转向漂移:中期运行指令很有用,但后续问题有时会干扰自动研究会话,导致提前终止。
  • 低信号循环: 有时 Codex 会陷入试验循环。例如,训练少量步骤和/ 或使用小批量,这无法提供足够的信号。人类研究人员应轻松发现这种无效的行为,并避开 Codex。

在构建和测试 NeMo RL 和 NeMo Gym 的自动研究技能时,我们发现了一些有用的实践,包括:

  • 将自动搜索技能视为不断发展的工作流程说明。随着时间的推移,Codex 可以帮助对其进行更新,以反映机构惯例、最佳实践和从以往运行中吸取的经验教训。
  • 虽然 Codex 足智多谋且能提供帮助,但对于棘手的研究问题,人工指导和判断仍然是关键任务。
  • 在长期的自动研究执行阶段之前,通过明确的头脑风暴和规划过程来验证想法是很有用的。
  • 可以将 Codex 想象成一个有能力的实习生或初级同事。这意味着,人类研究人员不一定需要对每个实现保持深入的、单行代码级的理解,但仍然有方法可以验证,以确保对所执行的工作充满信心。
  • 在开始长时间运行的自动研究会话之前设置明确的预算限制,例如时间限制、GPU 小时预算或最大实验次数。这样可以让智能体专注于最高价值的假设,并防止过于宽泛的实验扫描。

开始使用 Autoresearch

智能体并不是在取代研究人员,而是在支持富有成效的劳动分工。该智能体可以处理大部分设置、调试、日志记录和实验循环,同时还能为后续步骤提供见解和建议。研究人员定义目标、提供领域判断、指导活动并决定哪些结果有意义。

借助 NeMo RL、NeMo Gym、Brev、Codex 和少量操作技能,研究人员可以减少在设置、调试和重复实验执行上花费的时间和计算成本。这将工作流程的更多精力转移到决定值得进行下一次实验以及如何解释结果上。

要开始使用自动研究进行强化学习,请查看以下相关资源:

标签