alibaba/ROLL
An Efficient and User-Friendly Scaling Library for Reinforcement Learning with Large Language Models
它解决的问题
ROLL 是一个扩展库,旨在使大语言模型 (LLMs) 的强化学习 (RL) 更加高效且用户友好,尤其是在使用大规模 GPU 集群时。它通过提供一个同时优化训练和推理的分布式架构,解决了人类偏好对齐、复杂推理和多轮智能体交互的挑战。
工作原理
ROLL 使用基于 Ray 的多角色分布式架构,实现灵活的资源分配和任务调度。它集成了多个高性能后端来加速流程:
- 推理/生成: 使用 vLLM 和 SGLang。
- 训练: 支持 FSDP2 和 Megatron-LM 5D 并行(包括数据、张量、流水线、上下文和专家并行)。
- 优化: 实现样本级异步并行 rollout 和异步训练,以减少瓶颈。
- 设备管理: 具有 "AutoDeviceMapping" 功能,用于管理不同角色在 GPU 上的部署方式。
适用对象
它面向从事 LLM 后训练工作的研究人员和开发人员,特别是那些专注于 RLVR (基于可验证奖励的强化学习)、用于多轮交互的智能体 RL,以及针对 LLM 和 VLM (视觉语言模型) 的蒸馏流水线的开发者。
亮点
- 全面的 RL 算法支持: 开箱即用支持 PPO, GRPO, Reinforce++, TOPR, RAFT++, 和 GSPO。
- 多任务能力: 处理数学、编程、通用推理和指令遵循。
- 智能体 RL 支持: 为多轮对话、游戏和工具使用提供专门工具,支持轨迹级 (trajectory-wise) 和步骤级 (step-wise) 训练范式。
- 硬件灵活性: 兼容 NVIDIA GPUs, AMD GPUs, 和 Ascend NPUs。
- 高级训练功能: 支持 LoRA 训练、FP8 rollout 以及极端的卸载/重载 (offload/reload) 能力,以最大化 GPU 利用率。
相关
- 项目
- 项目
- 项目
- 项目
- 项目