Please enable JavaScript in your browser.

fltech - 富士通研究所の技術ブログ

富士通研究所の研究員がさまざまなテーマで語る技術ブログ

世界的にAI開発で需要が高まっているGPUを効率良く利用するAI Computing Broker技術

こんにちは、コンピューティング研究所の笠置です。

今回は世界的なGPU不足に対応するAI Computing Broker技術をご紹介します。 この技術は5月12日から16日にドイツ・ハンブルグで開催されたスーパーコンピュータの国際学会ISC 2024にて展示いたしました。

AI Computing Brokerとは

AI Computing Broker (以下、ACB)は世界的なGPU不足に対応して高い実行効率を実現するミドルウェア技術になります。
このACBはリアルタイムにGPUを割り振る当社独自のアダプティブGPUアロケーター技術を中心とした開発されており、AIの処理内容に応じて演算最適化を適応します。
pr.fujitsu.com

ACB技術は、お客様の解きたい問題に対して計算時間や演算精度、コストといった要件に応じてAIが最適なコンピュータを自動で選択し演算できる当社のソフトウェア構想「Computing Workload Broker」における、AI処理の中核技術となります。
本技術は、GPUを必要とするAI処理の内訳を細粒度に見極め、GPU処理が必要とされる処理部を抽出することにより、GPU資源の高い利用効率を実現しています。
また、ACB技術はソフトウェアによる技術であるため、特殊なデバイスや特定の計算基盤に限定といった制約がなく、オンプレミスからクラウドまでの幅広い環境にて利用可能になります。

Computing Workload BrokerにおけるAI Computing Broker技術
従来技術とACBとの動作比較

ACBの性能評価デモ

今回はISC 2024でも展示したデモ内容を基に紹介したいと思います。
実際に動いている様子を確認したい場合は以下の動画をご覧ください。
www.youtube.com

実行環境について

今回の性能評価デモには以下の2種類のマシンを用意して実行しています。

  • GPU(GEFORCE RTX4070)が1枚搭載されたマシン
  • GPU(GEFORCE RTX4070)が2枚搭載されたマシン

総合的な演算性能については2枚のGPUが搭載されたマシンの方が高いですが、今回は1枚のGPUが搭載されたマシンにACB技術を適用して性能を比べたいと思います。

2GPU搭載マシン
1GPU搭載マシン

性能評価デモ(物体認識)

ここではYoloを用いた物体認識のAIアプリケーションを2つ動作するデモを行います。
2枚のGPUが搭載されているマシンでは、2つの物体認識をそれぞれのGPUで動作する事が可能です。この時の性能としてそれぞれ約20FPSを維持しております。

AIアプリx2を2GPUで実行
次に1枚のGPUが搭載されているマシンで先ほどと同じ2つの物体認識を動作させます。
すると、片方の物体認識はGPUを確保することができ約20FPSの性能が出ていますが、もう一方の物体認識はGPUを確保することが出来ずCPUにて処理が行われます。
その為、GPUを利用していた時と比べて大きく性能の差が生じている事が確認できます。

AIアプリx2を1GPUで実行
今度は1枚のGPUが搭載されているマシンにてACBを導入して同じ処理を実施していきます。
すると、1枚のGPUしか搭載していないにもかかわらず、2枚のGPUが搭載されていた時と同じように約20FPSの演算性能をそれぞれ物体認識で確認できます。
この物体認識のAIアプリではGPU数を半分にしても同等の性能が出ているという事になります。

AIアプリx2を1GPU+ACBで実行

性能評価デモ(3Dタンパク質推定)

今度はアミノ酸配列からタンパク質の3D構造を推測するAlphaFold2を対象にACBの性能評価を行っていきます。
まずは2枚のGPUが搭載されたマシンでAlphaFold2を2つ動作させて推論処理を行います。

AlphaFold2を2GPUで実行
画面左側はGPUの利用率になります。2枚のGPUが搭載されているため、それぞれのGPUの利用率が上下に表示されております。
画面右側はAlphaFold2により推定されたたんぱく質の3D構造になります。2枚のGPUを利用した場合では1分間で約9.3個のたんぱく質を推定することが可能のようです。

次に1枚のGPUが搭載されたマシンにACBを適用し、AlphaFold2を2つ動作させて推論処理を行います。

AlphaFold2を1GPU+ACBで実行
ACBを適用した場合では1枚のGPUであっても1分間に約9.0個のタンパク質を推定する性能を引き出せております。
注目すべき点は画面左側のGPU利用率の挙動の変化になります。
2枚のGPUを利用していた際には各AIアプリにてCPUによるデータの前処理が生じていたため断続的にGPUの利用率が高くなっていました。
ACBを適用した場合では、ACBがGPU利用部を抽出して動的にGPUを割り当てているため高い利用率を維持している様子が確認できます。

まとめと今後について

今回のデモでは2台のGPUで動作していた内容を1台のGPUに削減するという内容をご紹介しました。
我々の技術はGPUの実行効率を100%に近づけるための技術であるため、どれ程の改善効果が期待できるかはAIアプリには依存します。

今後はどのようなAIアプリに対しても効果が実現できるように各種AI処理の最適化技術を統合し、検証を重ねる事で今年中にはリリースできるように開発を進めたいと思います。