Week 4概要:単一GPUを超えたLLMトレーニングのスケーリング

スポンサーリンク

Week 4概要:単一GPUを超えたLLMトレーニングのスケーリング

  • Axolotlトレーニング
  • データ並列化
  • DeepSpeed
  • 分散トレーニング
  • FSDP
  • GPUメモリ
  • LLMトレーニング
  • モデルスケーリング
  • マルチGPUワークフロー
  • 再現性
  • トレーニング最適化

🏠
Home – All Lessons

⬅️
Previous – LoRA Hyperparameter Tuning

➡️
Next – LLM Memory Requirements

先週、最初の言語モデルをエンドツーエンドでFine-Tuningしました。

今週は、より大きなモデルをトレーニングするために実際に何が必要か、そしてそれを可能にするシステムの背後にあるエンジニアリングを学びます。

GPUメモリがどこに使われるか、8Bや13Bモデルのfine-tuningが単一デバイスで失敗する理由、そしてプロフェッショナルがDDP、FSDP、ZeRO、Axolotlのような本番フレームワークを使用してトレーニングをクリーンにスケールする方法を理解します。

週の終わりまでに、小さなQLoRAプロジェクトからマルチGPU完全Fine-Tuneまで、あらゆるモデルに適切なトレーニング戦略を選択する方法がわかります。

今週達成すること

今週達成すること

Week 1〜3は基礎と完全な単一GPUFine-Tuningワークフローの構築に焦点を当てました。

Week 4はエンジニアリングをステップアップします。

今週はLLMトレーニングにおける最大の質問に答えます:

“モデルがGPUに収まらない。どうすればいい?”

学ぶこと:

  • 任意のモデルのメモリを計算する方法
  • 単一GPUをできるだけ引き伸ばす方法
  • 分散トレーニング中にGPUがどのように通信するか(ハードウェアとソフトウェア)
  • 速度のためにマルチGPUデータ並列化に切り替えるタイミング
  • メモリのためにシャードトレーニング(FSDP/ZeRO)を使用しなければならないタイミング
  • Axolotlが分散トレーニングを再現可能にする方法
  • パイプラインおよびテンソル並列化が実世界のシステムにどう適合するか

また、Accelerateを使用して最初のマルチGPUトレーニングジョブを実行し、スループットがどのように向上するかを観察します。

今週は、本番チーム、研究所、大規模モデルトレーニング環境で使用される実世界のLLMエンジニアリングへの架け橋です。

Week 4ロードマップ

Lesson 1: GPUメモリ要件
メモリ使用量(重み、勾配、活性化)を分解し、異なるトレーニングモードに必要な量を計算します。

Lesson 2: メモリ最適化テクニック
勾配累積、チェックポイント、混合精度、8-bitオプティマイザー、QLoRAを使用して単一GPUをさらに拡張します。

Lesson 3: 分散トレーニングの基礎(オプション)
PCIe、NVLink、InfiniBandを介したGPU通信を理解し、DDP、FSDP、ZeROを動かす集団操作(all-reduce、all-gather)を学びます。ツールを使いたいだけならスキップ、システム理解が欲しければ読んでください。

Lesson 4: Accelerateによるデータ並列化(DDP)
複数のGPUを使用してより速くトレーニングします。Accelerateがどのようにマルチ-GPU実行と勾配同期を分散データ並列化で管理するかを学びます。

Lesson 5: メモリシャーディングのためのDeepSpeed ZeRO
DeepSpeedのZeRO最適化ステージを使用してGPU全体でオプティマイザー状態、勾配、パラメータをシャードすることで、単一GPUの制限を超えてスケールします。

Lesson 6: Fully Sharded Data Parallelism (FSDP)
PyTorchネイティブのFSDPを使用して、単一デバイスに収まらないモデルをGPU全体で効率的にパラメータと勾配をシャードしてトレーニングします。

Lesson 7: Axolotlによる本番対応トレーニング
散在するスクリプトから再現可能なYAML構成へ移行します。コードの書き直しなしに、構成変更でDDP、FSDP、またはDeepSpeedを有効にします。

Lesson 8: 高度な並列化(認識レベル)
パイプライン並列化、テンソル並列化、3D並列化を理解します。OpenAIやAnthropicのような企業でのフロンティアスケールトレーニングの背後にある方法です。

次のステップ

Lesson 1では、基礎から始めます:

  • GPUメモリが実際にどこに使われるか
  • 任意のモデルの要件を計算する方法
  • 数値に基づいて適切なトレーニング方法を選択する方法

これがWeek 4の他のすべての基礎を設定します。

飛び込みましょう。

  • Mastering Scale: From One GPU to Many

コメント

タイトルとURLをコピーしました