Training Hyperparameters(学習ハイパーパラメータ)

article technology high #training-hyperparameters#learning-rate#adamw#cosine-schedule#wsd-schedule#batch-size#critical-batch-size#gradient-clipping#weight-decay#warmup#mup#fp8-training#mixed-precision#llm-training#dpo-beta
Created: 2026-05-26 Updated:

AdamW β2=0.95、ピーク LR 1e-4〜3e-4 (7B)、cosine/WSD、global batch 1〜16M tokens、gradient clip 1.0 を軸に、μP・fp8・10 落とし穴を整理。

Training Hyperparameters(学習ハイパーパラメータ)

LLM 訓練の数値設定は AdamW (β1=0.9, β2=0.95, ε=1e-8, weight_decay=0.1)ピーク LR 1e-4〜3e-4 (7B)cosine / WSDglobal batch 1〜16M tokensgradient clip = 1.0 が 2024〜2026 のデファクト。転換点は (1) GPT-3 (Brown 2020, arXiv:2005.14165) の β2=0.95 標準化 (Adam 原典 Kingma 2015, arXiv:1412.6980 の β2=0.999 は bf16 で遅い)、(2) Chinchilla (Hoffmann 2022, arXiv:2203.15556) のスケール則、(3) μP (Yang 2022, arXiv:2203.03466) による HP 転移。本記事は tech-49 / tech-48 延長の数値設定のみを扱い、オプティマイザ内部数学は Training Optimization (#346) 担当。

オプティマイザと AdamW デフォルト

AdamW (Loshchilov 2017, arXiv:1711.05101) の decoupled weight decay が LLM デファクト。β2=0.999 の v² EMA window ≈ 1000 ステップは bf16 初期 5K で収束不良、β2=0.95 なら window ≈ 20。PaLM (arXiv:2204.02311) は β2=0.99、Llama / DeepSeek-R1 (arXiv:2501.12948) は β2=0.95。weight_decay 0.1 は非埋め込み・非 LayerNorm のみ適用ε bf16 罠: 1e-8 は bf16 mantissa (7 bit) より粗く小 params で v² 過小評価、一部実装は ε=1e-15 明示。

学習率スケジュール — cosine / WSD / inverse-sqrt

LR スケジュールは 3 系統あり、cosine が支配的で WSD が 2024〜2026 に台頭。

スケジュール出典式の核適用領域
Cosine decayLoshchilov 2016 (arXiv:1608.03983)LR(t) = LR_min + 0.5(LR_max - LR_min)(1 + cos(π·t/T))2020〜2024 LLM 事前学習標準 (GPT-3 / Llama / Mistral)
WSD (Warmup-Stable-Decay)Hu 2024 (arXiv:2404.06395, MiniCPM)Warmup (W) → Stable @ LR_max (S) → Fast decay (D, D≪S)中間 checkpoint 再利用、複数サイズへの分岐訓練
Inverse-sqrtVaswani 2017 (arXiv:1706.03762)LR(t) = d_model^{-0.5} · min(t^{-0.5}, t · warmup^{-1.5})Transformer 原典 / T5 / encoder-decoder、無期限訓練向け

Cosine は T を計画時に焼き込むため訓練延長で LR ≈ 0。WSD は stable phase 末端 checkpoint が LR_max のままで複数サイズや別ドメインへ分岐可能 (Llama-3 “cooling” は事実上 WSD)。inverse-sqrt は decoder-only で廃れ encoder-decoder に残存。LR_min: GPT-3 は peak/60、OLMo / Llama-3 は固定 1e-5。

ウォームアップとピーク LR

Warmup は線形に 0 → LR_max で過大初期勾配を防ぐ。長さは 総トークンの 0.1〜2% (Llama-3 = 32B / 15.6T の 0.2%、OLMo arXiv:2402.00838 = 2T の 0.3%、GPT-3 = 300B の 0.125%)。warmup 不足は 100 ステップ以内の NaN/spike で顕在化。ピーク LR は params に対し緩い逆相関 (Llama-3.1 8B=1.5e-4、70B=8e-5、405B=1e-4、GPT-3 175B=6e-4) で LR ∝ 1/√(N_params) ± 2×。Goyal Linear LR Scaling Rule (arXiv:1706.02677) は critical batch 超で √k へ崩れる (arXiv:1812.06162)。

バッチサイズと Critical Batch Size

Critical Batch Size (McCandlish 2018, arXiv:1812.06162) は B_crit = S_max / noise_scale、B ≤ B_crit は情報効率一定、超過で 1 ステップ利得逓減。LLM 経験値: GPT-3 175B = 3.2M tokens、Llama-3.1 405B = 16M、OLMo は 4M → 16M ramp (序盤ノイズ探索 → 後半安定収束)。global_batch_tokens = micro_batch × seq_len × num_gpus × grad_accum。事前学習 seq_len は 4K → 8K → YaRN (arXiv:2309.00071) で 128K へ伸長。

勾配クリッピングと数値安定性

Global norm clipping = 1.0 が LLM 事前学習標準 (GPT-3 / PaLM / Llama-3 / OLMo)。超過なら scale = max_norm/grad_norm を全パラメータ適用 (per-parameter より勾配方向保持)。pre-clip grad_norm の全 step ログ必須 (baseline 10× 跳躍は spike 前兆)。Mixed precision: A100/H100/TPUv4+ は bf16 標準で loss scaling 不要、fp16 は dynamic loss scaling (arXiv:1710.03740) 必要だが LLM 事前学習では廃止。fp8 は Hopper/Blackwell 導入、forward=E4M3 (高精度)、backward=E5M2 (高レンジ)、per-tensor scaling は MS-AMP (arXiv:2310.18313) と Transformer Engine の amax 履歴窓 (window=16)。PaLM Loss Spike Recovery (arXiv:2204.02311): 540B で spike 6 回、100 ステップ前 checkpoint へ巻き戻し原因バッチをスキップ再開。modern は自動 anomaly detection + 細粒 checkpoint。

μP / μ-Transfer によるハイパーパラメータ転移

μP (Maximal Update Parameterization) (Yang 2022, arXiv:2203.03466) は活性値・勾配振幅を幅スケーリングに対し不変に保ち、SP の「最適 LR が幅で変動し小モデルのスウィープ転用不能」を解決。SP との 3 差: (1) 入力埋め込み init std = σ × 1/d_model (SP は 1/√d_model)、(2) LM head init std = σ × 1/width、(3) Attention logit multiplier = 1/width転移手順: 40M proxy で LR と init_std をグリッドサーチ → 7B+ に同値投入、±10% 以内で転移し LR スウィープコストを 10〜50× 削減。Cerebras CS-2、MosaicMPT、Phi-3/Phi-4 (arXiv:2412.08905) が採用。SP→μP 切替時の width 比 effective LR シフトが罠。

初期化 / Dropout / その他正則化

標準 init は GPT-2 起点、Embedding と QKV を N(0, 0.02)residual 出力射影は N(0, 0.02/√(2·N_layers)) (Megatron-LM residual scaling) で層数による隠れ状態分散の O(N_layers) 増大を防ぐ。LM head は埋め込みと重み共有 (tied) が標準。Dropout は事実上ゼロ — Llama / Falcon / Mistral は全 0.0、データスケールが正則化として機能。Sequence packing: 複数文書を max_seq_len まで連結 EOS/BOS 区切り (MFU 向上)。Cross-sample attention bleed: 事前学習は許容、SFT は応答が前応答に attend しラベル漏洩 — document-level causal mask を Flash Attention (arXiv:2205.14135) の cu_seqlens で実装。

ポストトレーニングのハイパーパラメータ

事前学習と post-training は LR で 1 桁、seq_len で 1 桁 違う領域。SFT / DPO / RLHF / LoRA はそれぞれ特有の数値レンジ。

段階ピーク LR主要パラメータ出典
SFT1e-5 〜 5e-5epochs 1〜3、batch 64〜256、weight_decay 0 〜 0.01、clip 1.0InstructGPT (Ouyang 2022, arXiv:2203.02155): SFT LR 9.65e-6
DPO5e-7 〜 5e-6β=0.1 (KL 罰則)、epochs 1〜3、batch 32〜128 pairsDPO (Rafailov 2023, arXiv:2305.18290)
KTO同 DPOβ=0.1、desirable threshold 0.5、pair 不要Ethayarajh 2024 (arXiv:2402.01306)
SimPODPO よりやや高γ (margin)、ref policy 不要、長さ正規化Meng 2024 (arXiv:2405.14734)
GRPO1e-6 〜 1e-5 (policy)clip ratio ε=0.2、KL coef 0.001〜0.01、group size G=8 〜 16DeepSeek-R1 (Guo 2025, arXiv:2501.12948)
LoRA / QLoRA1e-4 〜 5e-4r=16〜64、alpha=r or 2r、target = Q/V 行列、NF4 + double quantLoRA (Hu 2021, arXiv:2106.09685) / QLoRA (Dettmers 2023, arXiv:2305.14314)
PPO9e-6 (RM/policy)clip range 0.1〜0.2、KL coef tuned via adaptive controlInstructGPT (Ouyang 2022, arXiv:2203.02155)

SFT loss masking: 応答トークンのみで loss 計算 (label=-100 で instruction / padding マスク)、忘れると応答テンプレートに過学習し中身は学習しない。DPO β: 0.1 標準、0.01 以下で reference 乖離崩壊、0.5 以上で preference 無視。LoRA alpha: effective LR = LR × alpha/r、alpha=r でスケール不変、alpha=2r で効果増強。

落とし穴 — 10 つの頻発失敗モード

#落とし穴症状対策
1β2=0.999 in bf16初期 5K ステップで収束遅延β2=0.95 (GPT-3 以降の LLM 標準)
2fp16 オーバーフロー (loss scaling 未設定)訓練初期に loss が突然 NaNbf16 へ切替、もしくは dynamic loss scaling (arXiv:1710.03740)
3Warmup 不足100 ステップ以内に NaN/spike その後回復総トークンの 0.1% 以上 (Llama-3 = 2000 step)
4Gradient clip 過剰 (max_norm=0.1 等)常に clip 発動、underfitmax_norm=1.0 へ戻し、pre-clip norm を全 step ログ
5Loss spike に rollback 機構なしspike 後そのまま発散PaLM 流 — 100 ステップ巻き戻し、データ窓スキップ
6SFT loss masking 漏れ低 loss だが応答が定型・反復label=-100 検証 (SFT loss ≈ CLM loss / response 比)
7DPO 高 LR で SFT 能力忘却拒否多発、応答崩壊LR=1e-6〜5e-7、必要なら ORPO (arXiv:2403.07691) で SFT 正則化併用
8Sequence packing cross-doc attention (SFT 時)直前サンプルへの言及生成Flash Attention cu_seqlens で per-doc causal mask
9bf16 Adam ε ミスマッチ小 params で更新分散過大ε=1e-15、または fp32 master params に依存
10Cosine 固定 T 問題 (継続不能)計画外延長で LR ≈ 0WSD (arXiv:2404.06395) もしくは SGDR warm restart

2026 フロンティア

μP 標準化: Cerebras / MosaicMPT / Phi-3/Phi-4 (arXiv:2412.08905) が採用、コード改変コストが残る障壁。fp8 pretraining: DeepSeek-V3 (arXiv:2412.19437) が 671B MoE の fp8 大規模事前学習の初例で custom fp8 all-reduce を実装、Transformer Engine の H100 fp8 GEMM は bf16 比 ~2× スループット、LayerNorm / softmax / loss / optimizer state は bf16 残置。WSD reusable checkpoint: MiniCPM (arXiv:2404.06395) と Llama-3 cooling が stable 末端 checkpoint から複数サイズへ分岐。MFU 目標 ~50%+: FLOPs ≈ 6 × N_params × batch_tokens、A100 で 35〜50%、H100 で 45〜55%、低 MFU は data loading / 通信 / メモリ帯域ボトルネック (tech-48)。二次最適化候補: Sophia (arXiv:2305.14342) は Hutchinson 対角 Hessian で AdamW 比 2× token 効率を主張、Shampoo / SOAP はメモリオーバヘッドで本番採用限定的。Loss spike auto-recovery: 細粒 checkpoint + per-sample loss 異常検出 + 自動 rollback が Megatron-Core で標準装備化。

See also

Local graph