LLM(大規模言語モデル)の学習において、損失関数の勾配情報を利用してモデルパラメータを効率的に更新する手法の総称。Adam 系を基本に、Lion・Sophia・LAMB など 2023-2026 年に多数の改良オプティマイザが提案され、学習速度・メモリ効率・収束安定性が大幅に向上した。
LLM勾配最適化(Gradient Optimization)は、大規模言語モデルの学習時に損失関数の勾配を用いてパラメータを更新するアルゴリズム群である。数十億〜数兆パラメータを持つ LLM では、オプティマイザの選択がメモリ消費量・収束速度・最終的なモデル品質を直接左右する。2026 年現在、AdamW が事実上の標準だが、Lion(メモリ半減)・Sophia(収束 2 倍速)・LAMB(大バッチ対応)など次世代手法が実用段階に入った。
勾配降下法(Gradient Descent)は、損失関数 L(θ) のパラメータ θ に対する勾配 ∇L(θ) を計算し、学習率 η を掛けてパラメータを更新する:
| オプティマイザ | 提案年 | メモリ倍率(vs SGD) | 収束速度(vs AdamW) | 最適バッチサイズ | 主な採用例 |
|---|---|---|---|---|---|
| SGD+Momentum | 1986 | 1x | 0.3x | 256-1K | ResNet, ViT初期 |
| Adam | 2014 |
| 3x |
| 0.8x |
| 512-4K |
| BERT, GPT-2 |
| AdamW | 2019 | 3x | 1.0x (基準) | 1K-4M | GPT-4, Llama 3, Mistral |
| Lion | 2023 | 2x | 1.0-1.1x | 1K-64K | PaLM 2 実験, 一部 OSS |
| Sophia | 2023 | 3.5x | 1.5-2.0x | 512-4K | 研究段階, GPT-2再現 |
| LAMB | 2019 | 3x | 1.0x | 32K-4M | BERT大バッチ, Megatron |
| Adafactor | 2018 | 1.5x | 0.9x | 1K-64K | T5, PaLM |
| CAME | 2023 | 1.5x | 1.0x | 1K-64K | LLaMA ファインチューニング |
PyTorch 2.x では主要オプティマイザが標準搭載されている:
import torch
from torch.optim import AdamW
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3-8B")
optimizer = AdamW(
model.parameters(),
lr=3e-4, # ピーク学習率
betas=(0.9, 0.95), # Llama 3 推奨値
weight_decay=0.1, # 正則化強度
eps=1e-8
)
scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(
optimizer,
T_max=total_steps,
eta_min=3e-5 # 最終学習率 = ピークの 1/10
)
DeepSpeed ZeRO-3 環境では FusedAdam が標準で、通信オーバーヘッドを 15-30% 削減する。Megatron-LM では DistributedOptimizer がパラメータシャーディングと勾配累積を統合する。
オプティマイザ単体では不十分で、学習率スケジューラとの組み合わせが重要:
2026 年のベストプラクティスは AdamW + Cosine Decay(β1=0.9, β2=0.95, wd=0.1)で、Llama 3・Mistral Large・Qwen 2.5 すべてこの構成を採用している。
数百〜数千 GPU での分散学習では、勾配の集約方法がボトルネックになる:
LAMB は大バッチ(32K-4M トークン)での分散学習に特化し、レイヤーごとに学習率を適応的に調整することで、バッチサイズ増大時の品質低下を防ぐ。Google の BERT-Large 事前学習で 76 分(TPUv3 1024 基)の記録を達成した。
FP16/BF16 混合精度学習では、勾配のアンダーフロー防止が重要:
A: AdamW は Weight Decay(重み減衰)を勾配更新とは独立に適用する。Adam では Weight Decay が学習率と結合してしまい、正則化の効果が適応的学習率で打ち消される問題があった。AdamW はこの分離により、学習率 1e-3〜3e-4・Weight Decay 0.01〜0.1 の広い範囲で安定して動作する。2019 年の Loshchilov & Hutter の論文以降、LLM の事実上の標準となった。
A: Lion はメモリ使用量が AdamW の約 2/3(二次モーメントを保持しない)で、符号関数ベースの更新により実装がシンプルである。Google の PaLM 2 の一部実験で AdamW と同等以上の性能を示した。ただし、ハイパーパラメータの感度が高く、学習率を AdamW の 1/3〜1/10 に設定する必要がある。2026 年時点では、確実性を重視する商用 LLM の多くは依然として AdamW を採用している。
A: AdamW は各パラメータに対して一次モーメント(FP32: 4 bytes)と二次モーメント(FP32: 4 bytes)を保持するため、1B パラメータで約 8 GB のオプティマイザ状態が必要になる。パラメータ自体(FP32: 4 GB)と合わせて約 12 GB。Lion なら一次モーメントのみで約 8 GB(パラメータ含む)。Adafactor は行・列方向の分解で約 5-6 GB に削減できるが、収束が若干遅くなる傾向がある。
A: 重要である。SFT(Supervised Fine-Tuning)では AdamW(lr=1e-5〜5e-5, wd=0.01)が標準で、LoRA/QLoRA では 1e-4〜3e-4 のやや高い学習率が使える。DPO/RLHF のアライメント学習では lr=5e-7〜1e-6 と極めて低い学習率が必要で、β2=0.999(デフォルト値)に戻すことが推奨される。Lion や Sophia はファインチューニングでの検証が限定的で、安定性の観点から AdamW が推奨される。