Skip to main content
QUICK REVIEW

[論文レビュー] ORRB -- OpenAI Remote Rendering Backend

Maciek Chociej, Peter Welinder|arXiv (Cornell University)|Jun 26, 2019
Distributed and Parallel Computing Systems参考文献 11被引用数 10
ひとこと要約

ORRB は、Unity3D と MuJoCo に統合された、クラウド最適化されたリモートレンダリングバックエンドであり、ロボティクス強化学習におけるスケーラブルなビジュアルドメインランダマイゼーションを目的としています。スケーラブルなクライアント・サーバー・アーキテクチャと gRPC、パイプライン処理された GPU レンダリングを採用し、RGB、深度、セグメンテーション、ノーマルマップなどのカスタマイズ可能な外観およびセンサーデータを備えたバッチ処理、ヘッドレスレンダリングを実現。4 枚の V100 GPU を使用して最大 3,514 FPS を達成。

ABSTRACT

We present the OpenAI Remote Rendering Backend (ORRB), a system that allows fast and customizable rendering of robotics environments. It is based on the Unity3d game engine and interfaces with the MuJoCo physics simulation library. ORRB was designed with visual domain randomization in mind. It is optimized for cloud deployment and high throughput operation. We are releasing it to the public under a liberal MIT license: https://github.com/openai/orrb .

研究の動機と目的

  • ロボティクス強化学習におけるシミュレーションから現実への転送の現実ギャップを解消するため、スケーラブルで高スループットなビジュアルドメインランダマイゼーションを可能にする。
  • 大規模な機械学習ワークロードにおける従来のゲームエンジンの限界を克服し、バッチ処理、ヘッドレス、分散レンダリングに最適化する。
  • ビジョンベースの RL エージェントのための多様な合成トレーニングデータを生成するためのモジュラーで拡張可能かつ容易に統合可能なシステムを提供する。
  • 1 シーンあたり複数の状態をレンダリングする(SSMS)ことで、各インスタンスのオーバーヘッドを低減し、GPU の利用効率を最大化する。
  • RGB、深度、セグメンテーション、ノーマルマップなど、さまざまなセンサ出力をサポートし、素材、照明、カメラ、ポストプロセッシングのパラメータに対して設定可能なランダマイゼーションを実装する。

提案手法

  • XML および設定ファイルからシーンとアセットを読み込む、スタンドアロンの Unity3D ベースのレンダラーバイナリを構築する。
  • gRPC を使用したクライアント・サーバー・アーキテクチャを実装し、Python や他の言語からの並列バッチレンダリングを言語に依存せずに可能にする。
  • レンダリングテクスチャのラウンドロビンプールとバルク DMA トランスファーベースの同期を採用し、CPU-GPU 同期を最小限に抑え、パイプライン処理されたレンダリングを実現する。
  • RGB(アルファ付き)、セグメンテーション、深度、スクリーンスペースのノーマルマップの 4 種類のレンダリングモードをサポートし、フレームごとにカメラ、照明、素材パラメータをランダム化する。
  • Xvfb と仮想 GPU デバイスを用いて、Google Cloud や Azure などのクラウド環境にデプロイし、V100 GPU 上で真のヘッドレスレンダリングを実現する。
  • 物理シミュレーションのために MuJoCo と統合し、インタラクティブモードで実世界のカメラキャリブレーション用に専用のカメラアライメントツールを提供する。

実験結果

リサーチクエスチョン

  • RQ1ゲームエンジンは、大規模な機械学習ワークロード向けに、高スループットでバッチ処理・ヘッドレスレンダリングを実現するために、どのように改造可能か?
  • RQ2どのようなアーキテクチャ的・実装的選択が、合成ロボティクス環境における大規模な効率的ビジュアルドメインランダマイゼーションを可能にするか?
  • RQ3Unity ベースのレンダラーは、分散型でクラウドベースのトレーニングパイプラインにおいて、どの程度パフォーマンス最適化が可能か?
  • RQ4レンダラーサーバーと GPU の数が増加するに従い、システムはどの程度スケーリングするか?スループットのボトルネックは何か?
  • RQ5システムは、細かく制御可能なランダマイゼーションを実装しながら、高スループットを維持したまま、多様で高品質なセンサデータ(RGB、深度、セグメンテーション、ノーマル)を生成できるか?

主な発見

  • 4 枚の V100 GPU を使用した場合、ORRB はピークで 3,514 FPS のスループットを達成し、GPU スケーリング効率は 3 枚の GPU でピークに達した後、段階的減少を示す。
  • 1 つのクライントプロセスあたり 8~12 台を超えるレンダラーサーバーを使用すると、CPU がボトルネックとなり、追加のクライントプロセスがなければスケーリングは制限される。
  • 88 台のレンダラーサーバーと 8 枚の V100 GPU を使用した場合、3,438 FPS を達成し、CPU の飽和点まで強い CPU スケーリングを示した。
  • 素材、照明、カメラジッター、ポストプロセッシング効果を独立してランダム化することで、完全なビジュアルドメインランダマイゼーションを実現した。
  • パイプライン処理された GPU レンダリングとバルクメモリ転送の使用により、同期オーバーヘッドが低減され、高スループットのバッチ処理が可能になった。
  • ORRB は、合成データのみを用いて Dactyl(多関節のロボットハンド)を成功裏に訓練した。これは、実世界への Sim2Real 転送における有効性を検証した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。