NVIDIA-NeMo/labs-molt
An agentic-first RL framework for research (9k lines).
它解决了什么问题
Molt 专为高速度的代理型强化学习(RL)研究而设计,特别针对前沿规模的专家混合模型(MoE)训练(高达 1T 参数)。它解决了从小模型扩展到超大规模模型时通常面临的复杂性和基础设施开销问题,提供了一个原生 PyTorch 的堆栈,保持可修改性和可读性,同时支持完全异步的 rollout 和训练。
它如何工作
Molt 采用由 Ray 协调的三组件架构,通过异步循环实现协同工作:
- Ray:管理组件之间的放置和异步队列。
- vLLM:负责 rollout(生成)阶段。
- NVIDIA AutoModel + FSDP2:在纯 PyTorch 中管理训练阶段,支持高级并行(TP、EP、CP)和 Adam CPU 降载,适用于大规模代理。
奖励在 Env 或 ChatAgent 类中的纯 Python 代码中定义。该框架维护“以 token 为先”的契约,确保从 rollout 到训练过程中 token ID、logprobs 和多模态张量始终保持对齐。
适合谁使用
专为需要在大规模上快速迭代代理环境和 RL 算法的 AI 研究人员设计,尤其适用于使用 VLM(视觉-语言模型)和大型 MoE 模型的研究者,无需在从 8B 扩展到 1T 参数时重写代码。
特色亮点
- 代理优先设计:采用与 Gymnasium 对齐的 API,将代理视为程序,使研究人员能够在不接触训练器的情况下用 Python 快速迭代环境。
- 前沿规模的 MoE 支持:原生支持 TP/EP/CP 和 MoE 原生训练,可扩展至 DeepSeek-V3 等 1T 级模型。
- 完全异步运行时:重叠 rollout、训练和权重同步,确保大型代理持续获得数据。
- 代码量小:RL 代码量约为 9.2K 行,便于整体阅读和修改。
- 广泛算法支持:包含 REINFORCE、RLOO、GRPO、PPO(通过 GAE)以及在线策略蒸馏。
- IS 修正:实现多种重要性采样修正方案(TIS、IcePop、MIS),以处理异步 rollout 与训练之间的 logprob 不匹配问题。
相关
- 项目
- 项目
- 项目
- 项目
- 项目