大数跨境

slime × 昇腾,轻量高性能的后训练即刻体验

slime × 昇腾,轻量高性能的后训练即刻体验 昇腾AI开发者
2026-06-17
2

随着模型规模迈向千亿乃至万亿参数,传统RL框架在分布式扩展、训推协同与算法灵活性上的瓶颈日益凸显。slime是智谱AI开源的LLM强化学习后训练框架,专为 RL scaling设计,以Megatron-LM + SGLang为核心构建高性能训推分离架构。如今,slime的昇腾NPU适配版本slime-ascend已经上线,为开发者提供开箱即用的高性能后训练体验。



为什么是slime?


大模型强化学习训练正在成为模型能力突破的核心路径。slime是一个专为RL规模化(RL Scaling)设计的LLM后训练框架,通过 Megatron-LM 负责分布式训练、SGLang 负责高吞吐推理,实现真正意义上的训推分离,并在此基础上支持了一系列面向 RL 的特性。


相比传统RL框架范式,slime具有以下优势:


Day0支持SGLang最新特性


slime采用SGLang 作为唯一rollout后端,没有过多添加抽象层,直接透传SGLang 全部参数,无需抽象层对新特性进行特殊适配,天然Day0支持SGLang最新特性


架构简洁,易于理解和扩展, Agentic开发友好


传统 RL 框架随着功能增加往往变成"重型堆栈":独立的 trainer、rollout service、agent framework层层叠加。

slime的设计哲学:将工具使用、沙箱交互、验证器奖励、环境反馈、多智能体循环全部接入统一的training / rollout / Data Buffer路径,Agentic工作流就是数据生成流程的一部分。

SOTA模型训练实战验证


传统开源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



昇腾对slime的关键支持


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的适配,训推共卡支持也即将上线。


Agentic RL能力支持


上文提到slime架构简洁,易于理解和扩展, Agentic开发友好, NPU在这方面也进行了实践探索,并将此纳入RoadMap。我们基于GLM4.7-Flash进行了一系列的开发实践,涵盖retool, taubench等基础用例场景,修复沙箱代码执行过程中的一系列问题。


对于Agent开发中常见的长序列任务(如长文档理解、多轮对话、代码库分析),显存往往成为瓶颈,slime-ascend支持 Megatron上下文并行,将超长序列沿token维度切分并行计算,基于GLM4.7 Flash实测支持128K长序列RL场景长稳训练。


一键上手,用户体验友好


在易用性方面,slime-ascend提供从环境部署,特性说明,到开发指导整套流程的完整文档指南,搭建NPU CI工程,进行全量原生用例测试与NPU特性看护保障代码质量与用户体验。


如何在昇腾NPU上使用slime



环境部署


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的操作链路完全一致。参数体系分为三层:



快速开始-以GLM-4.7 Flash为例



模型与数据集下载


可以从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-17\  --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


【声明】内容源于网络
0
0
昇腾AI开发者
昇腾社区
内容 968
粉丝 0
昇腾AI开发者 昇腾社区
总阅读4.4k
粉丝0
内容968