AI開発を支えるGPUの性能をフルに生かせるネットワーク構築の重要ポイントとは:ネットワーク帯域幅だけでは性能は出せない
AI開発に不可欠となった「GPU」。GPUの性能をフルに活用し、膨大なデータを高速に処理するためにはGPUサーバ同士を結ぶ「ネットワーク技術」が重要になるという。では、どうすれば“GPUを生かせるネットワーク”を構築できるのか。そのポイントはどこにあるのか。
ネットワーク性能が大規模AI開発の効率を大きく左右するように
「ChatGPT」に代表される生成AI(人工知能)の登場は、今や人々の生活や働き方を大きく変えつつある。個人レベルで生成AIを日々の生活に有効活用する人が増えているのはもちろん、多くの企業や組織が既存のLLM(大規模言語モデル)を使ったサービス開発に取り組んでおり、中には自前で独自のLLMを構築したり、ファインチューニングに挑んだりしているケースも出てきている。
こうした動きに呼応して、AI開発に不可欠な「GPU」(Graphics Processing Unit)の需要も急速に高まっている。LLMは従来の一般的な機械学習モデルと比べて桁違いの量のデータを学習させる必要があるため、これまで以上にGPU性能が開発効率を大きく左右するようになったからだ。もはや単独のGPUサーバの容量や演算能力だけでは十分なパフォーマンスが得られないため、現在では大量のGPUサーバを互いにネットワークで接続した「AIクラスタ」を構築し、膨大な量の演算をクラスタ全体で分散処理する方式が一般的になりつつある。
そこでクラスタ全体の演算能力を大きく左右する要素として、GPUサーバ同士を結ぶ「ネットワーク技術」への注目が高まっている。
従来のイーサネットスイッチでは帯域を効率的に使い切れない
これまで、AIクラスタのような大規模で高性能なサーバクラスタ環境を構築するには、サーバ間を高速/低遅延なInfiniBandで接続し、通信のオーバーヘッドを極力減らすことでクラスタ全体の性能を確保するアーキテクチャが主流とされてきた。しかし、ここへきて「InfiniBandに迫る高速通信」をうたったイーサネットスイッチが複数のベンダーから提供されるようになり、これらを使ってGPUサーバ同士を接続したAIクラスタの設計が提唱されるようになってきた。
これらのイーサネットスイッチは、GPUのメモリ内にあるデータをサーバのCPUを介さずに直接イーサネット上でやりとりできるプロトコル「RoCE(RDMA over Converged Ethernet)」をサポートしており、中にはInfiniBandに匹敵する性能をうたったものも存在する。
しかし、NVIDIAのシニアソリューションアーキテクト、野田 孝氏(ソリューションアーキテクチャ&エンジニアリング部)は、「AIクラスタ全体の性能はこうしたイーサネットスイッチ単独の性能だけではなかなか底上げできない」と指摘する。
「広帯域/低遅延をうたったイーサネットスイッチを使ってAIクラスタを構築しても、実際にネットワーク性能を計測するとネットワーク帯域幅全体の半分程度しか使われていないケースもあります。これではGPUサーバをいくらそろえても、その性能を大幅に余らせてしまうことになります」(野田氏)
ネットワーク性能が頭打ちになる主な理由の一つに、イーサネット特有の「トラフィック制御の制約」があると野田氏は説明する。一般的にネットワーク帯域幅をフル活用するには、帯域に空きがある通信経路に適宜パケットを送り込むよう制御すればよい。しかし、パケットを複数経路に分けてバラバラに送信すると、受信側でパケットを受け取る順番が入れ違いになる可能性が高まり、結果的にパケットエラーが増えてスループット全体が大きく低下してしまう。
こうした事態を避けるため、通常、従来のイーサネットスイッチでは、たとえ他の通信経路が空いていても、受信側でパケットを正しい順番で確実に受け取れるように、同じアプリケーションの通信パケットはあえて同じ通信経路に固定して送るように制御している。その結果「ある通信経路は空いているのに、別の通信経路は混雑している」といった“トラフィックの偏り”が生じ、せっかく「広帯域/低遅延」をうたうイーサネットスイッチを導入してもネットワーク帯域幅を効率的に使い切れないということになる。
ほぼ全てのネットワーク帯域を使い切ることができる「NVIDIA Spectrum-X」
NVIDIAのシニアマーケティングマネージャ、愛甲浩史氏(エンタプライズマーケティング部)は、AIクラスタにおけるネットワークの重要性について次のように語る。
「AIクラスタを使ったデータ学習処理では、サーバ間で大容量のバースト通信が断続的に発生します。この通信処理に時間がかかってしまうと、その間にGPUの待ち時間が発生してしまい、せっかく大量のGPUを集めてもその性能を十分に発揮できません。そのため、ネットワークの性能がAIクラスタ全体の性能を大きく左右することになるのです」(愛甲氏)
従来のイーサネットスイッチが持つ限界を突破し、AIクラスタで求められる超高速データ転送を実現するためにNVIDIAが開発したのが、イーサネット製品群「NVIDIA Spectrum-X」だ。Spectrum-Xで提供されるスイッチ自体は、ロスレスイーサネット上でRoCEをサポートする「広帯域/低遅延」のスイッチとなる。
しかし、その最大の特徴は、スイッチ単体が実装するネットワーク機能だけでなく、GPUサーバの機能と協調動作することで、前述したようなイーサネット特有のパフォーマンス制約を克服している点にある。
例えば、Spectrum-Xが備える「アダプティブルーティング」は、各ネットワークポートの使用率やキューの占有状況などに基づき、ネットワークパケットの最適な転送パスを動的に選択するという機能だ。アダプティブルーティング機能により、ネットワーク帯域幅を無駄なくフルに使ってパケットを転送できる。
ただし、それだけでは先ほど説明したような「パケットの到着順が入れ違いになることによるエラー」が発生し、逆にパフォーマンスが低下してしまう恐れがある。そこでSpectrum-Xでは、GPUサーバに実装される同社のネットワークアダプター製品「NVIDIA BlueField-3 SuperNIC」と連携し、受信側でパケットの順番を自律的に並べ直せるようになっている。これを実現したことで、パケットエラーの発生を心配することなく、ネットワーク帯域をフルに使い切れる動的なロードバランシングが初めて可能になったということだ。
「一般的なイーサネットスイッチは、ネットワーク帯域幅のせいぜい60%を利用できればよい方です。Spectrum-Xはアダプティブルーティングを活用することでネットワーク帯域幅の95%を利用でき、ほぼ理論値に近いネットワーク性能を発揮できます」(野田氏)
BlueField-3 SuperNICとの連携でネットワーク輻輳を自律的に回避
逆にネットワークに過度な負荷がかかり、輻輳(ふくそう)が発生しそうになった場合でも、Spectrum-Xは独自のトラフィック制御でそれを回避する。
一般的なイーサネットやTCPプロトコルでもある程度の輻輳制御は可能だが、例えばあるサーバで突発的に大量のトラフィックが発生したような場合には、他のサーバのネットワーク帯域幅が急圧迫されて通信速度が低下したり不安定になったりする。AIクラスタでは単一の処理を分割して複数のサーバで分散処理するため、たった1台のサーバの通信が滞っただけでも処理が完了せず、全体の処理性能がそれに引きずられて大幅に低下してしまうため、このようなジッタの多い不安定な通信は、AIの性能を大きく低下させるという。
その点、Spectrum-XとBlueField-3 SuperNICの組み合わせであれば、伝送経路のトラフィックの混雑状況をイーサネットスイッチ/ネットワークアダプターで自動的に検知し、データ送信間隔を広くするなどして自律的に輻輳を回避できる。しかも、その制御がプログラマブルなため、ソフトウェアで挙動を細かくチューニングできる他、将来的に新たな輻輳制御のロジックが開発された際には制御ソフトウェアを入れ替えることで対応できるようになる。
このようにSpectrum-Xは、従来のイーサネットスイッチにはなかった高度なネットワーク最適化技術を、スイッチ単独ではなくサーバ側コンポーネントや各種ソフトウェアとの高度な連携とチューニングで実現することで、AIクラスタ全体の性能向上に大きく貢献できると愛甲氏は強調する。
「NVIDIAによる検証では、クラウド上に構築したAIクラスタ環境にSpectrum-Xを導入することで、従来のイーサネットスイッチと比べて、大規模LLMの学習処理性能が1.2〜1.4倍にまで向上しました。コスト面においても、Spectrum-Xは一般の価格を売りにした従来のイーサネットスイッチと比べれば若干高価だとは思いますが、処理性能の向上を勘案したトータルでの投資対効果は1.3倍にまで向上すると試算しています」(愛甲氏)
AI開発におけるSpectrum-Xの強みは、大規模な環境になればなるほど生きてくる。しかし、大規模なAIクラスタ環境は、事前に本番と同規模のテスト環境を用意するのは極めて難しい。そのため、小規模なテスト環境での事前検証では十分なパフォーマンスを発揮していたにもかかわらず、いざ本番環境では思うように性能が出ないというケースも発生する。
そこでNVIDIAでは、実際にNVIDIAのスーパーコンピュータ「Israel-1」のGPUサーバ100台規模のクラスタを使用し、RDMAやNCCL通信、生成AI学習のパフォーマンスを測定している。
また、クラウド上で仮想的なAIクラスタ環境を構築して、スイッチやサーバ等の構成や設定をデジタルツインでシミュレーションできるサービス「NVIDIA Air」を提供している。NVIDIA Airを活用することで、Spectrum-Xをはじめとする同社の製品群を使った大規模AIクラスタの構成や簡易的な通信を事前に検証することが可能だ。NVIDIAのスーパーコンピュータ「Israel-1」の構築にもNVIDIA Airが使われているという。
性能をとことん追求する占有環境にはInfiniBandが向く
とことん性能を追求する大規模なAIクラスタを構築する際、NVIDIAではイーサネットスイッチよりもInfiniBand製品群「NVIDIA Quantum InfiniBandプラットフォーム」を薦めることが多いと愛甲氏は語る。
「Spectrum-Xの特徴的なトラフィック制御技術は、実はInfiniBandには標準で備わっているものです。そもそもInfiniBandが高速なクラスタ通信を可能にするのは『広帯域/低遅延』なことだけが理由ではなく、高度なトラフィック最適化技術を備えているからです。従って、そうした機能を持たない従来のイーサネットでは、広帯域/低遅延という理由だけで『InfiniBandに肉薄している』と捉えることはできないのです」(愛甲氏)
なお、NVIDIAでは単独もしくは少数のユーザーでAIクラスタ環境を占有して極めて大規模なAIモデルを開発する用途にはInfiniBandを、クラウド上で複数のユーザーがAIクラスタを共有するマルチテナント環境での利用にはSpectrum-Xを推奨している。
「InfiniBandは当初から大規模クラスタ向けの最適化機能が備わっており、イーサネット製品と比べてはるかに容易に設定、導入できるメリットもあります。また、大規模AI学習でも多用され、ネットワーク負荷も高い、集合演算処理の一部をスイッチにオフロードすることで、処理全体を大幅に高速化する機能であるIn-Network Computingも備えています。従って、いくらイーサネットが高速化したからといって、すぐにInfiniBandに取って代わるものではないことはきちんと理解しておく必要があるでしょう」(野田氏)
Copyright © ITmedia, Inc. All Rights Reserved.
関連リンク
提供:エヌビディア合同会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2024年7月14日