Prime Intellect 发布 prime-rl 0.6.0,用于训练万亿参数 MoE 模型的智能体强化学习任务
Prime Intellect 发布了 prime-rl 0.6.0,这是一个用于万亿参数混合专家(MoE)模型异步强化学习的开源框架。该框架在 SWE 任务上训练了 GLM-5,序列长度高达 131k,步时低于 5 分钟,使用 256 次 rollout 和 28 个 H200 节点。本文详细介绍了其推理和训练优化,包括 FP8 推理、宽专家并行、预填充/解码分离、路由器重放以及 3D 并行(FSDP、EP、CP)。
Prime Intellect 发布了 prime-rl 版本 0.6.0,这是一个用于万亿参数混合专家(MoE)模型强化学习的开源框架。该框架专注于处理重智能体工作负载,例如长周期软件工程任务。研究团队在 SWE 任务上训练了 GLM-5 模型,序列长度高达 131k,步时保持在 5 分钟以内,批量大小为 256 次 rollout,仅使用了 28 个 H200 节点。
关键特性 prime-rl 0.6.0 的核心能力在于异步强化学习,它将训练器和推理系统分离,使两者可以独立运行和扩展。在智能体任务中,某些编码 rollout 可能持续数小时,异步 RL 避免了在每次策略更新前等待所有 rollout 完成,从而避免 GPU 空闲。唯一的同步点是策略更新:一旦优化器步骤完成,prime-rl 立即推送新权重。已分派的 rollout 保留其活动前缀缓存,因此单个 rollout 可能混合来自多个策略版本的令牌。
推理优化 推理通常是 RL 系统的吞吐瓶颈。prime-rl 通过多种优化提升吞吐量,同时保持延迟可控。
- FP8 推理:使用 DeepEP 和 DeepGEMM 内核降低预填充和解码的计算精度。
- 宽专家并行(Wide EP):将专家分布在 32 个或更多 GPU 上,每个 GPU 持有独立的专家并作为端点,通过调度和组合操作进行同步。
- 预填充/解码分离(P/D 分离):当预填充与解码令牌比例达到 4:1 时,分离工作负载避免端到端延迟膨胀。
- KV 缓存管理:支持分层的 CPU 和磁盘卸载,使用 vLLM 原生卸载或 Mooncake Store 集中池化。
- 请求路由:默认使用 vllm-router 分支,也可插入 NVIDIA Dynamo 路由器,根据 KV 缓存重用率、队列深度和实时负载评分。
- 路由器重放(R3):捕捉推理路由决策并直接重放于训练器,将 KL 偏差降低约一个数量级。
训练优化 训练器基于 torchtitan,采用 3D 并行:FSDP、上下文并行(CP)和专家并行(EP)。对于 GLM-5 案例,所有三种策略均被使用。
- FSDP2:按层按需收集权重,分摊内存。
- 专家并行:通过 all2all 调度和组合(torch-native 或 DeepEP)缩小活动层内存。
- 上下文并行:处理长上下文激活内存,默认使用 Ulysses 或 Ring Attention。对于 GLM-5 使用的 DSA,prime-rl 提供了自定义上下文并行实现。
- FP8 训练:使用 DeepGEMM 块缩放 FP8,匹配训练器和推理精度,减少 KL 不匹配并稳定训练。
应用场景
- 长周期 SWE 智能体:训练模型处理真实仓库问题,rollout 可包含数百轮和工具调用。P/D 分离保持解码延迟可预测。
- 在更少节点上进行万亿参数级后训练:GLM-5 仅用 28 个 H200 节点运行,宽 EP 和 KV 卸载提高了并发和吞吐。
- 大规模稳定智能体 RL:路由器重放和 FP8 训练共同降低训练器-推理器的 KL 不匹配,实现更稳定的训练。
更多技术细节请查阅原文。