NVIDIA发布Molt:PyTorch原生智能体强化学习框架
NVIDIA NeMo团队开源Molt——一个约8.6K行RL代码的轻量级、PyTorch原生智能体强化学习框架,专为降低研究迭代成本设计。它采用模块化架构,复用Ray、vLLM和NVIDIA AutoModel等上游组件,支持多节点H100集群训练,面向前沿AI实验室及企业研究团队。
聚焦研究效率:8.6K行代码的轻量级框架
Molt由NVIDIA NeMo团队开发,定位为“研究人员可全盘理解、AI编码助手可完整解析”的PyTorch原生智能体强化学习(Agentic RL)框架。其核心目标是大幅降低算法迭代成本——在主流框架中,每次修改估算器、流水线阶段或rollout策略,都需穿透训练器、分布式后端与rollout胶水层;而Molt将RL核心代码压缩至约8,600行(按从RL入口点出发的导入图统计),显著小于verl(62K行)、slime(25K行)和OpenRLHF(7.2K行)。
开箱即用,但面向研究而非生产部署
Molt以Apache 2.0协议开源,提供启动脚本、Slurm作业配置及预构建容器,具备基础部署能力。但官方明确将其定位为“研究基础设施”,而非生产级训练服务。硬件门槛较高:默认配置要求2台节点、每台8块H100 GPU(共16卡),其中8卡用于训练、8卡专用于rollout。这意味着其适用对象主要是具备多节点H100/H200资源的前沿实验室、资金雄厚的AI初创公司(从事大模型后训练)、金融/医疗/机器人领域的大型企业AI研究组,以及拥有高性能计算资源的学术实验室。
三大组件无缝集成,零代码分叉
Molt不重复造轮子,而是组合现有成熟工具:使用Ray管理任务调度与异步队列,vLLM执行高效rollout推理,NVIDIA AutoModel配合FSDP2实现分布式训练。所有组件均未fork,上游更新仅需调整容器镜像版本标签即可同步,避免繁琐的代码rebase。
运行时设计:流式代理池与无损状态保持
运行时包含三部分:一个agent pool(由多个vLLM引擎组成)、一个请求路由层,以及单个可训练策略actor。系统采用“流式pool”机制,维持多组prompt并行处理,确保vLLM引擎始终有任务可执行,避免因actor训练导致空转。当需要partial rollout(如策略参数更新)时,引擎暂停当前请求,通过NCCL直接广播actor分片至各引擎,并自动恢复已保留的请求,而非丢弃重试。
代理即普通程序:兼容标准SDK
Molt将agent定义为标准Python模块,只需导出AgentRunner类。奖励函数等全部逻辑均为常规Python代码。框架支持两种交互模式:Env模式下,框架托管LLM循环(遵循Gymnasium风格step());ChatAgent模式下,用户完全掌控循环,可直接使用原生OpenAI或Anthropic SDK。Molt内置loopback服务器,同时兼容两类API协议,所有请求均在服务端逐token精确解码累积。当长程agent压缩上下文并重写前缀时,服务器自动封存当前段、开启新段,保障轨迹完整性。
三大正确性不变量保障训练可靠性
设计围绕三项关键不变量:(1)Token身份一致性——轨迹由采样得到的token ID定义,而非重新分词后的文本;(2)策略版本语义——可训练token保留其行为策略对应的log-probability,异步使用时通过序列级门控逐token校正;(3)前向一致性——rollout与actor必须对模型语义达成一致。对于混合专家(MoE)策略,第三条尤为关键:rollout与训练路由器独立选择专家,微小数值差异可能导致top-k结果翻转。为此,Molt引入rollout路由重放(rollout routing replay)机制:vLLM返回每个token的实际专家ID,训练前向过程据此精确复现专家选择路径。
关键亮点总结
Molt是Apache-2.0许可的智能体RL框架,RL核心代码约8.6K行,体量约为verl的1/7;通过组合而非fork Ray/vLLM/NVIDIA AutoModel,上游改进可通过容器版本升级快速获取;agent为纯Python实现,标准OpenAI/Anthropic SDK可开箱接入;吞吐量统计上接近Megatron堆栈(MoE模型匹配偏差已明确披露);扩展性设计简洁——同一训练循环既可运行4B稠密模型,也可扩展至700B MoE模型(通过--fsdp.ep_size 256配置)。
本文为企业智脑(优秘智能)编译整理自公开资讯,信息与观点以原文为准,仅供参考。阅读原文(MarkTechPost) →