Molt强化学习框架架构深度图解:Ray、vLLM、AutoModel三组件如何全异步协同工作
【免费下载链接】labs-moltA scalable, agentic-first, and HuggingFace-native RL framework for research (9k lines).项目地址https://gitcode.com/gh_mirrors/la/labs-molt点击查看免费下载Molt 是一个面向研究的开源强化学习RL训练框架仅约 9.2K 行 RL 代码用 PyTorch / HuggingFace 原生栈驱动 1T 级全异步 agentic RL。它的核心设计可以概括为三个盒子、一条异步循环Ray负责组件放置与异步队列vLLM负责 rollout 生成NVIDIA AutoModel FSDP2负责纯 PyTorch 训练三者全程异步重叠运行。本文将通过官方架构图 源码导读带你一图看懂这套机制。 三大组件分工一览谁负责什么组件在 Molt 中的角色关键能力源码位置Ray运行时与调度中枢放置组placement、跨进程 Actor、双异步队列、容错molt/trainer/placement.py、molt/trainer/rl_trainer.pyvLLMRollout 生成引擎连续批处理、多引擎负载均衡、TP/DP/EP 并行、partial rolloutmolt/trainer/vllm/vllm_engine.py、molt/trainer/rollout/router.pyAutoModel FSDP2训练后端Single Actor计算 advantage、更新策略、TP/EP/CP、Adam CPU offloadmolt/trainer/fsdp/、molt/models/actor.pyAgentEnv / ChatAgent奖励与环境Gymnasium 风格step()、多轮工具、VLM 环境、任意 Python 奖励molt/agents/base.py、examples/python/agents/一句话总结Agent 是程序Trainer 是单个 Actor奖励是你写在 Python 里的任何东西——评分器、多轮工具、VLM 环境甚至 LLM-as-judge直接调回同一个 vLLM 引擎。 全异步主循环一条训练样本的 6 步旅程架构图底部的编号流程正是 Molt 全异步协同的完整闭环Agent 发送请求→ 通过共享的 vLLM Router 向引擎发起 token 进/出请求/inference/v1/generatetoken-in / token-outvLLM Router 返回响应/信号→ Router 按x-session-id一致性哈希让同一 rollout 的渲染与生成落在同一引擎上Agent 与环境交互产生轨迹→Env.step()或ChatAgent.run()多轮循环直到terminated或truncated轨迹推入 Ray 队列→ 完整轨迹token ids logprobs action ranges reward 多模态张量打包入队Trainer 消费队列→ 计算 advantage、执行一步优化、更新策略新权重异步同步回 vLLM→ NCCL 直连引擎广播权重跳过 Router循环回到第 1 步关键点第 1~4 步生成侧与第 5~6 步训练侧由 Ray 上两个独立的远程 Actor 驱动互不阻塞GenerateSamplesActor生成侧rl_trainer.py L600-L829TrainingActor训练侧rl_trainer.py L834-L952⚡ 双队列 反压异步不失控的秘密全异步最怕两个问题生成太快把训练侧淹没、训练太慢让 vLLM 空转。Molt 用两个 Ray 队列优雅解决rl_trainer.py L975-L983队列方向作用rollout_queue生成侧 → 训练侧携带完整 rollout 批次含 checkpoint 恢复状态rollout_slots训练侧 → 生成侧反压令牌训练侧消费一批后还回一个槽位生成侧才能生产下一批深度由--train.async_queue_size默认 1控制async_queue_size 1生成与训练严格交错rollout 最多领先 1 步off-policy 偏差最小async_queue_size 2生成可领先 2 步生成/训练重叠更充分吞吐更高——此时靠IS correction--algo.advantage.is_correction_level geo修正训练/rollout logprob 偏差覆盖 TIS、IcePop、seq-mask-tis 等方案见 molt/trainer/algorithm/advantage.py日志中还有两个谁在空转的精确信号vllm_idle_waitvLLM 等训练槽与actor_idle_wait训练器等 rollout分别归因两侧 GPU 的空闲时间。 权重同步如何不打断推理策略更新后必须把新权重推给 vLLM但这会短暂冻结生成。Molt 的同步协议是抢占vllm_lockRay 远程锁防止 eval/rollout 同时占用引擎调用引擎pause_generation()→ NCCL 广播权重 →reset_prefix_cache()→resume_generation()对应源码TrainingActor.broadcast_to_vllm、vllm_engine.py L243-L246。两种进阶模式Partial rollout--train.partial_rollout_enable同步时不持有锁让 vLLM 继续服务未完成请求——跨权重更新的请求会被标记off-policy 前缀训练时其策略梯度归零见 samples_generator.py 的 action mask严格 on-policy--train.force_sync_mode把还槽推迟到 refit 之后下一批 rollout 一定用最新权重生成代价是牺牲重叠。适合对路由敏感的 MoE 模型 Token-First 契约全链路数据对齐架构图强调的 Token In / Token Out 是 Molt 的通信契约从 rollout 到训练token ids、logprobs、action ranges、rewards、多模态张量全程对齐。多轮对话、VLM、工具调用轨迹共享同一种格式rollout 样本在队列中是轻量句柄 共享内存重张量哪个训练 rank 消费哪条样本重张量才从生产者侧按需拉取——整批图片永远不会堆在单节点上train_step 注释。 新手上手路径3 步跑通你的第一个 Molt RL 任务第 1 步 · 选择 Agent仓库自带 4 个参考 agent从最简单的单轮数学题开始math.py —Env单轮 boxed 评分geo3k.py —EnvVLM 多轮 Python 工具chat_minimal.py —ChatAgentOpenAI SDK 聊天循环chat_geo3k.py —ChatAgentVLM 多轮 Python 工具第 2 步 · 一键启动修改模型路径后运行 quick start 脚本即可完整参数表见 README.mdMODEL_PATH/path/to/Qwen3-4B bash examples/scripts/quick_start/rl_qwen3_4b.sh第 3 步 · 打开异步旋钮按需加两个参数即可让生成/训练解耦重叠——--train.async_queue_size 2 # 队列深度 2生成领先训练 1 批 --train.partial_rollout_enable # 权重同步期间保持 rollout 存活 架构相关源码索引想了解去看双队列 反压 主循环molt/trainer/rl_trainer.py#L865-L952rollout 样本生成molt/trainer/rollout/samples_generator.py#L97vLLM Router 与 token 传输molt/trainer/rollout/router.py#L16-L28FSDP2 并行策略TP/EP/CPmolt/trainer/fsdp/strategy.pyadvantage / IS correctionmolt/trainer/algorithm/advantage.pyMoE 路由回放 R3tests/unit/test_routing_replay.py 小结Molt 的架构哲学是极简即强大Ray 只做放置与队列vLLM 只管生成AutoModel/FSDP2 只管训练三者通过双 Ray 队列 vllm_lock token-first 契约组成一条全异步流水线。这套约 9.2K 行的代码同一份脚本即可从 8B 稠密模型扩展到 DeepSeek-V3 级 1T MoE--fsdp.ep_size 256。理解了上面这张架构图和双队列反压机制你就掌握了 Molt 的全部运行时——剩下的每个梯度项都只在一个文件之内。赞分享【免费下载链接】labs-moltA scalable, agentic-first, and HuggingFace-native RL framework for research (9k lines).项目地址https://gitcode.com/gh_mirrors/la/labs-molt点击查看免费下载相关推荐Graphite-Web架构深度解析三大核心组件如何协同工作Graphite Web架构深度解析三大核心组件如何协同工作 Graphite Web是一个 高度可扩展的实时绘图系统 专为时间序列数据监控和可视化而设计。可观测性数据可视化后端终极指南Artemis核心架构深度解析——Collector、Strategy、Executor三组件如何协同工作终极指南Artemis核心架构深度解析——Collector、Strategy、Executor三组件如何协同工作 Artemis是一个用Rust编写的简单、Noria架构深度解析dataflow、mir和controller三大核心组件如何协同工作Noria架构深度解析dataflow、mir和controller三大核心组件如何协同工作 Noria是一个革命性的数据流系统专为高性能Web应用设计。它数据库后端流处理数据编排创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考