redai-studio/Relax

An Asynchronous Reinforcement Learning Engine for Omni-Modal Post-Training at Scale

Relax – 非同期オムニモーダル強化学習エンジン

何であるか – Relax (Reinforcement Engine Leveraging Agentic X‑modality) は、大規模なマルチモーダル言語モデルにおける後期訓練用のオープンソースフレームワークです。PPO、GRPO、M2‑PO、RLOO、REINFORCE++など、包括的なオンポリシーアルゴリズムのフルセットを備えながら、テキスト、画像、動画、音声を単一パイプラインで処理できます。

なぜ重要か – LLMの強化学習は通常、ロールアウト(推論)フェーズがボトルネックになります。Relaxはカスタムの TransferQueue を使ってロールアウトとトレーニングを分離し、各コンポーネントを独立した Ray Serve サービスとして実行します。これにより、システムは以下の特徴を持ちます:

  • 完全非同期 – ロールアウト、アクター、リファレンス、アドバンテージ計算、報酬モデルは別々のGPUクラスタに配置可能で、すべてのGPUを常に稼働させられます。
  • エラスティック – REST API経由で推論エンジンをリアルタイムで追加・削除可能。クラウドバーストやフェデレーテッドクラスタに最適です。
  • オムニモーダル – 同じコードパスで純テキスト、視覚言語、音声視覚タスクをサポート。Qwen‑3‑OmniのようなモデルでのエンドツーエンドRLを可能にします。
  • プロダクション対応 – ヘルスチェック、自動回復、中央集積型メトリクス(WandB / TensorBoard / ClearML)、リアルタイム通知が内蔵されています。

コアコンポーネント

レイヤー 役割
エントリポイント train.py – CLI、Rayクラスタ接続、コントローラ起動
オーケストレーション ControllerServiceRegistry – ループスケジューリング、配置グループ管理
コンポーネント Ray Serveデプロイメント:ActorRolloutCriticActorFwdAdvantagesGenRM
エンジン SGLangベースのロールアウトエンジン、報酬ルーティング、データフィルタリング
バックエンド Megatron‑LM(TP/PP/CP/EP)でトレーニング、SGLangで高スループット推論
分散処理 Rayアクタグループ + 分散チェックポイントサービス(DCS)でNCCL/GLOOによる重み同期

3つの実行モードを提供しています:

  • コロケート(同期) – アクターとロールアウトがGPUを共有(メモリ効率が高く、厳密なオンポリシー)。
  • 完全非同期 – 各役割が独自のGPUクラスタで実行され、TransferQueueで通信。
  • ハイブリッド – ロールアウトとアクターは分離されますが、リファレンス/アドバンテージステップはプロセス内に留まり、オーバーヘッドを低減しつつデータストリーミングを維持。

アルゴリズムと報酬

Relaxは豊富なアルゴリズムスイート(PPO、GRPO、M2‑PO、RLOO、REINFORCE++の変種、GSPO、SAPO、CISPO、オンポリシー蒸留など)とプラグイン可能な報酬ハブ(数学検証、GPQA、F1、IFBench、マルチモーダルOpen‑R1、および組み込みのLLMアスジェッジであるGenRM)を備えています。新しい報酬を追加するには、relax/engine/rewards/にPythonファイルを配置するだけでOKです。


セットアップ(Docker第一)

# 公式イメージの取得(CUDA、PyTorch、Megatron‑LM、SGLang、Rayを含む)
docker pull ghcr.io/redai-studio/relaxrl:latest

# GPUアクセス付きでコンテナを実行し、ワークスペースをマウント
docker run -it --gpus all --ipc=host --network=host \
  -v /path/to/workspace:/root ghcr.io/redai-studio/relaxrl:latest bash

# コンテナ内での操作
git clone https://github.com/redai-studio/Relax.git /root/Relax
cd /root/Relax && pip install -e .

クイックスタートレシピ(ワンライナー)

  1. テキストのみの数学RLdapo-math-17kデータセットでQwen‑3‑4Bに8GPUのPPOを適用。
  2. 視覚言語multimodal-open-r1-8k-verifiedデータセットでQwen‑3‑VL‑4Bに8GPUのGRPOを適用。
  3. オムニモーダル(画像+音声)AVQA-R1-6KデータセットでQwen‑3‑Omni‑30B‑A3Bに16GPU(2ノード)のGRPOを適用。

各スクリプトはhf downloadによるデータセットダウンロード、モデル取得、train.pyの適切なフラグでの起動を自動処理します。ログにはロールアウト進捗とトレーニングステップが表示され、チェックポイントはMegatron DCP形式で保存され、提供された変換スクリプトでHuggingFace重みに変換可能です。


Relaxを使うべきタイミング

  • マルチモーダルRLの研究 – テキスト、画像、動画、音声を同時に学習できる単一コードベースが必要な場合。
  • 大規模モデルへのスケーリング – 非同期アーキテクチャにより、複数クラスタをまたいで数十のGPUを常に稼働させられます。
  • プロダクション品質のファインチューニング – 内蔵のヘルスマネジメント、メトリクス集約、アラート機能により、長時間実行ジョブの信頼性が向上。
  • 新しいポリシーの実験 – モジュール式のアルゴリズムレジストリにより、コアエンジンを変更せずにカスタム損失を導入可能。

詳細情報の入手先


結論 – Relaxはプロダクション志向で、非常にカスタマイズ可能なRLプラットフォームであり、巨大なマルチモーダルLLMと強化学習ファインチューニングのギャップを埋め、非同期実行、エラスティックスケーリング、そして即時利用可能な広範なアルゴリズムを提供します。

関連

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