為什麼 transformer 效能這麼好?它為眾多大語言模型帶來的上下文學習 (In-Context Learning) 能力是從何而來?在人工智慧領域裡,transformer 已成為深度學習中的主導模型,但人們對於它卓越性能的理論基礎卻一直研究不足。
最近,GoogleAI、蘇黎世聯邦理工學院和GoogleDeepMind的研究人員進行了一項新研究,試圖揭開GoogleAI中的一些最佳化演算法的秘密。在這項研究中,他們對transformer進行了逆向工程,並找到了一些最佳化方法。這篇論文名為《揭示transformer中的Mesa最佳化演算法》
#論文連結:https://arxiv.org/abs/2309.05858
作者證明,最小化通用自回歸損失會產生在Transformer 的前向傳遞中運行的基於輔助梯度的最佳化演算法。這種現象最近被稱為「mesa 優化(mesa-optimization)」。此外,研究人員發現所得的 mesa 最佳化演算法表現出上下文中的小樣本學習能力,與模型規模無關。因此,新的結果對先前大語言模型中出現的小樣本學習的原理進行了補充。
研究人員認為,Transformers 的成功是基於其在前向傳遞中實現的Mesa最佳化演算法的架構偏差:(i) 定義內部學習目標,以及(ii) 對其進行最佳化
圖1:新假設的說明:最佳化自回歸Transformer fθ 的權重θ 會產生在模型前向傳播中實現的mesa優化演算法。作為輸入序列 s_1, . 。 。 , s_t 被處理到時間步t,Transformer (i) 建立一個由輸入- 目標關聯對組成的內部訓練集,(ii) 透過結果資料集定義內部目標函數,用於衡量內部模型的效能使用權重W, (iii) 優化該目標並使用學習的模型產生未來的預測。
該研究的貢獻包括以下幾點:
基於最近人們的工作表明,經過明確訓練來解決上下文中的小樣本任務的 transformer 可以實現梯度下降(GD)演算法。在這裡,作者展示了這些結果可以推廣到自回歸序列建模 —— 這是訓練 LLM 的典型方法。
首先,對於在簡單線性動力學上進行訓練的Transformer進行分析。在這種情況下,每個序列都由不同的W*生成,以防止跨序列記憶。在這個簡單的設定中,研究人員展示了Transformer如何建立mesa資料集,並使用預處理的GD來優化mesa目標
進行重寫的內容是:我們可以透過訓練深度 transformer 來聚合相鄰序列元素的 token 結構。有趣的是,這種簡單的預處理方法會導致權重矩陣非常稀疏(只有不到1% 的權重非零),從而產生逆向工程演算法
對於單層線性自註意力,權重對應一個梯度下降步驟。對於深度Transformer,解釋性變得困難。該研究依賴線性探測並檢查隱藏激活是否能夠預測自回歸目標或預處理輸入
有趣的是,兩種探測方法的可預測性都會隨著網路深度的增加而逐漸提高。這項發現顯示模型中隱藏著預處理的 GD。
圖 2:對經過訓練的線性自註意力層進行逆向工程。
研究發現,在建構中使用所有自由度時,可以完美地擬合訓練層,不僅包括學習的學習率η,還包括一組學習的初始權重W_0 。重要的是,如圖 2 所示,學得的 one-step 演算法的性能仍然遠遠優於單一 mesa 層。
在簡單的權重設定下,我們可以注意到,透過基礎最佳化很容易發現,該層可以最優地解決此研究任務。這個結果證明了硬編碼歸納偏差對於mesa優化是有利的
憑藉對多層案例的理論見解,先分析深度線性和 softmax 只注意 Transformer。作者根據 4 通道結構設定輸入格式,,這對應於選擇 W_0 = 0。
與單層模型一樣,作者在訓練模型的權重中看到了清晰的結構。作為第一個逆向工程分析,該研究利用這個結構並建立一個演算法(RevAlg-d,其中 d 表示層數),每個層頭包含 16 個參數(而不是 3200 個)。作者發現這種壓縮但複雜的表達式可以描述經過訓練的模型。特別是,它允許以幾乎無損的方式在實際Transformer 和RevAlg-d 權重之間進行插值
雖然RevAlg-d 表達式解釋了具有少量自由參數的經過訓練的多層Transformer,但很難將其解釋為mesa 最佳化演算法。因此,作者採用線性迴歸探測分析(Alain & Bengio,2017;Akyürek et al.,2023)來尋找假設的 mesa 最佳化演算法的特性。
在圖3中展示的深度線性自註意力Transformer上,我們可以觀察到兩個探針都能夠進行線性解碼,並且隨著序列長度和網路深度的增加,解碼性能也增加。因此,我們發現了一種基礎最佳化演算法,該演算法在原始的mesa-objective Lt (W)的基礎上逐層下降,同時改善了mesa優化問題的條件數。這導致mesa-objective Lt (W)快速下降。此外,我們還可以觀察到隨著深度增加,性能顯著提高
透過對資料進行更好的預處理,可以逐步(跨層)優化自回歸目標函數Lt ( W),因此可以認為快速下降是透過這種最佳化實現的
圖3:對建構的token 輸入進行逆向工程的多層Transformer 訓練。
這表明,如果 transformer 在建置的 token 上進行訓練,它就會透過 mesa 最佳化進行預測。有趣的是,當直接給出序列元素時,transformer 會自行透過將元素分組來建構 token,研究團隊稱之為「建立 mesa 資料集」。
#這項研究的發現是,當使用Transformer模型在標準自回歸目標下進行序列預測任務的訓練時,可以開發出基於梯度的推理演算法。因此,最新的多任務和元學習結果也可以應用到傳統的自監督LLM訓練設定中
#此外,研究也發現,學習得到的自回歸推理演算法可以在不需要重新訓練的情況下重新調整使用,以解決有監督的上下文學習任務,從而在一個統一的框架內解釋結果
那麼,這些與情境學習有什麼關係呢?根據該研究,訓練transformer模型後,在自回歸序列任務上,它實現了適當的mesa優化,因此可以進行少樣本上下文學習,而無需進行任何微調
該研究假設LLM 也存在mesa 最佳化,從而提高了其上下文學習能力。有趣的是,研究還觀察到,為 LLM 有效調整 prompt 也可以帶來上下文學習能力的實質改進。
#有興趣的讀者可以閱讀論文原文,了解更多研究內容。
以上是Transformer的上下文學習能力的來源是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!