ニュース

GPU トレーニング Llama 3.1 が異常終了する

2024-08-01

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


新しい知恵のレポート

編集者:編集部

【新しい知恵の紹介】CPU ユニバーサル サーバーを使用して、数千億のパラメータを持つ大規模なモデルを実行する時が来ました。

マスク氏は10万台のH100を接続した世界最大のスーパーコンピューターを19日間で構築し、Grok 3のトレーニングに全力を注いだ。

同時に海外メディアは、OpenAIとMicrosoftが共同構築する次のスーパーコンピューティングクラスターは10万GB200で構成されるというニュースを報じた。

この AI 競争において、大手テクノロジー企業は GPU への投資を増やすために全力を尽くしており、より強力な GPU を搭載することで大手テクノロジー企業は無敵になることを示唆しているようです。

ただし、ハイエンド GPU のこの熱狂的な追求は、あらゆる状況において完璧なソリューションというわけではありません。


Pytorch の父親は、技術レポートには、並列化の方法、システムの信頼性を高める方法など、インフラストラクチャに関する多くの興味深い詳細が隠されていると述べました。

安定性を例に挙げると、54 日間の Llama 3.1 トレーニング中に、Meta の 16,000 ブロックの H100 クラスターは合計 419 回の予期せぬ中断に遭遇しました。これは平均して 3 時間に 1 回に相当します。

このうち、148 回 (30.1%) はさまざまな GPU の障害が原因でした。

対照的に、CPU 障害による割り込みは 2 件のみでした。


一方、Llama 3.1 405B を実行したい場合は、2 台の 8×H100 DGX ワークステーション、つまり 1280GB のビデオ メモリと組み合わせる必要があります。

かつて戦士が 4090 で実行しようとしましたが、30 分待った後、モデルはゆっくりと「The」を吐き出しました。


完全な返信には丸20時間かかりました

モデルのトレーニングと推論に精通している友人は、これらのことがまったく驚くべきことではないことを知っています。

クラスター構築(GPU構成、ネットワーク設計、トラック最適化など)、クラスター管理(リアルタイム監視、トラブルシューティングなど)...すべてが「障害」です。

関連する経験や資金が不足している企業は何をすればよいでしょうか?


最近、Inspur Information の研究開発エンジニアは、わずか 4 つの CPU を使用して、汎用サーバー上で数千億のパラメータを備えた「Source 2.0」を実行しました。

Java でプログラムを記述するというコーディング作業に直面した場合、「Source 2.0」は非常に迅速に結果をもたらします。


別の論理的な質問をしてみます。海面から 2 メートルの高さでボートの側面にはしごが掛けられています。海水が 1 時間に 0.5 メートル上昇した場合、はしごが海水に浸るまでに何時間かかりますか。

同様に、AI は詳細な問題解決手順と回答をほぼ遅延なく提供します。



汎用サーバーを使用して数千億のパラメータを持つ大規模なモデルを実行することは前例がなく、この分野での蓄積はまったくなく、参考になる経験もありません。

Inspur Information はどのようにそれを行っているのでしょうか?

4 つの CPU を使用して、数千億のパラメータを持つ大規模モデルを活用する

単一サーバー上で数千億のパラメーターを持つ大規模なモデルの推論を実現するには、主に 2 つの段階があり、どちらの段階でもコンピューティング能力に厳しい要件が課せられます。

まず、順伝播段階とも呼ばれるプレフィル段階があります。

この段階には、入力データの処理とモデル パラメーターの最初の読み取りが含まれます。

たとえば、「AI に関する記事を書いてください」というプロンプトを入力すると、事前入力ステージで質問内のすべてのトークンとモデル パラメーターが一度に計算に入力されます。

場合によっては、この入力は数語である場合もあれば、数千語である場合もあり、あるいは本である場合もあります。

最初のステージの計算負荷がどの程度であるかは、主に入力の長さに依存します。

最初のトークンの計算中に、モデルが初めてロードされるため、すべての重みパラメータ、および KV キャッシュおよびその他のデータがメモリに保存されます。

これは、モデル パラメーター自体が占めるメモリ領域の 2 ~ 3 倍です。

数千億のパラメータ モデルの場合、大量のパラメータとデータ入力を強力なコンピューティング ユニットで処理する必要があります。このためには、ベクトル化命令セットと行列計算命令セットをサポートして、多数の行列乗算とテンソル演算を実装する必要があります。

2 番目に、デコード段階があります。つまり、すべての質問が入力された後、モデルが結果の出力を開始する段階です。

この段階で、大規模モデルの唯一の要件は、できるだけ早く出力することです。同時に、この課題はもはやコンピューティング能力の課題ではなく、「データ転送」の課題となっています。

これには、「データ転送」の 2 つの部分が含まれています。

  • プレフィル段階で生成された大量の KV キャッシュをビデオ メモリからコンピューティング ユニットに移動する必要があります (ワークロードが非常に重い)

  • モデルパラメータそのものの転送

これらの転送は、大規模モデルの計算と推論の速度において決定的な役割を果たします。データ転送は非常に高速であり、LLM の発音速度も高速になります。

LLM 出力は主に、KV Catch を通じてトークンを 1 つずつ生成し、各生成ステップの後に新しい単語チャンクのキーと値のベクトルを保存します。

したがって、数千億の大規模モデルをリアルタイムに推論するには、サーバーには高いコンピューティング能力と、ストレージ ユニットからコンピューティング ユニットへの高いデータ転送効率が必要です。

全体として、大規模モデル推論の 2 つの段階はまったく異なるコンピューティング特性を持っており、ソフトウェアとハ​​ードウェアの観点から協調的な最適化が必要です。

GPUがすべてではない

従来、GPU はその優れた並列処理機能により、AI のトレーニングと推論に最初の選択肢となってきました。

料金

ただし、ハイエンド GPU サーバーは市場で品薄になることが多く、入手するのが非常に困難です。

このコストを負担できるのは、Microsoft や Google など、資金が豊富なテクノロジー大手だけです。

その一方で、手が届かないだけでなく、手の届かないものでもあります。

推論タスクでは、GPU ベースのクラウド サービスのレンタルは高価です。科学研究者やアプリケーションのメーカーにとって、より高い費用対効果を達成する必要がある場合は、別の方法を見つける必要があります。

ビデオメモリ

さらに、GPU の最大の欠点の 1 つは、ビデオ メモリの容量が限られていることです。

業界における現在の LLM のネットワーク アーキテクチャは、GPT から MoE に徐々に移行しています。 AGI につながる大規模モデルのパラメータ スケールは指数関数的に増加するだけです。

これは、クローズドソース/オープンソースの主流モデルのサイズがますます大きくなり、数千億、さらには数兆のパラメータを持つモデルが主流になることを意味します。

数百億のパラメータ モデルの場合、20 ~ 30 GB のビデオ メモリで十分です。ただし、1,000 億のパラメータを実行する場合は、約 200 ~ 300 GB のビデオ メモリ容量が必要になります。

現在主流の AI チップには通常、数十 GB のビデオ メモリしか搭載されておらず、明らかにこのような大規模なモデルを収容することはできません。 (現在最も強力な AI チップは 200GB に達していません)


過小評価されている汎用サーバー

GPU が動作しない場合は、CPU から始めます。

モデルの大規模なトレーニングは現時点では不可能ですが、汎用サーバーは予想外に推論タスクにおいて大きな利点を持っています。

Inspur Information エンジニアは、具体的な実践の過程で、ハードウェア リソースとアルゴリズム レベルから始めて、それぞれの「つまずきのブロック」を克服しました。

超大容量メモリ + 高速帯域幅

計算能力という点では、現在、主要なサーバー CPU にはすでに AI アクセラレーション機能が搭載されています。

GPU の Tensor コアと同様に、AMX 高度なマトリックス拡張機能は、低精度の計算を高速化し、命令セットを CPU コアにコンパイルし、高速化に専用のコアを使用できます。

アルゴリズムに関して言えば、Inspur Information のユニバーサル サーバーは、PyTorch や TensorFlow などの主流の AI フレームワークと、DeepSpeed などの一般的な開発ツールを同時にサポートでき、より成熟し、展開が簡単で、より便利なオープン エコシステムに対するユーザーのニーズに応えます。

コミュニケーションという面では、フルリンク UPI (Ultra Path Interconnect) バス相互接続の設計により、CPU 間の効率的なデータ送信が実現します。

  1. 任意の 2 つの CPU 間での直接データ転送が可能になり、通信遅延が軽減されます。

  2. 最大 16GT/s (1 秒あたりのギガ転送) の高い転送速度を実現


さらに、Inspur Information の研究開発エンジニアは、CPU 間および CPU とメモリ間の配線経路とインピーダンスの連続性も最適化しました。

三次元シミュレーションの結果に基づいて、ビアの配置を調整し、信号クロストークを前世代よりも50%低い-60dB以下に低減しました。

さらに、DOE マトリックス アクティブ シミュレーションを通じて、チャネルのすべてのコーナーの組み合わせに対する最適解が見つかり、計算能力のパフォーマンスを最大限に活用することができます。

記憶力の面では、汎用サーバーの最大のメリットと言えるでしょう。

  • 容量

4 ソケット サーバーの場合、8 つの 32GB メモリ スティックを各 CPU に接続するだけで、簡単に 1TB に到達します。 完全に挿入すると、16TB まで拡張でき、最大 1 兆個のパラメータを持つモデルをサポートできます。

  • 帯域幅

DDR5 メモリと組み合わせると、理論上の帯域幅 4800MHz × 8 ビット × 8 チャネル × 4 ÷ 1024 = 1200GB/s を達成できます。

実際の測定結果では、読み取り帯域幅が995GB/s、書き込み帯域幅が423GB/s、読み書き帯域幅が437GB/sとなっています。

このデータは、GDDR メモリを搭載した一部の GPU またはアクセラレータ カードに匹敵します。


しかし、ハードウェアだけでは十分ではありません

ハードウェアの革新だけに頼るだけでは十分ではありません。CPU が大規模なモデル アルゴリズムの大規模な並列計算を実行することは困難です。

冒頭で述べたように、大規模なモデルでは、データ計算、コンピューティング ユニット間、またはコンピューティング ユニットとメモリ間の通信帯域幅に対する要件が非常に高くなります。

BF16 の精度に従って計算すると、1,000 億の大きなモデルの実行遅延を 100 ミリ秒未満にしたい場合、メモリとコンピューティング ユニット間の通信帯域幅は少なくとも 2 TB/秒である必要があります。

それだけでなく、汎用サーバー プロセッサは、大規模な並列コンピューティングを得意とするアクセラレータ カード設計に基づく大規模な AI モデルには適していません。

理由は明白です。後者は汎用性が高く高性能なコンピューティング コアを備えていますが、並列作業環境を備えていないからです。

一般的に、汎用サーバーはモデルの重量を CPU に転送し、その後他の CPU と直列に接続することで重量データの送信を実現します。

ただし、大規模なモデルでは動作中にメモリと CPU の間でアルゴリズムの重みを頻繁に転送する必要があるため、その結果、CPU とメモリの間の帯域幅の使用率が低くなり、通信のオーバーヘッドが非常に高くなります。


問題を解決するにはどうすればよいですか?アルゴリズムで革新する

上記の課題に対し、Inspur Informationは「Tensor Parallel」(テンソルパラレル)と「NF4 Quantification」という2つの技術革新を提案し、数千億の大規模モデルYuan2.0-102Bのリアルタイム推論の実現に成功した。

パフォーマンス解析の結果によると、モデルのさまざまな部分の計算時間の分布が明確にわかります—

線形層の実行時間が 50%、コンボリューションの実行時間が 20%、アグリゲーションの通信時間が 20%、その他の計算が 10% を占めます。

推論プロセス全体において、計算時間が 80% を占めることに注意してください。

これは、複数の PCIe AI アクセラレータ カードの使用とは著しく対照的です。後者の通信オーバーヘッドは 50% に達する可能性があり、その結果、コンピューティング パワーが大幅に浪費されます。


Yuan2.0-102B モデル推論パフォーマンス分析結果グラフ

テンソル並列性

いわゆるテンソル並列処理では、まず畳み込み演算子をテンソルに分割し、次に大規模モデル内の注目層とフィードフォワード層の行列の重みを計算して、複数のプロセッサのメモリに入力します。

これにより、一般サーバーの 4 つの CPU が同時にアルゴリズムの重みを取得して計算を高速化できます。

ただし、テンソル並列処理ではモデル パラメーターがより細かい粒度に分割されるため、各テンソル計算後に CPU がデータ同期を実行する必要があります。

この要件に対して、前述のフルリンク UPI バス相互接続技術は、この要件を完全に満たすことができます (通信帯域幅は最大 16GT/s)。

最終的に、この共同並列作業により、コンピューティング効率が 4 倍に直接向上しました。


NF4の定量化

メモリ帯域幅不足の問題に関しては、精度に影響を与えずにモデルを「スリム化」する、つまり量子化する必要があります。

利点は、一方では LLM パラメータを低ビット データに量子化でき、重みが小さくなることです。一方、重みを軽くすると、計算時に送信されるデータ量も少なくなります。

ここで、Inspur Information は、珍しい分位定量化手法である NF4 (4 桁の NormalFloat) を採用しています。


NF4 量子化方式により、Yuan2.0-102B のサイズを元のサイズの 1/4 に圧縮できます。

具体的には、NF4 の中心的な考え方は、量子化間隔内の入力テンソルの値の数が等しいことを保証することです。

この機能は、LLM 重みをほぼ正規分布で表現するのに非常に適しています。

標準偏差は量子化されたデータ型の範囲に合わせて調整できるため、NF4 は従来の 4 ビット整数または 4 ビット浮動小数点の定量化よりも高い精度を実現できます。

このように、量子化モデルは精度要件を満たすだけでなく、大規模な並列コンピューティングのメモリ アクセス データ量を大幅に削減できるため、リアルタイム推論のデコード要件を満たすことができます。


整数または浮動小数点量子化法のデータ間隔は、通常、均等に分散されるか、指数関数的に分散されます。

モデルの重みパラメータをさらに圧縮するために、チームはネストされた量子化 (Double Quant) テクノロジーも使用しました。

これは、NF4 量子化に基づく二次量子化です。

NF4 は量子化後に大量のスケール パラメータを生成するため、それらを格納するために 32 ビット浮動小数点数 (FP32) を使用すると、大量のメモリが占​​有されます。

数千億のパラメータを持つ LLM の場合、64 パラメータごとに量子化ブロック (ブロック サイズ = 64) として計算される場合、スケール パラメータを保存するだけでさらに 6GB のメモリが必要になります: (100B ÷ 64) × 4 = 6GB。

チームは、これらのスケール パラメーターを 8 ビット浮動小数点数 (FP8) に量子化することで、必要なストレージ スペースを大幅に削減しました。

量子化ブロック サイズとして 256 を使用する場合 (ブロック サイズ = 256)、すべてのスケール パラメーターを保存するために必要な追加スペースはわずか 1.57GB です: (100B ÷ 64 ÷ 256) × 4 + (100B ÷ 64) × 1 = 1.57 GB。

ネストされた量子化により、モデルの各重みパラメータは最終的に 4 バイトのメモリ空間のみを占有することになり、元の FP32 よりも多くのメモリ空間を節約できます。

同時にメモリからCPUへのデータ転送効率も4倍向上します。

このような最適化により、Yuan2.0-102B モデルの推論およびデコード効率に対するメモリ帯域幅の制限が大幅に緩和され、モデルの推論パフォーマンスがさらに向上します。

いわゆるユニバーサルとは、誰でも使用できることを意味します。

この時点で、Inspur 情報は正常に送信されました。

Inspur Information の NF8260G7 は、システムの最適化を通じて、汎用プロセッサのみをベースにした数千億のパラメータを持つ大規模モデルの動作をサポートする業界初の製品です。

これまでのところ、一般的なコンピューティング能力によってサポートされる大規模な AI モデルのパラメータ規模は 1,000 億を超え、業界のギャップを完全に埋め、企業が AI を所有するための新たな出発点となっています。

数千億のパラメータを持つ AI モデルの導入には、より強力なパフォーマンスとより経済的なコストを選択できるようになりました。AI 大規模モデル アプリケーションは、クラウド、ビッグ データ、データベースとの緊密な統合を実現できます。


科学技術の進歩の究極の目標は、死すべき世界に堕落することでなければなりません。

現在を見ると、AIGC は何千もの業界に浸透しています。 AI は驚くべき速度であらゆるコンピューティング デバイスに浸透しています。

2024年1月から4月にかけて国内大型モデルの落札件数は2023年通年の合計を上回り、公開落札額は2023年通年の77%に達した。

金融業界、病院の外来部門、企業の IT 部門の実務家は皆、従来の業界のコンピューティング パワー インフラストラクチャではもはや十分ではないことに気づいています。

現在、数千億のパラメータを持つ大規模モデルが、数千の業界におけるインテリジェンスの出現の鍵となっています。一般的なコンピューティング能力が数千億のパラメータを持つ大規模モデルを実行できるかどうかが、それが何千もの業界におけるインテリジェンスの出現をサポートできるかどうかを測る鍵となります。

Inspur Information の取り組みにより、インターネット、金融、医療、その他の業界の顧客は効率的な導入を実現し、最初の投資で構築コストを 80% 以上節約できます。

金融詐欺防止、財務データ分析、エンタープライズCRMマーケティング洞察、インテリジェントな医療診断、個別の診断と治療計画、教育とトレーニングなど、私たちはAIの広範な応用を目の当たりにするでしょう。

これからはすべての計算がAIになります。

参考文献:

https://mp.weixin.qq.com/s/1wYt7dfoVy2J1FFkOJjRTg