用語集 · 物理シミュレーション
MuJoCo Warp
別名:MuJoCo Warp、MJWarp、mujoco-warp、Warp、NVIDIA Warp、GPU physics、GPU 物理シミュレーション
GPU で動き、世界の数千のコピーを一度にシミュレーションする、MuJoCo 物理エンジンの一版です。
MuJoCo はふつう CPU で動きます。1つのコアが世界のコピー1つを進めます。MuJoCo Warp は、それを GPU 向けに書き直したものです。Google DeepMind と NVIDIA が、Python で GPU のコードを書くための NVIDIA のライブラリ Warp を使って作りました。同じモデルファイルを読み込み、同じ物理を計算しますが、世界の数千のコピーを足並みをそろえて進めます。コピー1つにつき、GPU スレッド1つまたはスレッドのグループ1つです。
これは強化学習に向いています。強化学習では、同じタスクのたくさんのコピー(並列環境)から大量の経験が必要だからです。そうすれば物理計算とネットワークがどちらも GPU 上にあり、何も行ったり来たりコピーする必要がありません。
CPU のシミュレーターにはない制約もあります。どのコピーにも、接触と拘束のための決まった数の枠が、ランの前に割り当てられます。いちばん遅いコピーが収束するまで、すべてのコピーがソルバーを回し続けます。そして高速な処理のいくつかは、ある大きさまでの身体でしか使えません。
このプロジェクトでは
レンタルGPUで学習するでは、構えの環境を MuJoCo Warp(バージョン 3.16)に移しました。筋肉の体は1つのツリーに89の自由度があり、高速な質量行列の分解には多すぎたため、それを置き換えるまで GPU 時間の53%をその分解が占めていました。接触の枠は、小さな値であふれたあと、コピー1つあたり接触96個、拘束512行に設定しました。コピー1,024個で、RTX 5090 は muscular-fast の身体を毎秒37,000ステップで学習させました。