1 ポイント 投稿者 GN⁺ 2024-06-29 | 1件のコメント | WhatsAppで共有

インフラ構築とスクリプト設定

紹介

  • 数か月にわたり、小規模な研究チームとエンジニアリングチームが自前のインフラ上で70Bパラメータモデルをゼロから学習し、reasoning関連タスクでzero-shot GPT-4oを上回った。
  • 今日は、初期クラスタ設定からオペレーティングシステムのインストール、学習中に発生するエラーの自動復旧まで、必要なインフラ設定に関する総合ガイドを共有する。
  • 各段階で直面した課題と解決方法を詳しく説明し、他のチームが安定したインフラを容易に構築できるよう、インフラスクリプトを公開する。

背景: このシステムがどのように動作するか

  • 大規模言語モデルの実験を迅速に行うには、高速なGPUが必要。
  • 4,092基のH100 GPUが511台のコンピュータに分散されたクラスタを使用。
  • InfiniBandネットワークを通じてGPU間の高速通信を可能にしている。

プロセス: ベアメタルから完全に稼働するクラスタへ移行する方法

個別マシンのプロビジョニング

  • 管理ネットワークを通じてクラスタへの初期イーサネット接続を設定し、BMC(ベースボード管理コントローラ)にアクセスする。
  • iDRACを使って最初のサーバーにUbuntu 22.04をインストールし、それを基に残りのサーバーを設定する。

すべてのマシンへのOSインストール

  • MAASソフトウェアを使って残りのサーバーをプロビジョニングする。
  • PXEブートおよび自動化されたiDRACツールを使ってネットワーク経由で起動し、MAASがPXEブート要求に応答するよう構成する。

故障したマシンの診断

  • 約10%のマシンでブート失敗が発生し、その主因は物理的な問題だった。
  • 自動チェックで問題を発見し、Dellに再テストを依頼するか、データセンター担当者にチケットを発行する。

最小限の可観測なメタル環境の構築

  • すべてのサーバーにDocker、データセンター向けGPUドライバ、Prometheus Node Exporterなどをインストールする。
  • 基本的なGPU診断を実行し、大半のGPUが正常に動作していることを確認する。

単一ノードGPU学習

  • すべてのマシンが単独でGPUジョブを処理できることを確認する。
  • GPU関連のエラーを解消し、PCIeバスとネットワークカード間の接続問題を解決する。

InfiniBandのプロビジョニング

  • UFM(Unified Fabric Manager)をインストールし、ネットワークスイッチを検出して物理配置に応じて命名する。
  • ネットワーク配線の問題を解決し、温度警告の問題に対処する。

完全に健全なマシンの確保

  • さまざまなヘルスチェックを通じて、学習に使用できる健全なホストを確認する。
  • GPU、ディスク容量、Docker、dmesg、iDRAC、ディスク、InfiniBand、NVLink、GDR、VBIOS、Flint、PSBなど多様なチェックを行う。

一般的な学習問題の診断

  • ハードウェアが正常に動作し始めたら学習を開始する。
  • 起動時のクラッシュ、途中でのクラッシュ、スタックトレース情報なしでの停止、学習速度の低下といった問題を解決する。

インフラツールの改善

  • 学習が円滑に進むよう、さまざまなツールとシステムを開発する。
  • 故障したマシンやネットワーク構成要素を自動的に無効化し、修理依頼を自動化する。
  • ローカルミラーファイルシステムとローカル分散Dockerレジストリを構築する。
  • パフォーマンス監視ツールを設定し、遅い学習バッチを検出して原因を把握するためのツールを作成する。

GN⁺の見解

  • この記事は、大規模クラスタの構築と運用管理に関する実践的な経験と解決策を提供しており、非常に有用。
  • 大規模言語モデルの学習に必要なインフラ構築の複雑さをよく説明している。
  • 他チームが類似のインフラを構築する際に参考にできる、さまざまなスクリプトやツールを提供している。
  • InfiniBandネットワークの重要性と、設定過程で発生しうる問題をうまく説明している。
  • 新しい技術やオープンソースを採用する際に考慮すべき点と、その長所・短所を丁寧に説明している。

1件のコメント

 
GN⁺ 2024-06-29
Hacker Newsのコメント
  • 小規模な研究チームが自前のインフラで700億パラメータのモデルを学習し、reasoning関連タスクでzero-shot GPT-4を上回った

    • InfiniBand、Ethernet、GPU、ノードなど、すべての構成要素が完璧に動作する必要がある
    • 12,000以上の接続のうち1つでも不安定だと、学習全体が遅くなる可能性がある
    • オープンソースのスクリプトとインフラ構成に関する包括的なガイドを共有している
    • 700億モデル学習に関する3部構成のうちの1つで、残り2つは評価とCARBSハイパーパラメータ最適化に焦点を当てている
  • 1つのクラスターに4,092基のH100 GPUが511台のコンピュータに分散している

    • これはGPUコストだけで1億ドル以上に相当する
    • ゲーミングPCの予算でこのような作業が可能なのか気になる
  • Latent Spaceポッドキャストで数日前にこの話題が議論されていた

    • 意思決定の背景を聞くのに良いエピソードだ
  • なぜこれほど多くのPCハードウェアが必要なのか気になる

    • PCI + InfiniBandバックエンドとGPU、小型のARMコントローラで構成できないだろうかと思う
    • 以前の設計の慣性や、専用GPUコントローラ市場の不足が理由なのか気になる
  • 同じハードウェアで、トークン化された学習データではなく生のUnicodeで学習を繰り返すのは興味深そうだ

    • スペリングや韻律の性能差を見てみたい
  • 4,092基のH100 GPU

    • "self-coding"の作業中
    • No-codeまたはminimal codeのソリューションである可能性がある
    • ウェブサイトには興味深い記事や資料が多い
  • モデル構築に必要な総消費電力に関心がある

    • 電力と冷却に関する数字があるのか気になる
    • マーク・ザッカーバーグが次の1GWモデルを計画中だと言及していた
  • 総費用がいくらなのか気になる

    • ハードウェア費用、開発時間、電気代、冷却コストを含む
  • Ciscoが800Gポート単位の速度で新たなNVIDIAとの協業を進めている

    • InfiniBandがGPUにアクセス可能なのか気になる
    • 共有してくれてありがとうという意見
  • モデル学習後、ハードウェアとインフラがどうなるのか気になる