斯坦福大學的研究人員推出了Sophia:用於語言模型預訓練的可擴充套件的二階優化器

Sophia:用於語言模型預訓練的可擴充套件的二階優化器

鑑於訓練語言模型的前期成本很高,對優化過程的任何非微不足道的改進都會大大減少完成訓練過程所需的時間和金錢。長期以來,Adam及其變體是最先進的技術,而二階(基於Hessian的)優化器由於其每步開銷較大而很少被利用。

研究人員提出了一個對角線Hessian的輕量級估計,作為二階優化器Sophia的預設條件,即二階剪下隨機優化。Sophia是一個新穎的優化器,它可以以兩倍於Adam的速度解決LLMs。在更新後進行逐個元素的剪輯,通過取梯度的平均值併除以估計的Hessian的平均值來發現。剪下限制了最壞情況下的更新大小,並減輕了軌跡的非凸性和快速Hessian變化的影響。增加一些新的程式碼行可能會將200萬美元的預算減少到100萬美元的範圍內(假設縮放規律適用)。

平均每步時間和記憶體開銷都很低,因為Sophia每隔幾次迭代才估計對角線Hessian。Sophia在步驟數、總計算量和壁時鐘時間方面將Adam的速度提高了一倍,同時用GPT-2模型為語言建模,其規模從1.25億到7.7億。研究人員證明,Sophia可以適應語言建模任務所依據的大量引數變化。執行時間約束與損失的條件數無關。

Sophia論文資料圖表

主要特點

  • Sophia可以直接用PyTorch實現,因為它要求在單獨剪下元素之前對對角線Hessian的輕量級估計作為梯度的預設條件(見第一張圖片的虛擬碼)。
  • Sophia也有助於鍛鍊前的穩定性。與亞當和獅子相比,梯度剪裁的情況要少得多。重新引數化的技巧,即聚焦溫度隨層指數而變化,是不必要的。
  • Sophia通過對尖銳尺寸(大Hessian)的更新比平坦尺寸(小Hessian)的更新進行更多的懲罰,確保在所有引數維度上有一致的損失減少。在二維空間,Adam收斂得更慢。

這項工作的重要方面

  • 這表明,即使資源有限,學者們也可以研究LLM的預訓練,並開發出新穎有效的演算法。
  • 除了回顧以前優化課程的材料,研究人員在整個研究過程中廣泛使用理論推理。

在定於明天釋出的程式碼中,研究人員使用了普遍接受的LR定義的一個略微修改版本。雖然對於打字來說比較整潔,但該論文的LR定義可能更適合計算機程式碼。

Sophia在Github上的庫:https://github.com/Liuhong99/Sophia

評論留言