6月13日、Engineering at Metaで「Metaが大規模言語モデルをトレーニングする方法(How Meta trains large language models at scale)」と題した記事が公開された。この記事では、AIの研究開発において直面している計算規模の大幅な拡大にどのように対処しているかについて詳しく紹介されている。
以下に、その内容を簡潔にまとめて紹介する。
大規模モデルのトレーニングの課題
大規模な言語モデル(LLM)のトレーニングでは、GPUの数が増えるにつれて、ハードウェアの故障による中断の可能性が高まる。これを最適に行うためには、次の4つの要素が重要である。
- ハードウェアの信頼性:ハードウェア故障を最小限に抑えるため、厳格なテストと品質管理を行う。
- 故障時の迅速な復旧:ハードウェア故障が発生した場合、迅速に復旧する必要がある。これには、再スケジュールのオーバーヘッドを減らし、トレーニングの再初期化を迅速に行うことが含まれる。
- トレーニング状態の効率的な保存:故障時に中断した場所から再開できるように、トレーニング状態を定期的にチェックポイントし、効率的に保存・取得する。
- GPU間の最適な接続:大規模なモデルのトレーニングでは、大量のデータを同期して転送する必要がある。これには、高速なネットワークインフラと効率的なデータ転送プロトコルが必要である。
インフラストラクチャ全体での革新
トレーニングソフトウェア
研究者がPyTorchや他の新しいオープンソースツールを使用して、非常に高速な研究から生産への移行を実現する。これには、新しいアルゴリズムや技術の開発も含まれる。
スケジューリング
効率的なスケジューリングにより、リソースを最適に活用できる。これには、ジョブのニーズに基づいてリソースを割り当てる高度なアルゴリズムと、変化するワークロードに適応する動的スケジューリングが含まれる。
ハードウェア
大規模なモデルのトレーニングには高性能なハードウェアが必要である。Nvidia H100 GPUを使用したGrand Tetonプラットフォームを改良し、700WのTDPに対応させ、HBM3を導入した。
データセンターの展開
選定したGPUとシステムをデータセンターに最適に配置するには、電力、冷却、ネットワーキングなどのリソースを最大限に活用する必要がある。
ネットワーク
大規模モデルのトレーニングには、大量のデータを迅速に転送するための強力で高速なネットワークインフラが必要である。RoCEとInfiniBandの2種類のクラスターを構築し、それぞれの運用経験から学び、将来のGenAIファブリックの方向性を決定する。
ネットワーク通信を効率化するために、以下の3つの側面を最適化した。
- 通信パターンをネットワークトポロジーの異なるレイヤーに割り当て、ネットワーク機能を効果的に活用。
- ネットワークトポロジーに配慮した集合通信パターンを実装し、遅延感度を低減。
- ネットワーク負荷分散とルーティングへのさらなる投資により、トラフィックを最適に分配。
ストレージ
大規模なデータを効率的に保存するために、高容量・高速のストレージ技術に投資し、特定のワークロードに適した新しいデータストレージソリューションを開発。
展望
今後数年間で、数十万台のGPUを使用し、さらに大量のデータを処理し、より長距離の遅延に対処することになる。これには、新しいGPUアーキテクチャを含む新しいハードウェア技術の導入とインフラストラクチャの進化が含まれる。
詳細はHow Meta trains large language models at scaleを参照していただきたい。