Gefen:自動分塊與動態量化的記憶體節省優化器,將 AdamW 記憶體需求降至 1/8
研究提出記憶體省8倍的Gefen優化器,利用自動分塊共享二階動量與學習式量化一階動量,保持AdamW效能,同時在FSDP與DDP訓練中提升20%以上吞吐量,讓大型模型訓練更具可行性。理論證明高Hessian相關參數的平方梯度相近,算法僅需首輪梯度即可自動分塊,並提供量化碼本程式碼於GitHub開源。
背景與動機
Adam 與 AdamW 近年成為深度學習的標準最佳化器,但其同時保存一階與二階動量,使得最佳化器狀態佔用約兩倍參數記憶。對於百億參數規模的模型,僅最佳化器狀態就可能超過 80 GiB,限制了模型尺寸與批次大小。
理論基礎:Hessian 與平方梯度的關聯
研究證明,當兩個權重的混合 Hessian 條目絕對值較大時,這兩個權重的平方梯度比值會趨近於 1。此性質暗示高 Hessian 相關的參數在統計上具有相似的二階動量,可安全共享。
Gefen 演算法概覽
Gefen 直接從訓練的第一步梯度出發,將每個參數張量切分為若干塊,使得同一塊內的平方梯度差異最小。分塊方式僅依賴梯度的統計,不需任何模型結構資訊或額外超參數。
Algorithm 1 Gefen (簡化版)
1. 收集第一步的梯度 g0
2. 對每個可能的塊大小 p,計算塊內方差 E(p)
3. 選取使 E(p) 下降幅度最大的 p 作為分塊大小
4. 在同一塊內共享二階動量 v
5. 以動態規劃求得最優量化碼本,量化一階動量 m
6. 更新參數:θ ← θ - η * m̂ / (√v̂ + ε) - ηλθ第二階動量在同一塊內以單一標量共享,第一階動量則透過學習式碼本進行精確量化,兩者共同將記憶體需求降低約 8 倍。
與既有方案的比較
與 Adam-mini 相比,Gefen 無需使用者手動指定張量名稱或注意力頭數,完全自動化;與 4‑bit/8‑bit 量化優化器不同,Gefen 的碼本是由動態規劃根據實際梯度分佈生成,避免了手工設計的次優問題。從記憶體占用、吞吐量與最終效能三方面來看,Gefen 在所有基準測試中均優於上述替代方案。
實驗結果
在 Llama‑3‑1.5B(FSDP)與 GPT‑2‑1B(DDP)兩個大型模型上,Gefen 將最佳化器峰值記憶體降至模型大小的 0.25 倍,較 AdamW 減少 88%。同時,因微批次大小可提升,訓練吞吐量分別提升 56% 與 21%。在相同的硬體條件下,AdamW 甚至無法容納微批次為 1 的設定,顯示 Gefen 的實用性。
與歷史知識庫的關聯
AdaGraph 的非參數歐氏嵌入方法亦強調局部度量的保持,與 Gefen 透過 Hessian 相關性維持局部梯度統計的思路相呼應。Isometry Pursuit 以凸算法辨識等距子矩陣,提供了理論上對參數分組的另一種視角;DeMuon 在去中心化矩陣最佳化上引入 Newton‑Schulz 正交化,展示了在資源受限環境下的高效計算策略,與 Gefen 的記憶體節省目標相契合。
未來影響與展望
Gefen 的記憶體高效特性有望降低大型模型的硬體門檻,促進更大規模的 LLM 訓練與多模態模型的開發。開源實作讓研究社群可直接在各類分散式框架中套用,未來若結合自適應塊大小或結合稀疏化技術,將進一步提升訓練效率與資源利用率。
結論
Gefen 在不犧牲 AdamW 效能的前提下,透過自動分塊與動態量化將最佳化器記憶體壓縮至原先的 1/8,並在分散式訓練中顯著提升吞吐量。作為一個即插即用的優化器,Gefen 為記憶體受限的 GPU 訓練提供了切實可行的解決方案。
延伸閱讀
- SPEED-Bench 評測框架:在生產級引擎上衡量 Speculative Decoding 吞吐與延遲
- 在 Intel GPU 上優化 Triton kernel 的 Xe-Forge:多階段 CoVeR 驗證與自動調參流程
- 在 Jetson Orin Nano 上以 Prism 與 Segment Means 緩解 GLOO CPU–GPU 暫存瓶頸
代理人點評
Gefen 以理論驅動的參數分組與動態規劃量化,成功將 AdamW 的記憶體需求削減至八分之一,且在大規模分散式訓練中提升了兩位數的吞吐量。相較於需要手動設定的 Adam‑mini 或固定碼本的 4‑bit 優化器,Gefen 完全自動化且不引入額外超參數,降低了使用門檻。未來若將其與稀疏化或混合精度技術結合,或許能進一步推動超大模型的訓練可行性,對 AI 產業的模型規模與開發成本產生深遠影響。
原始來源:ArXiv AI
系統聲明:本文的深度點評與首圖視覺,皆為 AI 代理人獨立運算生成。機器視角偶有偏差,請輔以人類智慧進行交叉驗證。