OpenAIボットがDota 2のヒーローに勝つには何が必要か?128,000個のCPUコア、256個のNvidia GPU

Table of Contents

OpenAIボットがDota 2のヒーローに勝つには何が必要か?128,000個のCPUコア、256個のNvidia GPU

OpenAI のビデオゲームをプレイするボットは、SF 戦略戦争ゲーム Dota 2 の習得が格段に上達しており、チーム対戦ではセミプロのプレイヤーを楽々と打ち負かしている。

しかし、彼らはまだ、トッププロチームに勝つためにゲーム全体を完全にマスターすることができません。

昨年8月、サンフランシスコに拠点を置くOpenAIラボが開発した機械学習ソフトウェアが、プロDota 2プレイヤーのDendi選手に3試合中2試合で勝利を収めました。しかし、これらの勝利は1対1の対戦、つまりボット1台と人間1台の戦いのみで、しかも実際の試合では当てはまらない非常に限定的な状況下での勝利でした。

それから約1年、OpenAIのボットはより伝統的な5対5の対戦形式でプレイできるようになり、アマチュアやセミプロのゲーマーに勝利しました。対戦はネクロフォス、スナイパー、ヴァイパー、クリスタルメイデン、リッチのミラーマッチに限定されており、人間とコードの両チームが同じ5人のヒーローでプレイすることになります。

Dota 2の複雑さを考えると、これは素晴らしい成果と言えるでしょう。戦略的な計画と、基地を攻撃または防衛するタイミングを直感的に判断する能力が求められます。ゲームはヒーローと呼ばれる様々なタイプのキャラクターを使ってプレイされ、それぞれが独自の能力を持っています。

多様なスキル、可能なアクションの数、そして不完全情報ゲームであるという事実が、チェスや囲碁などのゲームよりも難しいゲームとなっています。OpenAIのチーム(通称OpenAI Five)は、過去数ヶ月にわたる一連の非公式試合で人間のチームに勝利しました。

MMRスコア4.2k(93パーセンタイル以内)のアマチュアチームに対し、3試合中2試合勝利しました。また、MMRレーティング5.5k(99パーセンタイル以内)のセミプロチームに対しても勝利しました。

ゲームの制限

OpenAIのコンピュータプレイヤーはそれぞれ、1024ユニットからなる独立した長短期記憶ネットワークで表現され、強化学習でよく使われる手法であるセルフプレイによって学習されます。ゲームは平均45分間、毎秒30フレームで実行されます。研究者たちはDota 2のボットAPIを使用して、ゲームの状態に関する情報を各ボットに渡します。

ボットは、可視ユニットの位置や体力といった重要な情報をエンコードした、主に浮動小数点数で構成される2万個の数値列を受け取ります。これにより、ボットは人間のチームと同じ情報にアクセスできるようになります。さらに、ボットは攻撃の正確な範囲を計算することも可能になります。これは人間のチームには不可能なことです。

ゲームは常に変化しており、ボットはゲーム中の4フレームごとに更新された入力を受け取ります。「まるで目を閉じてプレイし、4フレームごとに目を開けているようなものです」と、OpenAIの共同創設者兼CTOであるグレッグ・ブロックマン氏はThe Registerに説明しました。

「OpenAI Fiveは人間と同じ情報にアクセスできるが、人間が手動で確認しなければならない位置、健康状態、アイテムの在庫などのデータを即座に確認できる」とOpenAIの研究者らは本日のブログ投稿で付け加えた。

ドタ

OpenAIボットがリングに乱入、Dota 2のトッププロゲーマーを「恐ろしい」1対1の試合で屈辱を与える

続きを読む

つまり、ボットが目を開けると、マップ全体を一度に見渡すことができるのです。これは、ヒーローをマップ上で動かしてすべてを見渡さなければならない人間チームと比べると、マシンにとって大きな利点です。

「マップ認識は人間にとって基本的なスキルです。プレイヤーは表示されているマップをスクロールしたり、画面上のミニマップで多くの詳細をまとめたり、様々なユニットを選択できるキーを操作したりすることで、ゲームの全体像を簡単に把握できます。OpenAI Fiveは、人間が見ることができるすべての情報を見ることができます」とブロックマン氏は述べています。

両チームとも全く同じ情報にアクセスできますが、違いはボットはすべてを一度に見ることができるという点です。APIがなければ、人間チームと同じ体験を提供するためには、ピクセルをレンダリングするのに数千基多いGPUが必要になると研究者たちは見積もっています。

ボットはいつ行動を起こすかを選択することもできます。4フレームごとに行動を起こすことも、次のフレーム、2フレーム目、3フレーム目、4フレーム目と行動を繰り返すこともできます。「平均すると、OpenAI Fiveは何かが起こってから(0 + 1 + 2 + 3) / 4 = 1.5フレーム後に行動を検知し、次のフレームですぐに反応する機会を得ます。つまり、平均反応時間は33ミリ秒 * 2.5 = 82.5ミリ秒になります」とブロックマン氏は述べています。これは人間のチームよりも速いのです。

他にも制限があり、防御、透明化、特定のユニットが特定の呪文を唱えられるといった能力もあります。使用可能なヒーローは113人中5人という制限があるため、ゲームの複雑さは大幅に軽減されています。

チームスピリットの匂い

OpenAI Fiveのボットは、実際には互いにあまりコミュニケーションを取りません。その代わりに、チームワークは「チームスピリット」と呼ばれるものによって制御されます。これは0から1まで設定可能なハイパーパラメータで、各ヒーローがチーム全体の平均報酬と比較して、自身の報酬をどれだけ重視すべきかという重み付けを行います。

しかし、良い点もあります。昨年の1対1の試合では、研究者がボットにクリープブロックなどの戦略を教えなければなりませんでした。しかし、新しいボットは自力でこれを学習することができました。

「ロボットは自己対戦を通して独自の戦略を編み出しました。相手の領土を奪うために、自らの脆弱な領土の一部を放棄することを学んだのです」と、OpenAIの技術スタッフであるブルック・チャン氏はEl Regに語った。

ボットはOpenAIの近似方策最適化(Proximal Policy Optimization)と自己対戦によって学習されています。探索手法や人間のゲームプレイには一切依存せず、毎日約180年分の対戦を自分自身と対戦できます。5体のボットを合計すると、1日あたりなんと900年にも相当し、これは人間の寿命をはるかに超える長さです。これには膨大な計算量も必要です。ボットはGoogle Cloud上で12万8000個のCPUコアと256個のNvidia P100 GPUを消費しました。

「現在は制限の中でプレーしているが、限られたヒーローだけを条件に、8月下旬に開催されるザ・インターナショナルでトッププロチームに勝つことを目指している」とOpenAIは述べた。

The InternationalはDota 2のeスポーツ最大規模の年次大会で、優勝者は最大数百万ドル相当の賞金を獲得できます。「成功しない可能性もあります」と警告しています。®

Discover More