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 状態を自動保存し、長時間のジョブを一時停止して再開できます。

🛠️ はじめに(クイック概要)

  1. インストール – オンラインドキュメントに従ってください。AMD GPU 用の Docker イメージが利用可能です。それ以外の場合は pip と Ray でインストールします。
  2. バックエンドを選択 – 本格的なトレーニングには Megatron‑Core、ロールアウト中の高速推論には vLLM/SGLang を選択します。
  3. 設定を書く – ROLL は階層的な YAML 設定システムを使用します。モデル(例:qwen3.5-35B)、RL アルゴリズム(例:ppo)、リソースマッピング、および特別なオプション(LoRA、FP8 ロールアウトなど)を指定します。
  4. パイプラインを実行 – 提供されているスクリプトの 1 つを使用します。例:
    python run_rlvr.py --config examples/qwen2.5-7B-rlvr_megatron/rlvr_config.yaml
    
    agentic、distill、dpo パイプラインにも同様のスクリプトがあります。
  5. 監視 – WandB/TensorBoard ダッシュボードを開いて、報酬曲線、スループット、GPU 使用率を確認します。
  6. 再開 – ジョブが停止した場合は、同じコマンドを再実行します。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 は堅牢なオープンソースの基盤を提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト