HetCCL: Enabling Collective Communication For Mixed-Vendor Heterogeneous Clusters
letCCLは、ホスト・デバイス間のコピーフリーなP2Pトランスポート、ベンダーに依存しないボーダーコミュニケーターメカニズム、および階層的なトポロジー抽象化を導入することで、混在ベンダーのヘテロジニアスなクラスターにおける効率的な集団通信を可能にする新しいフレームワークであり、Glooよりも最大19倍高い帯域幅を実現し、LLMのトレーニングを16.9%加速させます。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
想像してみてください。あなたは、超高性能なAI(大規模言語モデル)を訓練するために、大規模なグローバル・リレーレースを組織しようとしています。かつては、特定の国(NVIDIAのような特定のハードウェアベンダー)のランナーだけを使うことができました。彼らは皆、同じ靴を履き、同じ言葉を話し、バトンを渡す方法を正確に熟知していました。これにより、レースは速く、スムーズに進みました。
しかし今日では、一つの国のランナーだけでレースを行うことは、供給不足のため、コストがかかりすぎるか、あるいは不可能です。そこで、あなたは異なる国々(NVIDIA、AMD、Huaweiなど)のランナーを混ぜ合わせることにしました。問題は、彼らは言葉も異なり、履いている靴も違い、バトンを落とさずに互いに受け渡す方法を知らないということです。
これが、HetCCLが解決する問題です。その仕組みを、シンプルな概念に分解して説明します。
1. 問題点:「ホスト」によるボトルネック
これまでの混合レースの試みでは、もし国Aのランナーが国Bのランナーにバトンを渡す必要がある場合、まず中央の「コーチ」(CPU)のもとへ走っていかなければなりませんでした。コーチはバトンを受け取り、それをクリップボードに書き留め、反対側まで走り、新しいランナーに手渡すのです。
- 問題点: この「コーチ」の手順は時間がかかります。何度も走り回ることで時間を浪費し、さらにコーチとランナーの間の通路は、狭くて混雑した廊下(PCIeボトルネック)のようになっています。
2. 解決策:「ダイレクトライン」(P2Pトランスポート)
HetCCLは、バトンの渡し方に新しい方法を編み出しました。コーチを使う代わりに、たとえ異なる国同士であっても、ランナーの手の間に直接つながる高速なトンネルを建設します。
- 仕組み: HetCCLは、「いつ走るか」という指示(コントロール)についてはコーチに任せますが、「データ」(実際のバトン)は、レースの間中、ずっとランナーの手の中に留めておきます。
- 例え: コーチが「行け!」というテキストメッセージを送る場面を想像してください。その後、ランナーたちはコーチのオフィスを完全にスキップして、超高速なトンネルを通じて直接バトンを渡し合います。これにより、ゆっくりと「行ったり来たり」する時間が排除されます。
3. 「国境警備員」のトリック(ベンダーに依存しないリダクション)
時には、レースは単にバトンを渡すだけではありません。情報を組み合わせることもあります。例えば、ランナーAが数字の「5」を持っていて、ランナーBが「3」を持っている場合、彼らは次のバトンに渡す前に、それらを足して「8」にする必要があります。
- 問題: 国によって、使用する計算機が異なります。ランナーAに対して、ランナーBの計算機を使うよう求めることはできません。
- 解決策: HetCCLは「国境警備員」システムを作成します。これは、異なるランナーからの数字を受け取り、それらを特定の「国境ステーション」へと移動させ、そこで標準的なユニバーサル計算機(各国の既存ソフトウェアに組み込まれているもの)を使って計算を行います。これは、全員が新しい言語を学ぶ必要がないように、共通の言語を話せるユニバーサルな翻訳者が国境にいるようなものです。
4. 「組立ライン」(階層的かつパイプライン化された設計)
多くのチームが参加する巨大なレースにおいて、もし全員が前のチームが終わるのを待ってからスタートすると、レースは遅くなってしまいます。
- 解決策: HetCCLは、レースを階層的な組立ラインとして構成します。
- ステップ1: 同じ国内のランナーが、まずローカルな受け渡しを完了させます。
- ステップ2: 彼らがそれを行っている間に、「国境警備員」が国同士のデータ受け渡しを開始します。
- ステップ3: 最終的な受け渡しは、再び国内で行われます。
- 例え: 全体のラインが止まるのを待つのではなく、前のバッチのランナーがトラックをクリアした瞬間に、次のバッチが動き出します。これにより、「トンネル」(ネットワーク帯域幅)が、アイドル状態(空の状態)になることなく、常にフル稼働し続けることができます。
彼らは何を証明したのか?
研究者たちはこのシステム(HetCCLと呼ばれる)を構築し、4つの異なる企業の実際のハードウェアを用いてテストを行いました。その結果、以下のことが判明しました。
- スピード: 混合シナリオにおいて、HetCCLは従来の「コーチ」方式(Gloo)よりも17倍から19倍高速でした。
- 効率性: 異なるハードウェアを混ぜて使用した場合でも、全員が同じ国から来た場合とほぼ同等のスピードを実現しました。
- 実世界への影響: AIモデル(Llama 3など)の訓練に使用した際、従来のメソッドと比較して、1ステップあたりの訓練プロセスが最大16.9%高速化されました。
要約すると: HetCCLは、異なる種類のコンピュータチップが、互いの足を引っ張ることなくチームとして協力できるようにするための、ユニバーサルな翻訳機であり、エクスプレスレーンです。これにより、大規模なAIシステムをより安価に、より速く構築することが可能になります。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。