ニュース

llm トレーニングのトラフィックは 10,000 分の 1 に減少します。新しい分散オプティマイザーは、世界中のコンピューティング能力を統合して強力な ai をトレーニングします

2024-09-10

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina



  新しい知恵のレポート

編集者:アラン
【新しい知恵の紹介】最近、nous research は、アーキテクチャおよびネットワークに依存しない分散オプティマイザーを使用することで、llm のトレーニング時の gpu 間の通信量を 1,000 ~ 10,000 分の 1 に削減することに成功したと発表しました。

世界中のすべてのコンピューティング能力を ai モデルのトレーニングに使用できたらどうなるでしょうか?

最近、オープンソースの hermes 3 (llama 3.1 ベース) のリリースで広く注目を集めた nous research が、再び大きな進歩である distro (distributed internet training) を発表しました。

研究者らは、アーキテクチャやネットワークに依存しない分散オプティマイザーを使用することで、llm をトレーニングする際の gpu 間通信を 1,000 ~ 10,000 分の 1 に削減することに成功しました。

このような大げさな改善により、大規模モデルのトレーニングの重要なコストとボトルネックである帯域幅はもはや問題ではなくなりました。

distro の手法を使用すると、トレーニング負荷をインターネットに分散でき、オンライン世界全体が巨大な異種 ai サーバー クラスターになります。

——適切なコンピューティング能力を持つあらゆるデバイスがトレーニング プロセスに参加できます。

実験により、この記事の方法は基本的にモデルのパフォーマンスの低下を引き起こさないことが証明されています。同時に、収束速度の点では、distro-adamw は標準の adamw+all-reduce と同等です。

分散型インターネット研修

一般に、大規模なニューラル ネットワークのトレーニングには多大な通信オーバーヘッドが伴います。

たとえば、データの並列処理を行う場合、異なるハードウェア (グラフィックス カードなど) 上で異なるトレーニング データが前方および後方に計算されます。その後、データの同じバッチから計算された勾配をグラフィックス カード間で同期する必要があります。次のステップ。

モデルが並列の場合、中間データは all-reduce を通じて結合または蓄積される必要があります。

これらのデータ通信のオーバーヘッドが重複できない場合、モデルのトレーニングのボトルネックになります。

偶然にも、laohuang のビデオ メモリと帯域幅は非常に高価であり、複数のカードをセットアップするときに必要なハードウェアも非常に高価です。

この問題を解決するために、研究者らは distro を開発しました。これは、償却分析に依存せずに gpu 間の通信要件を 4 ~ 5 桁削減し、低速ネットワーク上で大規模なニューラル ネットワークの低遅延トレーニングを可能にします。

distro は汎用的で、スケーラブルで、クロック同期されています (sgd、adam などと同様に、各トレーニング ステップは同じ算術演算を使用し、同じ時間がかかります)。

さらに、以前のアドホック低通信オプティマイザーと比較して、distro は電気通信ネットワークのトポロジやニューラル ネットワーク アーキテクチャの影響を受けず、最小限のオーバーヘッドで分散データ並列トレーニング (ddp) をネイティブにサポートできます。

llm 事前トレーニング

研究者らは、nanotron を事前トレーニング フレームワークとして使用し、ddp 戦略 (各 gpu がモデル全体を vram にロードする) に従ってのみ実行しました。

llm は 1.2b サイズの llama 2 を選択します。モデルとトレーニングで使用されるハイパーパラメーターは次のとおりです。

トレーニング データは dolma v1.7 データ セットを使用し、10% の代表サンプル (最初の 105b トークン) がランダムに選択されます。

オプティマイザは adamw、β1=0.9、β2=0.95、ピーク学習率は 4x10e-4、コサイン減衰スキームが使用され、重み減衰は 0.1 に設定されます。

比較のための別の実験セットとして、ハイパーパラメーターを変更せず、nanotron の all-reduce 操作を無効にすることなく、adamw を distro-adamw に置き換えました。

以前の分散トレーニング方法とは異なり、distro はオプティマイザーの状態を同期しません (ステートレスになることもあります)。

以下の図は、25,000 ステップの 105b データを使用した 2 セットの実験のトレーニング損失曲線です。 distro の収束能力は all-reduce と同等であることがわかります。

重要なのは、distro はトレーニング効果に影響を与えることなく、通信量を 74.4gb から 86.8mb に直接削減したことです。これは、帯域幅の圧力が 857 分の 1 に減少することに相当します。

なお、この857回はあくまで初期テストであり、後からハイパーパラメータを調整して1000回から3000回まで減らしても問題ないと著者は述べています。

トレーニング後の微調整であれば、基本的にトレーニング効果に影響を与えることなく、最大 10,000 回の通信最適化を達成することもできます。

最後に、トレーニング効果を検証するために、著者はトレーニングされたモデルに対して gpt4all ゼロショット ベンチマーク テストを実行し、同じ数のトークンでトレーニングされた tinyllama (チェックポイント) と比較しました。

結果は上の表に示されています。tinyllama のアーキテクチャとトレーニング プロセスはこの記事の実験と非常に似ており、結果の健全性チェックの尺度として使用できます。

将来のアプリケーション

データフロー

この実験のシナリオでは、32 ノードが最も単純な all-reduce (フル接続) を使用し、各ノードは平均 86.8mb (2.8mb x 31) を送信し、同じ量のデータを受信します。

データ集約に専用サーバーを使用すると、各ノードは2.8mbのデータをアップロードするだけで済み(受信したデータはそのまま)、さらに通信量が削減されます。

さらに、ほとんどの消費者向けインターネットの帯域幅はより高いダウンロード速度に大きく偏っているため、非対称性は有利です。

安定したネットワーク速度がダウンロード 100mbps、アップロード 10mbps であると仮定すると、最悪の場合の遅延はダウンロードでわずか 6.94 秒、アップロードで 2.24 秒になります。重複した場合、各ステップの遅延は 6.94 秒になります。

ps: 上記のデータ転送はすべてオリジナルのベクトルであり、圧縮技術を使用すると高速になります。

帯域幅

著者らは、現在の実験と研究は比較的限られており、モデルが大きくなるにつれて帯域幅削減率が増加するのか、減少するのか、それとも同じままなのか結論を下すことは不可能であると述べています。

ただし、現状の 1.2b が distro が正常に動作する最小サイズのようです(いくら小さくても収束しません)ので、モデルサイズが大きくなるにつれて相対的に通信量が少なくなることが予想されます。必要とされる。

ただし、通信量がモデルのサイズに関係していない可能性もあります。この場合、通信帯域幅を増やさずにモデルのサイズを大きくして、より大きなモデルがトレーニングと学習の効果を向上させるかどうかを観察できます。

後者のシナリオが真実であれば、将来の gpu の設計と製造のパラダイムは変更されます (vram が大きくなり、帯域幅が狭くなります)。

たまたま、最近では帯域幅がコンピューティングよりもはるかに高価であるため、(i/o 集中型ではなく) コンピューティング集中型のワークロードも好まれています。

連合学習

llm のトレーニング以外に、distro は他に何に使用できますか?

インターネット上で分散トレーニングを行うというと、人々はすぐにフェデレーテッド ラーニングを思い浮かべます。

llm が大企業によって管理されている現在、モデルの共同トレーニングを許可しながら、各参加者のデータのプライバシーと分散化を維持することがますます重要になっています。

これまで、フェデレーション ラーニングには、限られたインターネット帯域幅で大規模なモデルをトレーニングするための効果的な方法がありませんでした。

distro には、データの処理方法や個々の gpu ノードへのデータの配布方法に関する要件がなく、ステートレス (フェデレーテッド平均化と同様) にできるため、フェデレーテッド ラーニングの将来に適しています。

仮想異種gpuクラスター

さらに、distro は、リソースを共同作業したり共有したりするための、完全に分散化された権限のないネットワークを作成できます。

実験によると、distro はトレーニング中にダウングレードまたはドロップされた少数のノードに対して非常に回復力があり、新しいノードの追加にも簡単に適応できることが示されています。

この機能のおかげで、一方ではシステム全体のセキュリティを確保し、信頼できないノードが敵対的な攻撃を使用して運用を妨害するリスクを軽減できます。

一方で、機関や個人が独自のコンピューティング リソースを柔軟に提供し、潜在的なコンピューティング能力を解放することを奨励することもできます。

メモリやコンピューティング能力が不十分な一部の古いカードでも、fsdp や swarm 並列処理などの戦略を使用して distro と連携して追加の収益を得ることができます。

エネルギー

distro をさらに大規模に適用すると、大規模なデータセンターの建設によって引き起こされるエネルギー消費、インフラストラクチャのコスト、土地利用関連の問題が軽減される可能性があります。

llama 3.1 プロジェクトでは、それぞれ 24,000 個の h100 gpu を含む 2 つの大きなモノリシック スーパークラスターの構築が必要で、トレーニング プロセスだけで 11,000 トンに相当する co2 排出量が発生しました。

現在の llm では、モデルのパラメーター サイズの増加に加えて、トレーニング データの量も増加しているため、ai 関連のデータ センターが現代の電力網の限界に達しています。

distro を使用すると、余剰容量を使用して複数の小規模モジュール式データセンターのバランスを適応的に調整でき、動的バランシング トレーニング テクノロジを通じて既存のインフラストラクチャを利用して、環境に対するトレーニングの悪影響を軽減できます。

現時点では、distro の背後にある理論はまださらなる探求が必要であり、より厳密で詳細な学術論文と完全なコードが将来リリースされるでしょう。