TL;DR
Miles 是 RadixArk(LMSYS 衍生组织)推出的企业级 RL 框架,专为 LLM/VLM 后训练设计。它通过解耦 SGLang(推理)与 Megatron-LM/PyTorch FSDP2(训练),实现了全异步、低精度兼容及高容错的万亿参数规模 RL 流程,是追求极致吞吐与稳定性的工程首选。
它解决什么问题
随着模型参数迈向万亿级,传统 RLHF/RLVR 框架面临显存碎片化、训练与推理同步阻塞以及多卡通信瓶颈等问题。Miles 的出现旨在解决大规模分布式 RL 中的“气泡”延迟和精度损失问题,特别是针对 MoE 架构的路由失配(Routing Mismatch)和多轮 Agentic 工作负载中的 Token 对齐难题,提供生产级(Production-level)的稳定性。
核心做法
架构上采用“推理-训练”分离模式:利用 SGLang 的高吞吐 Router 进行 Rollout,后端对接 Megatron-LM(主力)或 PyTorch FSDP2 进行梯度更新。关键设计包括: 1. 全异步 RL:解耦 Rollout 与 Training Worker,支持可配置的 On/Off-policy 调度。 2. P2P RDMA 权重更新:支持万亿参数模型(如 Kimi-K2.6)在秒级完成权重传输,消除通信瓶颈。 3. Token-in-token-out (TITO):在 Rollout 与训练间保持 Token ID 一致,避免 Detokenize/Retokenize 带来的误差。 4. R3 (Rollout Routing Replay):回放 Rollout 阶段的 MoE 路由记录,解决训练时因路由变化导致的梯度不稳定。 5. 低精度支持:原生集成 MXFP8 和 NVFP4,配合数值稳定算法减少发散。
作者
项目由 RadixArk(隶属于 LMSYS Org)维护。LMSYS 在开源大模型评测与训练工具链领域(如 FastChat, Vicuna)具有极高影响力。Miles 是从 THUDM 的 slime 项目 Fork 并共同演进而来,团队背景深厚,拥有强大的学术与工业界协作网络。
社区反应
项目自发布以来增长迅猛,Stars 已达 2,549,Forks 为 443。尽管 Open Issues 高达 955(主要源于快速迭代期间的 Bug 反馈和功能请求),但结合其活跃的 Slack 社区 (#miles-rl)、频繁的 Blog 更新以及 LMSYS 的品牌背书,显示出极高的关注度。Python 生态下,它是目前少数明确支持 AMD ROCm 全栈硬件及 NVIDIA Blackwell 架构的 RL 框架之一,技术前瞻性受到认可。
怎么上手
- 依赖:Python, SGLang (需配置 Router), Megatron-LM 或 PyTorch FSDP2, CUDA/ROCm。
- 硬件:支持 NVIDIA (H100/A100/GB200 等) 及 AMD MI300X+。
- 步骤:
- 参考官方文档安装容器镜像或源码依赖。
- 配置
launch_script,指定 SGLang Engine Endpoint 和 Megatron/FSDP2 Trainer。 - 选择 Recipe(如 GRPO, PPO)并启动训练。官方提供 Quick Start 脚本,支持 Day-0 模型(如 DeepSeek-V4, Kimi-K3)的一键适配。
争议与局限
- 复杂度极高:依赖 SGLang + Megatron-LM/PyTorch 双后端,部署和维护成本远高于单库框架(如 TRL),不适合小规模实验。
- MoE 路由依赖:R3 机制虽解决稳定性,但增加了 Rollout 阶段的存储开销(需记录 Expert Routing),对显存敏感场景构成压力。
- 低精度成熟度:MXFP8/NVFP4 虽已支持,但在极端长尾分布下的数值稳定性仍需大量工程调优(README 提及需配合特定 Recipe)。
- 生态锁定:深度绑定 SGLang,若社区转向其他推理引擎(如 vLLM),迁移成本较高。
相关项目
- TRL (Hugging Face) — Miles 的 PyTorch FSDP2 后端可视为对 TRL 的大规模分布式增强,但 Miles 在异步架构和低精度支持上更激进。
- slime (THUDM) — Miles 的父项目,功能更基础;Miles 在此基础上增加了企业级容错、P2P 权重传输及多硬件支持。
- DeepSpeed (Microsoft) — Miles 的 Megatron-LM 后端借鉴了 DeepSpeed 的部分并行策略,但 Miles 专注于 RL 特有的 Rollout-Training 解耦而非通用预训练。
- SGLang — Miles 的推理引擎依赖,提供高吞吐 Rollout;Miles 是 SGLang 在 RL 训练侧的“伴侣”框架,而非直接竞品。
- Verl (ByteDance) — 同样面向大规模 RLHF,但 Verl 更侧重 vLLM/TensorRT-LLM 集成;Miles 则在 SGLang + Megatron/FSDP2 组合及低精度特性上差异化竞争。