1つのGPUで数千の環境と800万ステップのシミュレーションをわずか3秒で実行。スタンフォード大学が強力なゲームエンジンを開発

1つのGPUで数千の環境と800万ステップのシミュレーションをわずか3秒で実行。スタンフォード大学が強力なゲームエンジンを開発

この段階では、AI エージェントは万能であるように見え、ゲームをプレイしたり、人間を模倣してさまざまなタスクを完了したりしており、これらのエージェントは基本的に複雑な環境でトレーニングされています。さらに、学習タスクが複雑になるにつれて、シミュレーション環境の複雑さも増し、シミュレーション環境のコストも増加します。

スーパーコンピューティング リソースを備えた企業や機関であっても、使用可能なエージェントのトレーニングを完了するには数日かかることがあります。

これにより、この分野の進歩が妨げられ、高度な AI エージェントのトレーニングの実用性が低下しました。環境シミュレーションの高コストに対処するため、最近の研究ではシミュレータを根本的に再設計し、エージェントのトレーニングの効率を高めています。これらの作業は、単一のシミュレータ エンジン内で多数の独立した環境 (トレーニング インスタンス) が同時に実行されるバッチ シミュレーションのアイデアを共有しています。

この記事では、スタンフォード大学などの研究者が、単一のGPU上で数千の環境を並行して実行し、エージェントのトレーニング時間を数時間から数分に短縮できる「Madrona」と呼ばれる強化学習ゲームエンジンを提案しました

  • 論文アドレス: https://madrona-engine.github.io/shacklett_siggraph23.pdf
  • 論文ホームページ: https://madrona-engine.github.io/

具体的には、Madrona は、単一の GPU 上で数千の環境インスタンスを同時に実行し、非常に高いスループット (1 秒あたり数百万ステップ) で実行できる学習環境を作成するために設計された研究用ゲーム エンジンです。 Madrona は、研究者がさまざまなタスクに対応する新しい高性能環境をより簡単に作成できるようにし、AI エージェントのトレーニング速度を桁違いに向上させることを目指しています。

Madrona には次の機能があります。

  • GPU バッチ シミュレーション: 単一の GPU で数千の環境を実行できます。
  • エンティティ コンポーネント システム (ECS) アーキテクチャ。
  • PyTorch と簡単に相互運用できます。

Madrona 環境の例:

前述のように、この研究では ECS 設計原則を活用しました。具体的なプロセスは次のとおりです。

研究者らは Madrona フレームワークを使用して複数の学習環境を実装し、その結果、GPU の高速化はオープンソースの CPU ベースラインと比較して 2 ~ 3 桁、32 スレッド CPU で実行される強力なベースラインよりも 5 ~ 33 倍高速であることが示されました。さらに、この研究ではこのフレームワークに OpenAI の「かくれんぼ 3D」環境も実装し、各シミュレーション ステップで剛体物理学とレイ トレーシングを実行し、単一の GPU で 1 秒あたり 190 万ステップを超える速度を達成しました。

著者の一人で、スタンフォード大学のコンピューターサイエンスの准教授であるケイヴォン・ファタハリアン氏は、複数のエージェントがプレイする料理ゲーム「Overcooked」では、Madronaゲームエンジンの助けを借りて、800万の環境ステップをシミュレートする時間が1時間から3秒に短縮されたと語った。

現在、Madrona ではゲーム ロジックを記述するために C++ が必要です。 Madrona は視覚化レンダリングのサポートのみを提供しており、数千の環境を同時にシミュレートできますが、ビジュアライザーは一度に 1 つの環境しか表示できません。

Madrona をベースに構築された環境シミュレーターとは何ですか?

Madrona 自体は RL 環境シミュレーターではなく、ゲーム エンジンまたはフレームワークです。これにより、開発者は独自の新しい環境シミュレータをより簡単に実装できるようになり、GPU 上でバッチ シミュレーションを実行し、シミュレーション出力を学習コードと緊密に結合して高いパフォーマンスを実現できます。

以下は Madrona に基づいて構築されたいくつかの環境シミュレーターです。

マドロナ エスケープルーム

Madrona Escape Room は、Madrona の ECS API と物理およびレンダリング機能を使用するシンプルな 3D 環境です。この単純なタスクでは、エージェントは赤いボタンを押し、他の色のボックスを押して一連の部屋を通過することを学習する必要があります。

オーバークックAI

Overcooked AI 環境は、協力型ビデオ ゲーム (マルチプレイヤー協力型クッキング ゲーム) に基づくマルチエージェント学習環境であり、ここでは高スループットの Madrona で書き直されています。

画像ソース: https://store.epicgames.com/zh-CN/p/overcooked

かくれんぼ

2019 年 9 月、OpenAI エージェントは独自のルーチンとアンチルーチンを作成し、かくれんぼバトルを繰り広げました。ここでは、Madrona を使用して「かくれんぼ」環境を再現します。

花火

Hanabi は、Madrona ゲーム エンジンに基づく Hanabi カード ゲームの実装であり、協調型 Dec-POMDP でもあります。この環境は DeepMind の Hanabi 環境に基づいており、いくつかの MAPPO 実装をサポートしています。

カートポール

Cartpole は、Madrona ゲーム エンジン上に構築されたジム実装と同じダイナミクスを持つ典型的な RL トレーニング環境です。

GitHub アドレス: https://github.com/shacklettbp/madrona

オーバークック クッキング ゲーム: 1 分で最高のエージェントを育成

何千ものキッチンで調理し尽くす: 1 分以内にトップ パフォーマンスのエージェントをトレーニング

論文の著者の一人であり、スタンフォード大学の学部生でもあるビディプタ・サーカー氏は、エージェントに料理ゲーム「Overcooked」をプレイさせるトレーニングのプロセスを詳細に説明したブログ記事を執筆した。 Overcooked は人気の料理ゲームであり、協調型マルチエージェント研究のベンチマークとしても機能します。

Sarkar 氏の RL 研究では、仮想環境をシミュレートするコストの高さが、インテリジェント エージェントをトレーニングする上で常に大きな障害となっていました。

Overcooked 料理ゲームの場合、Overcooked の狭い部屋のレイアウト (下図) で安定した均衡ポリシーに収束するエージェントのペアをトレーニングするには、約 800 万ステップのゲーム経験が必要です。 Overcooked のオープンソース実装は Python で記述されており、8 コアの AMD CPU で毎秒 2000 ステップで実行されるため、必要なエージェント エクスペリエンスを生成するには 1 時間以上かかります。

対照的に、トレーニングに必要なその他のすべての操作 (800 万のシミュレーション ステップすべてに対するポリシー トレーニングのポリシー推論とバックプロパゲーションを含む) は、NVIDIA A40 GPU では 1 分もかかりません。明らかに、Overcooked エージェントのトレーニングは、Overcooked 環境シミュレーターの速度によって制限されます。

Overcooked はシンプルな環境であることを考慮すると、シミュレーション速度に困惑するのは愚かなことのように思えます。そこで Sarkar 氏は、Overcooked の環境シミュレーションの速度を上げることができるかどうかを検討しましたが、それには Madrona ゲーム エンジンの使用が必要でした。

Madrona ゲーム エンジンを使用することで、Sarkar はオリジナルの Overcooked Python 実装に代わる、プラグ アンド プレイの GPU アクセラレーションを実現しました。 1,000 の Overcooked 環境を並列でシミュレートする場合、GPU アクセラレーション実装では、A40 GPU で 1 秒あたり 350 万ステップの経験値を生成できます。

その結果、800 万の環境ステップをシミュレートする時間が 1 時間から 3 秒に短縮され、A40 GPU を使用してわずか 1 分でポリシーをトレーニングできるようになりました。

このシミュレーターの速度により、Overcooked で広範なハイパーパラメータ スイープを実行するための新しい可能性が開かれ、特に、以前は 1 つのポリシーをトレーニングするのにかかっていた時間で複数のポリシーをトレーニングできるようになります。

最終的に、Sarkar 氏は、Overcooked を Madrona に移植する方が、GPU アクセラレーション環境用の既存の代替手段 (PyTorch、Taichi Lang、Direct CUDA C++ など) を作成するよりもはるかにスムーズなプロセスになることを認識しました。

ブログの詳細: https://bsarkar321.github.io/blog/overcooked_madrona/index.html

<<: 

>>:  OpenAIが「公式クローラー」をリリース: GPT-5はこれでトレーニングされ、必要に応じてブロックできる

ブログ    

推薦する

ロボット・アメカは「魂」の束縛から解放され覚醒するのか?邪悪な笑顔は一瞬で恐ろしい

最近、英国のテクノロジー企業エンジニアード・アーツが開発したヒューマノイドロボット「アメカ」がインタ...

...

...

ディープラーニングを使用して映画を推奨するにはどうすればよいでしょうか?独自の推奨システムを作成する方法を教えます!

導入ほとんどすべての人が、家族や友人と一緒に映画を観ながら余暇を過ごすのが好きです。誰でもこんな経験...

Programiz: 多くの人がChatGPTを使ってプログラミングを学んでおり、Web開発分野はAIの影響を最も受けやすい

プログラマー育成ウェブサイトProgramizは10月18日、ChatGPTがプログラミング教育分野...

...

エッジ AI とエッジ コンピューティングとは何ですか?

[51CTO.com クイック翻訳] エッジ AI は、人工知能の分野で注目を集めている新しい分野...

通信事業者のRPAロボット活用事例紹介

国際・国内電話サービス、インターネット事業、通信ネットワーク資源・設備サービスなどを主力事業とする米...

ChatGPT は IT ネットワーク エンジニアの代わりになるのでしょうか?

現代の IT ネットワークは、ファイアウォール、ルーター、スイッチ、サーバー、ワークステーション、そ...

...

将来、人工知能技術は動物実験に取って代わる可能性を秘めているのでしょうか?

動物実験は動物に対して行われる最も残酷な行為の一つと考えられています。研究によると、マウス、カエル、...

ElasticSearch はどのようにして TDigest アルゴリズムを使用して数十億のデータのパーセンタイルを計算するのでしょうか?

[[393929]]この記事はWeChatの公開アカウント「プログラマー李小冰」から転載したもので...

...

OpenAI セキュリティシステムディレクターが長文記事を執筆: 大規模モデルに対する敵対的攻撃と防御

ChatGPTのリリースにより、大規模な言語モデルのアプリケーションが加速し、大規模に展開されていま...

ガートナー、2022年の銀行・投資サービスにおける3つの注目のテクノロジートレンドを発表

ガートナーは、2022年の銀行および投資サービス業界における3つの注目の技術トレンドとして、生成型人...