最佳化器可以被發現,而不只是被設計
數十年來,最佳化器都是從收斂證明手工推導出來的。Lion卻從另一道門進來:對可能更新規則的空間做程式搜尋(program search),其中候選最佳化器——表示為作用在梯度與動量緩衝上的短程式——被演化並在代理訓練任務上評估。這場搜尋重新發現了動量、加以簡化,並收斂到一條沒有人會手寫、卻在許多真實工作上站得住腳的精簡符號規則。
程序搜索发现的 Lion 更新规则:以插值动量的符号为方向、并带有解耦权重衰减的步长。
教訓不是人類已經過時;而是設計空間比我們的證明所涵蓋的更大、更奇異。搜尋最有價值之處在於作為假設的產生器——它浮現出候選規則,我們再去分析、簡化並進行壓力測試。Lion 的符號更新一旦被找到,結果竟有一個乾淨的詮釋:一個受約束的、正規化的步。這正是機器找出的規則如何成為持久知識的方式:事後被解釋。
Muon:把動量正交化
Muon是近期針對網路隱藏權重矩陣最犀利的想法。它的洞見是:一個動量矩陣往往有少數幾個主導的奇異方向擠掉其餘方向,因此一個原始的步會對少數方向過度更新、對其餘方向更新不足。Muon 把動量正交化(orthogonalize)——用最接近的、奇異值全為一的矩陣取代它——使每個方向都得到平衡的更新。它以幾次便宜的 Newton-Schulz 迭代而非完整的奇異值分解來計算這個正交化。
Muon 的核心步骤:将动量矩阵正交化为 U Vᵀ,在更新前均衡其各奇异方向。
M = beta*M + grad # momentum (a 2D weight matrix)
X = M / M.norm()
for _ in range(5): # Newton-Schulz -> approx orthogonal factor
X = 1.5*X - 0.5 * X @ (X.T @ X)
W = W - lr * X # all singular directions get a unit-scale step在概念上,Muon 是 Shampoo 的近親——兩者都對更新施加矩陣結構,而非把參數當成一個攤平的向量——但 Muon 便宜得多,因為 Newton-Schulz 只需矩陣乘法。在大型語言模型訓練上,它能以更少的步數匹敵甚至擊敗調好的 AdamW,這也是為何它成為前沿最受矚目的最佳化器之一。注意它作用於二維隱藏權重;嵌入、偏置與正規化縮放仍由標準最佳化器處理。
近端方法:當目標不光滑時
目前為止的一切都假設了一個可微分的損失。但許多有用的目標會加上一個不光滑的正則化項——用於稀疏性的 L1 懲罰、用於低秩的核範數懲罰、一個硬約束集合。近端梯度方法以把步驟一分為二來處理這些:先對光滑部分做正常的梯度步,再用一個近端算子(proximal operator)對不光滑部分求解一個小而有結構的子問題。對 L1 懲罰而言,近端算子就是軟閾值(soft-thresholding)——把每個座標朝零收縮並截斷——這正是 lasso 如何產生真正稀疏的解,而單純的梯度懲罰只能產生很小的值。
近端算子与近端梯度步:先对光滑部分做梯度步,再处理不可微的正则项。
近端方法補全了第 1 篇的幾何圖像。正如鏡像下降推廣了一步的度量,近端算子推廣了一步必須遵守的約束或懲罰。兩者合起來,讓你能對混合了「光滑、易微分的項」與「你寧願確切執行而非近似的結構化項」的目標做最佳化。在深度學習中,這出現在結構化剪枝、受約束的微調,以及任何你想要硬稀疏而非柔性推動的場景。
做基準測試而不自欺
最佳化器比較是一個充滿自欺的雷區。最常見的錯誤是調參預算不對等:新的最佳化器在細密的網格上掃過,而基準卻沿用論文預設值,於是新方法贏在調參工夫、而非實質優劣。公平的比較給每位參賽者相同的超參數調校預算——包括學習率、權重衰減、暖身與排程——並回報各自獨立最佳化之後的結果。
- 固定預算:對每個最佳化器(包括基準)使用相同的試驗次數與相同形狀的搜尋空間。
- 在對齊的計算量下比較,而非對齊的步數——每步需兩次傳遞的方法,必須展現兩倍的每步增益才能打平。
- 回報泛化(留出/下游),而不只是訓練損失——更快的最佳化可能意味著更差的模型。
- 跨多個隨機種子、並至少在一個更大規模上重複;許多最佳化器的勝利在模型或批次放大時就蒸發了。
一份決策指南與開放問題
把整個學習軌收束到一個實務的落點。從 AdamW 加上「先暖身再餘弦」開始;對幾乎所有情況它都是正確的預設。當問題病態且步數稀少時,動用曲率(自然梯度、K-FAC、Shampoo)。在超大批次時動用逐層縮放。當泛化是瓶頸時,加上 SWA 或 SAM。當你想要前沿的步效率、又能容忍較新的配方時,在 transformer 隱藏矩陣上試 Muon。當目標真正不光滑時,使用近端方法。
由是/否问题构成的决策树,引导优化器的选择。
這些開放問題令人謙卑。我們仍缺乏一套能預測「哪個最佳化器適合哪種架構」的理論;最佳化器、排程與偏好平坦極小值的隱式偏差三者之間的交互作用,只被部分理解;而且我們還無法可靠地預測一個最佳化器在比其調參處大十倍的規模上的行為。進階最佳化目前仍是一門結合強原則與誠實經驗主義的學問——這正是為何用第 1 篇的 `P⁻¹ g` 透鏡、以及本節的基準測試紀律來讀每一個結果,是你能帶出這個學習軌最持久的技能。