AI・機械学習
上級

LLM分散学習インフラストラクチャ(エルエルエムブンサンガクシュウインフラストラクチャ)

大規模言語モデルの学習を複数GPU・複数ノードで効率的に実行するための分散計算基盤。データ並列・モデル並列・パイプライン並列などの並列化戦略と、通信最適化・メモリ管理を統合的に提供するフレームワーク群を指す。

0 回閲覧
0 いいね

LLM分散学習インフラストラクチャとは

大規模言語モデル(LLM)の学習には数百〜数千基のGPUを協調動作させる分散計算基盤が不可欠である。GPT-4クラスのモデルでは1兆パラメータを超え、単一GPUのメモリ(80GB〜192GB)では到底収まらない。分散学習インフラストラクチャは、モデルパラメータ・勾配・オプティマイザ状態を複数デバイスに分割・複製し、通信オーバーヘッドを最小化しながら学習スループットを最大化する技術体系である。

2024年以降、DeepSpeed・PyTorch FSDP・Megatron-LMの三大フレームワークが事実上の標準となり、これらを組み合わせた「3D並列」(データ並列×テンソル並列×パイプライン並列)が主流のアプローチとなっている。

並列化戦略の分類と比較

分散学習の並列化戦略は大きく3つに分類される。それぞれの特性を理解することが、効率的な学習インフラ設計の第一歩となる。

並列化戦略分割対象メモリ削減通信量スケーラビリティ代表実装
データ並列(DP)ミニバッチ低(複製)AllReduce勾配高(数百GPU)PyTorch DDP
テンソル並列(TP)レイヤー内の重み行列高AllReduce活性値中(ノード内8GPU)Megatron-LM
パイプライン並列(PP)レイヤー群高Point-to-Point活性値中(数十ステージ)GPipe/PipeDream
ZeRO(Sharded DP)パラメータ/勾配/状態非常に高AllGatherパラメータ高(数千GPU)DeepSpeed ZeRO
シーケンス並列(SP)シーケンス長方向中AllGather/ReduceScatter中Megatron-LM SP
エキスパート並列(EP)MoEエキスパート高All-to-Allトークン中(エキスパート数依存)DeepSpeed-MoE

データ並列は最も単純で、各GPUにモデル全体を複製してミニバッチを分割する。PyTorch DDPが代表的で、AllReduce通信で勾配を同期する。モデルサイズがGPUメモリに収まる限り、最もスケーラビリティが高い。

テンソル並列はTransformerの注意機構やFFN層の重み行列を列方向・行方向に分割する。ノード内の高速NVLink(900GB/s)を活用するため、通常はノード内8GPUに限定される。

パイプライン並列はモデルのレイヤー群を複数ステージに分割し、マイクロバッチをパイプライン的に流す。ステージ間の通信は隣接GPU間のPoint-to-Pointのみで済むが、「バブル」(GPUアイドル時間)が発生する課題がある。

3D並列と現代の学習構成

現代のLLM学習では、上記の並列化戦略を組み合わせた「3D並列」が標準となっている。

3D並列の典型構成(1024 GPU例):
- テンソル並列(TP): ノード内 8 GPU
- パイプライン並列(PP): 4 ステージ(4ノード)
- データ並列(DP): 32 レプリカ(32グループ)
- 合計: 8 × 4 × 32 = 1,024 GPU

この構成では、TPはNVLink帯域を最大活用し、PPはノード間のInfiniBand通信を最小化し、DPで学習スループットをスケールさせる。Llama 3(405B)の学習では16,384基のH100 GPUを使用し、TP=8・PP=16・DP=128の3D並列構成で約54日間の学習を完了している。

通信バックエンドとネットワーク設計

分散学習の性能は通信基盤に大きく依存する。主要な通信技術を以下に示す。

通信技術帯域幅レイテンシ用途
NVLink 4.0900 GB/s(双方向)~1μsノード内GPU間
NVSwitch全対全 900 GB/s~1μsDGX H100内8GPU
InfiniBand NDR400 Gbps~1μsノード間
RoCE v2400 Gbps~2-5μsEthernet系ノード間
AWS EFA3,200 Gbps(p5.48xlarge)~5μsクラウドノード間

NVIDIA NCCLライブラリが事実上の標準通信ライブラリであり、AllReduce・AllGather・ReduceScatter等の集団通信をGPUトポロジに最適化して実行する。Ring-AllReduceやTree-AllReduceなどのアルゴリズムを自動選択し、NVLink/InfiniBandの帯域を最大限活用する。

大規模クラスタでは「Fat-Tree」トポロジのInfiniBandネットワークが一般的で、ノード間の全二重帯域を保証する。Meta社のLlama 3学習クラスタでは、16,384基のH100を3層Fat-Treeで接続し、各ノードに400Gbps×8ポートのInfiniBand接続を提供している。

障害耐性とチェックポイント

数千GPUを数週間〜数ヶ月稼働させる大規模学習では、ハードウェア障害が不可避である。Meta社の報告によると、Llama 3の54日間の学習中に419回の障害が発生した(1日あたり約7.8回)。

主要な障害対策技術:

  • 定期チェックポイント: 10〜30分間隔でモデル状態を保存。分散ファイルシステム(Lustre/GPFS)またはオブジェクトストレージ(S3)に非同期書き込み
  • 弾力的学習(Elastic Training): GPU障害時に自動的にワーカー数を縮小し、学習を継続。torch.distributed.elasticが提供
  • 冗長計算: 重要なレイヤーの計算を複数GPUで冗長実行し、障害検出時に即座に切り替え
  • 勾配累積: 障害による一時的なGPU減少時に、バッチサイズを維持するため勾配累積ステップ数を自動調整

クラウド vs オンプレミスの選択

比較項目クラウド(AWS/GCP/Azure)オンプレミスコロケーション
初期コスト低(従量課金)非常に高($100M+)高($50M+)
GPU単価/時$2-4/GPU/時(H100)$0.5-1/GPU/時(償却3年)$0.8-1.5/GPU/時
スケーラビリティ高(オンデマンド)低(物理制約)中
ネットワーク制御限定的完全制御完全制御
障害対応プロバイダ依存自社運用自社運用
適用規模〜2,000 GPU2,000+ GPU1,000+ GPU

スタートアップや研究機関はクラウドの柔軟性を活用し、Meta・Google・OpenAIなどの大規模事業者はオンプレミスでTCO(総保有コスト)を最適化する傾向がある。

よくある質問(FAQ)

Q1: LLMの学習に最低何基のGPUが必要ですか?

7Bパラメータモデルの場合、FSDP/ZeROを使えば4基のA100 80GBで学習可能である。70Bモデルでは最低16〜32基、400B以上では数百基以上が現実的な最小構成となる。QLoRAなどのパラメータ効率的手法を使えば、7Bモデルを単一GPU(24GB VRAM)でファインチューニングすることも可能である。

Q2: データ並列とZeROの違いは何ですか?

従来のデータ並列(DDP)は各GPUにモデル全体を複製するため、モデルサイズがGPUメモリに収まる必要がある。ZeROはパラメータ・勾配・オプティマイザ状態をGPU間で分割(シャード)し、必要なときだけAllGatherで収集する。これにより、単一GPUメモリを超えるモデルもデータ並列的にスケールできる。通信量はDDPと同等以下に抑えられる。

Q3: テンソル並列をノード間で使わない理由は?

テンソル並列はレイヤー内で頻繁にAllReduce通信が発生する。NVLink(900GB/s)ならオーバーヘッドは小さいが、InfiniBand(400Gbps ≈ 50GB/s)では18倍遅くなり、計算効率が大幅に低下する。そのため、TPはNVLinkで接続されたノード内GPU(通常8基)に限定し、ノード間にはPPやDPを適用するのが定石である。