Hugging Face AI vs. AI:マルチエージェント強化学習コンペティションシステム

Hugging FaceはAI vs. AIというオープンソースシステムを立ち上げました。このシステムはマルチエージェント環境における深層強化学習(RL)モデルの強さをランク付けすることを目的としています。エージェント間の継続的な競争を促進することで、スキルの相対的な指標と、多様な行動に対してポリシーをテストする堅牢な評価手法を提供します。

システムアーキテクチャとコンポーネント

  • Hugging Face Space: マッチメイキングアルゴリズムとスケジューラを利用し、無料ハードウェア上でバックグラウンドタスクとしてモデル対戦を実行します。
  • Hugging Face Dataset: 永続層として機能し、対戦履歴とモデルのレーティングを保存します。
  • Leaderboard: データセットから対戦結果を取得し、モデルの現在のELOレーティングを表示する公開インターフェースです。

ユーザーが学習済みモデルをHubにプッシュすると、システムは自動的にそれを他の提出されたエージェントと比較評価し、ランク付けします。

ELOレーティングとマッチメイキングアルゴリズム

客観的な指標に依存するのではなく、AI vs. AIはELOレーティングシステムを用いてスキルの相対的な指標を確立します。この実装では、すべての新しいモデルは任意のレーティング1200から開始されます。プール全体の平均ELOを一定に保つため、獲得と損失は対称的です(例:+10 と -10)。

マッチメイキングプロセス

マッチメイキングアルゴリズムは、以下のステップを通じて多様性と競争の均衡を確保します:

  1. Model Gathering: すべての利用可能なモデルがHubから収集されます。
  2. Queue Creation: モデルはキューに入れられます。
  3. Pairing: システムは最初のモデルを取り出し、レーティングが最も近い $n$ 個のモデルの中からランダムに選ばれたモデルとペアにします。
  4. Simulation: 試合は環境内(例:Unity実行ファイル)でシミュレートされ、結果はHugging Face Datasetに記録されます。
  5. Rating Update: ELO式を適用して、結果に基づき両参加者のレーティングを更新します。
  6. Iteration: キューが空になるまでプロセスを繰り返し、その後サイクルが再開されます。

実装:SoccerTwosチャレンジ

システムのデモンストレーションとして、Hugging FaceはDeep Reinforcement Learningコースのユニット7の一部としてSoccerTwos Challengeを実装しました。このチャレンジはUnity ML-Agents環境を利用し、2対2のサッカーチームが協力してゴールを決めることを目的とします。

  • Visual Demo: ユーザーが2つのチームを選択し、リアルタイムで対戦を可視化できる専用のSpaceです。
  • Community Engagement: アドバイスの共有や洞察の交換を行う専用のDiscordチャンネル(ai-vs-ai-competition)です。

汎用性と将来の応用

AI vs. AIシステムは環境に依存しないため、あらゆる対立的マルチエージェント設定に適用可能です。Hugging Faceは、PettingZooの環境や「SnowballFight」のようなカスタム環境など、他の環境への対応を拡大する予定です。

エージェントを多様なポリシーと対戦させることで、システムは堅牢な評価手法として機能し、従来の静的指標では捉えきれないポリシー品質の包括的な評価を提供します。

Sources