大数跨境
0
0

亲自答丨智谱 Slime 如何在 RL 训练中「榨」出更多性能?

亲自答丨智谱 Slime 如何在 RL 训练中「榨」出更多性能? 知乎日报
2025-09-04
22
导读:RL 训练界的「瑞士军刀」

智谱发布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通过三大技术路径提升推理速度:

  1. FP8量化:降低访存开销,适用于无需长时间校准的RL训练场景;
  2. deepep低延迟模式:减少跨机all2all通信延迟,配合fp8 blockwise量化提升sglang性能;
  3. 投机采样:支持加载任意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

【声明】内容源于网络
0
0
知乎日报
知乎官方订阅号,每日精选知乎热门、有趣内容
内容 9838
粉丝 0
知乎日报 知乎官方订阅号,每日精选知乎热门、有趣内容
总阅读44.6k
粉丝0
内容9.8k