大規模モデルのトレーニングは、できれば1サーバーあたり多数のGPUを搭載したマシンのクラスターで行われることが知られています。前回の記事「GPUコンピューティングの基礎-1」では、GPUネットワークにおける一般的な用語と概念を紹介しました。今回は、引き続き一般的なGPUアーキテクチャについて説明します。
8x NVIDIA A100 GPUノード/8x NVIDIA A800 GPUノード
上記のA100 GPUのトポロジー図に示されているように、8個のA100 GPUのトポロジーには以下のコンポーネントが含まれます:
-
CPUチップ2枚(および両側の関連メモリ、NUMA):中央演算処理装置は、汎用コンピューティングタスクを担当します。
-
ストレージネットワークカード2枚(分散ストレージへのアクセス用、インバンド管理など):これらのネットワークカードは、分散ストレージへのアクセスに使用されています。
-
PCIe Gen4スイッチチップ4枚:PCIe Gen4はPCIeインターフェイスの第4世代で、より高速なデータ転送レートを提供します。
-
NVSwitchチップ6枚:NVSwitchは、大規模なディープラーニング・ノーデルや並列コンピューティング・タスクの効率的な運用に不可欠な、極めて高速なGPU間直接通信を容易にします。
-
GPU8個:A100 GPUは、並列化された計算を実行する主要な処理ユニットで、特にAIやディープラーニングのワークロードに適しています。
-
GPU専用ネットワークカード8枚:各GPUには専用のネットワークカードがあり、GPU間の通信を最適化し、並列処理タスクの全体的なパフォーマンスを向上させます。
これらの構成要素については、以下のセクションで詳しく説明します。
次の図は、参考のためにより詳細なトポロジー情報を示しています。
ストレージ・ネットワークカード
GPUアーキテクチャにおけるストレージネットワークカードの位置付けは、主にPCIeバスを介した中央処理装置(CPU)への接続と、分散ストレージシステムとの通信を促進する役割を担っています。以下は、GPUアーキテクチャにおけるストレージネットワークカードの主な目的です:
-
分散ストレージデータの読み書き ストレージ・ネットワーク・カードの主な機能の1つは、分散ストレージ・システムからのデータの読み書きを効率的に行うことです。これは、分散ストレージからトレーニングデータに頻繁にアクセスし、トレーニング結果をチェックポイント・ファイルに書き込むことが不可欠な、ディープラーニング・モデルのトレーニング・プロセスにおいて極めて重要です。
-
ノード管理タスク:ストレージ・ネットワーク・カードはデータ転送に限らず、ノード管理タスクも含まれています。これには、SSH(Secure Shell)によるリモート・ログイン、システム・パフォーマンスの監視、関連データの収集などのタスクが含まれます。これらのタスクは、GPUクラスタの運用状態の監視と維持に貢献します。
公式にはBF3 DPUが推奨されているが、実際には帯域幅の要件を満たす限り、代替ソリューションを選択することができます。例えば、費用対効果を考えるのであればRoCEを、性能を最大化するのであればInfiniBandを選択することが推奨されます。
NVSwitch ファブリック
フルメッシュネットワークトポロジでは、各ノードは他のすべてのノードに直接接続されています。通常、8個のGPUが、NVSwitchファブリックとも呼ばれる6個のNVSwitchチップを介してフルメッシュ構成で接続されます。
フルメッシュ構造では、各ラインの帯域幅は、n * bw-per-nvlink-laneで表されるNVLinkレーンあたりの帯域幅に依存します。1レーンあたり50GB/秒の帯域幅を持つNVLink3テクノロジーを利用するA100 GPUの場合、フルメッシュ構造における各ラインの合計帯域幅は、12 * 50GB/s = 600GB/秒となります。この帯域幅は双方向であり、データ送受信の両方をサポートするため、単方向の帯域幅は300GB/秒になることに注意する必要があります。
対照的に、A800 GPUはNVLinkレーン数を12から8に減らしています。その結果、フルメッシュ構造では、各ラインの合計帯域幅は8 * 50GB/s = 400GB/sとなり、一方向帯域幅は200GB/sとなります。
以下は、8*A800マシンのnvidia-smiトポロジーです。
-
GPU間の接続(左上領域):
すべてNV8と表記され、8つのNVLink接続を表しています。
-
NICコネクタ:
同じCPUダイ上にある:NUMAを横断する必要はないが、PCIeスイッチチップを横断する必要があることを表しています。
異なるCPUダイ上: SYSと指定され、NUMAをトラバースする必要があることを表しています
-
GPUとNICの接続:
同じCPUダイ上で、同じPCIeスイッチチップの下にある:NODEとして識別され、PCIeスイッチチップのみを交差させる必要があることを表しています。
同じCPUダイ上にあるが、同じPCIeスイッチチップの下にはない: NNODEとして指定され、PCIeスイッチチップとPCIeホストブリッジの両方を横断する必要があることを表しています。
異なるCPUダイ上:NUMA、PCIeスイッチチップを横断し、最長距離をカバーする必要があることを表しています。
IDC GPU ファブリック
次の図は、GPUノードの相互接続アーキテクチャを示しています:
コンピュート・ネットワーク
コンピュート・ネットワークは、主にGPUノード間の接続に使用され、並列コンピューティング・タスクの連携をサポートします。これには、複数のGPU間でのデータ転送、計算結果の共有、大規模並列計算タスクの実行調整などが含まれます。
ストレージ・ネットワーク
ストレージ・ネットワークはGPUノードとストレージ・システムを接続するために使用され、大規模データの読み書きをサポートします。これには、ストレージシステムからGPUメモリへのデータのロードや、計算結果のストレージシステムへの書き戻しが含まれます。
AIに求められる高性能を実現するためには、RDMA(Remote Direct Memory Access)がコンピュート・ネットワークとストレージ・ネットワークの両方に不可欠です。2つのRDMAテクノロジーから選択 RoCEv2とInfiniBandの2つのRDMA技術の選択には、費用対効果と優れた性能のトレードオフが含まれ、各オプションは特定のユースケースと予算の考慮事項に対応しています。
パブリック・クラウド・サービス・プロバイダーは、8台のGPUインスタンスにそれぞれ8 * 100Gbpsを搭載したCX構成のように、RoCEv2ネットワークを構成に利用することが多いのです。他のオプションと比較すると、RoCEv2 は、性能要件を満たしていれば、比較的コスト効率に優れています。
RoCEとInfinibandの違いについては、InfiniBand vs. RoCE: AIデータセンターのネットワークを選択する方法をご覧ください。
データリンク接続における帯域幅のボトルネック
この図では、主要リンクの帯域幅仕様を紹介しています:
-
同一ホスト上のGPU間の通信:NVLinkを利用することで、双方向の帯域幅は600GB/秒を達成し、一方向の帯域幅は300GB/秒に達します。
-
同一ホスト上のGPUとそれぞれのネットワークインターフェイスカード(NIC)間の通信:PCIe Gen4スイッチチップを使用し、双方向帯域幅は64GB/秒、一方向帯域幅は32GB/秒に達します。
-
異なるホスト間のGPU間の通信: データ転送はNICに依存し、帯域幅は使用するNICに依存します。現在、中国のA100/A800モデルで一般的に使用されているNICの主流帯域幅は、片方向で100Gbps(12.5GB/秒)です。そのため、ホスト間通信はホスト内通信に比べてパフォーマンスが大幅に低下することになります。
200Gbps (25GB/s) はPCIe Gen4の一方向帯域幅に近い値を示します。
400Gbps(50GB/秒)はPCIe Gen4の一方向帯域幅を上回ります。
したがって、このタイプの構成で400Gbps NICを使用しても、400Gbps帯域幅を完全に利用するにはPCIe Gen5の性能が必要なため、大きなメリットは得られません。
8x NVIDIA H100/8x NVIDIA H800ホスト
H100ホスト内のハードウェアトポロジー
H100ホストの全体的なハードウェアトポロジーは、A100 8カードマシンとよく似ていますが、主にNVSwitchチップの数と帯域幅のアップグレードに見られます。
-
各H100ホスト内には4つのチップがあり、A100構成より2つ数が少ないのです。
-
H100チップは4ナノメートルプロセスで製造され、最下段に18個のGen4 NVLink接続を備え、双方向合計900GB/秒の帯域幅を提供します。
H100 GPUチップ
-
このチップは、最先端の4ナノメートル・プロセスで製造されており、高度な製造技術を示しています。
-
チップの最下段は18個のGen4 NVLink接続で構成され、18レーン×25GB/レーン=900GB/秒の双方向総帯域幅を提供します。
-
中央の青い部分がL2キャッシュで、一時データの保存に使われる高速キャッシュです。
-
チップの左側と右側には、グラフィックス・メモリとして機能するHBMチップが搭載されており、グラフィックス処理に必要なデータを格納します。
ネットワーキング
ネットワークに関しては、H100はA100に似ているが、唯一の違いは、標準構成に400GbpsのCX7ネットワークカードが含まれていることです。