随着模型规模迈向千亿乃至万亿参数,传统RL框架在分布式扩展、训推协同与算法灵活性上的瓶颈日益凸显。slime是智谱AI开源的LLM强化学习后训练框架,专为 RL scaling设计,以Megatron-LM + SGLang为核心构建高性能训推分离架构。如今,slime的昇腾NPU适配版本slime-ascend已经上线,为开发者提供开箱即用的高性能后训练体验。
大模型强化学习训练正在成为模型能力突破的核心路径。slime是一个专为RL规模化(RL Scaling)设计的LLM后训练框架,通过 Megatron-LM 负责分布式训练、SGLang 负责高吞吐推理,实现真正意义上的训推分离,并在此基础上支持了一系列面向 RL 的特性。
相比传统RL框架范式,slime具有以下优势:
slime采用SGLang 作为唯一rollout后端,没有过多添加抽象层,直接透传SGLang 全部参数,无需抽象层对新特性进行特殊适配,天然Day0支持SGLang最新特性
传统 RL 框架随着功能增加往往变成"重型堆栈":独立的 trainer、rollout service、agent framework层层叠加。
slime的设计哲学:将工具使用、沙箱交互、验证器奖励、环境反馈、多智能体循环全部接入统一的training / rollout / Data Buffer路径,Agentic工作流就是数据生成流程的一部分。
传统开源RL框架往往缺乏大规模生产验证,存在"能跑demo但上不了生产"的问题。slime是GLM-5.1、GLM-5、GLM-4.7等系列模型RL训练的实际框架,同时在Qwen3、DeepSeek V3/R1、Llama 3上均有完整训练验证。
而slime-ascend,则让这套能力完整地运行在昇腾NPU之上,并持续优化。
原主仓:
https://github.com/THUDM/slime
昇腾支持仓:
https://gitcode.com/Ascend/slime-ascend
昇腾全面拥抱开源生态,日前,首个NPU适配pr已经合入slime社区,为开发者带来尝鲜体验。与此同时,我们收到了更多外部客户与开发者对在NPU上支持slime框架特性的诉求,为了提供稳定高效的NPU支持方案,slime-ascend诞生了。当前slime-ascend跟随社区演进, 已适配GLM-4.7-Flash/Qwen3/Qwen3-VL/Qwen3.5等主流模型类型,并支持opd在线蒸馏,投机推理,PD分离,Routing Replay等关键特性,持续建设为开发者带来最佳上手体验。
目前,slime-ascend已在NPU上支持标准训推分离配置,覆盖从单机多卡到多机集群的完整场景。训练参数、Megatron并行参数与SGLang推理参数三类配置独立管理,互不干扰,极大降低了集群运维复杂度。对于资源有限的训推共卡场景,通过torch-npu侧支持preload模式以及对torch-memory-saver的适配,训推共卡支持也即将上线。
上文提到slime架构简洁,易于理解和扩展, Agentic开发友好, NPU在这方面也进行了实践探索,并将此纳入RoadMap。我们基于GLM4.7-Flash进行了一系列的开发实践,涵盖retool, taubench等基础用例场景,修复沙箱代码执行过程中的一系列问题。
对于Agent开发中常见的长序列任务(如长文档理解、多轮对话、代码库分析),显存往往成为瓶颈,slime-ascend支持 Megatron上下文并行,将超长序列沿token维度切分并行计算,基于GLM4.7 Flash实测支持128K长序列RL场景长稳训练。
在易用性方面,slime-ascend提供从环境部署,特性说明,到开发指导整套流程的完整文档指南,搭建NPU CI工程,进行全量原生用例测试与NPU特性看护保障代码质量与用户体验。
slime-ascend当前支持的昇腾硬件包括:
Atlas 800T A2、Atlas 800T A3、Atlas 800 A3风冷超节点、Atlas 900 A3 SuperPoD液冷超节点。
推荐软件环境:
CANN 8.5.0或更高版本
Linux arm64系统
提供 DockerFile 和本地安装脚本两种部署方式,开箱即用。
在体验之前,请确认您的昇腾A2/A3系列产品已正确安装固件/驱动,可运行如下命令确认:
npu-smi info
# 下载仓库代码git clone https://gitcode.com/Ascend/slime-ascend.git# 进入项目根目录cd {slime-ascend-root-path}# 构建 A3 镜像docker build -f Dockerfile.a3.ubuntu22.04.cann850.latest \-t slime-ascend:8.5.0-a3-ubuntu22.04-py3.11-latest .# 构建 A2 镜像docker build -f Dockerfile.a2.ubuntu22.04.cann850.latest \-t slime-ascend:8.5.0-a2-ubuntu22.04-py3.11-latest .
# 启动容器(以 A3 为例)docker run -it --rm \--device=/dev/davinci_manager \--device=/dev/devmm_svm \--device=/dev/hisi_hdc \-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \-v /usr/local/Ascend/add-ons:/usr/local/Ascend/add-ons \-v $(pwd):/workspace \-w /workspace \slime-ascend:8.5.0-a3-ubuntu22.04-py3.11-latest
完成NPU环境搭建后,slime-ascend与原版slime的操作链路完全一致。参数体系分为三层:
可以从Hugging Face、ModelScope等平台下载所需的模型和数据集。以下是使用huggingface_hub下载示例资源的命令:
# 下载模型权重 (GLM-4.7-Flash)hf download zai-org/GLM-4.7-Flash --local-dir /path/to/GLM-4.7-Flash# 下载训练数据集 (dapo-math-17k)hf download --repo-type dataset zhuzilin/dapo-math-17k \--local-dir /path/to/dapo-math-17k# 下载评估数据集 (aime-2024)hf download --repo-type dataset zhuzilin/aime-2024 \--local-dir /path/to/aime-2024
当使用Megatron作为训练后端时,需要先将Hugging Face格式的模型权重转换为Megatron torch_dist格式。
首先,加载目标模型的配置文件。slime/scripts/models目录下包含了支持模型的配置文件。需要 source对应模型的脚本,将配置参数加载到当前环境中。此处我们以 GLM4.7-30B-A3B 模型为例子。
cd /path/to/slime-ascendsource scripts/models/glm4.7-30B-A3B.sh
接下来,运行转换脚本。请注意以下参数:
--hf-checkpoint: 指定已下载的 Hugging Face 模型权重路径。
--save: 指定转换后 torch_dist格式权重的保存路径。
PYTHONPATH=/path/to/Megatron-LM:/path/to/Megatron-Bridge/src:$PYTHONPATH torchrun --nproc-per-node 8 tools/convert_hf_to_torch_dist.py \${MODEL_ARGS[@]} \--hf-checkpoint /path/to/GLM-4.7-Flash \--save /path/to/GLM-4.7-Flash_torch_dist \--moe-token-dispatcher-type alltoall
当前环境及数据模型均准备完毕,修改训练脚本中的对应参数,即可开始训练。 主要修改参数包括:
--hf-checkpoint: 指定已下载的Hugging Face模型权重路径。
--ref-load: 指定转换后的torch_dist格式权重路径。
--prompt-data: 指定训练数据集的路径。
--eval-prompt-data: 指定评估数据集的路径。
RUNTIME_ENV_JSON: 在训练脚本中指定运行时环境变量JSON字符串,包含ASCEND相关环境变量。
运行训练脚本:
cd /path/to/slime-ascendbash scripts/ascend_script/run-glm4.7-30B-A3B-npu.sh
下图为GLM-4.7-Flash的训练效果,其中蓝色曲线代表基于昇腾NPU的训练结果,红色曲线表示业界设备的训练结果。相同配置下,两份训练结果reward趋势一致,NPU上训练效果跟业界相持平。
slime框架已成为大模型后训练领域备受关注的生产级解决方案。昇腾全面支持slime ,开箱即用保障开发者轻松上手,并将持续演进,为开发者提供更强大、更便捷的后训练体验,欢迎大家持续关注slime-ascend开源项目,获取最新动态。
以下是slime-ascend当前RoadMap https://gitcode.com/Ascend/slime-ascend/issues/3 , 在拓展模型支持范围的同时,我们将更多目光投向NPU上的 Agentic RL建设,若有功能建议、性能调优反馈或使用问题,欢迎在GitCode提交issue/PR。
欢迎Star、试用、反馈
项目地址:
https://gitcode.com/Ascend/slime-ascend


