miles 是一个面向大规模模型后训练的高性能、企业级强化学习框架,是 slime 的生产级分支,主要解决 MoE 训练稳定性、低精度训练以及训练-推理一致性等关键挑战。
适用场景 需要训练 1TB 以上参数的 MoE 模型(如 DeepSeek V3、Qwen3-MoE)时,可选择 miles。它还适用于需要使用 FP8 或 INT4 进行量化感知训练、要求训练与推理达到比特级一致、希望通过投机 RL 获得最大吞吐量,以及重视生产稳定性和企业支持的场景。若需要研究级原版可选用 slime;若需灵活切换后端,可选用 verl;若希望使用 PyTorch 原生抽象,则可选用 torchforge。
主要能力 在低精度训练方面,它提供统一的 FP8 端到端训练(推理与训练均为 FP8)、让 1TB 模型可在单机显存(H200)上运行的 INT4 QAT,以及基于 R3 的比特级专家对齐。性能优化包括:投机 RL(在线 SFT 草稿模型带来 25% 以上 rollout 加速)、CUDA IPC 零拷贝权重同步,以及回收未完成轨迹的部分 rollout。它在训练-推理对齐方面提供用于离策略校正的 TIS/MIS,以及 FlashAttention-3、DeepGEMM 等内核级优化。
安装与使用 推荐使用 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 .
miles 沿用 slime 的配置系统。基础训练示例如下:
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
典型工作流 训练大型 MoE 模型时,需要具备支持 FP8 的 H100/H200 GPU、MoE 模型以及 miles Docker 环境。建议设置 FP8 block scaling 相关环境变量以提升稳定性:
export NVTE_FP8_BLOCK_SCALING_FP32_SCALES=1 export CUDA_DEVICE_MAX_CONNECTIONS=1
配置训练时可指定张量并行、专家并行、数据路径与 rollout 轮数等参数。验证要点包括:模型能否无错误加载、路由决策是否一致、loss 是否出现 NaN 或 Inf。
投机 RL 训练通过 SGLang 支持 EAGLE 投机解码:小草稿模型生成候选 token,目标模型并行验证,草稿模型通过在线 SFT 跟随策略更新。可通过 --sglang-speculative-algorithm EAGLE 等参数开启,并可选启用在线 MTP 训练(--mtp-num-layers 1、--enable-mtp-training、--mtp-loss-scaling-factor 0.2)。资料称标准 rollout 约提升 25-40%,配合部分 rollout 还可再提升 10-15% 吞吐。
关键机制 统一 FP8 流程通过端到端 FP8 采样与训练,消除量化导致的不一致,避免 MoE 模型 RL 崩溃。R3 在 SGLang 推理时记录专家路由决策,存入 sample.rollout_routed_experts,训练时回放这些决策而不是重新计算,从而保证训练与推理的专家选择一致。INT4 量化感知训练可将 70B、235B、671B 模型的显存占用从 BF16 的 140GB/470GB/1.3TB 降至 45GB/150GB/420GB,约减少 3.1 倍。训练-推理对齐借助 FlashAttention 3、DeepGEMM、批不变内核与 torch.compile 集成,实现训练与推理之间“恰好 0 KL 散度”。
支持模型 DeepSeek R1、V3、V3.2 与 Qwen 2、2.5、3(含 MoE)以及 MiniMax M2、M2.1 均完整支持 MoE;Llama 3、3.1、3.3、4,Gemma 2、3、3N,GLM 4.5、4.6、4.7 仅支持稠密模型。
常见问题 若遇到 FP8 训练崩溃,建议使用 block scaling、降低学习率并确保 MoE 路由一致。若投机草稿漂移,可启用在线 MTP 训练、减少投机步数,或启用 CPU 备份。若训练-推理不匹配,可使用 TIS 离策略校正、验证 log probs 是否一致,并为 MoE 启用 R3。