OpenPipe/ART

Agent Reinforcement Trainer: train multi-step agents for real-world tasks using GRPO. Give your agents on-the-job training. Reinforcement learning for Qwen3.6, GPT-OSS, Llama, and more!

OpenPipe / ART – エージェント強化学習トレーナー

何であるか – ART(エージェント強化学習トレーナー)は、大規模言語モデル(LLM)を強化学習(RL)で訓練されたエージェントに変換できるオープンソースのPythonライブラリです。既存のコードが呼び出せる軽量なOpenAI互換クライアントを提供し、重い推論とLoRAベースのRL更新(GRPOアルゴリズムを使用)を実行する別々のサーバーを備えています。この全体のループはローカルGPU上で実行可能であり、またはWeights & Biases(W&B)バックエンドを介してマネージドでサーバーレスなバックエンド上で実行できます。これにより、クラスタのプロビジョニングを自分で行う必要がありません。


コアコンセプト

コンセプト あなたにとっての意味
GRPO 冷却されたベースモデルの上にLoRAアダプタを更新するポリシー勾配法(一般化報酬ベースポリシー最適化)
サーバーレスRL ARTはW&Bバックエンドを介してクラウド上で一時的なGPU対応環境を起動し、スケーリング、チェックポイント、推論サービングを自動的に処理できます。
クライアント・サーバー分離 アプリケーションはOpenAIチャットAPIに似た軽量クライアントに接続します。サーバーは実際にvLLMを介してモデル推論とRLトレーニングを実行します。
トラジェクトリと報酬 エージェントの各ロールアウトは、メッセージ(システム/ユーザー/アシスタント)のシーケンスとして記録されます。ロールアウト終了後、スカラー報酬を割り当て、サーバーはポリシー勾配を計算するために使用します。

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

from art.serverless.backend import ServerlessBackend
import art

model = art.TrainableModel(
    project="voice‑agent",
    name="agent‑001",
    run_name="agent‑001",
    base_model="Qwen/Qwen3.6-27B"
)
backend = ServerlessBackend(api_key="YOUR_WANDB_KEY")
model.register(backend)   # マネージドGPU環境を起動
# 今からOpenAIチャットクライアントのようにmodelを使用可能
response = model.chat([{"role": "user", "content": "Schedule a meeting tomorrow"}])

上記のコードはLoRA対応モデルを作成し、サーバーレスバックエンドに登録し、すぐにプロンプトを送信できます。裏ではARTは以下の処理を行います:

  1. 最新のLoRAをvLLMで実行してプロンプトを処理。
  2. 交互作用をトラジェクトリとして保存。
  3. 後に model.train() を呼び出す(またはクライアントがバッチロールアウト後に自動トレーニングする)と、サーバーはGRPOでLoRAを更新し、新しいチェックポイントを即座に利用可能にします。

注目すべきノートブック(ハンズオンデモ)

タスク ノートブック 使用モデル 見られる内容
メール検索エージェント(ART·E) train‑art‑e.ipynb Qwen‑3.8 27B + RULER エージェントが関連メールを取得するよう学習;トレーニング曲線を表示。
2048をプレイ 2048.ipynb Qwen‑3.8 27B RLで訓練されたエージェントが数千回のロールアウトでスコアを向上。
タッチ・タック・トゥ tic‑tac‑toe.ipynb Qwen‑2.5 3B 単純なターンベースゲーム;勝率の成長を可視化。
コダネームズ Codenames_RL.ipynb Qwen‑2.5 3B エージェントがヒントを出し、単語を当てるよう学習;勝率をプロット。
SFT+RL要約器 sft‑rl.ipynb Qwen‑2.5 7B 監督学習でウォームアップし、その後RLで要約を改善。

トレーニングループの仕組み

  1. 推論 – アプリケーションが model.chat(...) を呼び出します。リクエストはARTサーバーに送信され、現在のLoRAをvLLMでベースモデル上で実行し、完了を返します。すべてのメッセージはトラジェクトリとして保存されます。
  2. 報酬割り当て – ロールアウトが終了後、数値報酬(例:成功/失敗、スコア、またはRULERシステムによって生成された報酬)を付与します。
  3. バッチ化と送信 – 十分なトラジェクトリが集まったら、クライアントはそれらをバッチ化してサーバーに送信します。
  4. GRPO更新 – サーバーは報酬を使ってポリシー勾配を計算し、LoRAアダプタを更新、新しいチェックポイントを書き込み、推論エンジンに再読み込みします。
  5. ループ再開 – 新しく更新されたポリシーで推論が再開されます。ターゲットの反復回数またはパフォーマンス閾値に達するまでこのプロセスが続きます。

著者らが主張する主な利点

  • コスト効率 – 共有推論クラスタにより、1回の実行あたりのコストが約40 %削減。
  • 高速性 – 2000以上の同時リクエストを処理可能。単一GPUセットアップと比較して壁時計でのトレーニングが約28 %高速。
  • ゼロオペレーション – サーバーレスバックエンドはGPUノードをプロビジョニングし、健全性を監視し、自動的に終了します。
  • 即時チェックポイントアクセス – すべてのLoRAチェックポイントは、同じクライアントから即座に推論に利用可能。
  • プラグアンドプレイ – vLLM/HuggingFace-transformersで動作するモデル(ほとんどの因果LLM)と互換。READMEにはGemma 3は現在非対応と記載。

インストールと基本的な使い方

pip install openpipe-art   # ライブラリとvLLM/GRPOの依存関係を取得

その後、クライアント(art.TrainableModel)をインポートし、オプションでバックエンド(art.serverless.backend.ServerlessBackend でW&B、または art.local.backend.LocalBackend でローカルGPU)を指定します。

エコシステム統合

  • W&B – マネージドサーバーレスRL、実験追跡、推論デプロイに使用。
  • LangGraph – 最近の統合により、RLでLangGraphベースのエージェントグラフをトレーニング可能。
  • Langfuse – プロンプト、応答、報酬の可視化。
  • OpenPipe – ARTの背後にある企業が追加のホスティングサービスを提供(オープンソースライブラリには必須ではない)。

ARTを使うべき人

  • 研究ラボ:複数ステップのLLMエージェント(メールアシスタント、ツール使用ボット、ゲームプレイエージェント)を構築し、RLファインチューニングが必要な人。
  • プロダクトチーム:既にLLM駆動のワークフローを持っているが、経験ベースの学習で改善したいが、独自のRLインフラを構築したくない人。
  • 教育者/学生:RL for LLMsの即時利用可能なサンドボックスを探している人。Colabノートブックでワンクリックスタート可能。

ライセンスと引用

  • ライセンス:Apache‑2.0(許容性高く、商用利用に適している)。
  • 引用:学術利用向けにBibTeXエントリを提供。

まとめ

ARTは、LLMエージェントのLoRAベースポリシー最適化の重い作業を抽象化した目的特化型RLフレームワークです。軽量クライアントとスケーラブルなサーバー(W&B経由でサーバーレスも可能)を分離することで、開発者は環境、ロールアウト、報酬関数の定義に集中でき、ライブラリは推論、トラジェクトリログ、GRPO更新を処理します。LLMを自己改善型エージェントに変換したいが、RLパイプラインをゼロから構築したくない場合、ARTは実用的でプロダクション対応の選択肢です。

関連

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