OmniOpt:百家爭鳴的最佳化器,終於有一張統一地圖
OmniOpt: Taxonomy, Geometry, and Benchmarking of Modern Optimizers
背景
訓練一個大型模型時,選哪個最佳化器(optimizer)早已不是「用 Adam 就好」這麼單純的事。隨著模型規模衝上百億甚至千億參數,最佳化器的選擇變成一個牽動運算成本、顯示記憶體、調參預算與任務多樣性的系統層級決策。過去十年間,學界與業界陸續提出了超過一百種最佳化方法——從最早的 SGD、Adam、AdamW,到近年火紅的 Lion、Muon、Sophia、Shampoo、SOAP 等試圖引入二階資訊或結構化更新的新方法。問題是,這些方法各自用不同的符號、不同的動機、不同的實驗設定發表,使得研究者與工程師很難回答一個看似簡單的問題:在我現在的訓練場景下,到底該用哪一個?
由來自 Li、Pan、Liu、Ouyang、Jin、Xu、Wei、Pang、Che、Zhou、He、Tan 等 12 位研究者共同完成的這篇 91 頁論文《OmniOpt》,正是想解決這種「碎片化」問題。他們的目標不是再發明一個新的最佳化器,而是替整個領域畫出一張統一的座標系統,讓上百種方法可以被放進同一個框架裡比較、理解、選擇。
方法
OmniOpt 的核心建立在四個彼此耦合的組件上。
第一,他們把每一個最佳化器的參數更新過程,拆解成一個「五階段的 meta-pipeline」(統一元管線):從原始梯度出發,依序經過動量/梯度處理、自適應縮放、(近似)二階或結構化前處理、正規化與權重衰減,最後才產生真正套用到參數上的更新量。作者發現,市面上絕大多數方法其實只在這五個階段裡動了一兩個環節——例如 AdamW 主要在「自適應縮放」階段做文章,而 Shampoo、SOAP 這類方法則是在「結構化前處理」階段引入類 Kronecker 或二階近似。
第二,論文引入「範數約束線性最小化神諭」(norm-constrained linear minimization oracle, LMO)這個統一的數學語言,把看似風格迥異的更新規則(符號化更新、正交化更新、range-based 更新等)都改寫成在某個範數球約束下求解線性最小化問題的形式,藉此揭露不同方法之間隱藏的等價性與差異。
第三,前兩個視角合力支撐起一個「雙維度分類法」:一個維度依「機制家族」把每個方法歸類(例如動量類、自適應學習率類、二階資訊類、結構化/正交化類、排程與正則化類);另一個維度則記錄該方法真正想改善的「可測量訓練目標」(例如收斂速度、記憶體占用、超參數穩健性、大批次穩定性等),而不是只看論文自稱的賣點。
第四,也是全文的重頭戲:作者把整套分類法實際「跑」在一個跨領域(cross-domain)的統一 benchmark 上,涵蓋從語言模型預訓練(language model pretraining)一路到影像分類(image classification)等不同任務型態、不同模型規模與不同訓練規制(training regime),系統性地比較各個機制家族在多個效果目標上的表現與取捨。
實驗結果
與其產出「哪個最佳化器最強」這種單一排行榜,OmniOpt 的實驗設計更像是一份「體檢報告」:針對每個機制家族,在語言模型預訓練與影像分類等不同場景下,分別衡量它在收斂速度、最終效果、記憶體與計算開銷、對超參數的敏感度等多個維度上的相對表現,並把結果映射回前述的雙維度分類座標。作者的整體結論是:沒有任何一個機制家族能在所有效果目標與所有規模下全面壓制其他家族——引入二階或結構化資訊的方法(如 Shampoo、SOAP 一類)往往在收斂速度與樣本效率上有優勢,但代價是更高的記憶體與計算開銷;而輕量的一階自適應方法(如 AdamW 系)雖然單步效率高,但在超參數敏感度或大批次穩定性上未必是最優解。這種「有得必有失」的結構性取捨,正是過去零散的單篇論文很難呈現的全貌,而 OmniOpt 透過統一的機制-目標座標系統把它系統性地攤開。
意義
對研究社群而言,OmniOpt 提供的不是又一個「更好的優化器」,而是一套可操作的「座標系統」:當你知道自己的訓練場景更在意記憶體、還是更在意收斂速度、又或是超參數調校成本有限,就可以依據機制家族與目標維度快速縮小候選範圍,而不必在上百篇論文與各種零散 benchmark 之間大海撈針。這對於身處工程一線、需要在有限算力預算下做出優化器選型決策的團隊尤其實用。更長遠來看,作者也指出,現有超過一百種方法大多只觸及五階段元管線裡的一兩個環節,這意味著管線中仍有大片尚未被充分探索的組合空間——未來的優化器研究,或許不再是零散地「再發明一個新技巧」,而是有系統地在這張地圖的空白處落子。這種「先繪圖、再探勘」的研究範式轉變,可能是這篇論文比任何單一實驗數字都更值得長期關注的貢獻。