ホームページ  >  記事  >  テクノロジー周辺機器  >  AIラージベース、大型モデル時代への答え

AIラージベース、大型モデル時代への答え

WBOY
WBOY転載
2023-05-11 16:25:27961ブラウズ

1. Wen Xinyiyan の誕生

「Wen Xinyiyan は、国内 AI 分野で最大の高性能 GPU クラスターでのトレーニングを完了しました。」

早くも 2021 年 2019 年 6 月に、将来の大規模モデルのトレーニング タスクに対応するために、Baidu Intelligent Cloud は新しい高性能 GPU クラスターの構築計画を開始し、NVIDIA と協力して 10,000 枚を超えるカードを収容できる IB ネットワーク アーキテクチャの設計を共同で完了しました。クラスター内のノード間のノード 各 GPU カードは IB ネットワークを通じて接続されており、クラスターの構築は 2022 年 4 月に完了し、単一クラスターの EFLOPS レベルの計算能力を提供します。

2023 年 3 月、Wen Xinyiyan はこの高性能クラスター上に誕生し、新しい機能を反復し続けています。現在、このクラスターのサイズはまだ拡大中です。

NVIDIA 中国のソリューションおよびエンジニアリング担当ゼネラル マネージャー、Junjie Lai 博士: 高速 IB ネットワークで相互接続された GPU クラスターは、大規模モデルの時代の重要なインフラストラクチャです。 NVIDIA と Baidu Intelligent Cloud は共同で、国内クラウド コンピューティング市場で最大の高性能 GPU/IB クラスターを構築しました。これにより、大型モデルの分野における Baidu のさらなる躍進が加速します。

2. 高性能クラスターの設計

高性能クラスターは、単純にコンピューティング能力を蓄積するものではなく、その能力を最大限に引き出すためには特別な設計と最適化も必要です。クラスターの可能性、コンピューティング能力。

分散トレーニングでは、GPU はマシン間およびマシン内で継続的に通信します。 IBやRoCEなどの高性能ネットワークを利用して、マシン間通信に高スループットかつ低遅延のサービスを提供する一方で、サーバの内部ネットワーク接続やクラスタネットワークの通信トポロジを特別に設計する必要もあります。大規模モデルのトレーニングの通信要件を満たします。

究極の設計最適化を達成するには、AI タスクの各操作がインフラストラクチャにとって何を意味するのかを深く理解する必要があります。分散トレーニングにおけるさまざまな並列戦略、つまりモデル、データ、パラメーターの分割方法により、さまざまなデータ通信要件が生成されます。たとえば、データ並列処理とモデル並列処理では、多数のマシン内およびマシン間の Allreduce 操作が導入されます。エキスパート並列処理はマシン間の All2All 操作を生成し、4D ハイブリッド並列処理はさまざまな並列戦略によって生成される通信操作を導入します。

この目的のために、Baidu Smart Cloud はスタンドアロン サーバーとクラスター ネットワークの両方から設計を最適化し、高性能 GPU クラスターを構築します。

スタンドアロン サーバーに関しては、Baidu Smart Cloud のスーパー AI コンピューター X-MAN が第 4 世代に進化しました。 X-MAN 4.0 は、GPU の高性能カード間通信を確立し、単一マシン内で 134 GB/秒の Allreduce 帯域幅を提供します。これは、現在、最も高度なカスタマイズと最も専門的なマテリアルを備えた Baidu のサーバー製品です。 MLCommons 1.1 リストでは、X-MAN 4.0 は同じ構成のスタンドアロン ハードウェア パフォーマンスで TOP2 にランクされています。

クラスター ネットワークに関しては、大規模モデルのトレーニング用に最適化された 3 層 Clos アーキテクチャが、大規模トレーニング中のクラスターのパフォーマンスと高速化を保証するように特別に設計されています。従来の方法と比較して、このアーキテクチャは 8 つのレールで最適化されており、異なるマシンにある同じ番号を持つカード間の通信におけるホップ数を最小限に抑え、最大シェアを持つ同じカードの Allreduce 操作をサポートします。 AI トレーニングにおけるネットワーク トラフィック、高スループット、低遅延のネットワーク サービス。

このネットワーク アーキテクチャは、最大 16,000 枚のカードを備えた超大規模クラスターをサポートでき、この規模は現段階でのすべての IB ネットワーク ボックス ネットワーキングの中で最大規模です。クラスターのネットワーク パフォーマンスは安定しており、安定した通信の状態に近い 98% のレベルで一貫しています。大規模モデル アルゴリズム チームによって検証されたところ、この超大規模クラスター上で数千億のモデル トレーニング ジョブが送信され、同じマシン サイズでの全体的なトレーニング効率は前世代クラスターの 3.87 倍でした。

ただし、大規模で高性能な異種クラスターの構築は、大規模モデルを正常に実装するための最初のステップにすぎません。 AI の大規模モデルのトレーニング タスクを確実に正常に完了するには、ソフトウェアとハ​​ードウェアをより体系的に最適化する必要があります。

3. 大規模モデルのトレーニングの課題

過去数年で、大規模モデルのパラメータ サイズは年間 10 倍の割合で増加すると予想されています。 2020 年頃には、数千億のパラメータを持つモデルが大規模モデルとみなされるようになり、2022 年までにはすでに大規模モデルと呼ばれるには数千億のパラメータが必要になるでしょう。

大規模なモデルが登場する前は、AI モデルのトレーニングは通常、1 枚のカードを備えた 1 台のマシン、または複数のカードを備えた 1 台のマシンで十分であり、トレーニング サイクルは数時間から数日にも及びました。現在、数千億のパラメータを持つ大規模モデルのトレーニングを完了するには、数百のサーバーと数千の GPU/XPU カードを使用した大規模クラスター分散トレーニングが必須となっており、トレーニング サイクルも数か月に延長されています。

1,750 億のパラメーター (3,000 億のトークン データ) で GPT-3 をトレーニングするには、半精度のピーク パフォーマンス計算に基づいて A100 の 1 ブロックに 32 年かかり、A100 の 1,024 ブロックには 34 日かかります。リソース使用率は 45% です。もちろん、時間を考慮しなくても、モデルのパラメータはカード 1 枚のメモリ容量を超えているため、1 台の A100 で 1,000 億のパラメータ規模のモデルをトレーニングすることはできません。

分散トレーニング環境で大規模なモデルのトレーニングを行うには、カード1枚あたりのトレーニングサイクルが数十日から数十日に短縮され、コンピューティングの壁、ビデオメモリの壁、通信の壁など、さまざまな課題を突破する必要があります。これにより、クラスター内のすべてのリソースを最大限に活用してトレーニング プロセスを高速化し、トレーニング サイクルを短縮できます。

コンピューティング ウォールとは、1 枚のカードのコンピューティング能力とモデルの合計コンピューティング能力との間の大きな差を指します。 A100 の 1 枚のカードの計算能力はわずか 312 TFLOPS ですが、GPT-3 では合計 314 ZFLOP の計算能力が必要であり、その差は 9 桁あります。

ビデオ メモリ ウォールとは、1 枚のカードでは大規模モデルのパラメータを完全に保存できないことを指します。 GPT-3 の 1,750 億個のパラメータだけでも 700 GB のビデオ メモリが必要です (各パラメータは 4 バイトとして計算されます)。一方、NVIDIA A100 GPU には 80 GB のビデオ メモリしかありません。

コンピューティングの壁とビデオ メモリの壁の本質は、限定された単一カードの機能と、モデルの膨大なストレージおよびコンピューティング要件との間の矛盾です。これは分散研修で解決できますが、分散研修後にはコミュニケーションの壁という問題が発生します。

通信の壁。主に分散トレーニングではクラスターの各コンピューティング ユニットが頻繁にパラメーターを同期する必要があり、通信パフォーマンスが全体のコンピューティング速度に影響します。コミュニケーションの壁をうまく処理しないと、クラスターが大きくなり、学習効率が低下する可能性があります。通信の壁を突破することに成功したことは、クラスターの強力なスケーラビリティに反映されます。つまり、クラスターのマルチカード アクセラレーション機能が規模に見合ったものになります。複数カードの線形加速率は、クラスタ内の複数カードの加速能力を評価する指標であり、値が高いほど優れています。

これらの壁は、複数のマシンと複数のカードを使用したトレーニング中に現れ始めます。大きなモデルのパラメータがますます大きくなるにつれて、対応するクラスター サイズもますます大きくなり、これら 3 つの壁はますます高くなります。同時に、大規模なクラスターの長期トレーニング中に機器の故障が発生し、トレーニング プロセスに影響を与えたり、中断したりする可能性があります。

4. 大規模モデルのトレーニングのプロセス

一般に、インフラストラクチャの観点から見ると、大規模モデルのトレーニングのプロセス全体は次の 2 つの段階に大別できます。

フェーズ 1 : 並行戦略とトレーニングの最適化

##トレーニング対象の大規模モデルを送信した後、AI フレームワークは大規模モデルの構造やその他の情報、およびコンポーネントの機能を包括的に考慮します。トレーニング クラスターを使用して、このトレーニング タスクの並行トレーニング戦略を策定し、AI タスクの配置を完了します。このプロセスは、モデルを分解してタスクを配置すること、つまり、大規模なモデルをどのように分解し、分解された部品をクラスターの各 GPU/XPU にどのように配置するかということです。

GPU/XPU で実行するように配置された AI タスクの場合、AI フレームワークはクラスターを共同でトレーニングして、シングル カード ランタイムおよびクラスター通信レベルでフルリンクの最適化を実行し、各 AI の動作を加速します。大規模なモデルのトレーニング プロセス中のタスク データの読み込み、オペレーターの計算、コミュニケーション戦略などの効率化たとえば、AI タスクで実行される通常のオペレーターは、最適化された高性能オペレーターに置き換えられ、現在の並列戦略とトレーニング クラスター ネットワーク機能に適応するコミュニケーション戦略が提供されます。

フェーズ 2: リソース管理とタスク スケジューリング

大規模モデル トレーニング タスクは、上記で策定した並列戦略に従って実行を開始し、トレーニング クラスターは AI にさまざまな高性能リソースを提供します。タスク。たとえば、AI タスクはどのような環境で実行されるか、AI タスクにリソース ドッキングを提供する方法、AI タスクがデータの読み取りと保存にどのようなストレージ方法を使用するか、GPU はどのような種類のネットワーク設備を使用するかなどです。 /XPU などを通じて通信します。

同時に、運用プロセス中に、トレーニング クラスターは AI フレームワークと結合し、柔軟なフォールト トレランスやその他の方法を通じて、大規模モデルの長期トレーニングのための信頼できる環境を提供します。たとえば、クラスター内のさまざまなリソースや AI タスクの実行状況をどのように観察および認識するか、クラスターが変更されたときにリソースや AI タスクをスケジュールする方法などです。

上記の 2 つの段階を分解すると、大規模モデルのトレーニング プロセス全体が、AI フレームワークとトレーニング クラスターの緊密な連携に依存して、3 つの壁の突破を完了し、共同で行うことがわかります。大規模なモデルのトレーニングを効率的かつ安定的に保証します。

5. フルスタック統合「AI Big Base」で大規模モデルのトレーニングを加速

AI と大規模モデルの分野における長年の技術蓄積とエンジニアリングの実践を組み合わせて、Baidu は完全な自社開発のAI基盤「AI Big Base」は、「チップ-フレームワーク-モデル」の3層の技術スタックで構成されており、自社開発の主要技術と主要製品をすべてのレベルで備えており、 Kunlun Core、PaddlePaddle、WeChat 心臓の大きなモデル。

Baidu Intelligent Cloud は、これら 3 層の技術スタックに基づいて、「AI ミドル プラットフォーム」と「Baidu Baige・AI ヘテロジニアス コンピューティング プラットフォーム」という 2 つの主要な AI エンジニアリング プラットフォームを立ち上げ、それぞれ開発中およびリソース中です。あらゆるレベルで効率を向上させ、3 つの壁を突破し、トレーニング プロセスを加速します。

その中で、「AI ミドル プラットフォーム」は、AI フレームワークに依存して、大規模なモデルのトレーニング プロセスの並列戦略と最適化された環境を開発し、トレーニングのライフ サイクル全体をカバーします。 「Baidu Baige」は、効率的なチップの有効化を実現し、さまざまな AI リソースの管理とタスク スケジューリング機能を提供します。

AI 大底座,大模型时代的答卷

Baidu の「AI Big Base」は、技術スタックの各層のフルスタック統合とシステム最適化を実行し、クラウドとクラウドの技術統合構築を完了しました。エンドツーエンドの最適化と大規模モデルのトレーニングの高速化を実現できます。

Baidu Group 副社長、Hou Zhenyu 氏: 大規模モデルのトレーニングは体系的なプロジェクトであり、クラスター サイズ、トレーニング時間、コストはすべて過去に比べて大幅に増加しています。 。フルスタックの最適化がなければ、大規模なモデルのトレーニングを確実に正常に完了することは困難です。 Baidu は長年にわたる大規模モデルへの技術投資とエンジニアリングの実践により、大規模モデルのトレーニングを加速するソフトウェア スタック機能の完全なセットを確立することができました。

次に、上記の大規模モデル トレーニング プロセスの 2 つの段階を組み合わせて、「AI Big Base」のテクノロジー スタックのさまざまなレイヤーがどのように統合されるかを説明します。システムの最適化により、エンドツーエンドの最適化と大規模なモデルのトレーニングの高速化を実現します。

5.1 並列戦略とトレーニングの最適化

モデル分割

フライング パドルは、大規模モデルに対してデータ並列処理、モデル並列処理、パイプライン並列処理、パラメータのグループ化とスライス、エキスパート並列処理を提供できます。トレーニングやその他の豊富な並行戦略。これらの並列戦略は、数十億から数千億、さらには数兆の範囲のパラメーターを使用して大規模なモデルをトレーニングするニーズを満たし、コンピューティングおよびビデオ メモリの壁のブレークスルーを達成できます。 2021 年 4 月、Feipiao は業界で初めて、月次レベルで完了する数千億の大規模モデルのトレーニングをサポートできる 4D ハイブリッド並列戦略を提案しました。

トポロジ認識

Baidu Baige には、ノード内アーキテクチャ認識、ノード間アーキテクチャ認識など、大規模モデルのトレーニング シナリオ向けに特別に用意されたクラスター トポロジ認識機能が備わっています。各サーバー内部の電源、CPU と GPU/XPU、GPU/XPU と GPU/XPU のリンク方法、サーバー間の GPU/XPU と GPU/XPU のネットワーク リンク方法などの情報。

自動並列

大規模モデル トレーニング タスクの実行を開始する前に、Feipiao は、Baidu Baige プラットフォームのトポロジ認識機能に基づいて、クラスターの統合分散リソース グラフを形成できます。同時に、フライングパドルは、トレーニング対象の大規模モデルに基づいて、統一された論理計算ビューを形成します。

これら 2 つの図に基づいて、Feipiao はモデルの最適なモデル セグメンテーションとハードウェアの組み合わせ戦略を自動的に検索し、最適な戦略に従ってモデル パラメーター、勾配、オプティマイザー ステータスをさまざまな GPU に割り当てます。 XPU、AI タスクの配置を完了してトレーニングのパフォーマンスを向上させます。

たとえば、モデルの並列 AI タスクは同じサーバー上の異なる GPU に配置され、これらの GPU はサーバー内の NVSwitch を介してリンクされます。データ並列 AI タスクとパイプライン並列 AI タスクを、異なるサーバー上の同じ番号の GPU に配置し、これらの GPU は IB または RoCE を通じてリンクされます。 AI タスクの種類に応じて AI タスクを配置するこの方法により、クラスター リソースを効率的に使用でき、大規模モデルの学習を高速化できます。

エンドツーエンドの適応トレーニング

トレーニング タスクの実行中に、リソース障害などのクラスターの変更やクラスターの規模の変更があった場合、Baidu Baige はフォールト トレランスを実行します。交換または弾性伸縮。計算に参加するノードの位置が変更されたため、それらの間の通信モードは最適ではなくなる可能性があります。 Flying Paddle は、最新のクラスター情報に基づいて、モデルのセグメンテーションと AI タスクの配置戦略を自動的に調整できます。同時に、Baidu Baige は対応するタスクとリソースのスケジュール設定を完了します。

Feipiao の統合されたリソースとコンピューティング ビュー、および自動並列機能は、Baidu Baige の柔軟なスケジューリング機能と組み合わせることで、大規模モデルのエンドツーエンドの適応型分散トレーニングを実現し、クラスター トレーニング サイクルの全期間をカバーします。

これは、AI フレームワークと AI ヘテロジニアス コンピューティング パワー プラットフォーム間の詳細な相互作用であり、コンピューティング能力、フレームワーク、アルゴリズムの三位一体のシステム最適化を実現し、自動かつ柔軟なシステムをサポートします。大規模なモデルのトレーニングに使用され、エンドツーエンドで測定されたパフォーマンスは 2.1 倍です。パフォーマンスの向上により、大規模なトレーニングの効率が保証されます。

トレーニングの最適化

モデルの分割と AI タスクの配置が完了した後、トレーニング プロセス中に、オペレーターがフライング パドルなどのさまざまな主流の AI フレームワークで確実に動作するようにするためPytorch とさまざまなコンピューティング カードを使用して計算を高速化でき、Baidu Baige プラットフォームには AI アクセラレーション スイートが組み込まれています。 AI アクセラレーション スイートには、データ レイヤー ストレージ アクセラレーション、トレーニングおよび推論アクセラレーション ライブラリ AIAK が含まれており、データの読み込み、モデル計算、分散通信などの次元からリンク全体を最適化します。

その中で、データロードとモデル計算の最適化は、単一カードの動作効率を効果的に向上させることができ、分散通信の最適化は、クラスター IB や RoCE などの高性能ネットワークと特別に最適化された通信トポロジーと組み合わせて行われます。コミュニケーションの壁の問題を共同で解決するための合理的な AI タスク配置戦略。

Baidu Baige のキロカード規模のクラスターにおけるマルチカード アクセラレーション率は 90% に達し、クラスターの全体的なコンピューティング能力を最大限に発揮できるようになりました。

2022 年 11 月にリリースされた MLPerf Training v2.1 のテスト結果では、Fei Paddle と Baidu Baige を使用して Baidu が提出したモデル トレーニングのパフォーマンス結果が、同じ GPU 構成でエンドツーエンドで世界 1 位にランクされました。トレーニング時間とトレーニング スループットの両方が NGC PyTorch フレームワークを超えています。

5.2 リソース管理とタスク スケジューリング

Baidu Baige は、コンテナ エンジン CCE を通じてすべての AI タスクの操作を実行し、関連するコンテナ プラグを通じてさまざまな AI リソース管理、アーキテクチャ認識、および弾力性を提供します。フォールト トレランスやその他の機能により、コンピューティング、メモリ、通信の壁をリソース効率レベルでブレークスルーできます。

リソース管理

Baidu Baige は、Baidu Taihang エラスティック ベア メタル サーバー BBC、IB ネットワーク、RoCE ネットワーク、並列ファイル ストレージ PFS など、さまざまなコンピューティング、ネットワーク、ストレージ、その他の AI リソースを提供できます。オブジェクト ストレージ BOS、データ レイク ストレージ アクセラレーション RapidFS、および大規模モデルのトレーニングに適したその他のさまざまなクラウド コンピューティング リソース。

タスクの実行中に、これらの高性能リソースを合理的に組み合わせて、AI 操作の効率をさらに向上させ、プロセス全体で AI タスクのコンピューティング高速化を実現できます。 AI タスクを開始する前に、オブジェクト ストレージ BOS 内のトレーニング データをウォームアップし、そのデータをエラスティック RDMA ネットワークを通じてデータ レイク ストレージ アクセラレーション RapidFS にロードできます。弾力性のある RDMA ネットワークは、従来のネットワークと比較して通信遅延を 2 ~ 3 倍削減でき、高性能ストレージに基づいて AI タスク データの読み取りを高速化します。最後に、AI タスクの計算は、高性能の Baidu Taihang エラスティック ベア メタル サーバー BBC またはクラウド サーバー BCC を通じて実行されます。

エラスティック フォールト トレランス

AI タスクを実行するときは、高性能リソースが必要なだけでなく、クラスターの安定性を確保し、トレーニングの中断を避けるためにリソース障害の発生を最小限に抑える必要があります。ただし、リソース障害を完全に回避することはできません。AI フレームワークとトレーニング クラスターは、トレーニング タスクが中断された後に最新の状態から回復できることを共同で保証する必要があります。これにより、大規模なトレーニングの長期にわたる信頼性の高い環境が提供されます。モデル。

Baidu が自社開発した異種コレクション ライブラリ ECCL は、Kunlun コアと他の異種チップ間の通信をサポートし、遅いノードや障害のあるノードの認識をサポートします。 Baidu Baige のリソースの弾力性とフォールト トレランス戦略を通じて、遅いノードと障害のあるノードが排除され、最新のアーキテクチャ トポロジが Feipiao にフィードバックされてタスクを再配置し、対応するトレーニング タスクを他の XPU/GPU に割り当ててスムーズなトレーニングを保証します。効率的に。

6. 大規模モデル時代における AI の包括性

大規模モデルは、人工知能が一般知能に移行するためのマイルストーン テクノロジーです。大規模モデルをうまくマスターすることは、完全なインテリジェントなアップグレード。超大規模なコンピューティング能力とフルスタックの統合ソフトウェアの最適化が、この必須の質問に対する最良の答えです。

社会と業界が独自の大規模モデルを迅速にトレーニングし、時代のチャンスをつかむのを支援するために、Baidu Intelligent Cloud は、次のフルスタック機能を備えた陽泉インテリジェント コンピューティング センターを 2022 年末にリリースしました。 Baidu の「AI Big Base」は、4 EFLOPS の異種コンピューティング能力を提供できます。これは現在、アジア最大かつ最も技術的に進んだデータセンターです。

現在、Baidu Smart Cloudは「AI Big Base」のすべての機能を外部に公開し、さまざまな地域のセントラルクラウド、エッジクラウドBEC、ローカルコンピューティングを通じて、ビッグモデル時代の包括的なAIを実現しています。クラスター LCC、プライベート Cloud ABC Stack などさまざまな形で提供され、社会や産業がインテリジェントなサービスを簡単に入手できるようになります。

以上がAIラージベース、大型モデル時代への答えの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。