Metaが大規模言語モデルをトレーニングする上でどこに注意したのか&どのように取り組んだのかを解説

Metaが大規模言語モデルをトレーニングする上でどこに注意したのか&どのように取り組んだのかを解説 - 画像


Metaは2024年4月にオープンソースの大規模言語モデルであるLlama 3をリリースしたほか、広告主向けに宣伝用画像やテキストのAI生成ツールを展開するなど、大規模言語モデルの開発に注力しています。そんなMetaが大規模言語モデルのトレーニングにおいて何を課題と認識していたのか、どのようにトレーニングに取り組んだのかについて解説しました。
How Meta trains large language models at scale - Engineering at Meta
https://engineering.fb.com/2024/06/12/data-infrastructure/training-large-language-models-at-scale-meta/

Metaが大規模言語モデルをトレーニングする上でどこに注意したのか&どのように取り組んだのかを解説 - 画像


Metaは以前から、FacebookやInstagramのレコメンデーションシステムのため、さまざまなAIモデルをトレーニングしていました。しかし、これらのAIモデルは比較的少ない数のGPUを必要とする小規模なものであり、Llamaシリーズのような膨大なデータとGPUを必要とする大規模言語モデルとは異なるものだったとのこと。
◆大規模言語モデルのトレーニングにおける課題
従来の小規模なAIモデルとは異なる大規模言語モデルをトレーニングするにあたり、Metaは以下の4つの課題を乗り越える必要があるとしています。
・ハードウェアの信頼性:ジョブ内のGPUの数が増えるため、ハードウェアの信頼性を高めて障害によってトレーニングが中断される可能性を最小限に抑えることが必要です。これには厳格なテストや品質管理対策、問題の検出と修正の自動化プロセスなどが含まれます。
・障害発生時の迅速な復旧:最善の努力を尽くしてもハードウェア障害が発生する可能性はゼロにならないため、トレーニングの再スケジュールの負荷削減や迅速な再初期化など、復旧に備えた取り組みを事前に行っておくことが重要です。
・トレーニング状態の効率的な保存:障害が発生した場合、トレーニングを中断した地点から再開できるように、トレーニング状態を定期的にチェックして効率的に保存する必要があります。
・GPU間の最適な接続:大規模言語モデルのトレーニングでは大量のデータをGPU間で同期・転送するため、堅固で高速なネットワークインフラストラクチャーと、効率的なデータ転送プロトコルおよびアルゴリズムが必要です。

Metaが大規模言語モデルをトレーニングする上でどこに注意したのか&どのように取り組んだのかを解説 - 画像


◆インフラストラクチャーのイノベーション
Metaは大規模言語モデルの課題を克服するため、インフラストラクチャー全体の改善が必要だったと述べています。たとえばMetaは、研究者が機械学習ライブラリであるPyTorchやその他の新しいオープンソース開発を使用できるようにし、研究から本番環境までの開発を促進しているとのこと。また、さまざまなジョブのニーズに基づいてリソースを割り当てる高度なアルゴリズムや、変化するワークロードに適応する動的スケジューリングを用いることで、リソースの利用を最適化しているそうです。
もちろん、大規模言語モデルのトレーニングに要求されるコンピューティング能力を提供するには、高性能なハードウェアの構成や属性を生成AI向けに最適化することも必要不可欠です。構築したGPUクラスターをデータセンターに配備する際も、データセンター内の電力および冷却インフラストラクチャーを変えることは難しいため、他の種類のワークロードに対するトレードオフや最適なレイアウトを検討する必要があるとのこと。
なお、MetaはNVIDIA H100 GPUを2万4576基搭載したGPUクラスターを構築し、Llama 3を含む大規模言語モデルのトレーニングに使っていることを明らかにしています。
「NVIDIA H100 GPU」を2万4576基搭載して「Llama 3」などのトレーニングに活用されているGPUクラスターの情報をMetaが公開 - GIGAZINE

Metaが大規模言語モデルをトレーニングする上でどこに注意したのか&どのように取り組んだのかを解説 - 画像


◆信頼性の問題
ハードウェア障害時のダウンタイムを最小限に抑えるため、あらかじめ問題の検出と修正について計画しておく必要があります。障害の数はGPUクラスターのサイズに比例し、クラスターにまたがるジョブを実行する際は再開用の予備リソースも確保しておくべきだとのこと。なお、Metaが観察したよくある故障は以下の3つ。
・GPUの性能低下:この問題にはいくつかの理由がありますが、GPUクラスターを稼働させた初期段階によく見られ、サーバーが古くなるにつれて落ち着くそうです。
・DRAMとSRAMのアンコレクタブルエラー:メモリ内にはアンコレクタブルエラー(修正不可能なエラー)があるのが一般的であり、常にアンコレクタブルエラーを監視しておき、閾(いき)値を超えたらベンダーに交換を要請する必要があります。
・ネットワークケーブルの問題:サーバー寿命の初期には、ネットワークケーブルの問題が最も頻繁にみられるとのことです。
◆ネットワーク
GPU間で膨大なデータを迅速に転送することを考えた際、選択肢は「RDMA over Converged Ethernet(RoCE)」と「Infiniband」の2つがあります。もともとMetaは4年間にわたりRoCEを本番環境で使用してきましたが、RoCEで構築したGPUクラスターのうち最大のものでも4000基のGPUしかサポートしていませんでした。一方、研究用のGPUクラスターはInfinibandで構築されており、こちらは1万6000基のGPUを搭載していたものの本番環境には統合されておらず、最新世代のGPUやネットワーク用の構築でもなかったとのこと。
どちらのシステムでネットワークを構築するのかを選ぶことになったMetaは、採取的に約2万4000基のGPUクラスターをRoCEとInfinibandの両方で構築することにしました。これは両方のネットワークの運用経験を蓄積して学習し、今後に生かすためだったとMetaは述べています。

Metaが大規模言語モデルをトレーニングする上でどこに注意したのか&どのように取り組んだのかを解説 - 画像


◆今後の展望
Metaは、「私たちは今後数十年間で、数十万台ものGPUを使ってさらに大量のデータを扱い、より長い距離とレイテンシに対処することになるでしょう。新しいGPUアーキテクチャを含む新たなハードウェア技術を採用し、インフラストラクチャーを進化させることになるでしょう」と述べ、今後もAIの可能性を押し広げるために全力を尽くすと述べました。

ジャンルで探す