alibaba/ROLL
An Efficient and User-Friendly Scaling Library for Reinforcement Learning with Large Language Models
解決的問題
ROLL 是一個擴展庫,旨在讓大型語言模型 (LLM) 的強化學習 (RL) 變得更高效且易於使用,特別是在使用大規模 GPU 集群時。它透過提供一個同時優化訓練與推論的分散式架構,解決了人類偏好對齊、複雜推理以及多輪代理互動 (agentic interactions) 的挑戰。
運作原理
ROLL 使用由 Ray 驅動的多角色分散式架構,實現靈活的資源分配與任務調度。它整合了多個高性能後端來加速流程:
- Inference/Generation: 使用 vLLM 與 SGLang。
- Training: 支援 FSDP2 與 Megatron-LM 5D 並行 (包含 data, tensor, pipeline, context, 與 expert parallelism)。
- Optimization: 實作樣本級別的非同步並行 rollouts 與非同步訓練,以減少瓶頸。
- Device Management: 具備 "AutoDeviceMapping" 功能,用於管理不同角色在 GPU 上的部署方式。
適用對象
適用於從事 LLM 後訓練 (post-training) 的研究人員與開發者,特別是專注於 RLVR (Reinforcement Learning from Verifiable Rewards)、用於多輪互動的代理 RL (agentic RL),以及針對 LLM 與 VLM (Vision-Language Models) 的蒸餾流程 (distillation pipelines) 之專業人士。
重點特性
- 全面的 RL 演算法支援: 開箱即用支援 PPO, GRPO, Reinforce++, TOPR, RAFT++, 與 GSPO。
- 多任務能力: 處理數學、程式碼、通用推理與指令遵循。
- 代理 RL 支援: 針對多輪對話、遊戲與工具使用提供專用工具,支援軌跡級 (trajectory-wise) 與步驟級 (step-wise) 的訓練範式。
- 硬體靈活性: 相容於 NVIDIA GPUs, AMD GPUs, 以及 Ascend NPUs。
- 進階訓練功能: 支援 LoRA 訓練、FP8 rollout,以及極致的 offload/reload 能力,以最大化 GPU 利用率。
相關
- 專案
- 專案
- 專案
- 專案
- 專案