大規模モデルのトレーニングに向けたRDMA強化の高速ネットワーク

<h2 class="tit_one community_blog_detail_tit_one">高速ネットワーク用のRDMAについて</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">リモートダイレクトメモリアクセス（RDMA）は、超高速ネットワークメモリアクセス技術の最前線に立ち、プログラムが迅速にリモートコンピューティングノードのメモリにアクセスする方法を革新しています。その優れた速度の基本原理は、以下のように鮮明に描写されています。RDMAは、ネットワークアクセスがオペレーティングシステムのカーネルを経由する必要がないことにより、パラダイムシフトをもたらします（例：ソケット、TCP/IP）。この戦略的なバイパスにより、カーネル操作に関連するCPU時間の消費を軽減し、ネットワークインターフェースカード（NIC）または特定の文脈でのホストチャネルアダプタ（HCA）への直接メモリアクセスが可能となります。</p>
<p style="text-align: center;"><img title="traditional vs rdma" src="https://media.fs.com/images/community/erp/prfSh_traditionalvsrdma1MNRRX.jpg" alt="traditional-vs-rdma" /></p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">ハードウェアの実装の領域では、RDMAは主に3つの主要な技術で表現されます：InfiniBand、RoCE、およびiWARPです。特に、InfiniBandとRoCEは、技術の進歩の最前線にいる業界の専門家によって認められ、主要な選択肢として浮上しています。</p>
<h2 class="tit_one community_blog_detail_tit_one">InfiniBandの発表: 卓越した帯域幅の頂点</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">現在、InfiniBandエコシステムは、100Gおよび200Gの高速伝送の主要な技術を含んでいます。その中でも、Enhanced Data Rate（EDR、100G）とHigh Data Rate（HDR、200G）はいくつかの独自の用語を表しています。また、一部のブランドではさらに高速のソリューションを提供できるようになっています。例えば、FSでは<a href="https://www.fs.com/jp/products/177272.html" target="_blank" rel="noopener">400GBネットワークカード</a>を導入しており、<a href="https://www.fs.com/jp/c/800g-ndr-infiniband-3801" target="_blank" rel="noopener">800G光モジュール</a>も利用可能です。InfiniBand技術は急速に進化しています。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">優れた能力を持つにも関わらず、InfiniBandは高いコストのために多くのITプロフェッショナルに見落とされることがあり、一般的な使用にはあまりアクセスしにくいとされています。しかし、主要な大学や研究機関のスーパーコンピューティングセンターの中では、InfiniBandはほぼ不可欠な標準として浮上しており、特に重要なスーパーコンピューティングタスクのサポートに使用されています。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">従来のスイッチとは異なり、InfiniBandネットワーキングは「Fat Tree」として知られる独特なネットワークトポロジーを採用しています。これにより、任意の2つのコンピューティングノードのネットワークカード間でシームレスな通信が行われます。Fat Tree構造は、コア層とアクセス層の2つのレイヤーで構成されています。コア層はトラフィックの転送を担当し、コンピューティングノードから切り離されています。一方、アクセス層は異なるコンピューティングノードを接続します。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">Fat TreeトポロジーをInfiniBandネットワークで実装する際の高コストは、主に以下の理由によるものです。例えば、36ポートのアグリゲーションスイッチでは、半分のポートがコンピューティングノードに接続され、もう半分が上位のコアスイッチに接続され、ロスレス通信が行われます。特に、各ケーブルのコストは約1.3Kドルであり、ロスレス通信のために冗長な接続が必要です。</p>
<p style="text-align: center;"><img title="fat-tree-topology" src="https://media.fs.com/images/community/erp/rTf73_fattreetopology3f4hEm.jpg" alt="fat-tree-topology" /></p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">格言「安いものは良いものではない」という言葉は、InfiniBandに非常に適用されます。それは確かに類まれな高帯域幅と低レイテンシを提供します。Wikipediaによると、InfiniBandはEthernetと比較して著しく低いレイテンシを誇り、それぞれ100ナノ秒と230ナノ秒のレイテンシを記録しています。この優れた性能により、InfiniBandは世界有数のスーパーコンピューターで基礎技術となり、マイクロソフト、NVIDIA、アメリカの国立研究所などの業界大手によって利用されています。</p>
<h2 class="tit_one community_blog_detail_tit_one">RoCEの可能性を解き放つ：手頃な価格のRDMAソリューション</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">ネットワーク技術の領域では、RoCE（Converged Ethernet上でのRDMA）は、InfiniBandのような高価な対抗製品と比較して、費用対効果の高い代替手段として浮上しています。RoCEは安価とは言えませんが、Ethernet上でRDMAの機能を提供する、より予算に優しいオプションを提供します。最近では、RoCEは急速な発展を遂げ、特にInfiniBandのコストが制約要因となるシナリオでは、優れた代替手段として勢いを増しています。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">RoCEの場合、手頃な価格である一方で、真にロスレスなネットワークを実現することは困難であり、InfiniBandに比べて全体のネットワークコストを50%以下に抑えることは難しいとされています。</p>
<h2 class="tit_one community_blog_detail_tit_one">大規模モデルのトレーニングを強化：GPUDirectのRDMAを解き放つ</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">大規模なモデルトレーニングの領域では、ノード間の通信コストが大きくのしかかります。InfiniBandとGPUの融合により、GPUDirect RDMAとして知られる重要な機能が生まれ、革新的なソリューションが表面化しました。この技術革新は、メモリとCPUの関与を回避し、ノードをまたいだGPU間の直接通信を容易にします。つまり、2つのノードの間のGPU間通信は、従来のCPUとメモリを経由する伝統的なルートを回避し、InfiniBandネットワークインターフェースカードを介して直接行われます。これにより、複雑なGPU間通信がスムーズに実現されます。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">GPUDirect RDMAは、モデルがGPU上に存在するような大規模なモデルトレーニングにおいて、その重要性を増しています。モデルをCPUにコピーする従来のプロセスでは、すでにかなりの時間を費やしており、CPU経由で他のノードにモデルを転送しても、データ転送のペースが遅くなるだけです。</p>
<p style="text-align: center;"><img title="gpu-direct-rdma" src="https://media.fs.com/images/community/erp/sGxiw_gpudirectrdma4aPpa6.jpg" alt="gpu-direct-rdma" /></p>
<h2 class="tit_one community_blog_detail_tit_one">大規模モデルネットワークの最適化: 戦略的構成</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">大規模なモデルの世界では、最適なパフォーマンスを実現するためには、GPUとInfiniBandネットワークカードの適切な構成が重要です。ここでは、パートナーであるNVIDIAのDGXシステムを紹介します。DGXシステムでは、GPUとInfiniBandネットワークカードの1対1のペアリングを推奨し、基準を設定しています。このパラダイムでは、標準のコンピュートノードには9つのInfiniBand NICを搭載することができます。そのうちの1つはストレージシステムに専用され、残りの8つは個々のGPUカードに割り当てられます。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">この構成は最適ですが、相当なコストがかかるため、予算に優しい代替手段を探求する必要があります。有利な妥協案としては、1つのInfiniBandネットワークカードに対して4つのGPUカードの比率を採用することです。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">実際のシナリオでは、GPUとInfiniBandは通常、PCI-Eスイッチで接続され、1つのスイッチには通常2つのGPUが搭載されます。理想的なシナリオでは、それぞれのGPUに専用のInfiniBandネットワークカードが割り当てられることが望ましいです。しかし、2つのGPUが1つのInfiniBandネットワークカードとPCI-Eスイッチを共有する場合、課題が生じます。この構成では、2つのGPUが共有のInfiniBandネットワークカードへのアクセスを競い合うことで競合が発生します。</p>
<p style="text-align: center;"><img title="PCI-E switch-connection" src="https://media.fs.com/images/community/erp/pzJaA_pcie-switchconnection5hRija.jpg" alt="PCI-E switch-connection" /></p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">InfiniBandネットワークカードの数は、競合レベルおよびそれによって直接的に影響を受けるノード間の通信効率において重要な要素となります。以下の図は、この関係を鮮明に示しています。特に、単一の100Gbpsネットワークカードでは、帯域幅は12GB/sとなり、ネットワークカードの数が増えるにつれて帯域幅がほぼ線形に増加します。たとえば、8つのH100カードと8つの400G InfiniBand NDRカードを組み合わせた構成では、驚くべき高いデータ転送速度が実現されます。</p>
<p style="text-align: center;"><img title="nvidia-ib-bw" src="https://media.fs.com/images/community/erp/rThCe_nvidiaibbw6Xx24S.jpg" alt="nvidia-ib-bw" /></p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">GPU1台につきネットワークカード1枚が理想的な状況：</p>
<p style="text-align: center;"><img title="gpu-network-solution" src="https://media.fs.com/images/community/erp/phcBm_gpunetworksolution75JNrM.jpg" alt="gpu-network-solution" /></p>
<h2 class="tit_one community_blog_detail_tit_one">卓越したアーキテクチャ: 大規模モデル・ネットワーク・トポロジーのレール最適化</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">大規模なモデルの作業においては、成功の鍵は専用のファットツリーネットワークトポロジーの構成にあります。従来の高性能コンピューティング（HPC）用のファットツリーとは異なり、「Rails」は突破的な高性能を提供します。</p>
<p style="text-align: center;"><img title="Lower-End Fat-Tree and Rails-Optimized Topology" src="https://media.fs.com/images/community/erp/eb7f8_lowerend-fattree-and-railsoptimized-topology8A5SmK.jpg" alt="Lower-End Fat-Tree and Rails-Optimized Topology" /></p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">この図は、ファットツリーとRails最適化トポロジーの基本的なバージョンを示しています。2つのスイッチで構成されており、<a href="https://www.fs.com/jp/products/158523.html" target="_blank" rel="noopener">MQM8700</a>はHDRスイッチを表しています。2つのHDRスイッチ間の相互接続速度は、4本のHDRケーブルによって確保されます。各DGX GPUノードには、合計9つのInfiniBand（IB）カードが搭載されており、図中ではホストチャネルアダプタ（HCA）として表示されています。そのうちの1つのカードは専用のストレージ（ストレージターゲット）に割り当てられており、残りの8つは大規模なモデルトレーニングのために使用されます。具体的には、HCA1/3/5/7は最初のスイッチに接続され、HCA2/4/6/8は2番目のスイッチに関連付けられます。</p>
<p style="text-align: center;"><img title="Full-Speed Rails-Optimized Topology" src="https://media.fs.com/images/community/erp/4t8t2_fullspeed-railsoptimized-topology9MEJRn.jpg" alt="Full-Speed Rails-Optimized Topology" /></p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">シームレスで高性能なネットワークを構築するためには、上記の図で示されているような妨げのない、完全に最適化されたレールトポロジーを利用することをおすすめします。各DGX GPUノードは8つのIBカードを備えており、それぞれが個別のスイッチに接続されています。これらのスイッチはリーフスイッチと呼ばれ、合計で8つあります。割り当ては細心の注意が払われています：HCA1は最初のリーフスイッチに接続され、HCA2は2番目のリーフスイッチに接続されます。リーフスイッチ間の高速接続を実現するために、スパインスイッチが使用されます。</p>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">次の図に示される基礎的なトポロジーでは、スパインスイッチを表す2つの緑色のスイッチと、リーフスイッチを表す4つの青色のスイッチが使用されています。合計80本のケーブルが青色のスイッチと緑色のスイッチを相互接続し、青色のスイッチは戦略的に下に配置され、コンピュートノードに接続されています。この構成の本質は、ボトルネックを回避し、各IBカードがネットワーク内の他のすべてのIBカードと高速通信できる能力にあります。これにより、どのGPUも前例のない高速で他のGPUとシームレスに通信できる環境が実現されます。</p>
<p style="text-align: center;"><img title="spine to leaf to server nodes diagram" src="https://media.fs.com/images/community/erp/h2Pdb_spine-to-leaf-to-server-nodes-diagram108N8nG.jpg" alt="spine to leaf to server nodes diagram" /></p>
<h2 class="tit_one community_blog_detail_tit_one">卓越性の決定: FSのInfiniBandとRoCEソリューション</h2>
<p class="blog_p padding_top_none community_blog_detail_p community_blog_detail_p1">高性能でロスレスなネットワークの複雑な環境において、InfiniBandとRoCEの選択は、アプリケーションとインフラストラクチャの具体的な要件にかかっています。InfiniBandとRoCEの両方は、低レイテンシ、高帯域幅、最小限のCPUオーバーヘッドを提供し、高性能コンピューティングアプリケーションに適しているため、重要な存在です。</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/data-center-2875" target="_blank" rel="noopener">InfiniBandとイーサネットソリューション</a>の両方に対応する広範な高速製品を提供しています。弊社のモジュールは、40Gから800Gまでの幅広いスピードで利用でき、マルチレートのDACやAOCのオプションも備えており、お客様の多様なニーズに対応しています。さらに、ネットワーキング能力をさらに向上させるために、NVIDIA®のスイッチやNICも提供しています。これらの製品は卓越したパフォーマンスを発揮するだけでなく、経済的なコストで顧客のビジネスの加速能力を大幅に増強する触媒としての役割も果たしています。</p>