Miles:面向大规模模型后训练的强化学习框架
此專案圍繞「Miles is an enterprise-facing reinforcement learning framework for LLM and VLM post-training, forked from and co-evolving with slime.」建置,聚焦實際場景的開源實作,提供可重用的工具鏈與整合方式。
秒懂
- 它是什麼?
- 面向 LLM 与 VLM 后训练的企业级强化学习框架,与 slime 协同演进,覆盖性能、正确性和多模型运行路径。
- 適合誰用?
- Miles 适合已有 GPU 集群、训练工程和模型评测流程,需要探索 LLM 或 VLM 后训练的团队。它不适合把一个个人模型快速微调,或没有办法固定硬件、数据和恢复策略的项目。
- 可以商用嗎?
- 可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫在最近一天內有新的提交。
- 用什麼語言寫的?
- 主要是 Python(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
从slime到Miles:面向生产稳定性的分支 · radixark-miles-deep-analysis
Miles是一个用于大型语言模型和视觉语言模型后训练的强化学习框架。该仓库将其描述为企业级和高性能。它是slime的一个分支,README称其与该项目共同演进。该框架集成了SGLang用于高吞吐量rollout,以及Megatron-LM用于可扩展训练,其目标是弥合研究级RL与生产级可靠性之间的差距。README的标语说千里之行始于一次rollout,并强调底层系统优化以实现稳定、高效和可复现。
精度控制:统一FP8、INT4 QAT和路由重放 · radixark-miles-deep-analysis
README描述了一个统一的FP8流水线,将相同的量化逻辑应用于训练和推理,并称其为首次端到端FP8采样和训练实现。这旨在消除量化引起的不一致,这种不一致可能导致大型混合专家模型的强化学习崩溃。Rollout Routing Replay (R3) 在SGLang推理期间记录专家路由决策,并在训练期间重放它们,以保持专家对齐的位级一致。对于非常大的模型,该仓库还提到了INT4量化感知训练(QAT),旨在使1TB规模参数的模型能够放入单台机器的内存,例如NVIDIA H200,同时保持与BF16相当的精度。
消除训练与推理之间的不一致 · radixark-miles-deep-analysis
该框架通过两种方式解决训练和推理之间的不一致。首先,它声称通过内核级优化(如FlashAttention-3和DeepGEMM)实现确定性的前向和后向传播,从而在训练和推理中获得位级相同的对数概率。其次,当不一致不可避免时,Miles提供截断重要性采样(TIS)和掩蔽重要性采样(MIS)作为算法修正,以减轻离策略偏差并防止训练发散。
用于rollout和权重同步的性能技术 · radixark-miles-deep-analysis
README中突出显示了三个性能特性。投机性RL训练使用在线SFT草稿模型,README称与冻结草稿相比,rollout速度提高了25%以上,因为草稿策略在RL期间被更新以防止策略漂移。零拷贝权重同步使用CUDA IPC零拷贝映射、异步张量收集和分桶展平,相对于标准HTTP/RPC传输将同步时间减少了50%。部分rollout和过采样通过过采样请求和回收半完成轨迹来处理多轮RL中的长尾效应,以最大化GPU利用率。
支持的模型架构和训练工作负载类型 · radixark-miles-deep-analysis
README列出了对DeepSeek R1、V3、V3.2;Qwen 2、2.5、3;Llama 3、3.1、3.3、4;Gemma 2、3、3N;GLM-4.5至4.7;MiniMax M2和M2.1以及其他模型(如Mistral、Mixtral、Phi和gpt-oss)的支持,并注明任何由SGLang和Megatron支持的模型都可以使用。涵盖的训练场景包括多轮交互、VLM和LLM训练、推理和编码任务,以及使用类似MrlX的共同进化框架进行多智能体训练。README还提到了针对推理和编码智能体工作负载的特定优化。
安装和统一的训练入口 · radixark-miles-deep-analysis
README建议使用官方Docker镜像。给出了命令 docker pull radixark/miles:latest 。对于从源码安装,README显示了 pip install -r requirements.txt 后跟 pip install -e . 。训练通过统一的入口点 python train.py 启动,带有优势估计器、模型名称、检查点路径、rollout批次大小和每个提示的样本数等命令行参数。示例显示了Qwen3模型的FP8 GRPO训练运行。README指向文档站点以获取完整的快速入门指南和环境设置。
计划中的工作和上游依赖 · radixark-miles-deep-analysis
该仓库的路线图列出了几个已完成的项目,包括统一的FP8训练和rollout、INT4 QAT、带有在线SFT的投机RL、多智能体RL、DeepSeek V3.2支持、VLM多轮训练、密集模型的SGLang与Megatron对齐以及R3。进行中或计划中的项目包括MoE RL的零不一致、MoE模型的SGLang与Megatron对齐、扩散RL、omni RL、扩散LLM RL和弹性资源调度。致谢将slime命名为核心模块化架构和灵感来源,SGLang和Megatron-LM作为推理和训练组件。该项目的许可证是Apache 2.0,它授予版权和专利许可,但不提供超出许可证所述的保修或支持条款。
从 rollout 到 trainer 的闭环验收 · radixark-miles-deep-analysis
Miles 面向大规模模型后训练,验收重点应放在 rollout 和 trainer 是否按预期协同,而不是只看单次生成速度。按照官方 Quick Start 与安装文档准备目标 GPU、SGLang 和 Megatron-LM 环境,先用一个支持的模型跑短任务,记录 rollout 请求、训练步数、权重更新时间和评估结果。若采用 FSDP2,要明确它适合直接训练 HuggingFace 实现,而最大模型和完整 recipe 仍以 Megatron-LM 为主。
对 agentic rollout,检查 token-in-token-out 是否贯穿黑盒 harness,并在 MoE 模型上观察 R3 路由回放是否启用。对故障恢复,可在测试期间停止一个 SGLang engine,记录任务是否原地继续以及样本是否重复。README 的硬件清单覆盖 NVIDIA 与 AMD 多代 GPU,性能和 day-0 模型支持属于项目文档声明;正式选型还需在自己的 GPU、模型版本和 batch 设置下留存日志。
Miles 同时支持 MXFP8、NVFP4、FP8、INT4 QAT、BF16 和 FP16,也提供 LoRA、多 LoRA、GRPO、GSPO、PPO、REINFORCE++、SFT 与 on-policy distillation。比较实验时应固定模型、recipe、精度、并行度和奖励函数,分别记录训练损失、采样吞吐、权重同步时间与评估分数。否则无法判断收益来自 Miles 的异步流水线,还是来自不同的训练设置。
README 的大规模案例和 day-0 支持需要对应硬件与软件版本。AMD ROCm、NVIDIA 容器、SGLang rollout 与 Megatron trainer 任一环节版本不符,都可能改变结果。先让最小模型完成一轮,再逐步打开低精度、R3 和故障恢复,便于定位失败位置。
Miles 的强化学习结果受奖励函数和采样策略影响很大。每次比较都应保存配置、容器标签、模型提交号和评估样本,避免把一次训练的收益误认为框架固有能力。
Miles 训练不收敛时,先区分 rollout 样本、奖励计算、权重传输、trainer 前向和评估器的问题。保存每阶段的时间戳与错误日志,再改变一个配置重新运行,才能判断异步调度或低精度设置是否真正造成影响。
Miles 的比较结果必须绑定奖励函数、采样策略、模型提交号、容器标签和评估样本。异步训练、低精度、LoRA 与故障恢复应逐项开启,先确认单项行为,再解释总分或吞吐变化。
編輯結論
Miles 适合已有 GPU 集群、训练工程和模型评测流程,需要探索 LLM 或 VLM 后训练的团队。它不适合把一个个人模型快速微调,或没有办法固定硬件、数据和恢复策略的项目。Apache-2.0 说明代码许可范围,不代表模型权重、数据集和训练产物拥有相同授权。 先按官方 Quick Start 对一个支持模型做短任务,保存环境、配置、检查点和指标,再测试一次中断恢复。只有性能、结果正确性和故障恢复都能由团队复核,才有理由扩展到多节点生产实验。
社群筆記