大規模高性能AIネットワークの設計と実践

大規模モデルのトレーニングのネットワーク要件

ここ半年、大型モデルの話題が続いている。大規模モデルの開発と応用についてはまだ多くの議論がありますが、大規模モデルの機能が将来の人工知能の開発の基盤になっているのは間違いありません。以前の小規模モデルと比較して、大規模モデルでは大規模な分散並列トレーニングに対する需要が高くなります。

これは主に 260 つの理由によるものです。 モデル自体が非常に大きいです。現在の GPU メモリの制限により、ストレージ用にモデルを多数の GPU に分割する必要があります。たとえば、FiberMall の大規模モデルには 800 億のパラメータがありますが、実際には、80 GB のメモリを備えた 1 つの A2 GPU には、トレーニング中の計算状態を含め、約 260 ~ XNUMX 億のパラメータしか保存できません。 XNUMX 億のパラメーター モデルだけを保存するには数百の GPU が必要となり、これはすでに比較的大規模です。

より多くのパラメーターをトレーニングするには、より多くの計算能力が必要になるため、高速化のために大規模な GPU を導入する必要があり、必要な GPU の数も 1 桁増加します。

FiberMall では、タスクに使用される GPU の数に基づいてトレーニング スケールに名前を付けています。たとえば、カードが 100 枚未満の場合は小規模、100 ~ 1,000 枚の場合は中規模、1,000 枚を超える場合は大規模、10,000 枚を超える場合は超大規模と呼ばれます。この命名規則によれば、1,000 枚を超えるカードの大規模な並列トレーニングが大規模モデルの成功の基礎であると言えます。

パラレルトレーニング

機械学習モデルの分散並列トレーニングには、いくつかの一般的な戦略があります。最も広く使用されている 3 つのアプローチについて概説します。

最も広く採用されている戦略はデータ並列処理です。データ並列処理では、各 GPU がモデルの同一のコピーを維持し、データセットが分割されてトレーニングのために GPU 全体に分散されます。各トレーニング反復の後、各 GPU で計算された勾配がグローバルに同期され、それに応じて次の反復のモデル パラメーターがすべての GPU にわたって更新されます。データ並列処理では、GPU 全体の勾配を集約するために Allreduce 操作が必要であり、通信量はモデル パラメーターのサイズに応じて拡大します。これは、数十億のパラメーターを持つ大規模なモデルではかなりの量になる可能性があります。

2 番目の並列戦略はパイプライン並列処理です。ニューラル ネットワーク モデルは通常、ディープ Transformer モデルを含む複数のニューロン層で構成されます。パイプライン並列処理では、モデルはレイヤーごとに分割され、異なるレイヤーが異なる GPU に割り当てられます。このアプローチでは、順方向パス中にアクティベーションを渡し、逆方向パス中に勾配を渡すために、GPU 間のポイントツーポイント データ転送が必要です。通信は反復ごとに複数回発生しますが、転送されるデータの量は一般に大きくなく、ネットワークのパフォーマンス要件は比較的控えめです。

3 番目の並列戦略はテンソル並列処理です。これには、複数の GPU を共同利用して行列乗算などの単一のテンソル計算を実行することが含まれます。このアプローチでは、GPU 間で部分テンソル計算結果を同期するために Allreduce 操作が必要です。計算されるテンソルのサイズは、モデル アーキテクチャとトレーニングに使用されるバッチ サイズの両方に依存し、これらのテンソル計算は各トレーニング反復中に頻繁に発生します。結果として、テンソル並列処理が最も要求されます。

XNUMXつの平行

3 つの並列戦略の特性を考慮して、大規模モデルをトレーニングする場合はハイブリッド アプローチが一般的に採用されます。

複数の GPU を備えた単一マシン内では、GPU 間の高帯域幅 NVLink 接続を最大限に活用するためにテンソル並列処理が採用されています。

8 つの GPU を備えた XNUMX 台のマシンでは大規模なモデル全体に​​対応できない可能性があるため、複数のマシンにわたってパイプライン並列処理を使用して、並列パイプラインによる最小トレーニング ユニットを構築します。

モデルのトレーニングをさらに高速化するために、データ並列処理が適用されます。各データ並列 (DP) グループは、テンソル並列処理とパイプライン並列処理の組み合わせで構成されます。

データ並列処理における Allreduce 操作は各 DP グループ内で発生し、同じ DP グループの GPU 間で勾配が同期されます。たとえば、この図は、テンソル並列処理で 8 つの GPU、パイプライン並列処理で 4 つの GPU、および 3 つの DP グループを備えた構成を示しています。この場合、Allreduce グループが 32 個あり、それぞれに 3 つの GPU があり、勾配同期を実行します。

大規模なモデルをトレーニングするための主なネットワーク要件は、データ並列処理ステージでの Allreduce 操作です。各 GPU は、10 GB 範囲のデータ ボリュームで Allreduce に参加する必要があります。

ハイブリッド並列処理

大規模なモデル トレーニングの必要性により、私たちは高性能 AI ネットワークの 3 つの主要な目標、つまり超大規模、超高帯域幅、超長時間の安定性を提案するようになりました。

超大規模

モデルのサイズは、モデルのトレーニングの速度に直接影響します。図に示すように、175 億のパラメーター モデルの場合、100 個の GPU を使用してトレーニングするには 2,000 日以上かかります。ただし、8,000 GPU を使用すると、トレーニング時間を約 30 日に短縮できます。これは、今日の大規模モデルを迅速に反復するために非常に重要です。

超高帯域幅

AllReduce 帯域幅は、大規模な分散トレーニングの全体的な効率を直接決定します。図が示すように、単一 GPU の AllReduce 帯域幅の平均が 5GB/秒の場合、大規模分散トレーニングにおける全体的な高速化率はわずか 70% です。 90% の加速率を達成するには、シングル GPU の AllReduce 帯域幅が 20GB/秒に達する必要があります。これは、シングル GPU が 400G ネットワーク カードをフルに活用するのと同等です。

超長期安定性

モデルのトレーニングが数週間続くことを考えると、長期的な安定性が最も重要です。 GPU の可用性を例に挙げると、99.9 つの GPU の月間可用性が 1,000% の場合、60 GPU での 99.99 か月のトレーニング中に障害や中断が発生する確率は 8,000% です。 GPU の可用性が 50% に向上したとしても、XNUMX 個の GPU での中断確率は依然として約 XNUMX% です。トレーニングの中断を最小限に抑え、頻繁なチェックポイントの必要性を減らすために、ネットワークはさらに高い可用性を確保する必要があります。

ネットワーク要件

AIPod 高性能ネットワーク設計

これらの目標に対処するために、私たちは AI インフラストラクチャ用の AIPod 高性能ネットワークを設計しました。

図に示すように、AIPod ネットワークは、約 400 のスイッチ、3,000 のネットワーク カード、10,000 のケーブル、および 20,000 の光モジュールを備えた完全に接続されたトポロジです。ケーブルの全長は北京から青島までの距離に相当します。

AIPodの高性能

AIPod ネットワークの合理的な設計

概念的な理解に関する前回の説明に続いて、AIPod ネットワークの合理的な設計について詳しく掘り下げてみましょう。

大規模な AIPod ネットワークをサポートするために、3 層のノンブロッキング CLOS ネットワーク アーキテクチャが選択されました。 CLOS ネットワーク トポロジは、前に示した図と似ています。

サーバーはリーフ (LF) レイヤ スイッチに接続されます。

リーフ スイッチはスパイン (SP) スイッチと相互接続します。

スパイン スイッチはさらに SuperSpine (SSP) 層に接続されます。

前述したように、大規模なモデルのトレーニング中、主な通信は同じサーバーの GPU 間で (つまり、GPU 1 から GPU 1、GPU 2 から GPU 2 など) 行われます。 GPU 間の通信はそれほど頻繁ではありません。

この通信パターンに対応するために、AIPod ネットワークは 8 チャネル アーキテクチャを採用しています。各サーバーには 8 つのネットワーク ポートがあり、それぞれが異なるリーフ スイッチに接続されています。これら 8 つのリーフ スイッチはアグリゲーション グループを形成し、最大 512 個の GPU をサポートします。

さらに、8 つのリーフ スイッチは異なるチャネルに接続されており、各チャネル内でリーフ スイッチとスパイン スイッチはフルメッシュ トポロジになっています。この設計により、クラスターを拡張して 16 を超える GPU をサポートできるようになります。

通信の大部分は同じチャネル内で行われますが、クロスチャネル通信の必要性も依然として存在します。これに対処するために、AIPod ネットワークは SuperSpine レイヤーを使用してさまざまなチャネルの Spine スイッチを相互接続し、ネットワーク全体にシームレスな通信パスを提供します。

AIPod ネットワークは、ノンブロッキングまたは 1:1 のオーバーサブスクリプション比設計を採用しており、スイッチのアップリンク帯域幅とダウンリンク帯域幅が等しく、十分なクラスタ内帯域幅が確保されています。

可能な限り最大の規模をサポートするために、AIPod ネットワークは、前の 51.2T および 12.8T 世代から進化した 25.6T スイッチなどの最新の大容量スイッチ チップを利用します。

この AIPod ネットワークの合理的な設計は、多層 CLOS アーキテクチャ、チャネルベースの通信、および大容量スイッチング コンポーネントを備えており、大規模な AI トレーニング ワークロードのサポートを可能にします。

3レベル非収束

前回の説明では、大規模な AIPod ネットワークの構築について説明しました。次に、ネットワーク帯域幅に関連する課題に注目してみましょう。

FiberMall のインテリジェント クラウド インフラストラクチャは、最大 8 倍のサーバー アクセス仕様を選択しました。400G、ネットワークはノンブロッキング CLOS アーキテクチャを利用し、RDMA と GDR をサポートします。理論的には、これにより非常に高い帯域幅機能が提供されるはずです。ただし、ネットワークの規模が大きくなるにつれて、さまざまな問題が発生する可能性があります。最も重大な問題の 1 つは、スイッチ間でのパス選択の競合です。

技術的には、ほぼすべてのネットワーク伝送には固有の問題があります。つまり、受信側での再送信とパフォーマンスの低下を引き起こす可能性がある接続内でのパケットの並べ替えを回避するために、スイッチは同じ接続のパケットを単一のパスに沿って転送する必要があります。このパスの選択は、使用されるハッシュ アルゴリズムによって異なります。

図に示すように、ハッシュ アルゴリズムには衝突があることが知られています。 2 つのクロススイッチ接続が同じ左側のリンクを同時に選択すると、右側のリンクが十分に活用されないまま混雑し、両方の接続の帯域幅が事実上半分になります。この問題は、大規模なトレーニング環境では非常に一般的です。

この問題の影響を軽減するために、通常は、右の図に示すように、GPU 間で複数の接続を使用するように NCCL 通信ライブラリを構成します。接続が多いほど、深刻な不均衡が発生する可能性は低くなります。このアプローチでは、ネットワーク内のルーティング エントロピーが増加し、ハッシュ ベースのパス選択の競合の影響が軽減されますが、問題が完全に解決されるわけではありません。

高帯域幅

これらの問題は、スイッチ間の通信シナリオでのみ発生することがわかります。したがって、影響をさらに軽減するには、可能な限り単一のスイッチ内で通信を維持するように努める必要があります。同じ番号の GPU 間のアグリゲーション グループ内通信はスイッチを通過しないため、ハッシュ ベースのパス選択の競合が回避されます。これが、各集約グループのサイズを最大化することを目指す理由です。

スイッチ間の通信を減らすために、AIPod ネットワークはネットワーク アーキテクチャを認識したアプローチを提供します。これにより、上位システムは、ネットワーク アーキテクチャ内の現在の GPU の位置、その集約グループ、およびその GroupID を認識できるようになります。

AIPod は、この情報をタスク スケジューリング システムに公開して、可能な限り同じ集約グループ内でタスクをスケジュールできるようにし、通信が単一の集約グループ内に留まるようにすることができます。

ただし、大規模なモデル タスクは、単一の集計グループ内に制限するには大きすぎることがよくあります。このような場合、アグリゲーション グループ情報を活用して、グローバル GPU リソースの秩序ある処理を実行し、通信ライブラリがクロススイッチ トラフィックを最小限に抑えるより効率的な Allreduce トポロジを構築できるようにする必要があります。右下の図はこの概念を示しています。4 GPU の Allreduce 操作に対する XNUMX つの異なるリング構築順序により、クロススイッチの帯域幅使用率が大幅に異なる可能性があります。左側のアプローチはより効率的ですが、右側のアプローチは効率的ではありません。これは、AIPod のネットワーク アーキテクチャを認識した機能の利点です。

NCCL

ネットワーク アーキテクチャを意識したアプローチにより、スイッチ間通信の量が大幅に削減され、ハッシュ ベースのパス選択の競合の影響が軽減されます。ただし、依然として競合が発生する可能性があるため、問題は完全に解決されたわけではありません。

この問題に完全に対処するには、ネットワークのマルチパス転送機能を活用する必要があります。これにより、順序どおりでないパケット受信が可能になり、単一接続のパケットは単一パスに沿ってのみ転送できるという想定が打ち破られます。 Infiniband ネットワークではこの適応ルーティング機能が導入されており、AIPod では、FiberMall のカスタム構築スイッチ上に動的負荷分散 (DLB) テクノロジーを使用して同様の機能を実装しました。

このアプローチでは、図に示すように、ネットワーク インターフェイス カードは最初にパケットにマークを付けて、順序外の処理を許可します。次にスイッチは、キューの深さやリンク使用率などの要素に基づいて、各パケットの最適なパスを計算します。これにより、パケットの並べ替えという課題が生じますが、これは受信側がパケットの並べ替え処理を通じて対処します。

このメカニズムの組み合わせにより、クロススイッチ通信におけるハッシュベースのパス選択の競合問題を効果的に解決できます。私たちは、これらの基礎となる技術力を強化することが、大規模な訓練の究極の解決策であると信じています。

AIPod ネットワークの安定性を確保する

大規模なモデルのトレーニングでは、長時間実行されるタスクを中断せずに維持することが重要ですが、ハードウェア障害は避けられません。 16,000 個の GPU を収容できるクラスターの場合、約 100,000 個の光モジュールが存在する可能性があります。このような大規模なベースでは、モジュールあたりの平均故障間隔 (MTBF) が 10 万時間であると仮定すると、低確率のイベントが大規模になると高確率のイベントになるため、平均して約 4 日ごとに故障が発生する可能性があります。

これに対処するために、AIPod ネットワークはハードウェア障害からの迅速な回復を可能にするように設計されています。たとえば、ネットワーク内のリンクで障害が発生し、パケット損失が発生したとします。その場合、AIPod は、このパケット損失の継続時間が通信ライブラリによって設定された通常のタイムアウトよりも短くなり、タスクの中断を防ぐ必要があります。

アップリンク パケット損失の場合、AIPod の動的ロード バランシング テクノロジーは、利用可能な代替リンクを選択することでミリ秒単位の回復を実現します。ダウンリンク パケット損失の場合、AIPod はネットワーク ルーティング アップデートとコンバージェンスをトリガーし、ルーティング アップデート戦略と配信効率を最適化して、ダウンリンク パケット損失期間を第 2 レベル以内に保ちます。

回復します

さらに、AIPod ネットワークには、スイッチ チップの欠陥によって引き起こされるビット反転問題など、明示的な障害検出がなければパケットの破損や損失につながる可能性のある隠れた問題を積極的に特定するためのブラックボックス検出メカニズムが含まれています。このメカニズムにより、すべてのリンクが継続的に監視され、接続の問題が発生すると、自動的な位置特定と分離がトリガーされ、運用チームによる迅速な介入を求めるアラートがトリガーされます。

接続関連の障害以外にも、PFC テクノロジーによって実現された AIPod のロスレス ネットワーク設計では、チップ障害による PFC デッドロックや持続的な PFC ストームなどの異常が発生する可能性があります。 AIPod は、FiberMall のカスタム スイッチ上に構築されたパフォーマンス テレメトリ プラットフォームを通じてこれらの課題に対処します。これにより、あらゆるパケット損失、PFC、またはバッファーの異常を可視化し、大規模なモデルのトレーニングの安定性に影響を与える前に、迅速な検出と解決が可能になります。

AIPod ネットワークでの超低遅延の実現

帯域幅が主な関心事である大規模モデルのトレーニングでは、低遅延は重要な考慮事項ではありませんが、AIPod ネットワークは遅延に敏感な AI ワークロードもサポートするように設計されています。

低遅延を実現するために最適化できる主な要素は、ファイバー遅延とスイッチのキュー遅延です。 AIPod ネットワークは、クラスターの物理レイアウトを最適化してサーバー、スイッチ、スイッチ間の距離を最小限に抑え、より短いファイバー接続の使用を可能にしてファイバー伝播遅延を削減します。

さらに、AIPod ネットワークは輻輳制御パラメータを最適化して、キュー遅延に直接影響するスイッチ バッファの占有量を最小限に抑えます。これらの最適化により、AIPod はマイクロ秒レベルのネットワーク遅延を達成できますが、これはエンドツーエンドの大規模モデルのトレーニング パフォーマンスの観点からは無視できる程度です。

AIPod の高性能ストレージの活用

高性能トレーニング ネットワークに加えて、AIPod は、クライアントあたり最大 200 Gbps を実現できる柔軟な RDMA ベースの並列ファイル システム (PFS) や高性能ハードウェア負荷など、FiberMall の高性能ストレージ機能も活用しています。クラウド ファイル ストレージ (CFS) またはオブジェクト ストレージ (BOS) にアクセスするためのインスタンスのバランスをとり、クライアントごとに 10 Gbps を超える安定した帯域幅を提供します。

これらの高性能ストレージ テクノロジは、大規模モデルのトレーニングの全体的な計算効率に大きく貢献します。

AIPod大型モデルトレーニングの実践

FiberMall は、大規模モデル トレーニングにおける AIPod ネットワークの実用化を実証し、RoCE クラスターと Infiniband クラスターの両方で 100 Gbps を超える GPU あたりの通信帯域幅による安定した動作を示しました。

これらの大規模なトレーニングの取り組みをサポートするために、FiberMall は、数千の並列インスタンスのネットワーク トラフィック データを集約して分析できる高精度のタスク視覚化ツールや、問題を迅速に特定できる障害診断ツールなどの特殊なツールを開発しました。 GPU の障害やノードの速度低下など、トレーニング全体のパフォーマンスを妨げる可能性のあるさまざまな異常の根本原因を特定します。

AIPod の高性能ネットワーク、サポート ツール、およびストレージ機能により、FiberMall の顧客は大規模なモデルを効率的かつコスト効率よくトレーニングできるようになり、大規模な AI モデルの時代において主導的な地位を維持できます。

コメント

上へスクロール