405B モデルのトレーニングは課題が山積み:NVIDIA GPU が頻繁に故障、Meta のエンジニアが巧みに対応

GPUおよびその高帯域幅メモリは、半数以上の障害の主な原因となっています。

58.7% の予期せぬ中断は GPU に起因し、3つの事象で大幅な人的介入が必要

54日間の事前学習期間中、合計466回の作業中断があったと報告されています。そのうち47回は計画的な中断で、ファームウェアのアップグレードやオペレーターが開始した設定更新またはデータセット更新操作など、自動メンテナンスによるものでした。419回は予期せぬ中断で、主にGPU、ホストコンポーネントの故障、または静かなデータ破損や計画外の単一ホストメンテナンスイベントなど、ハードウェア関連の疑わしい問題を含む確認済みのハードウェア問題に起因していました。

GPU問題は予期せぬ中断の最大のカテゴリーで、全予期せぬ問題の58.7%を占め、NVLinkなどの様々なGPU障害やHBM3メモリ障害が含まれていました。これは驚くべきことではありません。NvidiaのH100 GPUは約700Wを消費し、大量の熱ストレスにさらされているからです。多数の障害が発生したにもかかわらず、大幅な人的介入を必要としたのは3つの事象のみで、残りの問題は自動化で処理できました。

残りの41.3%の予期せぬ中断は、ソフトウェアエラー、ネットワークケーブル、ネットワークアダプターの組み合わせによるものでした。興味深いことに、この期間中にCPUの故障は2つだけでした。

54日間のLlama 3 405Bの事前学習期間中、予期せぬ中断の根本原因が分類されました。

Llama 3 405B大規模モデルの訓練チームが直面したもう一つの課題は、何万ものGPUが同時に電力消費を変化させ、データセンターの電力網に圧力をかけたことです。

訓練プロセス中、何千ものGPUが同時に電力消費を増減する可能性があります。例えば、チェックポイントの完了や集合通信の終了を待つ場合、あるいは訓練タスク全体の開始や終了時などです。これが発生すると、データセンターの電力消費が瞬時に数十メガワットのオーダーで変動し、電力網に負荷をかける可能性があります。

これは継続的な課題であり、Metaは405Bモデルや将来のより大規模なLlamaモデルを維持するために、データセンターに十分な電力があることを確認する必要があることを意味します。AIモデルの複雑さが増すにつれ、必要な計算リソースも増加しています。

90%の有効訓練時間を実現するための努力

効率を向上させるため、Metaはタスク開始とチェックポイント時間の削減、PyTorch内蔵のNCCLフライトレコーダーの広範な使用、遅延GPUの識別など、多くのツールと最適化戦略を開発しました。特に、NCCLXは障害の検出と位置特定において重要な役割を果たし、特にNVLinkとRoCE関連の問題に対して効果的でした。PyTorchとの統合により、NVLink障害によって引き起こされる通信の停滞を監視し、自動的にタイムアウトさせることができました。

PyTorchのNCCLフライトレコーダーは、集合メタデータとスタックトレースをリングバッファに記録でき、大規模な状況下でハングアップやパフォーマンスの問題、特にNCCLX関連の問題を迅速に診断し解決できるようになりました。また、MetaがネットワークでNVLinkとRoCEを混在させて使用していることで、大規模訓練におけるデバッグの問題がより複雑になりました。NVLinkを介したデータ転送は通常、CUDAカーネルから発行されるロード/ストア操作によって行われ、リモートGPUやNVLink接続の障害は通常、CUDAカーネル内のロード/ストア操作が停滞し、明示的なエラーコードを返さないという形で現れます。

NCCLXはPyTorchとの緊密な協調設計により、障害の検出と位置特定の速度と精度を向上させ、PyTorchがNCCLXの内部状態にアクセスし、関連情報を追跡できるようにしました。NVLink障害によるハングアップを完全に防ぐことはできませんが、システムは通信ライブラリの状態を監視し、そのようなハングアップを検出した場合に自動的にタイムアウトします。さらに、NCCLXは各NCCLX通信のカーネルとネットワークアクティビティを追跡し、障害が発生したNCCLX集合の内部状態のスナップショットを提供します。これには、すべてのランク間で完了および保留中のデータ転送が含まれます。

時には、ハードウェアの問題により、まだ動作しているが速度が遅い「遅れ者」が発生し、検出が困難な場合があります。1つの「遅れ者」でさえ、他の何千ものGPUの実行速度を低下させる可能性があり、しばしば正常だが遅い通信として現れます。これに対して、Metaは選択されたプロセスグループからの潜在的な問題のある通信を優先的に処理するためのツールを開発し、遅れ者を効果的に検出し、適時に解決することで、速度低下を最小限に抑え、全体的な訓練効率を維持しています。

もう一つの興味深い観察は、環境要因が大規模訓練のパフォーマンスに与える影響です。Llama 3 405Bについて、Metaは1日のうちある時間帯に1-2%のスループット変動があることに気づきました。この変動は、正午頃の高温がGPUのダイナミック電圧および周波数調整に影響を与え、それが訓練パフォーマンスに影響を与えたためです。しかし、これは大きな問題ではありません。GPUのダイナミック電圧および周波数スケーリングは通常、温度変化の影響を受けます。

結語

16384個のH100 GPUを含むクラスターが54日間で419回の予期せぬ障害を経験し、24時間ごとに7.76回の障害が発生したことを考えると、100000個のH100 GPUを搭載したxAIのメンフィス・スーパーコンピューター・クラスター(Memphis Supercluster)ではどのくらいの頻度で障害が発生するのだろうかと考えざるを得ません。

先週、イーロン・マスク(Elon Musk)は社会プラットフォームXで「世界最強のAI訓練クラスター」を立ち上げたと自慢し、今年12月までに「あらゆる指標で世界最強のAI」を作ると述べました。メンフィス・スーパーコンピューター・クラスターはすでに訓練を開始しており、液冷冷却と単一のRDMAネットワーク相互接続アーキテクチャを採用しているとのことです。

GPU規模の比率から見ると、xAIのメンフィス・スーパーコンピューター・クラスターは指数関数的に高い障害率に直面する可能性があり、障害が発生するコンポーネントの数は6倍に増加する可能性があります。これは将来のAI訓練にさらに大きな課題をもたらします。

参考リンク:

https://www.inspire2rise.com/meta-faces-frequent-gpu-failures-llama-3-training.html

https://www.tomshardware.com/tech-industry/artificial-intelligence/faulty-nvidia-h100-gpus-and-hbm3-memory-caused-half-of-the-failures-during-llama-3-training-one-failure-every-three-hours-for-metas-16384-gpu-training-cluster

https://ai.meta.com/research/publications/the-llama-3-herd-of-models/