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は以下の処理を行います:
- 最新のLoRAをvLLMで実行してプロンプトを処理。
- 交互作用をトラジェクトリとして保存。
- 後に
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で要約を改善。 |
トレーニングループの仕組み
- 推論 – アプリケーションが
model.chat(...)を呼び出します。リクエストはARTサーバーに送信され、現在のLoRAをvLLMでベースモデル上で実行し、完了を返します。すべてのメッセージはトラジェクトリとして保存されます。 - 報酬割り当て – ロールアウトが終了後、数値報酬(例:成功/失敗、スコア、またはRULERシステムによって生成された報酬)を付与します。
- バッチ化と送信 – 十分なトラジェクトリが集まったら、クライアントはそれらをバッチ化してサーバーに送信します。
- GRPO更新 – サーバーは報酬を使ってポリシー勾配を計算し、LoRAアダプタを更新、新しいチェックポイントを書き込み、推論エンジンに再読み込みします。
- ループ再開 – 新しく更新されたポリシーで推論が再開されます。ターゲットの反復回数またはパフォーマンス閾値に達するまでこのプロセスが続きます。
著者らが主張する主な利点
- コスト効率 – 共有推論クラスタにより、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は実用的でプロダクション対応の選択肢です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト