新世代の AIGC ネットワーク ソリューション: ネットワーキング用の DDC テクノロジー

2023 年は、ChatGPT、GPT-4、アーニー ボットなどの大規模な AIGC モデルに代表される AI 人工知能テクノロジーの本格的な台頭を目撃しました。これらは、テキストの作成、コード開発、詩の作成などの複数の機能を統合し、優れたコンテンツ制作能力を見事に発揮し、人々に大きな衝撃を与えました。 IT プロフェッショナルとして、AIGC 大型モデルの背後にある通信テクノロジーも深い思考を呼び起こすはずです。 優れたネットワークがなければ、大規模なモデルのトレーニングについて話すことはできません。 大規模な学習モデルクラスターを構築するには、GPUサーバーやネットワークカードなどの基本コンポーネントが必要なだけでなく、ネットワーク構築の問題も解決が急務となっています。 AIGCの運営を支える強力なネットワークとはどのようなものなのでしょうか? AI の波の本格的な到来は、従来のネットワークにどのような革命的な変化をもたらすのでしょうか?

AIGC

前述した AIGC の大規模モデルが非常に強力である理由は、その背後に大量のデータ フィードがあるためだけでなく、アルゴリズムが常に進化し、アップグレードされているためでもあります。 さらに重要なことは、人間のコンピューティング能力の規模がある程度まで発達したことです。 強力なコンピューティング能力インフラストラクチャは、AIGC のコンピューティング ニーズを完全にサポートできます。 大規模なモデルをトレーニングする場合、モデルのサイズは通常、単一の GPU のメモリと計算能力を超えるため、負荷を共有するために複数の GPU が必要になります。 大規模なモデルのトレーニングのプロセスでは、GPU 負荷分散には XNUMX つの方法、つまりテンソル並列処理、パイプライン並列処理、およびデータ並列処理があります。

データ並列処理:

データ並列処理は、モデルの完全なコピーが複数のプロセッサ (GPU など) 上で複製される、単純かつ直接的な並列化手法です。 各プロセッサまたは GPU はモデル全体のコピーを取得し、データの異なるサブセットに対して順方向および逆方向の伝播を個別に実行します。 各トレーニング ステップの後、すべてのプロセッサからのモデルの重み更新をマージまたは同期する必要があります。これは通常、何らかの形式の集合通信操作 (all-reduce など) によって行われます。 データ並列処理により、データが複数の小さなバッチに分割され、それぞれが異なるプロセッサーで処理されるため、モデルをより大きなデータセットでトレーニングできます。

すべての本を分類する必要がある大規模な図書館を想像してください。 データの並列処理は、複数の図書館員を雇い、各図書館員が本の一部を分類する責任を負うようなものです。 モデルのトレーニングの場合、各 GPU はモデル全体のコピーを取得しますが、データセット全体の一部のみを処理します。 すべての GPU がそれぞれのタスクを完了した後、情報を交換してモデルの重みを同期的に更新します。

テンソル並列処理:

テンソル並列処理は通常、モデルが大きすぎて単一プロセッサのメモリに収まらない場合に使用されます。 この並列化戦略では、モデルの異なる部分 (ニューラル ネットワーク層の異なるテンソルやパラメーター グループなど) が異なるプロセッサに割り当てられます。 これは、各プロセッサがモデルの一部の計算のみを担当することを意味します。 モデル全体の前方伝播と後方伝播を完了するには、プロセッサは中間結果を頻繁に交換する必要があり、これにより通信オーバーヘッドが高くなる可能性があります。 テンソル並列処理では、これらの交換の待ち時間を最小限に抑えるために、プロセッサ間の高速接続が必要です。

データの並列処理が複数の図書館員であり、それぞれが書籍の一部を処理していると仮定します。 その場合、テンソル並列処理は、各ライブラリアンが分類作業のステップの一部を担当するようなものです。 モデルのトレーニングでは、各 GPU がモデル内の計算の一部を担当します。たとえば、XNUMX つの GPU がモデルのレイヤーの前半の計算を担当し、別の GPU が後半の計算を担当します。 このようにして、モデルの各層を複数の GPU にわたって計算できます。

パイプラインの並列処理:

パイプライン並列処理は、モデルのさまざまなレイヤーまたは部分をさまざまなプロセッサに割り当て、パイプライン方式で計算を実行する並列化戦略です。 パイプライン並列処理では、入力データが複数のマイクロバッチに分割され、それぞれがモデルの各層を順番に通過します。 マイクロバッチが最初の層の計算を終了すると、それはすぐに次の層に渡され、最初の層は次のマイクロバッチの処理を開始します。 この方法では、プロセッサのアイドル時間を短縮できますが、依存する計算結果を待つために一部のプロセッサが作業を一時停止する可能性がある大規模なストールの発生を避けるために、パイプラインを慎重に管理する必要があります。

パイプラインの並列処理は、工場の組立ラインの作業員に似ており、それぞれが特定のタスクを実行し、半完成品を次の作業員に渡します。 モデルのトレーニングでは、モデルはいくつかの部分に分割され、それぞれが異なる GPU で順番に実行されます。 GPU が計算の一部を終了すると、中間結果を次の GPU に渡して計算を続行します。

実際の展開では、モデル トレーニングの効率と有効性を確保するために、ネットワークの設計でこれらの並列戦略の帯域幅と遅延の要件を考慮する必要があります。 場合によっては、これら XNUMX つの並行戦略を組み合わせて、トレーニング プロセスをさらに最適化することもあります。 たとえば、大規模なモデルでは、複数の GPU でデータ並列処理を使用してデータのさまざまなサブセットを処理し、各 GPU 内でテンソル並列処理を使用してモデルのさまざまな部分を処理する場合があります。

AIGC インテリジェント

大規模モデルのトレーニングによる AI コンピューティング能力の需要を見てみましょう。 大規模なモデルが継続的にアップグレードされると、モデルのトレーニングに必要な計算能力も増加し、3 か月ごとに 175 倍になります。 GPT-45 モデル (3640 億のパラメーター、3 TB のトレーニング コーパス、128PFlops/s-Days のコンピューティング能力を消費) ChatGPT100 は、トレーニングに 1024 台の A100 サーバー、合計 4 枚の A100 カードを使用するため、単一のサーバー ノードには 4 つの 5G ネットワークが必要です。チャンネル。 一方、ChatGPTXNUMX、ChatGPTXNUMX、およびその他の大規模モデルでは、ネットワーク要件が高くなります。

AIGC は現在まで発展し、トレーニング用のモデル パラメータは 100 億から 10 兆に急増しました。 このような大規模なトレーニングを完了するために、基盤となるレイヤーをサポートする GPU の数も 10,000 枚の規模に達しました。

そこで問題は、GPU 使用率に影響を与える最大の要因は何でしょうか?

答えはネットワークです。

数万の GPU を備えたコンピューティング クラスターとして、ストレージ クラスターとのデータ通信には膨大な帯域幅が必要です。 さらに、GPU はトレーニング計算を実行するときに独立していませんが、混合並列処理を使用します。 GPU 間では大量のデータ交換が行われるため、膨大な帯域幅も必要になります。

ネットワークが強力でない場合、データ送信が遅くなり、GPU はデータを待機する必要があるため、使用率が低下します。 使用率が低下すると、トレーニング時間とコストが増加し、ユーザー エクスペリエンスが低下します。

業界は、次の図に示すように、ネットワーク帯域幅のスループット、通信遅延、GPU 使用率の関係を計算するモデルを作成しました。

GPU 使用率

帯域幅スループットとGPU使用率

動的レイテンシとGPU使用率

ネットワーク スループットが強いほど、GPU 使用率も高くなることがわかります。 通信の動的遅延が大きくなるほど、GPU 使用率は低くなります。

AIGCの運用をサポートできるネットワークはどのようなものですか?

ネットワーク上の AI クラスター コンピューティングの高い要件に対処するために、業界はさまざまなソリューションを提案してきました。 従来の戦略では、Infiniband、RDMA、フレーム スイッチの XNUMX つのテクノロジーが一般的に使用されていました。

インフィニバンドネットワーキング

データ通信に詳しい専門家向け インフィニバンド ネットワーキングは馴染みのないものではありません。 これは、非常に高い帯域幅、輻輳のない、低遅延を保証する、高性能ネットワークを構築する最良の方法として高く評価されています。 ChatGPT および GPT-4 で使用されるネットワークは Infiniband ネットワークです。 ただし、このテクノロジーの欠点は高価であり、従来のイーサネット ネットワーキングの数倍の費用がかかることです。 さらに、このテクノロジーは比較的閉鎖的で、業界には成熟したサプライヤーが XNUMX 社しか存在しないため、ユーザーの選択は限られています。

Infiniband の RDMA

RDMAネットワーク 

RDMA は Remote Direct Memory Access の略で、新しいタイプの通信メカニズムです。 RDMA 方式では、データは CPU や複雑なオペレーティング システムをバイパスしてネットワーク カードと直接通信できるため、スループットが大幅に向上するだけでなく、遅延も確実に低くなります。

以前は、RDMA は主に InfiniBand ネットワークで伝送されていました。 現在では、徐々にイーサネットに移植されています。 現在主流のネットワーク方式は、RoCE v2 プロトコルに基づいて、 RDMA。 ただし、この方式の PFC および ECN テクノロジーはリンクの輻輳を回避するために生成されていますが、頻繁にトリガーされると送信側が一時停止したり速度が低下したりして、通信帯域幅に影響を与える可能性があります。

RDMA ネットワーキング

フレームスイッチ

一部のインターネット企業は、高性能ネットワークのニーズを満たすためにフレーム スイッチの使用を希望していました。 ただし、この方式には、不十分なスケーラビリティ、高いデバイス消費電力、大規模な障害ドメインなどの課題があるため、小規模な AI コンピューティング クラスターの展開にのみ適しています。

新世代の AIGC ネットワーク: DDC テクノロジー

従来のスキームのさまざまな制限を考慮して、新しいソリューションである DDC (Distributed Disaggregated Chassis) が登場しました。 DDCは従来のフレームスイッチを「解体」して拡張性を高め、AIクラスターの規模に応じてネットワーク規模を柔軟に設計します。 この革新的な方法により、DDC は従来のスキームの制限を克服し、AI コンピューティングのためのより効率的で柔軟なネットワーク アーキテクチャを提供します。

フレームスイッチ

規模と帯域幅のスループットの観点から、DDC は大規模な AI モデルのトレーニングのネットワーク要件を完全に満たしています。 ただし、ネットワーク運用はこれら XNUMX つの側面だけでなく、遅延、負荷分散、管理効率などの観点からも最適化する必要があります。 この目的を達成するために、DDC は次の技術戦略を採用しています。

  • VOQ+セルベースの転送メカニズムにより、パケット損失を効果的に防止

ネットワークでバースト トラフィックが発生すると、受信側の処理が遅くなり、輻輳やパケット損失が発生する可能性があります。 DDC で採用されている VOQ+Cell ベースの転送メカニズムは、この問題をうまく解決できます。 具体的なプロセスは次のとおりです。

送信者は、パケットを受信した後、まずパケットを分類して VOQ に保存します。 パケットを送信する前に、NCP はまずクレジット メッセージを送信して、受信側に十分なバッファ スペースがあるかどうかを確認します。 受信側が処理能力があることを確認した場合にのみ、パケットはセルにスライスされ、ファブリック ノードに対して動的に負荷分散されます。 受信側が一時的に処理できない場合、パケットは送信側の VOQ に一時的に保存され、直接転送されません。 このメカニズムはキャッシュを最大限に活用し、パケット損失を大幅に削減または回避できるため、全体的な通信の安定性が向上し、遅延が減少し、帯域幅の使用率とビジネス スループット効率が向上します。

VOQ+セルベースの転送メカニズム
  • PFC シングルホップ展開により、デッドロックを完全に回避

PFC テクノロジーは、RDMA ロスレス ネットワークのトラフィック制御に使用され、イーサネット リンクに複数の仮想チャネルを作成し、各チャネルに優先順位を設定できます。 ただし、PFC にはデッドロックの問題もあります。

DDC ネットワークでは、すべての NCP と NCF が全体のデバイスとみなされ、マルチレベル スイッチが存在しないため、PFC のデッドロック問題が完全に回避されます。

PFCの作動機構の模式図

PFCの作動機構の模式図

40 200G
  • 分散OSによる信頼性の向上

DDC アーキテクチャでは、管理機能は NCC によって集中的に制御されますが、これにより単一障害点のリスクが生じる可能性があります。 この問題を回避するために、DDC は分散 OS を使用します。これにより、各 NCP と NCF が独立して管理できるようになり、独立したコントロール プレーンと管理プレーンが存在します。 これにより、システムの信頼性が大幅に向上するだけでなく、導入も容易になります。

結論: DDC は、独自の技術戦略を通じて大規模な AI モデルのトレーニングのネットワーク要件を満たし、多くの詳細な最適化も行い、さまざまな複雑な条件下でもネットワークが安定して効率的に実行できるようにします。

コメント

上へスクロール