Miles:用SGLang与Megatron-LM做大模型RL后训练
给大模型团队做RL后训练的框架,把SGLang rollout和Megatron-LM训练接成异步流水线。
GitHub radixark/miles 更新 2026-09-05 分支 main 星标 2.6K 分叉 445
Python 强化学习后训练 SGLang Megatron-LM LLM/VLM NVIDIA与AMD GPU

🧭 决策指南

适合,如果你

  • 你要用SGLang做高吞吐rollout,并用Megatron-LM训练万亿参数模型
    README 的About章节明确写明SGLang负责rollout、Megatron-LM负责可扩展训练,且最大模型使用Megatron-LM。
  • 你需要MXFP8、NVFP4或INT4 QAT等低精度RL训练能力
    README 的Performance章节列出MXFP8、NVFP4、FP8、INT4 QAT、BF16和FP16。
  • 你的模型或环境包括DeepSeek-V4、Kimi-K3、Inkling、Nemotron或AMD MI355X
    README 的What Miles runs和News章节分别列出这些模型及AMD Instinct MI355X上的DeepSeek-V4 Flash RL。
  • 你需要多轮agent rollout、TITO或SGLang引擎故障原地恢复
    README 的Performance与Correctness and resilience章节列出agentic rollout、TITO和fault tolerance。

不适合,如果你

  • 你希望最大模型训练完全走HuggingFace实现与PyTorch FSDP2
    README 的About章节说明FSDP2可用,但recipes、parallelism和largest models都在Megatron-LM。
  • 你的硬件不在README列出的NVIDIA或AMD GPU范围内
    README 的What Miles runs仅列出GB300、GB200、B300、B200、H200、H100、A100及MI300X、MI325、MI350、MI355X。
  • 你要求成熟的大版本生态,而项目当前只有v0.1和1个版本发布
    项目元数据显示最新版本为v0.1、版本发布数为1;README News标注Miles v0.1于2026/08发布。

前置条件

  • 需要SGLang作为rollout组件,README About写明“pairs SGLang for high-throughput rollout”。
  • 最大模型和主要并行训练方案需要Megatron-LM,README About写明“the recipes, the parallelism, and the largest models all live on Megatron-LM”。
  • 硬件需从Installation的hardware requirements逐卡确认;README列出NVIDIA GB300、GB200、B300、B200、H200、H100、A100及AMD MI300X、MI325、MI350、MI355X。
  • 可选训练后端包括Megatron-LM和PyTorch FSDP2,README提供Training Backends章节。
  • 若使用低精度路径,可选MXFP8、NVFP4、FP8、INT4 QAT、BF16或FP16。

要注意

  • 不要把FSDP2当作最大模型主路径,README明确将最大模型与并行方案放在Megatron-LM。
    README About章节:FSDP2适用于按原样训练HuggingFace实现,但recipes、parallelism和largest models都在Megatron-LM。
  • GPU兼容性不能只看厂商,必须按Installation逐卡查看状态和容器镜像。
    README What Miles runs章节要求查看Installation获取per-GPU status和container image。
  • MoE训练若未启用R3,README所述的Rollout Routing Replay收益不会自动出现。
    README Correctness and resilience章节将R3描述为记录并重放expert routing的独立能力。

替代方案

  • slime:需要直接采用Miles所fork的上游slime项目时,可查看slime。
    README Acknowledgment
  • PyTorch FSDP2:希望按HuggingFace实现原样训练、而不是采用Megatron-LM最大模型路径时,可使用README列出的FSDP2后端。
    README About

材料未说明

  • README材料未给出安装命令、Python版本或CUDA/ROCm版本。
  • README材料未给出各GPU型号的显存要求、最小卡数或具体并行配置。
  • README材料未给出SGLang、Megatron-LM与PyTorch FSDP2的具体版本兼容矩阵。
  • README材料未给出v0.1的性能基准、吞吐数字或与slime的定量对比。
  • README材料未说明10名贡献者对应的维护分工、issue响应时间或生产支持周期。
  • README材料未给出Quick Start中的可复制命令。

💡 深度解析

7
不适合 我只有一张消费级 GPU,平时用 Hugging Face Trainer 做普通 SFT,并不需要 SGLang Rollout、Megatron-LM 或 Agent 沙箱;Miles 是否值得引入?
适合读者: 只有单张消费级 GPU、主要使用 Hugging Face Trainer 做普通 SFT 的模型开发者,尚未维护分布式 Rollout、Agent 沙箱或 Megatron-LM 集群

不适合,因为 Miles 面向的是企业级、大规模 LLM/VLM 后训练,而你的需求不需要它最复杂的分布式闭环。

  • README About 章节将项目定位为“enterprise-ready”且面向“large-scale model post-training”,核心组合是 SGLang Rollout 与 Megatron-LM 训练。
  • 虽然项目提供 PyTorch FSDP2、SFT 和 Hugging Face 实现直训路径,但 FSDP2 仍是大型训练框架中的一个后端,不等同于面向单 GPU 的轻量 SFT 工具。
  • Agentic Rollout、P2P RDMA、异步调度和故障恢复主要解决多 worker、集群通信和长时间 RL 任务问题,单 GPU 普通 SFT 很难从这些能力中获得对应收益。
  • README 还明确强调最大的模型、主要配方和并行能力集中在 Megatron-LM。

因此,引入 Miles 可能增加安装、依赖和排障负担,而不是缩短你的 SFT 流程。

  • README 标题:"Enterprise-Grade Reinforcement Learning for Large-Scale Model Post-Training"
  • About:"enterprise-ready reinforcement learning framework for large-scale model post-training"
  • About:"A PyTorch FSDP2 backend is available"
  • About:"the recipes, the parallelism, and the largest models all live on Megatron-LM"
材料未说明:README 未说明单 GPU 是否有受支持的安装配置或最小硬件要求;README 未提供普通 Hugging Face SFT 与 Miles FSDP2 后端的资源开销对比
适合 我需要用 Harbor、HUD 或 NeMo Gym 训练代码 Agent 和 computer-use Agent,并把任务放进 AgentENV、Daytona、E2B 或 Modal 沙箱;Miles 能否覆盖多轮 Rollout 和环境接入?
适合读者: 训练代码 Agent 和 computer-use Agent 的研究团队,使用 Harbor、HUD 或 NeMo Gym 连接器,并需要 AgentENV、Daytona、E2B 或 Modal 沙箱

适合,Miles 的 README 直接把多轮 Agentic Rollout、环境连接器和任务沙箱列为支持范围。

  • What Miles runs 说明可通过 Harbor、HUD、NeMo Gym、OpenEnv 和 Verifiers 连接器训练 coding 与 computer-use agents。
  • 同一章节列出 AgentENV、Daytona、E2B 和 Modal 作为任务沙箱,说明环境执行层与 Rollout 层有明确集成路径。
  • Performance 章节说明 SGLang 后的路由器会分发请求、保留每个请求的元数据并检查引擎健康状态,且针对 multi-turn agentic workloads 调优。
  • Correctness and resilience 章节声明 TITO 支持 every model and every black-box harness,可减少 Rollout 与训练之间的分词往返问题。

不过 Miles 主要提供训练闭环和环境接入基础设施,不负责你的奖励函数、工具可靠性或任务定义质量。README 也没有说明每个连接器的成熟度和功能差异。

  • What Miles runs:"Train coding and computer-use agents through connectors for Harbor, HUD, NeMo Gym, OpenEnv, Verifiers"
  • What Miles runs:"task sandboxes on AgentENV, Daytona, E2B, or Modal"
  • Performance:"preserves per-request metadata" 和 "Tuned for multi-turn agentic workloads"
  • Correctness and resilience:"Supported for every model and every black-box harness"
材料未说明:README 未说明 Harbor、HUD、NeMo Gym 等连接器分别支持哪些工具调用、状态持久化和并发模式;README 未说明各沙箱的部署成本、网络隔离方式、超时行为和故障回传格式;README 未提供代码 Agent 或 computer-use Agent 的端到端示例指标
适合 我使用 Megatron-LM 训练 MoE 模型,已经遇到 Rollout 与训练阶段专家路由不一致,以及多轮样本反复分词导致 token 边界变化的问题;Miles 能直接针对这两类正确性风险吗?
适合读者: 负责 MoE 模型 RL 稳定性的 Megatron-LM 训练工程师,正在处理 Rollout 与训练阶段专家路由不一致以及多轮数据分词边界问题

适合,Miles 的 TITO 和 R3 正好分别针对 token 一致性与 MoE 路由一致性。

  • Correctness and resilience 章节说明 TITO 在 Rollout 与训练之间保留 token 级数据,避免 detokenize/retokenize 往返;README 声称其支持每个模型和每个 black-box harness。
  • 同一章节说明 R3 会记录 Rollout 阶段的 expert routing,并在 trainer 的 forward pass 中重放,以消除 MoE routing mismatch。
  • README 还强调 R3 会把计算与通信重叠,以降低一致性机制的额外代价。
  • 这些功能与 Megatron-LM 主训练路径结合,适合需要大规模 MoE RL 正确性的场景。

但“支持”不等于自定义 tokenizer、特殊停止条件或自定义 harness 已经无缝兼容。README 没有给出 R3 对具体 MoE 架构的覆盖清单,也没有提供 TITO 在你的多轮消息格式下的验证样例。

  • Correctness and resilience:"no detokenize/retokenize round-trip between rollout and training"
  • Correctness and resilience:"Expert routing recorded during rollout is replayed in the trainer's forward pass"
  • Correctness and resilience:"Supported for every model and every black-box harness"
  • Correctness and resilience:R3 的 "compute and communication overlapped"
材料未说明:README 未列出 R3 支持的具体 MoE 模型架构、专家数量和并行组合;README 未说明自定义 tokenizer、停止条件和多轮消息拼接的 TITO 接口约束;README 未提供启用 R3/TITO 前后的训练稳定性或性能对比
适合 我在 NVIDIA H100 集群上使用 Megatron-LM 训练 Kimi-K2.6,需要把 SGLang Rollout 与训练 worker 解耦,并在分离式部署中快速同步万亿参数权重;Miles 适合这条生产链路吗?
适合读者: 负责在 NVIDIA H100 集群上用 Megatron-LM 训练 Kimi-K2.6 或其他万亿参数模型的基础设施工程师,要求 Rollout 与训练资源分离并缩短权重同步时间

适合,因为 Miles 的主要架构正是围绕大规模、分离式 RL 后训练设计的。

  • README 的 About 说明它用 SGLang 承载高吞吐 Rollout、用 Megatron-LM 承载可扩展训练,且 Rollout 与训练 worker 可以解耦。
  • Performance 章节说明新权重可在训练循环内传到推理引擎,并以 P2P RDMA 作为分离式部署的快速路径;README 还以 Kimi-K2.6 的万亿参数模型为例。
  • Fully async RL 支持可配置的 on-policy/off-policy 调度,有助于减少 Rollout 等待训练造成的流水线空洞。

但能否达到目标吞吐仍取决于 GPU 拓扑、RDMA 网络、容器、驱动和具体并行配置;README 没有给出你的集群规模下的实测端到端指标。

  • About:"pairs SGLang for high-throughput rollout with Megatron-LM for scalable training"
  • Performance:"P2P RDMA as the fast path for disaggregated setups"
  • Performance:"even on a trillion-parameter model such as Kimi-K2.6"
  • 项目数据:最新版本为 v0.1.0,正式发布仅 1 个
材料未说明:README 未说明 H100 集群的推荐 GPU 数量、网络带宽、RDMA 配置和实际权重更新时间;README 未说明 Kimi-K2.6 在你的 Megatron-LM 并行策略下的稳定性与吞吐
适合 我在 NVIDIA H200 集群上运行需要持续数天的 SGLang Rollout 与 RL 训练,最担心单个推理引擎故障让整次任务重启;Miles 的容错机制是否能满足这个约束?
适合读者: 需要连续运行数天的企业 RL 平台工程师,在 NVIDIA H200 集群上运行 SGLang Rollout,并担心推理引擎故障导致整次训练重启

适合,至少在 README 描述的 SGLang engine 故障场景中,Miles 提供了原地恢复而非整次任务重启。

  • Correctness and resilience 章节明确写道:当一个 SGLang engine dies 时,Miles 会恢复它并在原运行中继续训练,目标是“no restart, no pause”。
  • Performance 章节还说明 Rollout 请求经过 router 分发,router 会对 engine fleet 做健康检查,这为识别异常实例提供了架构支持。
  • 项目支持 NVIDIA H200,且 Fully async RL 将 Rollout、训练和评估 worker 解耦,适合长时间运行的分布式闭环。
  • 但该能力针对推理引擎故障,不代表训练 worker、RDMA 网络、底层 GPU 或环境沙箱故障都能自动恢复。

因此,Miles 与你的故障约束高度匹配;不过 README 没有给出恢复时间、可恢复故障类型、状态持久化方式或多实例同时故障时的行为。

  • Correctness and resilience:"When an SGLang engine dies, Miles recovers it and resumes the run in place: no restart, no pause"
  • Performance:router "health-checks the fleet"
  • What Miles runs:硬件列表包含 NVIDIA H200
  • Performance:"Rollout and training workers are decoupled"
材料未说明:README 未说明 SGLang engine 恢复的平均时间、最大恢复时间和是否需要空闲替代实例;README 未说明训练检查点、Rollout 状态和请求元数据在故障恢复中的持久化范围;README 未说明训练 worker、GPU、RDMA 或 Agent 沙箱故障是否有同等级别的自动恢复
视情况 我维护的是 Hugging Face 模型实现,团队希望直接用 PyTorch FSDP2 做 RL 后训练而不迁移到 Megatron-LM;在需要 GRPO、SFT 或 on-policy distillation 时,Miles 是否适合?
适合读者: 维护 Hugging Face 模型实现、暂时不想改写成 Megatron-LM 的模型工程师,计划用 PyTorch FSDP2 做 LLM 后训练

视情况:Miles 提供 FSDP2 入口,但 README 明确把最大模型、主要配方和并行能力放在 Megatron-LM 路径上。

  • About 章节说明,FSDP2 适用于希望“train the HuggingFace implementation as-is”的运行,因此可以减少模型重写工作。
  • 同一章节同时限定,recipes、parallelism 和 largest models 都集中在 Megatron-LM;不能把 FSDP2 视为完整等价替代。
  • What Miles runs 列出 GRPO、GSPO、PPO、REINFORCE++、SFT 和 on-policy distillation,但没有逐项说明这些能力在 FSDP2 后端的覆盖范围。

如果你的模型规模适中、FSDP2 路径已覆盖目标配方,选择合理;若目标是最大规模训练或依赖 Megatron 专属并行能力,则不应直接采用 FSDP2。README 未说明各配方与 FSDP2 的详细兼容矩阵。

  • About:"A PyTorch FSDP2 backend is available for runs that would rather train the HuggingFace implementation as-is"
  • About:"the recipes, the parallelism, and the largest models all live on Megatron-LM"
  • What Miles runs:"GRPO, GSPO, PPO, and REINFORCE++ ... plus SFT and on-policy distillation"
  • 项目数据:项目最新版本为 v0.1.0
材料未说明:README 未列出 GRPO、SFT 和 on-policy distillation 在 FSDP2 后端的逐项支持状态;README 未说明目标 Hugging Face 模型是否已有 FSDP2 示例、检查点格式和性能基线
视情况 我在 AMD Instinct MI355X 集群上通过 ROCm 训练 DeepSeek-V4,希望使用 Miles 的低精度 RL 能力;项目对 AMD MI355X 和 MXFP8、NVFP4 的支持是否足够让我采用?
适合读者: 在 AMD Instinct MI355X 集群上使用 ROCm 做 DeepSeek-V4 RL 训练的硬件平台工程师,同时希望评估 MXFP8、NVFP4 与传统 BF16 的可用性

视情况:README 明确展示了 AMD MI355X 与 DeepSeek-V4 的支持,但并未证明你的具体低精度组合已经具备与 NVIDIA 路径相同的稳定性。

  • News 章节记录了“DeepSeek-V4 Flash RL training”在 AMD Instinct MI355X 上通过 Miles 落地,这是直接相关的硬件与模型证据。
  • What Miles runs 列出 AMD MI300X、MI325、MI350 和 MI355X 的 ROCm 支持。
  • Performance 章节列出 MXFP8、NVFP4、FP8、INT4 QAT、BF16 和 FP16;但 NVFP4 的命名和 README 其他内容更偏向 Blackwell/NVIDIA 场景,不能据此推断 MI355X 的完整支持。
  • 项目只有 v0.1.0 一个正式版本,硬件、ROCm、算子和精度组合的接口稳定性仍需谨慎看待。

因此,AMD MI355X + DeepSeek-V4 有明确适配信号;若必须使用 MXFP8 或 NVFP4,README 还不足以完成采购或上线决策。

  • News:"DeepSeek-V4 Flash RL training comes to AMD Instinct MI355X with Miles"
  • What Miles runs:"AMD MI300X, MI325, MI350, and MI355X via ROCm"
  • Performance:"MXFP8 and NVFP4 ... FP8, INT4 QAT, BF16, and FP16 are also supported"
  • 项目数据:release_count 为 1,latest_release 为 v0.1.0
材料未说明:README 未说明 MXFP8 和 NVFP4 在 MI355X/ROCm 上的逐项支持状态;README 未说明 AMD 路径所需的 ROCm、驱动、容器和算子版本;README 未提供 MI355X 上 DeepSeek-V4 的低精度吞吐、显存占用或训练稳定性数据

✨ 核心亮点

  • SGLang rollout配合Megatron-LM训练,面向万亿参数
  • 支持MXFP8、NVFP4、FP8与INT4 QAT训练
  • TITO覆盖每个模型和黑盒harness,避免重分词
  • 支持DeepSeek-V4、Kimi-K3与Inkling day-0
  • v0.1仅发布1个版本,社区贡献者为10人

🔧 工程化

  • 用SGLang路由多引擎rollout,并以Megatron-LM完成可扩展训练
  • 提供异步RL、P2P RDMA权重更新与SGLang故障恢复
  • 覆盖GRPO、GSPO、PPO、REINFORCE++、SFT和OPD

⚠️ 风险

  • 最大模型与并行方案主要依赖Megatron-LM,FSDP2不是主路径
  • 项目当前为v0.1,且仅有1个版本与10名贡献者
  • GPU支持需按Installation逐卡核对,README未给出统一硬件门槛

👥 适合谁?

  • 需要在SGLang与Megatron-LM上做大规模LLM后训练的团队
  • 使用NVIDIA GB200/H100或AMD MI355X的RL基础设施团队
  • 训练Kimi-K3、DeepSeek-V4或Inkling等前沿模型的团队