技能使用指南

miles-rl-training(miles强化学习训练框架)Skill 是一个什么样的企业级强化学习训练工具?

想用 FP8/INT4 训练 1TB+ MoE 大模型?miles-rl-training 技能把 miles 强化学习训练框架的安装、配置、推测性 RL 加速与训练-推理对齐排障固化成可复用指南,含 Docker 一键启动、完整启动命令与竞品对比,帮你少踩坑、多省 GPU 机时,快来看完整上手流程。

miles强化学习训练框架Skillmiles-rl-training
8 个章节 约 15 分钟阅读 AI 智能生成

miles 强化学习训练框架:用 FP8/INT4 在企业级规模上把 1TB+ MoE 模型训起来

  • 一句话定位:miles 是 slime 的「生产就绪」分支,专为大模型后训练(RL)场景打磨,重点解决 MoE 训练稳定性、低精度训练、训练-推理对齐三大硬骨头。
  • 最硬核的能力:统一 FP8 端到端训练、INT4 量化感知训练(单机 H200 训 1TB+ 模型)、Rollout Routing Replay(R3)位级专家对齐。
  • 最直接的收益:推测性 RL 带来 25%~40% 的 rollout 加速,叠加部分 rollout 还能再拿 10%~15% 吞吐量。
  • 适合谁用:正在训练 DeepSeek V3、Qwen3-MoE、MiniMax M2 这类超大 MoE,并且被「训练崩溃 / 推理训练不一致 / 显存不够」折磨的算法与训练工程团队。
  • 不适合谁用:只做小模型实验、需要频繁更换推理后端、或偏好 PyTorch 原生抽象的团队,可优先考虑 slime、verl、torchforge。

该技能叫什么?如何一键安装 AI 技能提升开发效率?

这个技能的中文名是 miles强化学习训练框架Skill,英文名 miles-rl-training,技能 ID 为 12380,作者是 Orchestra Research,版本 1.0.0,采用 MIT 许可证,标签覆盖强化学习、MoE、FP8、INT4、企业级、SGLang、Megatron-LM。

它解决什么问题? 简单说,它把「用 miles 做企业级强化学习训练」这件事的经验固化成了一份可被 AI 直接调用的操作指南。当你打算训练 1TB 级别的混合专家模型、打算上 FP8/INT4 低精度、或者发现推理引擎和训练框架之间的 log 概率对不上时,这个技能能直接给出配置清单、启动命令、验证检查项和排障路径,而不需要你在多个仓库和博客之间反复翻找。

「一键安装」的思路分两层:

第一层是技能本身的安装。在支持技能(Skill)机制的 AI 助手或开发环境中,通常通过技能市场搜索技能英文名或技能 ID 即可添加,或在配置文件中声明技能来源后加载。具体入口、命令与是否需要授权,以官方说明为准。安装完成后,可让助手复述技能名称与版本,若能正确回答「miles 是什么、什么时候该用」,说明技能已生效。

第二层是 miles 框架本体的安装,这一部分技能详情给出了明确路径:

# 推荐方式:Docker
docker pull radixark/miles:latest
docker run --rm --gpus all --ipc=host --shm-size=16g \
  -it radixark/miles:latest /bin/bash
# 从源码安装
git clone https://github.com/radixark/miles.git
cd miles
pip install -r requirements.txt
pip install -e .

安装前提:依赖包括 sglang-router>=0.2.3、ray、torch>=2.0.0、transformers>=4.40.0;跑 FP8 需要 H100/H200 级别 GPU;训练大 MoE 还需准备好模型权重与 jsonl 格式的 prompt 数据。

验证是否生效:进入容器后执行一次基础训练脚本(见下一节),观察模型能否无报错加载、路由决策是否一致、损失值中是否出现 NaN/Inf——这三项正是技能内置的验证检查清单。

该技能的主要功能和特点

  • 统一 FP8 流水线:推理与训练端到端使用 FP8,从根上缓解 MoE 模型因量化导致的 RL 崩溃问题,并提供 NVTE_FP8_BLOCK_SCALING_FP32_SCALES 块缩放开关来稳住损失。
  • INT4 量化感知训练(QAT):让 1TB+ 模型在单机显存内完成训练。按技能给出的数据,70B 从 140GB 降到 45GB、235B 从 470GB 降到 150GB、671B 从 1.3TB 降到 420GB,均为约 3.1 倍显存缩减。
  • Rollout Routing Replay(R3):在 SGLang 推理阶段记录专家路由决策,存入 sample.rollout_routed_experts,再在 Megatron 训练阶段直接重放,实现位级的专家选择一致性。这是普通 RL 框架普遍缺失的能力。
  • 推测性 RL:通过 EAGLE 推测解码 + 在线 SFT 草稿模型,让草稿模型持续跟踪策略变化,避免接受率随时间衰减。
  • 零拷贝权重同步与部分 Rollout:CUDA IPC 零拷贝映射降低权重同步开销;半完成的轨迹可被回收复用,减少算力浪费。
  • 训练-推理对齐体系:TIS/MIS 截断与掩码重要性采样做离策略校正,配合 FlashAttention-3、DeepGEMM、批量不变内核与 torch.compile,目标是把训练与推理之间的 KL 散度压到接近零。
  • 继承 slime 配置系统:集群资源、Megatron 并行等参数与 slime 一致,已有 slime 使用经验的团队迁移成本低。

和普通训练脚本比强在哪? 普通脚本只负责「跑起来」,miles 负责「大规模跑稳」——它把低精度数值稳定性、MoE 路由一致性、推理训练偏差校正这三类只在超大模型上才暴露的工程问题,做成了可开关的配置项。

如何使用该技能?

第 1 步:明确是否该用 miles。 若你要训 1TB+ MoE、要上 FP8/INT4、要位级对齐或要极致吞吐,选 miles;若只是想要研究级原始版本,用 slime;需要灵活换后端,用 verl;想要 PyTorch 原生抽象,用 torchforge。

第 2 步:准备环境。 按上文 Docker 或源码方式安装,设置 FP8 相关环境变量:

export NVTE_FP8_BLOCK_SCALING_FP32_SCALES=1
export CUDA_DEVICE_MAX_CONNECTIONS=1

第 3 步:跑一次基础训练。 这是最快的「冒烟测试」:

python train.py \
    --advantage-estimator grpo \
    --model-name qwen3-30b-a3b \
    --hf-checkpoint /path/to/qwen3-30b-a3b-hf \
    --rollout-batch-size 512 \
    --n-samples-per-prompt 8

输入是 HuggingFace 格式的模型权重与 prompt 数据;输出是训练过程中的损失曲线、rollout 采样与奖励指标。

第 4 步:按工作流配置大规模训练。 训练 DeepSeek V3 这类模型时,需要显式给出并行策略:

python train.py \
    --actor-num-gpus-per-node 8 \
    --rollout-num-gpus 8 \
    --hf-checkpoint /path/to/deepseek-v3 \
    --advantage-estimator grpo \
    --tensor-model-parallel-size 8 \
    --expert-model-parallel-size 4 \
    --prompt-data /path/to/data.jsonl \
    --num-rollout 3000

第 5 步:按需开启推测性 RL。

--sglang-speculative-algorithm EAGLE \
--sglang-speculative-num-steps 3 \
--sglang-speculative-eagle-topk 1 \
--sglang-speculative-num-draft-tokens 4 \
--sglang-speculative-draft-model-path /path/to/draft-model

如需让草稿模型跟随策略更新,再加上 --mtp-num-layers 1 --enable-mtp-training --mtp-loss-scaling-factor 0.2,注意这要求检查点本身带有 MTP 权重。

第 6 步:验证与排障。 检查模型加载无错误、路由决策一致、损失无 NaN/Inf。若 FP8 训练崩溃,先确认块缩放已开启,再尝试降低学习率至 --lr 5e-7;若草稿模型接受率下滑,开启在线 MTP 训练或把推测步数降到 2;若训练与推理策略发散,启用 --use-tis --tis-threshold 0.9 并为 MoE 开启 R3。

同类型竞品对比分析

方案名称 定位 核心功能 安装/使用门槛 适用场景 优势与不足
miles(本技能) slime 的生产就绪分支,企业级 RL 训练 统一 FP8、INT4 QAT、R3 路由重放、推测性 RL、零拷贝权重同步 Docker 一键起步;需 H100/H200 与 Megatron/SGLang 生态经验 1TB+ MoE 后训练、低精度训练、要求位级对齐 优势是稳定性与吞吐兼顾、生产可落地;不足是依赖较重、对硬件有明确要求
slime 上游研究级原始版本 基础 RL 训练与配置系统 门槛相对低 算法探索、快速验证想法 优势是贴近研究、改动自由;不足是缺少企业级稳定性与低精度优化的完整保障
verl 灵活的后端交换框架 支持多种训练/推理后端组合 需要自行组合与调优 需要频繁切换后端做对比实验 优势是灵活性高;不足是 MoE 位级对齐、推测性 RL 等能力需自行补齐
torchforge PyTorch 原生抽象方案 原生抽象、易读易改 熟悉 PyTorch 即可上手 二次开发、教学与轻量改造 优势是心智负担低;不足是超大 MoE 的吞吐与显存优化不如 miles 深入

选择建议:把「是否需要生产稳定性 + 是否需要 FP8/INT4 + 是否是超大 MoE」三个问题问一遍,三个都是「是」,选 miles 基本没有悬念。

该技能的典型应用场景与实际体验情况

场景一:超大 MoE 团队的后训练流水线。 角色是训练工程师,痛点是 DeepSeek V3、Qwen3-MoE 级别模型一开 RL 就损失爆炸。使用方式是按「工作流 1」配置张量并行 8、专家并行 4,开启块缩放与 R3。实际体验:文档把先决条件做成了勾选清单(GPU 型号、模型类型、Docker 环境),上手路径清晰;效果上,位级专家对齐是可见的稳定性来源;注意事项是并行度必须与集群规模匹配,配错会直接 OOM 或报错。

场景二:显存受限下的千亿模型训练。 角色是算法负责人,痛点只有单机 H200,却想碰 671B 级模型。使用方式是启用 INT4 QAT,把 1.3TB 权重压到 420GB 左右。实际体验:技能明确给出了三档模型的显存对照表,预算评估非常直接;注意事项是 INT4 属于量化感知训练,需要关注精度回退,建议先用小规模数据跑通再放大。

场景三:追求吞吐的 rollout 加速。 角色是推理优化工程师,痛点是 rollout 阶段成为整体瓶颈。使用方式是开启 EAGLE 推测解码并配合在线 MTP 训练,再叠加部分 rollout 回收半完成轨迹。实际体验:技能给出的预期是推测性 RL 快 25%~40%,加部分 rollout 再提 10%~15%;注意事项是草稿模型会漂移,需要在线 SFT 持续跟进,或使用 CPU 备份权重的开关。

场景四:训练-推理一致性排查。 角色是 RL 研究员,痛点是策略训练几轮后奖励突然崩溃。使用方式是启用 TIS 做离策略校正、核对 SGLang 与 Megatron 的 log 概率、对 MoE 开启 R3。实际体验:技能把「症状—原因—解决方案」写成了排障表,定位速度快;注意事项是这类问题往往由多个因素叠加,建议一次只改一个变量。

该技能能为用户带来的价值

效率层面:推测性 RL 带来 25%~40% 的 rollout 加速,叠加部分 rollout 再获得 10%~15% 吞吐量提升——在动辄数千次 rollout 的后训练任务里,这相当于把数天的等待压缩到一两天级别,直接反映为 GPU 机时成本的下降。

门槛层面:把「大 MoE + 低精度 + 训练推理对齐」这三件本来需要资深工程团队反复踩坑的事,沉淀成可复用的配置模板与检查清单。团队不必从零推导张量并行、专家并行、块缩放、TIS 阈值这些参数的组合方式。

成本层面:INT4 QAT 带来约 3.1 倍的显存缩减,让 671B 模型从「多机集群」变成「单机可及」,硬件采购与云资源预算的量级差异非常可观。

长期价值:miles 继承 slime 的配置体系并作为其生产分支持续演进,意味着团队今天写下的训练脚本具备向上兼容的迁移路径;同时 MIT 许可证让企业可以放心地把它嵌进内部训练平台。

常见问题 FAQ

Q1:这个技能怎么安装?需要先装 miles 吗? 技能本身在支持 Skill 机制的环境中按技能名或技能 ID 添加即可,具体入口以官方说明为准;miles 框架本体推荐用 radixark/miles:latest 镜像一键启动,或从 GitHub 源码 pip install -e . 安装。两者可以独立进行,但同时具备才能完整跑通训练。

Q2:用 miles 收费吗? miles 采用 MIT 许可证开源,框架本身可免费使用与修改;技能的分发与获取是否涉及费用,以官方说明为准。真正的主要成本来自 GPU 机时。

Q3:适合谁用?小团队有必要上吗? 最适合训练超大 MoE、需要低精度训练或对训练-推理一致性有强要求的团队。如果只是做小模型算法验证,用 slime 或 torchforge 更轻便;如果目标是生产环境的稳定后训练,miles 的投入是划算的。

Q4:和 slime、verl 到底怎么选? 要研究级原始版本选 slime;要灵活更换后端选 verl;要 PyTorch 原生抽象选 torchforge;要生产稳定性、FP8/INT4 和位级对齐,选 miles。

Q5:FP8 训练出现 NaN 或损失爆炸怎么办? 先确认已设置 NVTE_FP8_BLOCK_SCALING_FP32_SCALES=1 启用块缩放,再把学习率降到 --lr 5e-7,并检查 MoE 路由在训练与推理之间是否一致(必要时开启 R3)。若仍不稳定,可退回 BF16 验证是否为数值精度问题。