[ PROMPT_NODE_22844 ]
miles-rl-training
[ SKILL_DOCUMENTATION ]
# miles:用于大规模模型训练的企业级强化学习框架
miles 是一个高性能、企业就绪的强化学习框架,针对大规模模型后训练进行了优化。作为 slime 的生产级分支,它解决了 MoE 训练稳定性、低精度训练以及训练-推理对齐等关键挑战。
## 何时使用 miles
**在以下场景选择 miles:**
- 训练 1TB+ 的 MoE 模型(DeepSeek V3, Qwen3-MoE)
- 需要 FP8 或 INT4 量化感知训练
- 需要位级一致的训练-推理对齐
- 需要投机强化学习以获得最大吞吐量
- 需要企业级支持的生产稳定性
**在以下场景考虑替代方案:**
- 如果你需要研究级原始版本 → 使用 **slime**
- 如果你需要灵活的后端切换 → 使用 **verl**
- 如果你需要 PyTorch 原生抽象 → 使用 **torchforge**
## 核心特性
### 低精度训练
- **统一 FP8**:推理和训练的全流程 FP8 支持
- **INT4 QAT**:在单机显存(H200)上运行 1TB 模型
- **Rollout Routing Replay (R3)**:针对 MoE 的位级专家对齐
### 性能优化
- **投机强化学习 (Speculative RL)**:通过在线 SFT 草稿模型实现 25%+ 的 rollout 加速
- **零拷贝权重同步**:CUDA IPC 零拷贝映射
- **部分 Rollout**:回收半完成的轨迹
### 训练-推理对齐
- **TIS/MIS**:用于离策略修正的截断/掩码重要性采样
- **内核级优化**:集成 FlashAttention-3, DeepGEMM
## 安装
bash
# 推荐:使用 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 的配置系统。基础训练命令:
bash
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
---
## 工作流 1:大规模 MoE 训练
使用此工作流训练 DeepSeek V3 或 Qwen3-MoE 等大型 MoE 模型。
### 前置条件检查清单
- [ ] 支持 FP8 的 H100/H200 GPU
- [ ] MoE 模型 (DeepSeek V3, Qwen3-MoE)
- [ ] 包含 miles 的 Docker 环境
### 第 1 步:环境设置
bash
# FP8 块缩放(推荐以保证稳定性)
export NVTE_FP8_BLOCK_SCALING_FP32_SCALES=1
export CUDA_DEVICE_MAX_CONNECTIONS=1
### 第 2 步:配置训练
bash
py