NVIDIA 的 NeMo 团队发布了 Molt,这是一个用于代理强化学习的 PyTorch 原生框架,具有不寻常的设计目标:代码库足够小,研究人员可以将其放在脑海中,并且 AI 编码助手可以完整地阅读和推理它。随着代理强化学习成为教学模型使用工具、编写代码和导航环境的主要方法,该版本的发布,也是重塑前沿代理培训方式的几个基础设施项目之一。我们在人工智能突发新闻 中报道了这些变化。

专为读取而不仅仅是运行

正如 MarkTechPost 报道的那样,Molt 测量了大约 8.6K 行 RL 代码,通过跟踪每个框架的 RL 入口点的导入图来计算。同样的方法计算出 verl 大约有 62K 行,slime 大约有 25K 行,OpenRLHF 大约有 7.2K 行。这种刻意的紧凑性是该项目的中心主题:代理强化学习研究是不断的算法修改——新的估计器、新的管道阶段、新的推出方案——并且在主流框架中,每个更改线程都通过训练器、分布式后端和推出胶水层进行。 Molt 旨在消除这种摩擦。

该框架已获得 Apache 2.0 许可,并附带启动代码、Slurm 脚本和预构建容器。不过,NVIDIA 很清楚,随附的研究论文将 Molt 定位为研究基础设施,而不是生产培训服务,而硬件才是真正的看门人。所提供的配方假设 2 个节点,8 个 H100 GPU,分成 8 个用于训练,8 个用于部署。这使得前沿和前沿实验室、资金充足的初创公司进行后期培训、企业人工智能研究小组以及具有多节点 H100 或 H200 访问权限的学术团体都可以接触到它。

组合,而非分叉

Molt 的架构由三个现有工具组成,没有分叉任何一个,因此上游改进以容器 pin 的形式出现,而不是痛苦的 rebase。它使用 Ray 进行布局和异步队列,使用 vLLM 进行部署,并使用 NVIDIA AutoModel with FSDP2 进行训练。运行时由代理池、请求路由器后面的一组 vLLM 引擎和单个可训练策略参与者组成。流媒体池让提示组保持飞行状态,这样演员训练时引擎就不会耗尽。

称为“部分推出”的功能对于效率至关重要。当策略更新时,Molt 会暂停引擎,通过 NCCL 直接向每个引擎广播参与者更新的分片,并恢复保留的请求而不是丢弃它们。这避免了每次模型更改时丢弃正在进行的部署的浪费模式。

一个模块,两种代理形式

Molt 中运行的强化学习会命名一个导出 AgentRunner 的 Python 模块,而其他所有内容(包括奖励函数)都是普通代码。该框架支持两种形式。借助 Env,该框架在 Gymnasium 对齐的“step()”内拥有 LLM 循环,这符合熟悉的强化学习模式。借助 ChatAgent,用户可以通过现有的 OpenAI 或 Anthropic SDK 拥有循环,从而可以轻松地包装现有代理。

为了桥接两者,Molt 启动了一个支持两种有线协议的环回服务器,并且每个请求都在服务器端解码为一个令牌精确的累积。当长范围代理压缩其上下文并重写前缀(这是运行多次的代理的常见操作)时,服务器会密封当前段并自动打开一个新段。这种管道细节决定了代理强化学习运行在实践中是否正确,或者只是看起来正确。

三个正确性不变量

Molt 的设计围绕三个正确性不变量进行组织,以解决异步代理训练的微妙故障。 令牌身份意味着采样的令牌 ID 定义轨迹,而不是重新令牌化的转录本 - 很重要,因为将文本拼接回令牌可以默默地更改数据。 策略版本语义确保可训练令牌保持其行为策略日志概率,并在序列级门后面纠正每个令牌的异步使用。 前向一致性要求推出引擎和训练参与者就模型语义达成一致。

最后一个不变量对于专家混合 (MoE) 政策最为重要,这种政策越来越常见。部署和训练路由器独立选择专家,微小的数值差异可能会翻转前 k 个选择,从而导致采样内容与训练内容之间不匹配。 Molt 通过 rollout 路由重播 解决了这个问题:vLLM 返回其每个令牌的专家 ID,并且训练前向传递会重播这些确切的路由决策,而不是重新派生它们。

它的用途

提供的配方和用例指出了 NVIDIA 希望采用 Molt 的地方:多轮工具使用代理、代码执行代理、视觉语言环境(该框架包括提供的 geo3k 配方)、LLM 作为法官奖励循环以及在较小学生模型上的策略蒸馏。这些正是推动整个行业代理强化学习激增的工作负载,而众所周知,每个工作负载都需要在实际训练所施加的部分部署、异步采样条件下进行正确处理。

更广泛的信号是,NVIDIA 不仅投资于训练代理的 GPU,还投资于研究人员用来构建代理的软件堆栈。通过保持代码库小且可读,并明确设计它以便人工智能编码助手可以对其进行修改,Molt 体现了一种押注,即代理强化学习工具的未来将与使用它的模型共同开发。

保持人工智能领先地位

有关重塑前沿代理训练方式的框架的更多信息,请关注我们的最新人工智能发展中心。

阅读更多人工智能新闻 →