大規模AIモデルのネットワーク要件について

<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">2023年におけるトランスフォーマーの登場からChatGPTの広範な採用まで、モデルのパラメーターサイズを増やすことが性能向上につながるという共通認識が徐々に形成されてきました。パラメーターサイズが数千億を超えると、大規模AIモデルの言語理解能力、論理的思考能力、問題分析能力が急速に向上するというスケーリングの法則が存在します。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">同時に、モデルのサイズと性能の変化により、大規模AIモデルのトレーニングにおけるネットワーク要件も従来のモデルとは異なる変更がもたらされました。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">大規模なトレーニングクラスターにおける効率的な分散コンピューティングの要求に応えるために、AIの大規模モデルのトレーニングプロセスでは通常、データ並列性、パイプライン並列性、テンソル並列性など、さまざまな並列コンピューティングモードが使用されます。これらの並列モードでは、複数のコンピューティングデバイス間での集合通信操作が必須となります。また、トレーニングプロセスでは通常、同期モードが採用されており、次のイテレーションやトレーニングの計算に進む前に、複数のマシンや複数のカード間での集合通信操作の完了が必要となります。そのため、AI大規模モデルの大規模トレーニングクラスターにおける効率的なクラスターネットワーキングスキームの設計が重要です。この設計の目的は、マシン間通信における遅延を低くし、データ同期時の通信オーバーヘッドを削減するための高スループットを実現することです。この最適化により、AI分散トレーニングクラスターの効率向上において重要な要素であるGPUの効果的な計算時間比率（GPU計算時間/全体のトレーニング時間）が改善されます。以下の分析では、スケール、帯域幅、遅延、安定性、およびネットワークの展開など、AI大規模モデルのネットワーク要件について詳しく掘り下げていきます。</p>
<h2 class="community-restructure-h2">超大規模AIモデルの効率的なトレーニングのためのGPUネットワークのスケーリングにおける課題</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">AIアプリケーションの計算要求は指数関数的に成長しており、モデルは膨大なスケールにまで広がっています。人工知能モデルのパラメータは10万倍に増加し、現在の大規模AIモデルは数千億から数兆のパラメータサイズを誇っています。このようなモデルのトレーニングには、大量の計算能力が必要不可欠です。さらに、超大規模モデルは高いメモリ要求を課しています。例えば、1兆のパラメータを使用するモデルが1バイトのストレージを利用する場合、2テラバイトのストレージスペースが必要となります。さらに、トレーニングプロセス中には、順方向計算によって生成される中間変数、逆方向計算からの勾配、パラメータ更新に必要なオプティマイザの状態など、すべてがストレージを必要とします。これらの中間変数は、単一のイテレーション内で継続的に増加します。例えば、Adamオプティマイザを使用したトレーニングセッションでは、中間変数はモデルパラメータの数倍のサイズにピークします。このような高いメモリ消費量は、モデルの完全なトレーニングプロセスを保存するために数十から数百のGPUが必要であることを意味します。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">ただし、単に大量のGPUを持っているだけでは、超大規模モデルの効果的なトレーニングには十分ではありません。トレーニング効率を向上させる鍵は、適切な並列化方法を採用することにあります。現在、超大規模モデルのトレーニングには、主にデータ並列性、パイプライン並列性、テンソル並列性の3つの主要な並列化方法が使用されています。これらの3つの並列化方法は、数千億から数兆のパラメータサイズを持つモデルのトレーニングに使用されます。超大規模モデルのトレーニングには、数千のGPUから成るクラスターが必要です。最初は、クラウドデータセンター内の数万のサーバーの相互接続規模と比較すると劣っているように思われるかもしれません。しかし、実際には、数千のGPUノードを相互接続することは、高度にマッチしたネットワーク機能と計算機能が必要であるため、より困難です。クラウドデータセンターでは主にCPU計算が行われ、ネットワーク要件は通常、10 Gbpsから100 Gbpsの範囲であり、伝統的なTCPトランスポート層プロトコルが使用されます。一方、AI大規模モデルのトレーニングではGPUトレーニングが行われ、CPUよりも桁違いに高い計算能力を持っています。そのため、ネットワークの要求は100 Gbpsから400 Gbpsまでの範囲であり、RDMAプロトコルが使用されて送信遅延を削減し、ネットワークのスループットを向上させます。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">特に、数千のGPU間で高性能の相互接続を実現するには、ネットワーク規模の点でいくつかの課題が生じます:</p>
<ul class="new_community_blog_detail_ul">
<li><span class="new_community_blog_detail_ul_circle"></span>
<p>大規模なRDMAネットワークで遭遇する問題として、ヘッドオブラインブロッキング（head-of-line blocking）やPFCデッドロックストーム（PFC deadlock storms）などがあります。</p>
</li>
<li><span class="new_community_blog_detail_ul_circle"></span>
<p>ネットワークのパフォーマンス最適化には、より効率的な輻輳制御や負荷分散技術などが含まれます。</p>
</li>
<li><span class="new_community_blog_detail_ul_circle"></span>
<p>ネットワークカードの接続の問題は、単一のホストがハードウェアの性能制限を受けるため、発生することがあります。数千のRDMA QP（Queue Pair）接続を確立する方法についての対処方法を検討する必要があります。</p>
</li>
<li><span class="new_community_blog_detail_ul_circle"></span>
<p>ネットワークのトポロジー選択については、従来のファットツリー構造が好ましいかどうか、またはトーラスやドラゴンフライなどの高性能コンピューティングネットワークのトポロジーを参考にすることができるかどうかを考慮する必要があります。</p>
</li>
</ul>
<h2 class="community-restructure-h2">マシン間で効率的なAIモデルトレーニングを実現するGPU通信の最適化</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">AI大規模モデルのトレーニングにおいて、マシン内およびマシン間のGPU間で行われる集合通信操作は、膨大な通信データを生成します。単一のマシン内でのGPU間通信を考えると、数十億のパラメータを持つAIモデルでは、モデル並列性による集合通信データは数百ギガバイトの規模に達することがあります。そのため、効率的な完了時間は、マシン内のGPU間の通信帯域幅とモードに大きく依存します。サーバー内のGPUは、高速な相互接続プロトコルをサポートし、GPU間の通信中にCPUメモリを介した複数のデータコピーが必要な場合の緩和を図る必要があります。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">AIの大規模モデルトレーニングの文脈において、マシン内およびマシン間のGPU間の集合通信操作は、膨大な通信データを生成します。単一のマシン内でのGPU間通信を調べると、数十億のパラメータを持つAIモデルでは、モデル並列性による集合通信データは数百ギガバイトの規模に達することがあります。そのため、効率的な完了時間は、マシン内のGPU間の通信帯域幅とモードに大きく依存します。サーバー内のGPUは、高速な相互接続プロトコルをサポートする必要があり、GPU間の通信中にCPUメモリを介した複数のデータコピーが必要な必要性を軽減することが望まれます。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">さらに、GPUは通常、PCIeバスを介してネットワークカードに接続されます。PCIeバスの通信帯域幅は、ネットワークカードの単一ポートの帯域幅が完全に利用されるかどうかを決定します。たとえば、PCIe 3.0バス（16レーンで、片方向の帯域幅は16GB/sに相当）を考えると、マシン間通信が単一ポートの帯域幅が200Gbpsである場合、マシン間のネットワークパフォーマンスが完全に活用されない可能性があります。</p>
<h2 class="community-restructure-h2">AI大規模モデルのトレーニング効率における重要な要素</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">データ通信中のネットワークレイテンシは、静的レイテンシと動的レイテンシ2つの要素で構成されます。静的レイテンシには、データのシリアル化レイテンシ、デバイスの転送レイテンシ、および電気光学変換のレイテンシが含まれます。これは、転送チップと転送距離の能力によって決まり、ネットワークのトポロジーと通信データ量が固定されている場合は一定の値を示します。一方、動的レイテンシはネットワークのパフォーマンスに大きな影響を与え、スイッチ内のキューイングレイテンシやパケットの損失と再送信によるレイテンシを含みます。これは通常、ネットワークの混雑によって引き起こされます。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">1750億のパラメータを持つGPT-3モデルのトレーニングを例に挙げると、理論的な分析によれば、動的レイテンシが10μsから1000μsに増加すると、有効なGPU計算時間の割合は約10％減少します。数千のネットワークパケットの損失率は、有効なGPU計算時間を13％減少させ、1％の損失率ではその割合は5％未満にまで低下します。AIの大規模モデルトレーニングにおいて、計算通信のレイテンシを減少させ、ネットワークのスループットを向上させることは、計算能力を最大限に活用するための重要な考慮事項です。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">レイテンシ以外にも、ネットワークの変動はレイテンシの揺らぎをもたらし、トレーニングの効率に影響を与えます。トレーニング中の計算ノードの集合通信プロセスは、複数の並列なポイント対ポイント（P2P）通信を含みます。たとえば、N個のノード間のRing AllReduceの集合通信には、2*(N-1)のデータ通信サブステップが含まれます。各サブステップでは、すべてのノードがP2P通信を並行して完了する必要があります。ネットワークの変動により、特定のノード間のP2P通信のフロー完了時間（FCT）が顕著に増加します。ネットワークの揺らぎによるP2P通信時間の変動は、システムの効率性の最も弱いリンクと考えられ、対応するサブステップの完了時間が増加する結果となります。したがって、ネットワークの揺らぎは集合通信の効率を低下させ、AIの大規模モデルのトレーニング効率に影響を与えます。</p>
<h2 class="community-restructure-h2">大規模なAIモデルのトレーニングにおける計算能力にとっての重要性</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">トランスフォーマーの登場以来、大規模モデルの急速な進化の始まりを示しています。過去5年間で、モデルのサイズは6100万から5400億まで急増し、約1万倍の指数関数的な増加を示しています。クラスターの計算能力は、AIモデルのトレーニング速度を決定する上で重要な役割を果たします。たとえば、単一のV100 GPUでGPT-3をトレーニングすると、現実的ではない335年かかる一方、理想的なスケーリングを行う1万個のV100 GPUからなるクラスターでは、トレーニングを約12年で完了することができます。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">ネットワークシステムの信頼性は、クラスター全体の計算の安定性を確保する上で基本的な要素です。ネットワークの障害は広範な影響を及ぼし、ネットワークノードの障害が発生した場合には、多数の計算ノードの接続が妨げられ、システム全体の計算能力が損なわれる可能性があります。さらに、ネットワークパフォーマンスの変動は、ネットワークが共有リソースであるため、個々の計算ノードとは異なり、クラスター全体に影響を与える可能性があります。パフォーマンスの変動は、すべての計算リソースの利用に悪影響を与える可能性があります。したがって、AIの大規模モデルのトレーニングサイクル全体で安定かつ効率的なネットワークを維持することは、ネットワーク運用に新たな課題をもたらします。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">トレーニングタスク中の障害が発生した場合、故障したノードに対応するために、耐障害性のある置換や弾力的なスケーリングが必要になる場合があります。参加ノードの位置の変更により、現在の通信パターンが最適でなくなる可能性があり、ジョブの再分散やスケジューリングが必要になることで、全体のトレーニング効率を向上させる必要があります。さらに、サイレントパケットロスなどの予期しないネットワークの障害は、集合通信の効率を低下させるだけでなく、通信ライブラリのタイムアウトを引き起こし、トレーニングプロセスが停止する期間が長くなり、効率に大きな影響を与えます。したがって、スループット、パケットロス、およびその他のビジネスフローのパラメータの詳細な情報を取得することは、障害の早期検出と自己修復にとって重要です。これにより、数秒以内に問題を検知し、修復することができます。</p>
<h2 class="community-restructure-h2">大規模AIクラスターにおける自動展開と障害検出の役割</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">インテリジェントなロスレスネットワークの構築は、しばしばRDMAプロトコルと輻輳制御メカニズムに依存し、複雑で多様な設定を伴います。これらのパラメータの誤った設定は、ネットワークのパフォーマンスに影響を及ぼす可能性があり、予期しない問題を引き起こす可能性があります。統計によれば、高性能ネットワークの障害の90％以上は、設定エラーに起因しています。このような問題の主要な原因は、アーキテクチャのバージョン、ビジネスの種類、ネットワークカードのタイプに依存するネットワークカードの設定パラメータの多数性にあります。大規模なAIモデルトレーニングクラスターの文脈では、設定の複雑さがさらに高まります。したがって、効率的かつ自動化された展開と設定は、大規模モデルクラスターシステムの信頼性と効率を効果的に向上させることができます。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">自動的な展開と設定には、複数のマシンに並行して設定を展開する能力、輻輳制御メカニズムの関連パラメータを自動的に選択し、ネットワークカードの種類とビジネス要件に基づいて適切な設定を選択する能力が必要です。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">同様に、複雑なアーキテクチャや構成シナリオにおいては、ビジネス全体の効率を確保するには、業務運営中に障害を迅速かつ正確に特定する機能が不可欠です。自動化された障害検出により、問題の迅速な特定、管理担当者への正確な通知が容易になり、問題の特定に関連するコストが削減されます。 根本原因を迅速に特定し、対応する解決策を提供します。</p>
<h2 class="community-restructure-h2">FS Accelerate Al Model Networkを選択すること</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">この分析では、規模、帯域幅、安定性、遅延/ジッター、自動化機能に関するAI大規模モデルの特定の要件が強調されています。ただし、現在のデータセンターネットワーク構成では、これらの要件を完全に満たすには技術的なギャップが残っています。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">AIの大規模モデルのネットワーク能力への需要は非常に高く、そのパラメータの大きさや複雑な計算ニーズを考慮すると、十分な計算リソースとストレージリソースが必要です。高速なネットワーク接続は、効率的なデータの送受信と処理に不可欠です。FSは、それぞれのお客様の独特な状況に合わせた高品質な接続製品を提供することで、ネットワークのパフォーマンスとユーザー体験を向上させ、これらのニーズに対応しています。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">FSの製品ポートフォリオは、<a href="https://www.fs.com/jp/c/nvidiar-infiniband-switches-4156" target="_blank" rel="noopener">スイッチ</a>や<a href="https://www.fs.com/jp/c/nvidiar-infiniband-adapters-4173" target="_blank" rel="noopener">ネットワークカード</a>に加えて、100Gから800Gまでの<a href="https://www.fs.com/jp/c/infiniband-ethernet-2875" target="_blank" rel="noopener">光モジュール</a>、AOC、DACなども含まれています。これらの製品は、効率的なデータ転送を可能にし、AIモデルのトレーニングや推論プロセスを加速します。大規模なAIトレーニングでは、光モジュールが分散コンピューティングノードを接続し、複雑な計算タスクを協調して実行します。これらの製品は、高帯域幅、低レイテンシー、低エラーレートなどの特性を持ち、モデルの更新と最適化を迅速化し、通信の遅延を減らし、より迅速かつ効率的な人工知能コンピューティングを促進します。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">FSの接続製品を選択することで、データセンターネットワークの能力が向上し、AIの大規模モデルの展開と運用をより良くサポートすることができます。詳細については、公式のFSウェブサイトをご覧ください。</p>