GPUクラスタとは

GPUクラスタとは、GPUを搭載した複数のサーバーを高速ネットワークで繋ぎ、大きなAI学習推論を分担して進める計算基盤です。高性能GPUを並べた倉庫ではなく、通信と仕事の振り分けまで設計した「計算チーム」と考えると分かりやすいでしょう。

サーバーの中と外で通信する

1台のサーバーに複数GPUがある場合は、NVLinkやPCIe(サーバー内部で部品どうしを繋ぐ標準的な規格)などでデータを交換します。複数サーバーへ広げたときは、InfiniBandやEthernetなどのネットワークが通り道でしょう。ジョブスケジューラーには、空いているGPUと通信しやすい場所を見て、仕事を配置する役割があります。

大規模な分散学習では、各GPUが計算した途中結果を繰り返し揃えます。通信が遅いと、GPUは計算でなく他の担当を待つ時間を増やすため、ストレージとネットワークも性能の一部です。

GPUクラウドとAIデータセンターとの違い

GPUクラスタは、計算資源をひとまとまりにする技術的な構成を指します。GPUクラウドはその資源を外部から借りるサービス、AIデータセンターは電力・冷却・建物まで含む物理基盤です。

クラウド上でGPUクラスタを組むことも、自社のデータセンターに置くこともできます。「クラスタ」と聞いても、所有形態や課金方法までは決まりません。

GPUの台数より「仕事の完了時間」を比べる

調達時は、GPUの種類と台数に加え、GPUメモリ、サーバー間の通信速度、ストレージ速度、障害時のやり直し、ジョブの待ち時間を同じテストで比べます。台数を増やしても、分けにくい処理や通信待ちが大きければ、時間は半分になりません。

1回の学習にかかった時間、GPUが計算していた割合、通信量、失敗後の再開時間、導入から運用までの総費用を記録しましょう。高性能な1台を追うより、チーム全体が待たずに動けるかの方が、経営判断には効きます。

TopicNCCLの読みは「ニッケル」

GPUどうしが結果を集めたり配ったりする通信ライブラリに、NVIDIAのNCCLがあります。公式ドキュメントによる読みは「Nickel」、日本語ならニッケル。会議で英字を1文字ずつ読まなくて済む、GPU基盤の小さな合言葉です。

GPUクラスタに関するよくある質問

GPUクラスタと1台のマルチGPUサーバーは何が違いますか?
1台のマルチGPUサーバーは、同じ筐体内の複数GPUを使います。GPUクラスタは複数サーバーへ広げるため、サーバー間通信、ジョブ配置、障害復旧の設計が増えます。
GPUの台数を倍にすれば、AIの学習は半分の時間で終わりますか?
必ずしも半分にはなりません。処理を分けられない部分、GPU間の同期、データ読み込みが残るためです。実際の案件で完了時間とGPU利用率を測ります。
GPUクラスタはクラウドにしか作れませんか?
クラウドと自社設備の両方で構築できます。変動の大きい案件はクラウド、長期に高い稼働率が見込める場合は自社設備も候補になります。購入価格だけでなく、電力、冷却、保守、データ移動を含めて比較します。

あわせて読みたい記事