訓練技術(Training)

LLM訓練の最新技術を体系的に解説します。分散訓練(ZeRO、FSDP)、Mixed Precision(FP16、BF16、FP8)、Flash Attentionの原理、効率化技術まで、2024年時点のベストプラクティスを理解します。

学習記事一覧

記事 説明
[執筆中] 最適化手法 ニューラルネットワークの最適化アルゴリズム。SGD、Momentum、Adam、AdamW(weight decay分離)の原理と特徴、Learning rate schedule(warmup + cosine decay)、Gradient clippingなど2024年のベストプラクティスを理解。
[執筆中] 分散訓練(ZeRO等) 複数GPU/ノードでの効率的な訓練手法。Data Parallelism(DDP)の限界、ZeRO Optimization(ZeRO-1/2/3によるメモリ削減4倍/8倍/N倍)、FSDP(PyTorchネイティブ実装)、Tensor/Pipeline Parallelismの併用を理解。
[執筆中] Mixed Precision訓練 低精度演算による高速化とメモリ削減。FP32(32ビット)からFP16(16ビット、メモリ50%削減)、BF16(FP32と同じ指数範囲、Loss scaling不要)、FP8(8ビット、H100で更なる高速化)への進化を理解。
[執筆中] Flash Attention GPUメモリ階層を最適化したAttention計算手法。HBM(High Bandwidth Memory)とSRAM間のIO削減、タイリング技術による効率化、Flash Attention 2(2023年)の進化と標準実装の2-4倍高速化を理解。
[執筆中] 効率化技術 訓練を効率化する様々な技術。Gradient Accumulation(小メモリで大バッチ実現)、Activation Checkpointing(再計算でメモリ削減)、Gradient Checkpointing、各種正則化手法(Dropout、Weight Decay)を理解。
[執筆中] ハードウェア活用 最新GPUの効果的な活用方法。NVIDIA H100(FP8サポート、Transformer Engine)とA100の特徴、Tensor Coreの活用、メモリ帯域幅の重要性、2024年時点の訓練技術ベストプラクティス(BF16 + Flash Attention + ZeRO-3)を理解。

推奨学習順序

  1. 最適化手法 - 基本的な訓練アルゴリズムを理解
  2. Mixed Precision訓練 - 効率化の基礎を学ぶ
  3. 分散訓練(ZeRO等) - 大規模訓練の必須技術を理解
  4. Flash Attention - 最重要な高速化技術を学ぶ
  5. 効率化技術 - 補助的な効率化手法を把握
  6. ハードウェア活用 - 全体を統合したベストプラクティスを理解

このカテゴリーについて

訓練技術カテゴリーでは、数千億~数兆パラメータの大規模モデルをどのように効率的に訓練するかを学びます。メモリ効率、計算効率、訓練速度の三つの観点から、2024年時点の最新技術を理解します。

学習目標

  • 最適化アルゴリズム(AdamW等)の原理と使い分けを理解する
  • 分散訓練(ZeRO、FSDP、Tensor/Pipeline Parallelism)の仕組みを学ぶ
  • Mixed Precision訓練(FP16、BF16、FP8)の利点と注意点を把握する
  • Flash Attentionの革新性(GPUメモリ階層最適化)を理解する
  • 効率化技術(Gradient Accumulation、Checkpointing等)を学ぶ
  • ハードウェア(H100、A100)の活用方法を理解する

対象読者

実装者、研究者、エンジニアを対象としています。実際にLLMを訓練・運用する方に特に有用です。

推定学習時間

全6記事を通読:約10-15時間

主要参考文献

このカテゴリーの記事は以下の査読付き論文を主な出典としています。各記事で詳細な引用を行います。

最適化手法

  • Loshchilov & Hutter (2017) "Decoupled Weight Decay Regularization" (AdamW) - ICLR 2019
  • Kingma & Ba (2014) "Adam: A Method for Stochastic Optimization" - ICLR 2015

分散訓練

  • Rajbhandari et al. (2020) "ZeRO: Memory Optimizations Toward Training Trillion Parameter Models" - SC20
  • Zhao et al. (2023) "PyTorch FSDP: Experiences on Scaling Fully Sharded Data Parallel" - arXiv:2304.11277

効率化技術

  • Dao et al. (2022) "FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness" - NeurIPS 2022
  • Dao (2023) "FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning" - arXiv:2307.08691
  • Micikevicius et al. (2017) "Mixed Precision Training" - ICLR 2018

※個別記事では、各論文への直接リンクと詳細な引用情報を提供します。

次のステップ

訓練技術を学習した後は、以下のカテゴリーに進むことを推奨します:

  • 評価 - 訓練結果の評価方法を学ぶ
  • 技術詳細 - データ前処理等の実装知識を深める