用途
slime 是一个面向 RL Scaling 的 LLM 后训练框架,主要服务于大语言模型的强化学习后训练流程。它的目标是把高性能训练与灵活的数据生成结合起来,避免系统退化为彼此割裂的训练器、rollout 服务和智能体框架的堆叠。
主要能力
slime 提供两项核心能力:
- 高性能训练:通过连接 Megatron 与 SGLang,支持多种模式下的高效训练。
- 灵活的数据生成:通过自定义数据生成接口和基于服务器的引擎,支持任意训练数据生成工作流。
在 slime 中,Megatron 训练、SGLang rollout、自定义数据生成、奖励计算、验证器反馈以及环境交互都流经同一条训练 / rollout / Data Buffer 路径。
模块划分如下:
- training(Megatron):负责主训练过程,从 Data Buffer 读取数据,并在训练后把参数同步到 rollout 模块。
- rollout(SGLang + router):生成新数据(包括奖励 / 验证器输出)并存入 Data Buffer。自定义 generate 函数可以在其外层封装多轮循环、工具调用、环境 / 沙箱交互以及基于验证器的奖励。
- data buffer:桥接模块,管理 prompt 初始化、自定义数据以及 rollout 生成方法(包括通过同一接口产出样本的智能体工作流)。
默认的负载传输方式为 Ray object-store;选择 --rollout-data-transport straw 时,会在共享 JuiceFS 存储上使用 straw 处理持久化的 prompt 任务、rollout 续写和训练批次,Ray 承载控制消息与引用,生成与训练进程直接读写打包负载。
使用方式
引擎配置与部署
Megatron 参数可直接用于并行、优化器、检查点和模型配置;已安装的 SGLang 参数需要加 --sglang- 前缀,例如 --mem-fraction-static 应写为 --sglang-mem-fraction-static。
更复杂的部署方式包括:
- SGLang Config:用于服务器组、多模型和按组覆盖的 YAML 配置。
- PD Disaggregation:分离 prefill 与 decode 资源。
- Delta Weight Sync:通过共享存储发送变化的权重字节。
- External Rollout Engines:连接训练任务之外管理的服务进程,包括跨不同 GPU 集群的基于磁盘的更新。
参数分类
slime 的参数分为三类:
- Megatron 参数:直接读取,可通过
--tensor-model-parallel-size 2等参数配置 Megatron。 - SGLang 参数:透传所安装 SGLang 的全部参数,必须以
--sglang-为前缀。 - slime 专属参数:参见
slime/utils/arguments.py。
完整使用说明请参考 Usage Documentation。快速上手请遵循 Quick Start Guide,其中包含环境配置、数据准备和首次训练运行。
代码阅读路径
从训练循环开始,按需深入调用链。第一遍可把 slime/utils/arguments.py 视为配置入口;slime/backends/sglang_utils/ 中的部署细节和 slime/backends/megatron_utils/update_weight/ 下的权重同步实现,可以等到需要修改相关区域时再看。提交 issue 或 PR 前请阅读贡献指南,并使用 pre-commit 保证代码风格一致。
正确性与可靠性
CPU 测试覆盖核心行为和定制化契约;GPU 测试覆盖稠密与 MoE 训练、rollout 部署、检查点、精度、全异步 rollout、蒸馏和调试重放。工程指南包括调试、可复现性、容错、追踪和性能分析。
适用场景
slime 支持多类示例工作流:
- 智能体 RL 示例:
examples/multi_agent通过--custom-generate-function-path在标准 rollout 循环中实现多智能体生成;examples/search-r1实现搜索 / RAG 风格的多轮生成;examples/fully_async适用于长尾智能体生成(部分样本耗时远高于其他样本)的全异步 rollout;examples/coding_agent_rl在小米 MiMo SWE 数据上训练 Qwen3.8-27B 编码智能体 RL,使用 sunabako 沙箱、官方测试奖励和 token 正确的轨迹。 - 生态项目:Dressage、Miles、vime、Relax、OpenClaw-RL、P1、RLVE、TritonForge、APRIL、qqr、ART 等基于 slime 构建,用于模型后训练、智能体 RL、领域应用和 rollout 研究。
支持模型
除 GLM 系列外,slime 支持 Qwen(Qwen3.8、Qwen3.6、Qwen3.5、Qwen3-Next、Qwen3 MoE、Qwen3、Qwen2.5)、DeepSeek(V3、V3.1、R1)以及 Llama 3。模型配置见 scripts/models,训练示例见 examples。
限制
资料未提供具体的系统资源要求、安装命令、版本兼容性细节或性能基准数据。相关深度部署与调优参数需要参考 Usage Documentation 和持续更新的仓库文档。