alibaba/ROLL
An Efficient and User-Friendly Scaling Library for Reinforcement Learning with Large Language Models
📚 ROLL とは?
ROLL(Reinforcement Learning Optimization for Large‑Scale Learning)は、数十から数百の GPU 規模で、強化学習(RL)技術を使用して**大規模言語モデル(LLM)**をトレーニングできるオープンソースライブラリです。主に 2 つのユースケースに焦点を当てています:
| ユースケース | 機能 | 典型的なタスク |
|---|---|---|
| RL ベースのファインチューニング(RLVR) | 数学、コーディング、推論、指示追従などのために、LLM 上で RL スタイルの「報酬モデル → ポリシー」ループを実行します。 | LLM を人間の好みに合わせる、推論を改善する、より高品質な回答を生成する |
| エージェント RL | 環境(ゲーム、ツール使用、対話)と複数ターンで対話する LLM をトレーニングします。 | マルチターンゲーム、ツール使用エージェント、インタラクティブアシスタント |
このライブラリは大規模 GPU クラスター(または Ascend NPU でも)で動作するように構築されており、分散トレーニングのエンジニアリングの複雑さを隠蔽します。
🚀 コア機能(平易な言葉で)
| 機能 | 重要性 |
|---|---|
| Ray ベースのマルチロールアーキテクチャ – RL ループのさまざまな部分(アクター、ラーナー、報酬モデル、ロールアウトワーカー)が独立した Ray アクターとして実行されるため、コードを書き直すことなく、単一ノードから数千 GPU までスケールできます。 | |
| バックエンドの柔軟性 – Megatron‑Core、vLLM、SGLang、FSDP2、LoRA のプラグインサポート。最速の推論エンジン(vLLM、SGLang)と最もメモリ効率の良いトレーニング戦略(Megatron 5‑D 並列、FSDP2)を選択できます。 | |
| 非同期並列ロールアウト – ロールアウト(環境ステップ)と報酬計算が並行して実行され、GPU をビジー状態に保ち、アイドル時間を削減します。 | |
| 豊富な RL アルゴリズムライブラリ – PPO、GRPO、Reinforce++、TOPR、RAFT++、GSPO、StarPO、GiGPO などのすぐに使える実装に加え、報酬クリッピング、正規化、アドバンテージ推定などのための設定可能な「戦略」システム。 | |
| エージェント固有のツール – ステップ単位(GiGPO)および軌跡単位(StarPO)のトレーニング、ツール使用環境、マルチターンインタラクションのローカルデバッグをサポート。 | |
| ハードウェアに依存しない – NVIDIA GPU、AMD GPU(Docker イメージ提供)、Alibaba Ascend NPU で動作します。 | |
| 可観測性 – SwanLab、Weights & Biases、TensorBoard への組み込みロギング。ドメインごと、報酬ごとのメトリクスが自動的に追跡されます。 | |
| チェックポイントと再開 – モデル、オプティマイザー、Ray 状態を自動保存し、長時間のジョブを一時停止して再開できます。 |
🛠️ はじめに(クイック概要)
- インストール – オンラインドキュメントに従ってください。AMD GPU 用の Docker イメージが利用可能です。それ以外の場合は
pipと Ray でインストールします。 - バックエンドを選択 – 本格的なトレーニングには Megatron‑Core、ロールアウト中の高速推論には vLLM/SGLang を選択します。
- 設定を書く – ROLL は階層的な YAML 設定システムを使用します。モデル(例:
qwen3.5-35B)、RL アルゴリズム(例:ppo)、リソースマッピング、および特別なオプション(LoRA、FP8 ロールアウトなど)を指定します。 - パイプラインを実行 – 提供されているスクリプトの 1 つを使用します。例:
python run_rlvr.py --config examples/qwen2.5-7B-rlvr_megatron/rlvr_config.yamlagentic、distill、dpoパイプラインにも同様のスクリプトがあります。 - 監視 – WandB/TensorBoard ダッシュボードを開いて、報酬曲線、スループット、GPU 使用率を確認します。
- 再開 – ジョブが停止した場合は、同じコマンドを再実行します。ROLL は最新のチェックポイントから再開します。
📖 ドキュメントとコミュニティ
- 公式ドキュメント – https://alibaba.github.io/ROLL/(インストール、設定システム、デバッグガイド、パイプラインチュートリアル)。
- 論文とテクニカルレポート – いくつかの arXiv 論文(例:Asymmetric PPO、RollPacker、Agentic Crafting on Rock and Roll)がアルゴリズムとパフォーマンス向上について説明しています。
- Slack/WeChat – リポジトリ内の QR コードでコミュニティチャットに参加できます。
- GitHub – 問題は積極的にトリアージされ、リポジトリは 200 以上のスターと頻繁なリリースがあります。
🎯 ROLL を誰が使うべきか?
- 研究ラボ – 大規模な RL ベースの LLM アライメントやマルチターンエージェントトレーニングを実験する必要がある場合。
- 業界チーム – 大規模な RL ファインチューニングを必要とする LLM 搭載アシスタント、コード生成ツール、ゲームプレイエージェントを構築する場合。
- エンジニア – 分散システムの配管ではなく、報酬モデルや環境に集中できるように、既製の Ray 搭載スキャフォールディングを希望する場合。
📌 結論
ROLL は、大規模言語モデルのための本番グレードで高度に設定可能な RL フレームワークです。分散トレーニングの重労働を抽象化し、幅広い RL アルゴリズムをサポートし、多くのハードウェアバックエンドで動作します。強化学習を通じて LLM をアライメントまたは教育する必要がある場合(特にマルチターン、ツール使用、大規模設定で)、ROLL は堅牢なオープンソースの基盤を提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト