智谱发布slime v0.1.0:面向大规模MoE架构的强化学习训练框架
开发者详解性能优化与显存管理核心技术
智谱此前开源了新一代旗舰模型GLM-4.5及其轻量版GLM-4.5-Air。8月,GLM-4.5技术报告正式发布,披露了预训练与后训练细节,并介绍了其自研的强化学习专用post-training框架——slime。近期,slime v0.1.0版本正式上线,标志着该框架在大规模MoE(Mixture of Experts)架构下的强化学习训练中实现了关键突破。
作为slime核心开发者,智谱研发工程师@朱小霖在知乎分享了v0.1.0版本的设计思路与技术实现。该版本聚焦于解决大规模MoE架构下强化学习训练中的三大痛点:推理速度慢、显存占用高、GPU资源利用率低。
slime v0.1.0核心能力概览
slime v0.1.0提供了大规模MoE强化学习训练所需的基本性能优化,涵盖性能、功能与正确性三大维度:
- 性能优化:支持MoE模型高效推理(fp8 rollout + deepep + mtp)、通用显存offload方案、更快的参数更新、CPU Adam降低GPU显存占用、全面兼容Megatron并行策略。
- 功能支持:实现MoE模型训练的GSPO算法支持,以及fp8 rollout下的TIS支持。
- 正确性保障:引入dense与MoE模型的CI流程,严格监控KL散度等关键指标,确保训练稳定性。
性能优化:突破RL训练瓶颈
在强化学习(RL)训练中,单条样本的推理延迟决定了整体训练速度上限。传统“加卡提速”策略在RL场景下失效,因为最长样本的解码时间决定了整体延迟。
slime通过三大技术路径提升推理速度:
- FP8量化:降低访存开销,适用于无需长时间校准的RL训练场景;
- deepep低延迟模式:减少跨机all2all通信延迟,配合fp8 blockwise量化提升sglang性能;
- 投机采样:支持加载任意draft model以加速推理(暂不支持训练中更新)。
通过上述优化,GLM-4.5 355B-A32B模型的单样本推理速度从不足10 token/s提升至60~70 token/s,显著提升训练效率。
显存优化:通用offload方案实现资源高效利用
为解决训练中kv cache溢出问题,slime提出“最小必要GPU组”训练策略,提升并发实验数量。核心挑战在于训练部分显存需求远高于推理(bf16参数、梯度、优化器状态等)。
slime采用以下方案降低显存占用:
- CPU Adam:将优化器状态卸载至CPU,显著减少GPU显存消耗,支持8节点训练GLM-4.5 355B-A32B及16节点训练DeepSeek R1;
- 通用GPU tensor offload:基于CUDA 10.2虚拟内存管理API(VMM),通过LD_PRELOAD替换cudaMalloc/cudaFree,实现PyTorch张量的透明卸载,避免显存碎片;
- nccl通信组卸载:通过destroy_process_group与重建机制,结合ReloadableProcessGroup封装,将nccl通信缓存从15~18GB降至3~5GB。
上述优化使MoE模型mem_fraction提升至0.7~0.8,显著增加kv cache空间,支持更高并发推理,实现“用更少GPU运行更多实验”。
参数更新与训练优化
slime v0.1.0在训推分离架构下实现高效权重同步:
- Qwen3 30B-A3B模型bf16权重同步耗时约7秒;
- GLM-4.5 355B-A32B模型fp8 blockwise量化+参数更新耗时约100秒。
训练部分全面适配Megatron所有并行策略,并修复了SGLang mtp与DeepEP通信冲突等关键问题。
性能评估与社区共建
为衡量框架性能,slime提出以下定性评估清单:
- 是否支持MoE训练;
- 是否支持mem_fraction ≥ 0.7;
- 是否支持fp8或更低精度推理;
- 是否支持deepep通信优化;
- 是否支持投机采样;
- 是否集成高效训练后端(如Megatron)并支持完整并行策略。
slime v0.1.0已初步覆盖上述全部优化,未来将持续迭代,致力于成为高性能RL训练框架的基准参考。
算法支持与正确性验证
新版本支持GSPO与TIS算法,社区亦贡献了reinforce++等增强算法实现。同时,slime建立了严格的端到端CI流程:
- 确保rollout重算log prob与reference model完全一致;
- 验证每个rollout首步PPO-KL严格为0。
此类精确验证在训练框架中较为罕见,体现了slime对稳定性的高度重视。
slime项目地址:https://github.com/THUDM/slime

