3 秒看懂
AdamW 是一種改進的 Adam 最佳化器變體,核心糾偏把權重衰減從自適應學習率的影響中解耦。它消除了 Adam 中 L2 正則化與自適應機制耦合導致的梯度更新偏差,在大量現代模型(尤其 Transformer、BERT、ViT)上穩定收斂並帶來更好的泛化表現。
權重衰減本身是一種讓權重緩慢趨向零的簡單先驗:沒有強梯度訊號時,引數自然衰減。但在 Adam 的自適應機制中,這個樸素的衰減被二階矩估計反覆縮放,強度不再由衰減係數單獨決定。AdamW 做的事一句話概括:讓權重衰減迴歸衰減本身,不再經過自適應機制的扭曲透鏡。
這一修改雖然只需調整幾行程式碼,卻直接影響了 Transformer 時代的訓練範式。從 GPT 系列到 LLaMA、從 ViT 到 Diffusion 模型,AdamW 是幾乎所有大型模型訓練指令碼中 optimizer 欄位的預設答案。
3 分鐘產業解釋
深度學習訓練中,最佳化器負責更新網路權重以最小化損失。Adam 因結合了動量和自適應學習率,收斂快、調參友好,一度是預設選擇。但它提出時用 L2 正則化實現權重衰減,而自適應學習率會大幅改變每次更新中正則項的貢獻幅度,導致實際等價效果不再是標準的“讓權重趨向零的衰減”,而是一種尺度扭曲的效應,嚴重削弱了正則化的預期收益。
AdamW 的做法很直接:不再將權重衰減混入梯度計算,而是在權重的更新步中獨立、直接地執行衰減。這樣一來,權重衰減力度僅由衰減係數決定,與梯度的一階矩/二階矩估計完全無關。
- 程式碼層面:架構如 PyTorch 直接內建 AdamW,把
weight_decay引數的含義從 L2 正則切換為解耦權重衰減——這對調參者而言意味著“你設定的 0.01 就真的是 0.01”,不再被自適應學習率暗中打折或放大。 - 效果層面:在許多大型模型訓練中,AdamW 讓有效正則化成為可能,配合餘弦退火學習率、warmup 等策略,成為 Transformer 系模型的標配最佳化器。尤其在引數規模超過 1B 的大型模型場景中,AdamW 的正則穩定性對控制過擬合至關重要。
- 分散式與低精度場景:在 Megatron、DeepSpeed 等分散式訓練方案中,AdamW 因其解耦設計的清晰性,與梯度裁剪、損失縮放配合時行為更可預測;衍生出的 8-bit AdamW 等低精度變體(Dettmers et al., 2021)將每個引數最佳化器狀態壓縮至 1 位元組,使消費級 GPU 也能微調 65B 引數模型。
值得強調的是,AdamW 本身不增加額外計算或記憶體開銷——它只是改變了衰減施加的位置。這個“零成本修復”使其從 2017 年被提出後,僅用約兩年時間就完成了從學術論文到工業標配的遷移,效率之高在機器學習工程領域相當罕見。
15 分鐘專家深入
AdamW 不只是“Adam + 微調”,它需被嚴格理解為一個最佳化演算法族中的設計選擇:如何正確地施加先驗偏好——希望權重在沒有強梯度訊號時緩慢衰減到零。其涉及到的細節包括:
- 數學失真鏈條:Adam 更新步驟中嵌入 L2 正則的等價性失真如何從分母項
√v_t + ε逐層傳導,最終導致每個引數實際承受的正則強度取決於其梯度歷史。 - 解耦的第二層含義:權重衰減與學習率排程解耦後,衰減速率可保持恆定,也可按獨立 schedule 變化——這為超引數設計打開了一個新維度,例如可以在訓練後期單獨提升衰減強度以促進收斂。
- 與二階效應互動:AdamW 的獨立衰減使梯度裁剪(gradient clipping)的閾值選擇不再與正則項“博弈”;在混合精度訓練中,獨立衰減路徑更易於做數值穩定性處理。
- 變體生態:從 AdamW 拓展出的 AdaFactor(按軸分解二階矩以降低視訊記憶體)、LAMB(大幅擴大 batch size 時的穩定訓練)等都繼承了“正則與自適應解耦”的核心思想。5 年間的演算法進展,大多是在 AdamW 基礎上的橫向衍生,而非範式推翻。
一句話總結專家視角:AdamW 的意義不在於“更好”,而在於“對了”——它終於讓權重衰減在自適應最佳化器裡做回了它該做的事。 這種設計哲學的澄清,比單點指標提升更具長期價值。
技術原理
Adam 的更新公式回顧
Adam 對每個引數維持一階矩 m_t(動量項)和二階矩 v_t(梯度平方的指數移動平均),更新步驟:
begin(aligned)
g_t &\leftarrow \nabla_{\theta} L(\theta_{t-1}) \\
m_t &\leftarrow \beta_1 m_{t-1} + (1 - \beta_1) g_t \\
v_t &\leftarrow \beta_2 v_{t-1} + (1 - \beta_2) g_t^2 \\
hat(m)_t &\leftarrow frac(m_t){1 - \beta_1^t} \\
hat(v)_t &\leftarrow frac(v_t){1 - \beta_2^t} \\
\theta_t &\leftarrow \theta_{t-1} - \eta \frac{hat(m)_t}{\sqrt{hat(v)_t} + \epsilon}
end(aligned)
其中 β1(典型值 0.9)控制動量平滑程度,β2(典型值 0.999)控制梯度二階矩的指數衰減視窗,ε(典型值 1e-8)防止除零。偏差校正項 1-β^t 解決了初始時間步估計偏低的問題。
原版 Adam 中的 L2 正則問題
當在損失函式中施加 L2 正則時,梯度變為 g_t = \nabla_{\theta} L_{text(data)} + \lambda \theta_{t-1}。於是 θ 的更新中含有正則項:
\theta_t = \theta_{t-1} - \eta \frac{hat(m)_t^{text(data)} + text(bias correction of ) \lambda \theta}{\sqrt{hat(v)_t} + \epsilon}
關鍵問題:分母 \sqrt{hat(v)_t} + \epsilon 對每個引數不同,且隨時間變化,導致有效的權重衰減係數被自適應學習率縮放。可以做一個直覺推演:
- 對梯度頻繁更新、二階矩積累較大的引數(如 Transformer 中的注意力權重),
√v_t較大,實際衰減力度 ≈ηλ / √v_t被大幅削弱; - 對更新稀疏、二階矩較小的引數(如 embedding 中低頻詞的向量),
√v_t較小,衰減反而被放大。
這使正則強度與引數活躍度耦合,偏離了“恆定衰減”的初衷。Loshchilov & Hutter (2017) 的實驗表明,這種耦合在 CIFAR-10、ImageNet 等標準任務上系統性地損害了泛化精度。
AdamW 的解耦方案
AdamW 將權重衰減移出梯度計算,直接在權重上施加乘法衰減:
\theta_t \leftarrow (1 - \eta \lambda) \theta_{t-1} - \eta \frac{hat(m)_t}{\sqrt{hat(v)_t} + \epsilon}
更常見的解耦寫法是先衰減、再更新:
θ = θ - lr * weight_decay * θ # 獨立的權重衰減
θ = θ - lr * (m_hat / (sqrt(v_hat) + eps)) # 標準的自適應梯度步
其中 m_hat 和 v_hat 基於不含正則項的原始 loss 梯度計算。這使得:
- 權重衰減力度均勻,僅由 λ 控制,與梯度訊號的尺度解耦。
- 最佳化過程更穩定:自適應學習率仍負責步長適配,正則項不再受二階矩波動干擾。
- 允許更高的
weight_decay值(如 0.01~0.1),在 Transformer 等過引數化模型中常見——這恰是舊 Adam 難以有效使用的區間。
演算法虛擬碼示意(PyTorch 風格)
# 給定
m, v = 0, 0
for t in range(1, T):
g = loss.backward() # 原始梯度,不含 L2 懲罰
g = g + weight_decay * param # ❌ 舊 Adam:在此混入正則
# AdamW 不在上一步混入,而是在更新時解耦:
param.mul_(1 - lr * weight_decay) # 解耦衰減
m = beta1 * m + (1 - beta1) * g
v = beta2 * v + (1 - beta2) * (g ** 2)
m_hat = m / (1 - beta1 ** t)
v_hat = v / (1 - beta2 ** t)
param.addcdiv_(m_hat, v_hat.sqrt() + eps, value=-lr)
與 L2 正則對比的數值現象
即使 AdamW 和 Adam 的 L2 正則看起來只差一個位置,在真實訓練中差異顯著:
- 對於常用衰減係數(如 10⁻⁴),Adam 的 L2 正則往往太弱;若強行增大,則又會因分母的縮放效應在某些引數上過度衰減,導致欠擬合。
- 在自適應梯度下,L2 正則力度的非均勻性導致某些引數迅速衰減至零而另一些幾乎無衰減,破壞權重分佈的協方差結構,推斷時可能引起數值不穩定。
- Loshchilov & Hutter (2017) 在 CIFAR-10/100 和 ImageNet 上的對照實驗顯示:同樣超引數下,AdamW 比 Adam+L2 驗證誤差降低 1%–4%(絕對百分點),且對
weight_decay的敏感度顯著更低。後續在 Transformer 語言模型上的第三方復現也一致指向泛化改善。
關鍵引數
理解 AdamW 的關鍵引數及其選擇依據,是正確使用的起點。引數之間並非完全獨立,存在以 lr + weight_decay 為主軸的聯合調節空間。
| 引數 | 典型範圍 | 作用 |
|---|---|---|
lr(學習率) | 1e-5 ~ 1e-3(大型模型常用 1e-4) | 控制每次更新的基本步長 |
weight_decay | 0.01 ~ 0.1(Transformer);1e-4 ~ 0.01(CNN) | 解耦權重衰減係數,越大正則越強 |
β1 | 0.9(標準) | 一階動量衰減因子 |
β2 | 0.95 ~ 0.999(大型模型近年傾向 0.95) | 二階矩衰減因子;小模型常用 0.999,大型模型 0.95 可提升訓練穩定性 |
ε | 1e-8 ~ 1e-6 | 數值穩定項;混合精度訓練中可適當增大至 1e-5 |
lr_schedule | CosineAnnealing / Linear / OneCycle | 學習率衰減策略,與 weight_decay 獨立或協同調節 |
實踐要點
β2的調整趨勢:LLaMA 系列訓練使用β2 = 0.95,相比傳統 0.999,這讓二階矩估計視窗更短,對近期梯度敏感,配合 AdamW 的解耦衰減在大 batch 訓練中更穩定(Touvron et al., 2023,LLaMA 技術報告公開引數設定)。weight_decay與lr的關係:由於解耦設計,weight_decay的絕對強度與lr相乘生效。若學習率按 CosineAnnealing 從 1e-3 退火至 1e-5,每步的衰減量為lr × weight_decay × θ,在訓練末期衰減極弱。部分實踐會採用“恆定衰減”(即不受 lr 排程影響),以保證全程衰減力度一致——但這並非架構預設行為,需手動實現。- 小 batch 場景:batch size < 32 時,梯度噪聲較大,
weight_decay宜適當降低(如從 0.1 降至 0.01),避免正則過強影響收斂。
技術路線
演算法譜系中的定位
AdamW 不是憑空出現的“新演算法”,而是對 Adam 的一次關鍵修正。理解其位置,需要放在自適應最佳化演算法的演進脈絡中:
SGD ──→ SGD + Momentum ──→ AdaGrad ──→ RMSProp ──→ Adam (2014)
│
┌─────────┴──────────┐
↓ ↓
AdamW (2017) Adam + L2 (遺留)
┌──┴──┐
↓ ↓
AdaFactor LAMB
(2018) (2019)
│
┌───┴───┐
↓ ↓
8-bit AdamW FusedAdam
(2021) (工程最佳化)
路線對比:AdamW vs Adam (L2) vs SGDW vs SGD
| 維度 | Adam (L2 正則) | AdamW (解耦權重衰減) | SGDW (SGD + 解耦衰減) | SGD + Momentum |
|---|---|---|---|---|
| 權重衰減施加方式 | 修改損失函式,混入梯度 | 直接在權重更新中獨立執行 | 直接在權重更新中獨立執行 | 修改損失函式,混入梯度 |
| 衰減強度 | 被 √v_t 縮放,非均勻且時變 | 由 weight_decay 恆定確定 | 由 weight_decay 恆定確定 | 由 λ 均勻確定 |
| 與 lr 排程關係 | 緊密耦合(衰減有效強度隨 lr 變化) | 可獨立排程 | 可獨立排程 | 同步耦合 |
| 泛化表現(大型模型) | 常弱於 SGD | 接近或優於 SGD | 有限改善(SGD 已解耦) | 泛化好,但收斂慢 |
| 超引數調整難度 | 高(需權衡 β2、lr、衰減) | 穩健,衰減係數可獨立調 | 與 SGD 類似 | 學習率敏感 |
| 架構支援 | 最先內建,PyTorch 中 Adam 預設實現 | 所有現代架構提供,為預設推薦 | 需手動實現或少量架構支援 | 所有架構均內建 |
競爭關係判斷:AdamW 作為 Adaptive 族與 Weight Decay 族交匯的產物,它的競爭對手不是固定的某一個最佳化器,而是兩個象限的拉鋸:
- 在“需要自適應學習率”的場景(Transformer、大規模搜尋、零階最佳化)中,AdamW 壓制了 Adam(因為沒理由用有缺陷版本);
- 在“需要極致泛化”且算力充裕的場景(小規模影像、某些科學計算)中,SGD with Momentum 仍有可能以小優勢勝出,但 AdamW 的調參成本更低,實驗中常作為第一個強力基線。
新興挑戰者(截至 2025 年 7 月):
- Lion(Chen et al., 2023,Google Brain):僅使用一階矩符號更新,在部分大型模型訓練中記憶體減半、收斂加速,但泛化一致性的證據仍有限。
- Sophia(Liu et al., 2023,Stanford):結合二階曲率估計(Hutchinson 近似),在 LLM 預訓練中可減少 50% 的迭代步數,但每步計算和記憶體開銷更高,對分散式訓練架構的適配仍在完善。
目前,這兩個替代方案在特定任務上可超越 AdamW,但在“通用性、調參魯棒性、生態整合度”三維度尚無全面替代者。
上游
AdamW 的上游可拆為理論與工程兩層:
理論上游
- SGD 與 Momentum(Robbins & Monro, 1951;Polyak, 1964):所有現代最佳化器的基礎,定義了“沿梯度下降”和“慣性累積”兩塊基本語法。
- AdaGrad(Duchi et al., 2011):首次引入“每個引數自適應學習率”,用歷史梯度平方累加和調節步長。
- RMSProp(Tieleman & Hinton, 2012):將 AdaGrad 的累積求和改為指數移動平均,解決了訓練後期學習率過小的問題,直接構成 Adam 的二階矩部分。
- Adam(Kingma & Ba, 2014):綜合 Momentum 和 RMSProp,加入偏差校正。
- 正則化理論:L2 正則(weight decay 在 SGD 中的等價形式)、早停、Dropout 共同構成神經網路正則化工具箱。AdamW 解決的是“權重衰減在自適應條件下失能”這一特定問題。
工程上游
- 深度學習架構的最佳化器模組設計:PyTorch
torch.optim、TensorFlowtf.keras.optimizers的介面範式決定了 AdamW 能以“一個引數開關”的方式快速鋪開。若架構未定義清晰的 optimizer API 邊界,解耦實現的傳播會慢得多。 - 混合精度訓練基礎設施:NVIDIA APEX、PyTorch AMP 等方案提供梯度縮放(loss scaling),要求最佳化器內部邏輯與縮放路徑不衝突。AdamW 獨立衰減路徑在數值上更易處理。
- 分散式訓練通訊庫:NCCL 等通訊後端與 AdamW 的配合已成為大型模型訓練棧的預設組合。
下游
AdamW 的下游覆蓋面極廣,可分類如下:
訓練架構與工具鏈
- PyTorch(Meta):
torch.optim.AdamW為預設推薦,自 1.0 版本起提供解耦實現。 - TensorFlow / Keras(Google):
tf.keras.optimizers.AdamW原生支援,與 TPU 訓練流水線深度整合。 - JAX / Optax(Google):Optax 中
adamw為獨立 transform,可與weight_decay排程器組合。 - Hugging Face Transformers:
Trainer的預設最佳化器為 AdamW,超引數adam_beta1、adam_beta2、adam_epsilon、weight_decay公開可調。
分散式訓練系統
- Megatron-LM(NVIDIA):提供 FusedAdamW,將引數更新和衰減操作融合為單一 CUDA kernel,減少記憶體頻寬消耗。
- DeepSpeed(Microsoft):AdamW 為預設最佳化器,並提供 ZeRO 最佳化器狀態分片下 AdamW 的高效實現。
- ColossalAI:與上述類似,提供對 AdamW 的分散式適配。
低精度與量化訓練
- bitsandbytes:
bnb.optim.AdamW8bit將一階矩 m 和二階矩 v 分別量化至 8bit,保持權重衰減為獨立 32bit 操作,保證衰減精度。 - QLoRA 等 PEFT 方法(Dettmers et al., 2023):在 4-bit 基座模型上微調時,最佳化器(通常為 AdamW 或其 8-bit 版本)僅更新 LoRA 介面卡引數。
目標模型與任務
- 語言模型:GPT 系列(Radford et al., 2019)、LLaMA(Touvron et al., 2023)、Falcon、Mistral 等公開技術報告均明確使用 AdamW。
- 視覺模型:ViT(Dosovitskiy et al., 2020)、Swin Transformer、DeiT 等。
- 多模態與生成模型:Stable Diffusion、DALL·E 2(技術報告公開)、擴散模型訓練均預設 AdamW。
- 大規模推薦系統:Meta DLRM、Google 生態的推薦排序模型。
受益公司
AdamW 本身是公開發表的學術思想和開源實現,不存在直接商業授權收益。受益方是那些將 AdamW 內嵌為訓練基礎設施關鍵元件的公司和生態。
第一梯隊:架構與雲端平台(直接受益)
| 公司/組織 | 受益方式 | 說明 |
|---|---|---|
| Meta (PyTorch) | 架構粘性 | PyTorch 內建 AdamW 實現精良、文件完善,構成使用者遷移成本的一部分。據 Linux 基金會 2024 年 PyTorch 狀態報告(公開摘要),PyTorch 在 AI 研究論文中最佳化器使用佔比超 85%,其中 AdamW 是使用率最高的單一最佳化器。 |
| Google (TensorFlow / JAX / TPU) | 硬體+架構繫結 | TensorFlow 和 JAX 均原生支援 AdamW,配合 TPU 提供端到端最佳化訓練棧。Google Cloud TPU 文件中明確將 AdamW 作為推薦最佳化器。 |
| Microsoft (Azure / DeepSpeed) | 雲端訓練服務 | DeepSpeed 的 AdamW 實現是 Azure OpenAI Service 模型訓練棧的一部分,間接受益於 Azure 的 AI 工作負載增長。 |
第二梯隊:訓練平台與工具(間接受益)
| 公司 | 受益角色 |
|---|---|
| NVIDIA | GPU/AI 晶片需求驅動;FusedAdamW 最佳化庫增強其軟體棧競爭力 |
| Hugging Face | Transformers 庫以 AdamW 為預設最佳化器,降低使用者上手門檻 |
| Anthropic / OpenAI 等模型廠商 | 訓練效率改善直接轉化為研發成本節約,但不對 AdamW 產生商業依賴 |
| Lambda Labs / CoreWeave 等 GPU 雲端 | AI 訓練算力需求的通用受益方 |
第三梯隊:硬體與晶片廠商
NVIDIA、AMD、Intel(Gaudi)、以及新興 AI 晶片公司(Cerebras、SambaNova、Graphcore)均需要在其軟體棧中適配 AdamW,否則難以爭取大型模型訓練客戶。這一適配已成為“入場門檻”級別的工程需求。
注:截至 2025 年 7 月,公開資料未見任何公司單獨出售或以許可形式對 AdamW 收費,所有受益均為生態層面的非直接商業利益。
市場規模
AdamW 作為純演算法方案本身無直接交易市場,但可以通過“其所支撐的訓練量”和“相關最佳化器軟體市場”間接量化其經濟規模。
訓練計算市場規模
- 據 Precedence Research(2024 年 11 月公開報告),全球 AI 訓練計算市場規模 2024 年約 386 億美元,預計 2030 年增長至約 2100 億美元(CAGR ~32%,口徑含 GPU、TPU、訓練專用伺服器及雲端訓練服務)。
- 若假設大型模型訓練量佔此市場約 40%–50%(2024 年估計),且其中 90% 以上使用 AdamW 作為核心最佳化器(行業共識推定,非精確統計),則 AdamW 間接支撐的年度訓練支出約 140–170 億美元,且隨市場規模同步增長。
最佳化器軟體市場規模
- “最佳化器作為獨立軟體”無商業市場,但訓練架構與 MLOps 平台構成間接市場。據 Grand View Research(2024 年公開摘要),全球 MLOps 平台市場 2024 年約 58 億美元,預計 2030 年達約 310 億美元(CAGR ~32%)。
- PyTorch 生態、TensorFlow 生態和 Hugging Face 等社群平台,其訓練最佳化器模組是使用者依賴的核心元件。AdamW 的長期穩定性使其成為這些平台使用者留存的一個“靜默貢獻因子”,但難以直接折算為具體營收或份額。
定性判斷
AdamW 的市場“身位”可用一句話概括:大型模型訓練越昂貴,AdamW 的正則穩定性帶來的模型質量改善的經濟價值就越高。 在一個單次訓練成本可達數千萬美元(公開報道:Meta Llama 3 訓練約 7000 萬美元,Anthropic Claude 3 訓練估算超 1 億美元,來源為第三方估算,非官方揭露)的市場上,提升 1%–2% 的模型質量所對應的隱含價值,遠大於最佳化器本身的“成本”(零)。
玩家對比
“最佳化器玩家”並非傳統商業概念,而是架構實現者和演算法改進者兩個維度的競爭。
架構實現維度
| 架構 | AdamW 實現質量 | 特點 |
|---|---|---|
| PyTorch | ⭐⭐⭐⭐⭐ | 最早一批解耦實現,weight_decay 引數語義清晰;提供 fused 版本(CUDA kernel 融合);與 Captum、torch.compile 等相容性良好 |
| TensorFlow / Keras | ⭐⭐⭐⭐ | 原生 AdamW 類,文件明確標註“解耦權重衰減”;與 TPU 生態的整合優於 PyTorch |
| JAX / Optax | ⭐⭐⭐⭐ | 函式式設計下 AdamW 作為透明 transform,可組合性極強,但學習曲線較陡 |
| Hugging Face | ⭐⭐⭐⭐⭐ | 非架構,但 Trainer 的 AdamW 預設配置經過大量社群調優,實際復現成功率最高 |
演算法變體維度
| 變體 | 提出者/架構 | 核心改進 | 劣勢 |
|---|---|---|---|
| 8-bit AdamW | Dettmers et al. (2021) / bitsandbytes | 最佳化器狀態量化至 8-bit,視訊記憶體減半 | 每步額外量化/反量化開銷 |
| FusedAdamW | NVIDIA / Apex, PyTorch 2.0 | 多個操作融合為單 kernel,加速 5%–15% | 僅 NVIDIA GPU 可用;對自定義操作不夠靈活 |
| LAMB | You et al. (2019) / NVIDIA | 分層自適應學習率 + 解耦權重衰減,大 batch(>32K)穩定訓練 | 小 batch 無優勢;社群生態窄 |
| Lion | Chen et al. (2023) / Google | 僅符號更新,記憶體為 AdamW 的 1/2 | 在視覺生成任務上覆現不穩定(社群反饋) |
| Sophia | Liu et al. (2023) / Stanford | 結合二階 Hessian 估計,預訓練步數減半 | 每步計算開銷高;對分散式架構改造成本大 |
競爭格局總結:
- AdamW 在“通用性”上無近似競爭者。Lion 和 Sophia 在特定大型模型訓練中的優勢已驗證,但通用性證據遠不如 AdamW。
- 低精度變體(8-bit AdamW)是 AdamW 的“補丁”而非替代,解決的是記憶體瓶頸而非最佳化質量。
- 如果出現一個全維度超越 AdamW 的最佳化器,它的擴散仍需數年——因為訓練棧的整合、社群調參經驗的積累、架構預設設定的切換都需要時間。AdamW 從提出到成為 PyTorch 預設也經歷了約 2–3 年。
風險
技術風險
- 被新一代最佳化器替換:Lion(記憶體減半)、Sophia(步數減半)等方案在高調提出後已在部分場景追趕 AdamW。若未來 2–3 年內某個新演算法在>3 個獨立團隊的 LLM 預訓練復現中持續優於 AdamW (泛化、收斂速度、記憶體三項指標均有統計顯著改善),部分訓練棧可能切換到新預設。
- 與特定超引數組合的非預期行為:AdamW 的“解耦”本身是正確的,但當
weight_decay極高(>1.0)、lr極小(<1e-6)或配合不常見的 warmup 策略時,獨立衰減可能產生訓練早期的異常權重坍縮。多數公開訓練方案避開了這些極端區間,但未充分探索。 - 低精度下的衰減精度損失:8-bit 最佳化器狀態下,權重衰減操作通常保留為 FP32,但在一些激進量化方案中(如 FP8 全流程),衰減步驟可能被注入額外誤差,需逐硬體驗證。
生態風險
- 架構切換導致行為不一致:PyTorch 和 TensorFlow 對
AdamW(weight_decay=...)的預設行為雖已統一為“解耦衰減”,但部分第三方庫(如舊版 Fairseq、某些自定義分散式訓練包裝器)仍可能在包裝層重新引入 L2 正則邏輯,導致使用者誤以為在使用 AdamW 而實際是舊版 Adam+L2。 - 最佳化器新穎性的“去槓桿化”:如果最佳化器研究領域長期無根本性突破,AdamW 成為“預設不變項”,可能降低架構公司對 optimizer 模組的投入優先順序,導致邊緣場景(如稀疏訓練、動態架構)的適配緩慢。
系統性說明
上述風險目前均為尾部機率。截至 2025 年 7 月,公開資料未見任何證據表明 AdamW 的地位在主流訓練棧中被撼動。訓練大型模型的試錯成本越高,團隊越傾向於使用歷經驗證的最佳化器——“不改最佳化器”本身就是一種風險控制策略。
誤讀糾偏
-
❌ “AdamW 就是帶有
weight_decay引數的 Adam” ✅ 精準修正:舊版 Adam 的weight_decay在多數早期實現中仍等效於 L2 正則——即懲罰項先加入梯度再被自適應機制縮放。PyTorch 文件中明確註明“AdamW實現了 decoupled weight decay,與Adam中的 L2 正則不同”。不讀原始碼或不驗證架構版本,極易混淆兩者。使用 AdamW 前,請確認架構文件使用“decoupled”一詞。 -
❌ “權重衰減等於 L2 正則,兩個詞可以互換” ✅ 精準修正:在 SGD 中兩者等價的結論依賴於“直接更新權重”這一前提——沒有自適應機制的介入。在 Adam 等自適應最佳化器中,L2 正則先將懲罰放入梯度,再被二階矩估計扭曲;權重衰減是直接懲罰權重,保留預期的正則效應。AdamW 正是在這個意義上“修復”了實現,而非“替換”了正則概念。 這一糾偏的核心是區分“數學定義的衰減意圖”和“程式碼中的實現路徑”。
-
❌ “AdamW 在所有任務上優於 SGD” ✅ 精準修正:在特定任務(如低資料量的小規模影像分類、需極高泛化邊界的強化學習場景)中,精心調參的 SGD with momentum 仍可能勝出約 0.5%–1.5% 的最終精度(參考 Loshchilov & Hutter 2017 原文中 CIFAR 的部分對比結果)。AdamW 的優勢是“通用性和魯棒性”,不是“所有場景下的絕對精度天花板”。 因此,研究中通常將 AdamW 作為第一基線,SGD 作為對比或消融驗證項。
-
❌ “AdamW 的原理太簡單,沒啥技術含量” ✅ 精準修正:解耦思路的“簡單”是事後視角的優雅,而非缺乏深度的淺薄。在 2014–2017 年間,自適應學習率與正則的互動問題持續困惑研究者,多篇分析文章(Hoffer et al., 2017 等)都在討論“為什麼 Adam 的泛化不如 SGD”,直到 Loshchilov & Hutter 錨定到實現位置而非超引數值,才完成概念澄清。這種在複雜系統中精準定位“對了”的實現細節,是高質量的工程科學。
-
❌ “AdamW 只是減少了過擬合” ✅ 精準修正:權重衰減在數學上是尺度相關先驗(scale-dependent prior),而非純粹的“過擬合抑制劑”。在過引數化模型中,權重衰減的作用更接近“模型結構偏好”——它誘導最佳化路徑偏向更簡單的解,這一效果不完全等同於減小泛化間隙(generalization gap)。
最新事件
本節記錄截至 2025 年 7 月的重要公開事件,側重於對 AdamW 生態有實質影響的資訊。
2025 年
- 2025 年 5 月:PyTorch 2.6 正式釋出,
torch.optim.AdamW的fused引數在更多 GPU 架構上獲得預設啟用,官方測試顯示在 H100 GPU 上訓練 GPT 類模型時最佳化器步驟加速約 12%(來源:PyTorch 官方 Release Notes)。 - 2025 年 3 月:DeepSeek-V3 技術報告公開(DeepSeek, 2025/03),確認其 671B 引數 MoE 模型訓練全程使用 AdamW,配合
β1=0.9、β2=0.95、weight_decay=0.1。該模型以極低訓練成本達到 GPT-4o 級效能,AdamW 的穩定性被社群廣泛討論。
2024 年
- 2024 年 12 月:Meta 釋出 Llama 3.3 系列(70B 稠密模型),技術報告中明確記載使用 AdamW 最佳化器,
weight_decay=0.1、Adam(β1, β2)=(0.9, 0.95)、Cosine 學習率排程(來源:Meta AI 公開技術報告)。 - 2024 年 8 月:Google DeepMind 釋出 Gemma 2 技術報告,確認 AdamW 為預訓練最佳化器,並使用從
β2=0.99逐步退火至β2=0.999的非平穩衰減策略(來源:Google DeepMind 公開技術報告)。 - 2024 年 4 月:Sophia 最佳化器論文獲 ICLR 2024 Spotlight 認可,在 LLM 預訓練步數效率上超 AdamW,引發社群廣泛對比測試,但多個第三方復現團隊報告 Sophia 在視覺擴散模型上不穩定(來源:社群公開復現討論,非正式論文)。
2023 年及更早
- 2023 年 2 月:LLaMA 1 技術報告公開(Touvron et al., 2023),使用 AdamW +
β2=0.95的超參組合,後續被 Mistral、Falcon、Qwen 等多個開源模型沿用,形成事實上的大型模型 AdamW 超參標準。 - 2023 年 1 月:Lion 最佳化器提出(Chen et al., 2023, arXiv:2302.06675),在 Diffusion 模型上記憶體和收斂表現突出,但在 2023–2024 年間多個大型模型訓練嘗試(公開資訊有限)中未見全面超越。
- 2021 年:Dettmers 等釋出 bitsandbytes 庫,首次提供生產級 8-bit AdamW 實現,使消費級 GPU 可微調大型模型,顯著擴大了 AdamW 的使用者基數。
追蹤指標
以下是指標化的追蹤體系,旨在監測 AdamW 生態的健康度和變遷訊號,適用於研究者、工程師和行業觀察者。
核心指標(按更新頻率分級)
每季度追蹤
| 指標 | 資料來源 | 監測目的 |
|---|---|---|
| 新發布大型模型技術報告中的最佳化器使用率 | 各大公司/實驗室公開技術報告(Meta、Google、Anthropic、DeepSeek、Mistral 等) | 監測 AdamW 是否仍為“預設項”——若連續兩個季度出現無 AdamW 的主流模型,需關注替代者 |
| PyTorch / TensorFlow AdamW 實現更新 | 架構 GitHub Release Notes | 追蹤實現層面的重要修復、效能提升或行為變更 |
| ArXiv 最佳化器相關論文引用 AdamW 的比例 | ArXiv cs.LG 分類、Semantic Scholar 引用資料 | 度量 AdamW 在學術界的“基線化”程度 |
每半年追蹤
| 指標 | 資料來源 | 監測目的 |
|---|---|---|
| Hugging Face 最受歡迎模型訓練指令碼的最佳化器使用分佈 | Hugging Face Hub 模型卡及 GitHub 開源訓練指令碼 | 社群實際採用情況的取樣統計 |
| 主要 GPU 雲端服務商的訓練示例/文件中最佳化器推薦 | AWS SageMaker、Google Vertex AI、Azure ML 等文件 | 雲端平台“預設引導”的變遷 |
每年追蹤
| 指標 | 資料來源 | 監測目的 |
|---|---|---|
| MLOps 平台市場份額變化 | Grand View Research、Gartner 等公開報告 | 間接評估最佳化器生態所屬平台的商業動能 |
| AI 訓練專用硬體的算力分配中 AdamW 相關最佳化(Fused、8-bit)的軟硬體適配進展 | NVIDIA、AMD、Intel 等廠商的軟體棧更新文件 | 追蹤“加速 AdamW”在硬體端的優先順序 |
警示指標(一旦出現需重點關注)
- 某主流大型模型團隊公開宣佈從 AdamW 切換到其他最佳化器,並揭露充分消融實驗資料——這可能是範式遷移的訊號。
- PyTorch 或 TensorFlow 將非 AdamW 最佳化器設為新預設——但需注意,
torch.optim無正式預設最佳化器概念,“切換預設”指的是訓練 API(如 Hugging Face Trainer、Kerasfit())的預設引數變更。 - 低精度最佳化器(8-bit、4-bit)中出現解耦衰減被證實引入系統性能退化的論文——如發生,可能觸發 AdamW 低精度變體的修正或重新設計。
信源
本節按權威性分層列出關鍵參考源,均可在網際網路公開獲取。所有源均為截至 2025 年 7 月可訪問的最新版本。
一級信源(原始論文與技術報告)
- Loshchilov, I., & Hutter, F. (2017). Decoupled Weight Decay Regularization. arXiv:1711.05101. [提出 AdamW 的原始論文]
- Kingma, D.P., & Ba, J. (2014). Adam: A Method for Stochastic Optimization. arXiv:1412.6980. [Adam 提出論文]
- Touvron, H., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. Meta AI Technical Report, arXiv:2302.13971. [首次公開使用 AdamW + β2=0.95 的大型模型]
- Touvron, H., et al. (2024). The Llama 3 Herd of Models. Meta AI Technical Report, arXiv:2407.21783. [Llama 3 系列完整訓練配置]
- DeepSeek-AI (2025). DeepSeek-V3 Technical Report. arXiv:2412.19437. [671B MoE 模型的 AdamW 使用確認]
- Google DeepMind (2024). Gemma 2: Improving Open Language Models at a Practical Size. Technical Report, arXiv:2408.00118. [β2 動態排程策略]
二級信源(架構文件、實現規範)
- PyTorch
torch.optim.AdamW文件: https://pytorch.org/docs/stable/generated/torch.optim.AdamW.html - TensorFlow Keras
AdamW文件: https://www.tensorflow.org/api_docs/python/tf/keras/optimizers/AdamW - Hugging Face Transformers Trainer 引數說明: https://huggingface.co/docs/transformers/main_classes/trainer
- Dettmers, T., et al. (2021). LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale. arXiv:2208.07339. [含 8-bit AdamW 實現]
三級信源(市場資料、行業報告)
- Precedence Research. AI Training Computing Market Report 2024–2030. (2024 年 11 月公開摘要, www.precedenceresearch.com)
- Grand View Research. MLOps Platform Market Size Report 2024–2030. (2024 年公開摘要, www.grandviewresearch.com)
- Linux Foundation. PyTorch State Report 2024. (公開摘要, pytorch.org)
補充研究信源(最佳化器前沿討論)
- Chen, X., et al. (2023). Symbolic Discovery of Optimization Algorithms. NeurIPS 2023, arXiv:2302.06675. [Lion 最佳化器提出]
- Liu, H., et al. (2023). Sophia: A Scalable Stochastic Second-order Optimizer for Language Model Pre-training. ICLR 2024, arXiv:2305.14342. [Sophia 最佳化器提出]
注:本文技術描述基於上述公開演算法規範和社群共識形成。定量對比資料來自標註來源,未標註“公開資料未見”的數值均有據可查。具體任務上的最優超引數組合依賴於特定模型架構和訓練設定,建議直接參閱原始論文獲取實驗細節。本文不構成對任何演算法、架構或公司優於其他方案的價值判斷。