跳轉到

第 9 章 梯度下降、反向傳播與大規模 AI 最佳化的暴力美學#

9.2 亞當演算法(Adam)與動量(Momentum):大模型訓練中不可或缺的自適應學習率加速魔法#

9.2.1 動量:物理直覺的注入#

Polyak 的重球法(1964)與 Nesterov 加速梯度(1983,NAG)為梯度加上「慣性」:

\[ v_{t+1} = \beta v_t + \nabla L(\theta_t), \qquad \theta_{t+1} = \theta_t - \eta\, v_{t+1} \]

在峽谷長坡上,動量抑制震盪、加速收斂;Nesterov 的「先衝再回頭看」還取得最優收斂率(凸情形 \(O(1/t^2)\))。SGD+動量至今仍是視覺模型(ResNet 家族)的默認選擇。

9.2.2 Adam:兩種矩的自適應#

2014 年 Diederik Kingma 與 Jimmy Ba(ICLR 2015)發表 Adam:同時估計梯度的一階(均值)與二階(方差)動量,並做偏差修正:

\[ m_t = \beta_1 m_{t-1} + (1-\beta_1)g_t,\quad v_t = \beta_2 v_{t-1} + (1-\beta_2)g_t^2 $$ $$ \theta_{t+1} = \theta_t - \eta\, \frac{\hat m_t}{\sqrt{\hat v_t}+\epsilon} \]

每個參數獲得自適應步長——稀疏梯度(NLP/嵌入層)場景尤為有效。Adam 及其變體(AdamW 2017,Loshchilov & Hutter 修正權重衰減耦合)成為 Transformer 訓練的事實標準(GPT、Llama 皆用 AdamW 系)。

9.2.3 大模型訓練的穩定性技藝#

訓練 GPT 級模型的實用配方(各公開技術報告的共同經驗):

  1. 學習率預熱(warmup)+餘弦退火;
  2. 混合精度(fp16/bf16)+損失縮放;
  3. 梯度裁剪(防止稀有尖峰梯度炸毀訓練);
  4. 全局/層級歸一化(LayerNorm、RMSNorm)。 這些技巧共同構成「Scaling Law 可執行」的工程前提(10.2 的《人工智慧的故事》姊妹篇)。

9.2.4 前因後果#

  • 前因:凸優化理論(Nesterov)+深度學習工程實踐。
  • 事件:1983 NAG、2014 Adam、2017 AdamW。
  • 後果:最佳化器成為可「調」的工業組件;9.3 將處理訓練完成後的另一端——部署。

下一節:9.3 模型壓縮