👾RL を使った AI エージェントのトレーニング
強化学習(RL)を使って実世界のタスク向けに AI エージェントを訓練する方法を学びます。
「エージェント的」AIは時間とともにより一般的になりつつあります。この文脈では「エージェント」とは、高レベルの目標とそれを達成するためのツール群が与えられた大規模言語モデル(LLM)を指します。エージェントは通常「マルチターン」でもあり、行動を実行してその環境への影響を確認し、目標を達成するか失敗するまで繰り返し別の行動を実行できます。
残念ながら、非常に有能なLLMであっても、複雑なマルチターンのエージェント的タスクを安定して実行するのは難しいことがあります。興味深いことに、我々は GRPO(Group Relative Policy Optimization) という強化学習アルゴリズムでエージェントを訓練すると、それらをはるかに信頼性の高いものにできることを発見しました!このガイドでは、オープンソースツールを使って信頼できるAIエージェントを構築する方法を学びます。
🎨 ARTによるRLエージェントの訓練
ART(Agent Reinforcement Trainer) は UnslothのGRPOTrainer上に構築されたツールで、マルチターンエージェントの訓練を可能かつ容易にします。すでにUnslothでGRPOを使用していて、複雑なマルチターンのやり取りを処理できるエージェントを訓練する必要がある場合、ARTはそのプロセスを簡素化します。

ART + Unsloth
ARTはUnslothのメモリおよび計算効率の良いGRPO実装の上に構築されています。加えて、以下の機能を追加しています:
1. マルチターンエージェント訓練
ARTはエージェントの実行に伴って構築される「トラジェクトリ(軌跡)」という概念を導入します。これらのトラジェクトリはその後スコア付けされGRPOに使用できます。トラジェクトリは複雑になり得て、非線形な履歴やサブエージェントの呼び出しなどを含むこともあります。また、ツール呼び出しとその応答もサポートします。
2. 既存コードベースへの柔軟な統合
すでにプロンプトモデルで動作するエージェントがある場合、ARTは既存のエージェントループをラップして訓練に使用するために必要な変更を最小限に抑えるように設計されています。
アーキテクチャ的には、ARTはあなたのコードベース内に存在してAPI経由で実際の訓練が行われる「バックエンド」と通信する「フロントエンド」クライアントに分かれています(これらはARTの LocalBackendを使用する場合は単一マシンに同居させることもできます)。これにより主な利点が得られます:
最小限のセットアップが必要:ARTフロントエンドは依存関係が最小限で、既存のPythonコードベースに簡単に追加できます。
どこからでも訓練可能:ARTクライアントをラップトップで実行してARTサーバーに一時的なGPU対応環境を起動させることや、ローカルGPUで実行することが可能です
OpenAI互換API:ARTバックエンドは訓練中のモデルをOpenAI互換のAPIを通じて提供するため、ほとんどの既存コードベースと互換性があります。
3. RULER:ゼロショットエージェント報酬
ARTはまた、 RULER (Relative Universal LLM-Elicited Rewards)と呼ばれる汎用の組み込み報酬関数を提供し、手作りの報酬関数の必要性を無くすことができます。驚くべきことに、RULERの自動報酬関数でRL訓練されたエージェントは、手書きの報酬関数で訓練されたエージェントと同等かそれ以上の性能を示すことがよくあります。これにより、RLの導入が容易になります。

ARTを選ぶべき時
ARTは次のようなプロジェクトに適している可能性があります:
マルチステップのエージェント能力:ユースケースが複数の行動を取る必要があるエージェント、ツールを使用するエージェント、または長時間の会話を必要とする場合
報酬設計なしでの迅速なプロトタイピング:RULERの自動報酬スコアリングはプロジェクトの開発時間を2〜3倍短縮できます
既存システムとの統合:既存のエージェント的コードベースに最小限の変更でRL機能を追加する必要がある場合
コード例:ARTの実例
はじめに
UnslothベースのプロジェクトにARTを追加するには:
次に、 サンプルノートブック をチェックして、ARTが次のようなタスクでどのように動作するかを確認してください:
o3を上回るメール検索エージェント
ゲームプレイエージェント(2048、三目並べ、コドネーム)
複雑な推論タスク(Temporal Clue)
最終更新
役に立ちましたか?

