用語集 · コンピューティング

GPU

別名:graphics card、CUDA、graphics processing unit、グラフィックボード、グラボ、グラフィックスプロセッサ

グラフィックス用のプロセッサです。数千個の小さなコアで、大量の数に同じ計算を一度に行います。ニューラルネットワークには速いですが、CPU向けの物理計算ではあまり役に立ちません。

GPU(graphics processing unit)は、もともと画像を描くために作られました。何百万ものピクセルに、同じ小さな計算を一度に行うためです。CPUには強力なコアが少しだけあり、さまざまな分岐の多い仕事が得意です。GPUにはもっと単純なコアが数千個あり、1つのことを並列に何度も行うのが得意です。

これはニューラルネットワークに向いています。ニューラルネットワークの計算は、ほとんどが数の表どうしの大きな掛け算だからです。チャットアシスタントのような大きなモデルの学習は、ほぼすべてGPUで行われています。

ここではあまり役立たない理由

強化学習では、時間は2つの仕事に使われます。経験を集めるための世界のシミュレーションと、その経験からのネットワークの更新です。MuJoCoのようなCPUのシミュレータは、世界のコピー1つをCPUコア1つで進めます。そこには接触判定や分岐が多く、GPUはそれが苦手です。ネットワークが小さければ、その更新はCPUでもすぐ終わります。ですから、GPUが速くするのは小さいほうの仕事だけです。

新しいシミュレータの中には(MuJoCoのMJX、Isaac Gym)、代わりに数千の世界をGPU上で動かすものもあります。そうなると話は変わりますが、そのために書かれたシミュレータが必要です。

このプロジェクトでは

EC2のトレーナーは物理をCPUで動かし、その横で小さなネットワークを動かしているので、そこではGPUを足してもほとんど効果がありませんでした。レンタルGPUで学習するでは、構えの環境の物理をMuJoCo WarpでGPUに移しました。コードをGPU向けに調整したあとは、vast.aiで借りたGPU(RTX 5080かL40S、1時間あたり約$0.40)が、構えを約$0.065で解きました。96 vCPUのEC2スポットマシンでは$0.30かかり、時間もそれより長くかかりました。コストでは、データセンター向けのカードより一般向けのカードのほうが勝ちます。物理計算は小さなステップをたくさん重ねる32ビットの演算なので、メモリよりもクロック速度が効くからです。

関連用語

この用語が出てくる記事

← すべての用語