FiberMall はエンドツーエンドの InfiniBand ソリューションを提供します

ChatGPT がテクノロジー分野で爆発的に普及した後、人々は AI の「次のステップ」がどうなるかについて議論しており、多くの学者がマルチモダリティに言及しています。 最近、OpenAI はマルチモーダルの事前トレーニング済みビッグ モデル GPT-4 をリリースしました。 GPT-4 は、強力なグラフ認識、25,000 語に引き上げられたテキスト入力制限、回答精度の大幅な向上、歌詞の生成機能、クリエイティブなテキスト、スタイルの変更の実現など、次の側面で飛躍的な進歩を遂げています。

このような効率的な反復は、大規模な計算リソースと高速データ伝送ネットワークを必要とする AI 大規模モデル トレーニングと切り離すことはできません。 その中でも、エンド ツー エンドの IB (InfiniBand) ネットワークは、ハイ パフォーマンス コンピューティングと AI モデルのトレーニングに特に適したハイ パフォーマンス コンピューティング ネットワークです。 このホワイト ペーパーでは、AIGC モデル トレーニングとは何か、エンド ツー エンドの IB ネットワークが必要な理由、および AIGC トレーニングに ChatGPT モデルを使用する方法を紹介します。

AIGCとは?

AIGC (AI Generated Content) は、人工知能が自動的に生成するコンテンツを指し、絵画、執筆、ビデオ、その他多くの種類のコンテンツ作成に使用できます。 2022 年 AIGC は、ディープラーニング モデルの改良が続けられ、オープン ソース モデルの推進、AIGC の開発となる大規模モデル探索の商用化の可能性など、急速に発展しています。 たとえば、エッセイを書いたり、小説やコードを作成したりできるチャットボットである ChatGPT を取り上げてみましょう。 その予想外の「インテリジェント」さから、AIGC は「テクノロジー業界の次の破壊者」、「コンテンツの生産性における大きな革命」と見なされています。

AIGC

大規模言語モデル (LLM) と ChatGPT

大規模言語モデルは、自然言語を獲得して理解できる人工知能技術です。 通常、大量のテキスト データを学習して言語知識を取得し、会話や記事などの自然言語テキストを生成できるディープ ラーニング アルゴリズムに基づいています。ChatGPT は、GPT (Generative Pre -trained Transformer) を OpenAI が開発し、大量のテキスト データを事前にトレーニングして微調整することで、言語的に表現力豊かな自然言語テキストを生成し、ユーザーと対話します。 このように、ChatGPTは大言語モデリング技術に基づくチャットボットと言えます。 これは、大規模な言語モデルの強力な言語理解および生成機能を活用して、会話内の自然言語テキストの生成および理解を可能にします。 深層学習技術の発展に伴い、大規模な言語モデルの機能と規模は拡大し続けています。 元の言語モデル (N-gram モデルなど) は限られたコンテキスト情報しか考慮できませんでしたが、最新の大規模言語モデル (BERT、GPT-3 など) は、より長いコンテキスト情報を考慮することができ、より強力な一般化および生成機能を備えています。 大規模な言語モデルは通常、再帰型ニューラル ネットワーク (RNN)、長短期記憶 (LSTM)、ゲート付き再帰型ユニット (GRU)、および変換器などのディープ ニューラル ネットワークを使用してトレーニングされます。 トレーニングでは、モデルは大規模なテキスト データセットを使用して、教師なしまたは半教師ありの方法でトレーニングされます。 たとえば、BERT モデルは予測マスク、次の文などのタスクによってトレーニングされますが、GPT-3 は大規模な自己教師あり学習アプローチを使用します。 大規模言語モデルは、機械翻訳、自然言語生成、質問応答システム、テキスト分類、感情分析など、自然言語処理の分野で幅広い用途があります。

LLM のトレーニングにおける現在のボトルネックは何ですか?

大規模な言語モデルをトレーニングする場合、大量のデータを転送するために高速で信頼性の高いネットワークが必要です。 たとえば、OpenAI は GPT モデル (GPT-1) の最初のバージョンをリリースしました。このモデルのサイズは 117 億 2 万のパラメーターでした。 その後、OpenAI は、それぞれ 3 億 150 万と 1.75 兆 XNUMX 億のパラメーターを持つ GPT-XNUMX と GPT-XNUMX など、より大きなモデルを次々とリリースしました。 このような大きなパラメーターを単一のマシンでトレーニングすることは完全に不可能であり、GPU コンピューティング クラスターに大きく依存する必要があります。 現在のボトルネックは、トレーニング クラスタ内のノード間の効率的な通信の問題をどのように解決するかにあります。

LLM のトレーニングにおける現在のボトルネック

より一般的に使用されている GPU 通信アルゴリズムの XNUMX つは Ring-Allreduce です。これの基本的な考え方は、GPU でリングを形成し、リング内でデータを流すことです。 リング内の GPU は、各 GPU が左隣と右隣に XNUMX つずつあるロジックに配置され、右隣にのみデータを送信し、左隣からデータを受信します。 アルゴリズムは XNUMX つのステップで進みます。最初にスキャッター リデュース、次にすべてを収集します。 分散削減ステップでは、GPU はデータを交換して、各 GPU が最終結果のブロックを取得できるようにします。 allgather ステップでは、GPU はこれらのブロックを交換して、すべての GPU が完全な最終結果を取得できるようにします。

リングオールリデュース

初期の頃は、単一のマシン内に NVLink がなく、ネットワーク上に RDMA がなく、帯域幅が比較的低かった. 単一マシン配信と複数マシン配信の帯域幅に大きな差はなかったので、大きなリングを構築するには十分でした。 しかし、単一のマシン内に NVLink があるため、同じ方法を使用するのは適切ではありません。 ネットワークの帯域幅は NVLink の帯域幅よりもはるかに低いため、大きなリングを再度使用すると、NVLink の高帯域幅がネットワークのレベルまで大幅に引き下げられます。 次に、マルチ NIC 環境になりました。 また、複数の機能をフルに活用することもできません。 NIC リングを XNUMX つだけ使用する場合。 したがって、このようなシナリオでは XNUMX ステージ リングをお勧めします。 まず、NVLink の高帯域幅の利点を使用して、XNUMX 台のマシン内の GPU 間でデータ同期が行われます。 次に、複数のマシン間の GPU が複数の NIC を使用して複数のリングを確立し、異なるセグメントからのデータを同期します。 最後に、単一のマシン内の GPU がもう一度同期され、最終的にすべての GPU のデータ同期が完了します。ここで NCCL について言及する必要があります。

NCCL

NVIDIA Collective Communication Library (NCCL) は、NVIDIA GPU およびネットワーク用に最適化されたマルチ GPU およびマルチノード通信プリミティブを実装します。

マルチ GPU マルチノード

1 GPU -> マルチ GPU マルチノード

NCCL は、すべてのコレクション、すべての減少、ブロードキャスト、削減、分散の削減、およびポイント ツー ポイントの送受信用のルーチンを提供します。 これらのルーチンは、PCIe および NVLink 高速相互接続を介したノード内および NVIDIA Mellanox ネットワークを介して、高帯域幅および低レイテンシー向けに最適化されています。

エンドツーエンドの InfiniBand ネットワークを使用する理由

イーサネットは広く使用されているネットワーク プロトコルですが、その伝送速度と遅延は、大規模なモデル トレーニングの要求を満たしていません。 対照的に、エンドツーエンドの InfiniBand ネットワークは、Ethernet のパフォーマンスをはるかに上回る、最大 400 Gbps の伝送速度とマイクロ秒の遅延を実現できる高性能コンピューティング ネットワークです。 これにより、InfiniBand ネットワークは、大規模なモデル トレーニングに最適なネットワーク テクノロジになります。 さらに、エンドツーエンドの InfiniBand ネットワークは、信頼性の高いデータ転送を保証するデータの冗長性とエラー修正メカニズムをサポートしています。 これは、大規模なモデル トレーニングでは特に重要です。大量のデータを処理する場合、データ転送エラーやデータ損失により、トレーニング プロセスが中断したり、失敗したりする可能性があるためです。 ネットワーク ノード数の劇的な増加と計算能力の向上により、ハイ パフォーマンス コンピューティングでパフォーマンスのボトルネックを解消し、システム管理を改善することがこれまで以上に重要になっています。 図に示すように、現在の I/O アーキテクチャのパフォーマンスのボトルネックを改善できる非常に有望な I/O テクノロジと見なされます。 infiniBand は、処理オーバーヘッドが低く、普及型で低遅延、高帯域幅の相互接続通信プロトコルであり、単一の接続で複数のトラフィック タイプ (クラスタリング、通信、ストレージ、および管理) を伝送するのに理想的です。 1999 年、IBTA (InfiniBand Trade Association) は、相互接続されたサーバー、通信インフラストラクチャ デバイス、ストレージ、および組み込みシステムの入出力アーキテクチャを InfiniBand™ 仕様で定義する InfiniBand 関連の標準を開発しました。 InfiniBand は、ハイパフォーマンス コンピューティング クラスタで広く使用されている、成熟した実績のあるテクノロジです。

InfiniBand 相互接続のアーキテクチャ図

InfiniBand 相互接続のアーキテクチャ図

InfiniBand 相互接続プロトコルに従って、各ノードには、ホスト デバイスとのリンクを設定および維持するためのホスト チャネル アダプター (HCA) が必要です。 スイッチには複数のポートが含まれており、あるポートから別のポートにデータ パケットを転送して、サブネット内のデータ転送を完了します。

Subnet Manager (SM) は、各 InfiniBand デバイスの Subnet Manager Packet (SMP) と Subnet Manager Agent (SMA) の助けを借りて、ローカル サブネットを構成し、継続的な運用を確保するために使用されます。 Subnet Manager は、ネットワークの検出と初期化、すべてのデバイスへの一意の識別子の割り当て、MTU (Minimum Transmission Unit) の決定、および選択されたルーティング アルゴリズムに基づくスイッチ ルーティング テーブルの生成を行います。また、SM はサブネットの定期的な光学スキャンを実行してトポロジーを検出します。それに応じてネットワークを変更および構成します。 InfiniBand ネットワーク off他のネットワーク通信プロトコルよりも帯域幅が広く、待ち時間が短く、スケーラビリティが優れています。 さらに、InfiniBand はクレジットベースのフロー制御を提供するため (送信側ノードは、リンクの反対側の受信バッファーにポストされたクレジット数よりも多くのデータを送信しません)、トランスポート層は次のようなパケット損失メカニズムを必要としません。送信されるパケットの最適な数を決定するための TCP ウィンドウ アルゴリズム。 これにより、InfiniBand ネットワークは、待ち時間が非常に短く、CPU 使用率が非常に低いアプリケーションに、非常に高いデータ転送速度を提供できます。 InfiniBand は、次を使用してチャネルの一方の端からもう一方の端にデータを転送します。 RDMA テクノロジ (リモート ダイレクト メモリ アクセス) は、オペレーティング システムの関与なしにネットワークを介してアプリケーション間でデータを直接転送するプロトコルであり、両側で非常に低い CPU リソースを消費します (ゼロコピー転送)。 一方のアプリケーションは、メモリからメッセージを直接読み取るだけで、メッセージは正常に転送されます。 CPU オーバーヘッドが削減されると、ネットワークのデータ転送能力が向上し、アプリケーションがデータをより高速に受信できるようになります。

FiberMall エンドツーエンドの InfiniBand ネットワーキング ソリューション

ファイバーモール offNVIDIA Quantum-2 スイッチ、ConnectX InfiniBand スマート カード、および柔軟な 400Gb / s InfiniBand は、高速ネットワークのトレンドに関する当社の理解と、HPC および AI プロジェクトの実装における豊富な経験に基づいており、コストと複雑さを軽減しながら、ハイ パフォーマンス コンピューティング (HPC)、AI、およびハイパースケール クラウド インフラストラクチャで優れたパフォーマンスを提供しながら、コストと複雑さを軽減します。

FiberMall データセンター InfiniBand ネットワーク ソリューション

FiberMall データセンター InfiniBand ネットワーク ソリューション

コメント

上へスクロール