良好なトレーニング パフォーマンスを達成するには、GPU ネットワークが次の条件を満たす必要があります。
1. エンドツーエンドの遅延: GPU 通信は頻繁に行われるため、ノード間のデータ転送の全体的な遅延を削減すると、全体のトレーニング時間の短縮に役立ちます。
2. ロスレス送信: 勾配や中間結果が失われると、トレーニングがメモリに保存されている前のチェックポイントにフォールバックして再開され、トレーニングのパフォーマンスに重大な影響を与えるため、これは AI トレーニングにとって非常に重要です。
3. 効果的なエンドツーエンドの輻輳制御メカニズム: ツリー トポロジでは、複数のノードが XNUMX つのノードにデータを送信するときに一時的な輻輳が避けられません。輻輳が継続すると、システムのテール遅延が増加します。 GPU 間の逐次的な依存関係により、XNUMX つの GPU の勾配更新がネットワーク遅延の影響を受けた場合でも、複数の GPU の動作が停止する可能性があります。リンクが遅いと、トレーニングのパフォーマンスが低下するのに十分です。
上記の要素に加えて、システムのトータルコスト、消費電力、冷却コストなども総合的に考慮する必要があります。これらの前提に基づいて、さまざまな GPU アーキテクチャ設計の選択肢とその長所と短所を検討します。
I. NVLink スイッチング システム
GPU サーバー内の 8 つの GPU を接続する NVLink スイッチを使用して、GPU サーバーを接続するスイッチング ネットワークを構築することもできます。 Nvidia は、32 年の Hot Chips カンファレンスで、NVSwitch アーキテクチャを使用して 256 ノード (または 2022 GPU) を接続するトポロジをデモンストレーションしました。NVLink は、高速ポイントツーポイント リンクで GPU を接続するために特別に設計されているため、より高いパフォーマンスと従来のネットワークよりもオーバーヘッドが低くなります。
第 64 世代 NV スイッチには 12.8 個の NVLink ポートが装備されており、マルチキャストおよびネットワーク アグリゲーション機能をサポートしながら、最大 XNUMXTbps のスイッチング容量を提供します。ネットワーク アグリゲーションは、NV スイッチ内の動作中の GPU によって生成されたすべての勾配を収集し、次の反復のために更新された勾配を GPU にフィードバックできます。この機能は、トレーニング反復プロセス中の GPU 間のデータ転送量を削減するのに役立ちます。
Nvidia によると、NVswitch アーキテクチャは、GPT-3 モデルのトレーニング時に InfiniBand スイッチング ネットワークの 51.2 倍の速度を示し、優れたパフォーマンスを示しています。ただし、このスイッチの帯域幅は、ハイエンド スイッチ サプライヤーが提供する XNUMXTbps スイッチの XNUMX 分の XNUMX であることに注意してください。
NV スイッチを使用して 1000 個を超える GPU を含む大規模なシステムを構築しようとすると、コスト効率が悪いだけでなく、プロトコル自体によって制限され、大規模なシステムをサポートできなくなる可能性があります。さらに、Nvidia は NV スイッチを個別に販売していません。つまり、データ センターがさまざまなサプライヤーの GPU を組み合わせて既存のクラスターを拡張したい場合、他のサプライヤーの GPU はこれらのインターフェイスをサポートしていないため、NV スイッチを使用できません。 。
II.インフィニバンドネットワーク
InfiniBand (IB) は、1999 年の発表以来、高速の代替手段として機能し、PCI および PCI-X バス テクノロジーを効果的に置き換え、サーバー、ストレージ、ネットワークの接続に広く使用されているテクノロジーです。当初の壮大なビジョンは経済的要因により縮小されましたが、InfiniBand は依然としてハイパフォーマンス コンピューティング、人工知能/機械学習クラスター、データ センターなどの分野で広く応用されています。これは主に、その優れた速度、低遅延、ロスレス伝送、およびリモート ダイレクト メモリ アクセスによるものです (RDMA) の機能。
InfiniBand (IB) プロトコルは、効率的で軽量な設計を実現し、イーサネット プロトコルで一般的なオーバーヘッドを効果的に回避することを目的としています。チャネルベースとメモリベースの両方の通信をサポートし、さまざまなデータ転送シナリオを効率的に処理できます。
IB は、送信/受信デバイス間のクレジットベースのフロー制御を使用することにより、ロスレス伝送 (キューまたは仮想チャネル レベル) を実現します。このホップバイホップのフロー制御により、バッファ オーバーフローによるデータ損失が発生しないことが保証されます。さらに、エンドポイント間の輻輳通知もサポートします (TCP/IP プロトコル スタックの ECN と同様)。 IB は優れたサービス品質を提供し、特定のタイプのトラフィックを優先して遅延を短縮し、パケット損失を防ぐことができます。
すべての IB スイッチが RDMA プロトコルをサポートしていることは注目に値します。これにより、CPU オペレーティング システムの介入なしに、ある GPU のメモリから別の GPU のメモリにデータを直接転送できます。この直接転送モードによりスループットが向上し、エンドツーエンドの遅延が大幅に短縮されます。
ただし、InfiniBand スイッチング システムは、多くの利点があるにもかかわらず、イーサネット スイッチング システムほど普及していません。これは、InfiniBand スイッチング システムの構成、保守、拡張が比較的難しいためです。の コントロール プレーンは通常、単一のサブネット マネージャーによって集中的に制御されます。小規模なクラスターでは適切に実行できますが、32K 以上の GPU を備えたネットワークではスケーラビリティが課題になる可能性があります。さらに、IB ネットワークにはホスト チャネル アダプタや InfiniBand ケーブルなどの特殊なハードウェアも必要なため、拡張コストがイーサネット ネットワークよりも高くなります。
現在、Nvidia は、HPC および AI GPU クラスター用のハイエンド IB スイッチを提供する唯一のサプライヤーです。たとえば、OpenAI は、10,000 個の Nvidia A100 GPU と IB スイッチング ネットワークを使用して、Microsoft Azure クラウド上で GPT-3 モデルをトレーニングしました。 Meta は最近、Nvidia A16 GPU サーバーと Quantum-100 IB スイッチを使用する 2K GPU を備えたクラスターを構築しました (Nvidia は、2021Tbps のスイッチング容量と 25.6Gbps ポートを備えた新しい InfiniBand ネットワーク プラットフォームを GTC 400 カンファレンスで発表しました)。このクラスターは、LLaMA などの生成人工知能モデルをトレーニングするために使用されます。 10,000 個を超える GPU を接続する場合、サーバー内の GPU 間の切り替えはサーバー内の NV スイッチによって行われ、サーバー間の接続は IB/イーサネット ネットワークが担当することに注意してください。
より大きなパラメータのトレーニング需要に対処するために、超大規模クラウド サービス プロバイダーは 32K、さらには 64K GPU を備えた GPU クラスターの構築を検討しています。この規模では、イーサネット ネットワークを使用する方が経済的に合理的である可能性があります。これは、イーサネットが多くのシリコン/システムおよび光モジュールのサプライヤー間で強力なエコシステムを形成しており、オープンスタンダードを目指しており、サプライヤー間の相互運用性を実現しているためです。
RoCE ロスレス イーサネット
イーサネットは、データセンターからバックボーン ネットワークに至るまで、さまざまなアプリケーションで広く使用されており、その速度は 1Gbps から 800Gbps に及び、将来的には 1.6Tbps に達するとも予想されています。 Infiniband と比較すると、イーサネットは相互接続ポートの速度と総スイッチ容量の点で優れています。さらに、ハイエンド ネットワーク チップ サプライヤー間の熾烈な競争のおかげで、イーサネット スイッチは比較的安価であり、帯域幅単位あたりのコストが低くなり、より多くの帯域幅を ASIC に統合することでギガビットあたりのコストが削減されています。
ハイエンド イーサネット スイッチ ASIC の主要サプライヤーは、51.2 Gbps ポートを備えた最大 800 Tbps のスイッチ容量を提供できます。これは、Quantum-2 (NVIDIA GTC 2021 でリリースされた新しい InfiniBand ネットワーク プラットフォーム、25.6 Tbps のパフォーマンス) の 400 倍のパフォーマンスです。スイッチ容量と XNUMXGbps ポート)。これは、スイッチのスループットが XNUMX 倍になれば、GPU ネットワークの構築に必要なスイッチの数を半分にできることを意味します。
イーサネットは、優先フロー制御 (PFC) を通じてロスレス伝送サービスを提供することもできます。 PFC は 8 つのサービス クラスをサポートしており、それぞれフロー制御でき、一部はロスレス クラスとして指定できます。スイッチを処理して通過する場合、ロスレス トラフィックはロッシー トラフィックよりも優先されます。ネットワークが輻輳した場合、スイッチまたは NIC は、単にパケットをドロップするのではなく、フロー制御を通じて上流のデバイスを管理できます。
さらに、イーサネットは、RoCEv2 (RDMA over Converged Ethernet) を介した RDMA (リモート ダイレクト メモリ アクセス) もサポートしており、RDMA フレームは IP/UDP でカプセル化されます。 RoCEv2 パケットが GPU サーバーのネットワーク アダプター (NIC) に到着すると、NIC は CPU の介入なしに RDMA データを GPU のメモリに直接転送できます。一方、DCQCN などの強力なエンドツーエンドの輻輳制御スキームを導入して、RDMA のエンドツーエンドの輻輳とパケット損失を軽減できます。負荷分散の観点から、BGP などのルーティング プロトコルは等コスト マルチパス ルーティング(ECMP)を使用して、宛先までの同じ「コスト」で複数のパスにパケットを分散します。ターゲットへの複数の等コスト パスを持つスイッチにパケットが到着すると、スイッチはハッシュ関数を使用してパケットのパスを決定します。ただし、ハッシュは常に完璧であるとは限らず、一部のリンクに不均一な負荷がかかり、ネットワークの輻輳が発生する可能性があります。
負荷分散の観点から、BGP などのルーティング プロトコルは等コスト マルチパス ルーティング (ECMP) を使用して、等しい「コスト」で複数のパスにパケットを分散します。宛先への等コスト パスが複数あるスイッチにパケットが到着すると、スイッチはハッシュ関数を使用してパケットを送信するパスを決定します。ただし、ハッシュは常に完璧であるとは限らず、一部のリンクに不均一な負荷がかかり、ネットワークの輻輳が発生する可能性があります。
この問題を解決するには、わずかに過剰な帯域幅を確保したり、パスが混雑しているときにスイッチが新しいフロー パケットを他のポートにルーティングできるようにする適応型ロード バランシングを実装したりするなど、いくつかの戦略を採用できます。多くのスイッチがすでにこの機能をサポートしています。さらに、RoCEv2 のパケット レベルの負荷分散により、利用可能なすべてのリンクにパケットを均等に分散して、リンク バランスを維持できます。しかし、これにより、パケットが順序どおりに宛先に到着しない可能性があり、GPU がデータを順序どおりに受信できるように、ネットワーク カードが RoCE トランスポート層でこれらの順序のないデータの処理をサポートする必要があります。これには、ネットワーク カードとイーサネット スイッチによる追加のハードウェア サポートが必要です。
さらに、NVIDIA のハイエンド イーサネット スイッチなど、一部のベンダーの ROCE イーサネット スイッチは、スイッチ内の GPU からの勾配を集約することもできるため、トレーニング プロセス中の GPU 間のトラフィックを削減できます。
要約すると、ハイエンド イーサネット スイッチとネットワーク カードは強力な輻輳制御、負荷分散、RDMA サポートを備えており、IB スイッチよりも大規模な設計に拡張できます。一部のクラウド サービス プロバイダーや大規模クラスター企業は、32 個を超える GPU を接続するために、イーサネット ベースの GPU ネットワークを使用し始めています。
DDC フルスケジュール ネットワーク
最近、いくつかのスイッチ/ルーター チップ ベンダーが、完全にスケジュールされたファブリックまたは AI ファブリックをサポートするチップの発売を発表しました。この完全にスケジュールされたネットワークは、仮想出力キュー (VOQ) ネットワークを使用するジュニパーの PTX シリーズ ルーターなど、10 年以上にわたって多くのモジュラー シャーシ設計に適用されてきました。
VOQ アーキテクチャでは、パケットは入力リーフ スイッチで 40 回だけバッファリングされ、最終的な出力リーフ スイッチ/WAN ポート/出力キューに対応するキューに格納されます。これらのキューは、入力スイッチでは仮想出力キュー (VOQ) と呼ばれます。したがって、各入力リーフ スイッチは、システム全体のすべての出力キューにバッファ スペースを提供します。このバッファのサイズは、通常、各 VOQ のパケットが 70 ~ XNUMX マイクロ秒以内に輻輳に遭遇したときに、それらのパケットを収容するのに十分なサイズです。 VOQ 内のデータ量が少ない場合、データはオンチップ バッファに保持されます。キューが大きくなり始めると、データは外部メモリの深いバッファに転送されます。
入力リーフ スイッチ上の VOQ が複数のパケットを蓄積すると、出力スイッチに要求を送信し、これらのパケットをネットワーク内で送信するように求めます。これらのリクエストは、ネットワークを通じて出力リーフ スイッチに送信されます。
出力リーフ スイッチのスケジューラは、厳密なスケジューリング階層とその浅い出力バッファ内の利用可能なスペースに基づいて、これらの要求を承認します。これらの承認のレートは、スイッチ リンクのオーバーサブスクライブ(キュー バッファの許容範囲を超えたもの)を避けるために制限されています。
承認が入力リーフ スイッチに到着すると、承認されたパケットのセットが出力に送信され、利用可能なすべてのアップリンクを通じて送信されます。
特定の VOQ に送信されたパケットは、使用可能なすべての出力リンクに均等に分散され、完全なロード バランシングを実現できます。これにより、パケットの順序が変更される可能性があります。ただし、出力スイッチには、これらのパケットを順番に並べ替えて GPU ノードに送信できる論理機能があります。
出力スケジューラは、承認されたデータがスイッチに入る前に制御し、リンク帯域幅の過剰使用を回避するため、イーサネット データ プレーンでのインキャストによって引き起こされる輻輳の問題 (複数のポートが単一の出力ポートにトラフィックを送信しようとする場合) を 99% 排除します。 )、行頭ブロック(HOL ブロック)を排除します。このアーキテクチャでも、データ (要求と承認を含む) はイーサネット経由で送信されることに注意してください。
HOL ブロッキングとは、ネットワーク伝送における現象を指します。一連のパケットの最初のパケットが障害物に遭遇すると、後続のパケットの出力ポートがアイドル状態であっても、後続のすべてのパケットがブロックされ、伝送を続行できなくなります。この現象は、ネットワークの伝送効率とパフォーマンスに重大な影響を与えます。
Juniper の Express や Broadcom の Jericho シリーズなどの一部のアーキテクチャは、独自のセル化データ プレーンを通じて仮想出力キュー (VOQ) を実装しています。
この方法では、リーフ スイッチがパケットを固定サイズのセグメントに分割し、利用可能なすべての出力リンクに均等に分散します。大小のパケットが混在しているとすべてのリンクを完全に利用するのは難しいため、パケット レベルで均等に分散する場合と比較して、リンクの利用率を向上させることができます。セグメント転送により、出力リンク (出力イーサネット インターフェイス) でのストア/転送遅延も回避されます。セグメント データ プレーンでは、セグメントの転送に使用されるスパイン スイッチがカスタム スイッチに置き換えられ、セグメント転送を効率的に実行できます。これらのセグメント データ プレーン スイッチは、L2 スイッチングのオーバーヘッドをサポートする必要がないため、消費電力と遅延の点でイーサネット スイッチよりも優れています。したがって、セグメントベースのデータ プレーンは、リンクの使用率を向上させるだけでなく、VOQ データ プレーンの全体的な遅延も削減できます。
VOQ アーキテクチャにはいくつかの制限があります。
各リーフ スイッチの入力ポートには、輻輳時にシステム内のすべての VOQ のパケットを保存するための適切なバッファが必要です。バッファ サイズは、GPU の数と GPU ごとの優先キューの数に比例します。 GPU の規模が大きくなると、入力バッファの需要も大きくなります。
送信キュー バッファには、要求と承認のハンドシェイク中にこれらのバッファが使い果たされるのを防ぐために、データ プレーンの往復遅延をカバーするのに十分なスペースが必要です。 3 レベルのデータ プレーンを使用する大規模な GPU クラスターでは、ケーブルの遅延と追加のスイッチの存在により、この往復遅延が増加する可能性があります。往復遅延の増加に対応するために出力キュー バッファーが適切に調整されていないとします。その場合、出力リンクは 100% の使用率を達成できなくなり、システムのパフォーマンスが低下します。
VOQ システムは、出力スケジューリングを通じてヘッドオブライン ブロッキングによって引き起こされるテール レイテンシを短縮しますが、パケットの最小レイテンシは余分なラウンドトリップ遅延によって増加します。これは、入力リーフ スイッチがその前に要求と承認のハンドシェイクを実行する必要があるためです。パケットを送信しています。
これらの制限にもかかわらず、完全にスケジュールされた VOQ (ファブリック) は、一般的なイーサネット トラフィックよりもテール レイテンシの短縮において大幅に優れたパフォーマンスを発揮します。バッファを増やすことによってリンク使用率が 90% 以上に増加する場合、GPU スケールの拡張によってもたらされる追加のオーバーヘッドには投資する価値がある可能性があります。
また、ベンダーロックインはVOQ(ファブリック)が直面する問題です。各ベンダーは独自のプロトコルを使用しているため、同じファブリック内でスイッチを混在させて適合させることは非常に困難です。
概要: 主流の GPU クラスター ネットワーキング テクノロジの適用
NVLink スイッチング システムは、GPU 相互通信に効果的なソリューションを提供しますが、サポートされる GPU の規模は比較的限られており、主にサーバー内の GPU 通信とサーバー ノード間の小規模なデータ送信に適用されます。 InfiniBand ネットワークは、ネイティブ RDMA ネットワークとして、輻輳のない低遅延環境で優れたパフォーマンスを発揮します。ただし、比較的閉鎖的なアーキテクチャとコストが高いため、有線接続を必要とする中小規模の顧客に適しています。
ROCE ロスレス イーサネットは、成熟したイーサネット エコシステム、最低のネットワーキング コスト、最速の帯域幅反復速度に依存しており、中規模および大規模のトレーニング GPU クラスターのシナリオで高い適用性を示します。
DDC のフルスケジュール ネットワークに関しては、セル スイッチングと仮想出力キュー (VOQ) テクノロジーを組み合わせているため、イーサネットの輻輳問題の解決に大きな利点があります。新興テクノロジーとして、業界はまだその長期的な可能性と応用の見通しを評価する研究段階にあります。
関連製品:
- NVIDIA MMA4Z00-NS400 互換 400G OSFP SR4 フラットトップ PAM4 850nm OM30 で 3m/OM50 で 4m MTP/MPO-12 マルチモード FEC 光トランシーバ モジュール $650.00
- NVIDIA MMA4Z00-NS-FLT 互換 800Gb/s ツインポート OSFP 2x400G SR8 PAM4 850nm 100m DOM デュアル MPO-12 MMF 光トランシーバー モジュール $850.00
- NVIDIA MMA4Z00-NS 互換 800Gb/s ツインポート OSFP 2x400G SR8 PAM4 850nm 100m DOM デュアル MPO-12 MMF 光トランシーバー モジュール $750.00
- NVIDIA MMS4X00-NM 互換 800Gb/s ツインポート OSFP 2x400G PAM4 1310nm 500m DOM デュアル MTP/MPO-12 SMF 光トランシーバー モジュール $1100.00
- NVIDIA MMS4X00-NM-FLT 互換 800G ツインポート OSFP 2x400G フラットトップ PAM4 1310nm 500m DOM デュアル MTP/MPO-12 SMF 光トランシーバー モジュール $1200.00
- NVIDIA MMS4X00-NS400 互換 400G OSFP DR4 フラットトップ PAM4 1310nm MTP/MPO-12 500m SMF FEC 光トランシーバー モジュール $800.00
- Mellanox MMA1T00-HS 互換 200G Infiniband HDR QSFP56 SR4 850nm 100m MPO-12 APC OM3/OM4 FEC PAM4 光トランシーバー モジュール $200.00
- NVIDIA MFP7E10-N010 互換 10 メートル (33 フィート) 8 ファイバー 低挿入損失 メス - メス MPO トランク ケーブル 極性 B APC - APC LSZH マルチモード OM3 50/125 $47.00
- NVIDIA MCP7Y00-N003-FLT 互換 3m (10 フィート) 800G ツインポート OSFP ~ 2x400G フラットトップ OSFP InfiniBand NDR ブレイクアウト DAC $275.00
- NVIDIA MCP7Y70-H002 互換 2m (7 フィート) 400G ツインポート 2x200G OSFP から 4x100G QSFP56 パッシブ ブレークアウト ダイレクト アタッチ銅線ケーブル $155.00
- NVIDIA MCA4J80-N003-FTF 互換 3m (10 フィート) 800G ツインポート 2x400G OSFP から 2x400G OSFP InfiniBand NDR アクティブ銅線ケーブル、一方の端はフラット トップ、もう一方の端はフィン付きトップ $600.00
- NVIDIA MCP7Y10-N002 互換性のある 2m (7 フィート) 800G InfiniBand NDR ツインポート OSFP から 2x400G QSFP112 ブレイクアウト DAC $200.00