介紹
參數高效微調 (PEFT) 方法已成為 NLP 領域研究的熱門領域。隨著語言模型不斷擴展到前所未有的規模,在下游任務中微調所有參數的成本變得非常高昂。PEFT 方法通過將微調限制在一小部分參數上來提供解決方案,從而以極低的計算成本在自然語言理解任務上實現最佳性能。
在一項引人注目的新進展中,研究人員引入了穩健自適應 (RoSA) — 一種顯著提升了最先進技術的 PEFT 技術。在一系列基準測試的實驗中,在使用相同參數預算的情況下,RoSA 的表現優于先前的低秩自適應 (LoRA) 和純稀疏微調方法。
在我的博客文章中,我們深入探討了 RoSA 背后的動機、方法和結果。我們將其置于先前 PEFT 方法的背景下,并解釋為什么它的性能標志著向前邁出了有意義的一步。對于那些希望有效微調大型語言模型的人來說,RoSA 提供了一種新的解決方案,它比以前的解決方案更具帕累托優勢。
參數高效微調的需求
最近,NLP 已被一系列越來越大的基于 Transformer 的語言模型(如 GPT-4)徹底改變了,通過對海量文本語料庫進行預訓練,這些模型可以學習強大的語言表征,并通過稱為微調的簡單過程轉移到下游語言任務。
然而,隨著模型規模從數十億增加到數萬億個參數,微調帶來了難以承受的計算負擔。例如,微調 GPT-4 的 1.76 萬億個參數可能需要花費數百萬美元的云計算實例費用。這阻礙了研究進展,并使在實際應用中部署變得非常不切實際。
參數高效微調 (PEFT) 方法通過將微調限制在每個任務的一小部分參數上來解決此問題。這樣可以以極低的成本實現具有競爭力的性能。最近的文獻中提出了一系列 PEFT 技術,這些技術在效率和準確性之間做出了不同的權衡。
低秩自適應(LoRA)
一種突出的 PEFT 方法是低秩自適應 (LoRA)。LoRA 由 Meta 和麻省理工學院的研究人員于 2021 年推出,其動機是觀察到 transformer 在其頭部矩陣中表現出低秩結構。
具體來說,LoRA 僅對每個 Transformer 頭中的前 k 個奇異向量對進行微調,同時保持所有其他參數不變。這只需要調整 O(k) 個額外參數,而對所有 n 個參數進行完全微調則需要 O(n)。
通過利用這種低秩結構,LoRA 可以捕獲下游任務泛化所需的有意義信號。同時,將微調限制在這些頂級奇異向量上可以使優化和推理更加高效。
實驗表明,LoRA 在 GLUE 基準上的性能與完全微調相當,同時使用的參數卻減少了 100 多倍。然而,隨著模型規模不斷擴大,要使用 LoRA 獲得強勁的性能,就需要提高秩 k。與完全微調相比,這反過來又減少了計算節省。
在 RoSA 之前,LoRA 代表了 PEFT 方法中接近最先進的水平,僅通過使用不同的矩陣分解或添加少量額外的微調參數等技術進行了適度的改進。
引入穩健自適應 (RoSA)
穩健自適應 (RoSA) 引入了一種新的參數高效微調方法。RoSA 并非僅僅依賴于低秩結構,而是受到了穩健主成分分析 (PCA) 的啟發。
在傳統的 PCA 中,數據矩陣 X 被分解為 X ≈ L + S,其中 L 是近似主成分的低秩矩陣,S 是捕獲殘差的稀疏矩陣。魯棒 PCA 更進一步,將 X 分解為干凈的低秩 L 和損壞的稀疏 S。
受此啟發,RoSA 將語言模型的微調分解為:
- 類似于 LoRA 的低秩自適應 (L) 矩陣,經過微調以近似主要任務相關信號
- 高度稀疏的微調(S)矩陣包含極少量的大型、選擇性微調的參數,這些參數對 L 遺漏的殘差信號進行編碼。
關鍵見解是,明確建模殘差稀疏分量可以捕獲本質上抵抗低秩近似的信號。這使得 RoSA 能夠達到比單獨使用 LoRA 更高的準確度。
具體來說,RoSA 通過對模型的頭部矩陣進行低秩分解來構造 L,就像在 LoRA 中一樣。這會對下游任務有用的底層語義表示進行編碼。然后,RoSA 選擇性地僅對每層的前 m 個最顯著的參數進行微調,作為 S,而其他所有參數保持不變。這可以捕獲不適合低秩擬合的剩余信號。
微調參數的數量 m 比 LoRA 單獨所需的秩 k 小一個數量級。因此,與 L 中的低秩頭矩陣相結合,RoSA 保持了極高的參數效率。
RoSA 還采用了其他一些簡單但有效的優化措施:
- 殘差稀疏連接:?S 個殘差在經過層歸一化和前饋子層之前直接添加到每個變壓器塊的輸出中。這使其能夠最大程度地靈活地對 L 個遺漏的信號進行建模。
- 獨立稀疏掩碼:在 S 中選擇用于微調的索引是針對每個變壓器層獨立生成的。
- 共享低秩結構:與 LoRA 一樣,L 的所有層共享相同的低秩基礎 U、V 矩陣。這可以在一致的子空間中捕獲語義概念。
這些架構選擇為 RoSA 建模提供了類似于完全微調的靈活性,同時保持了優化和推理的參數效率。
通過這種結合穩健的低秩自適應和高度稀疏殘差的 PEFT 方法,RoSA 在準確度和效率權衡方面達到了新的領先水平。
實驗與結果
研究已在 12 個 NLU 數據集的綜合基準上對 RoSA 進行了評估,涵蓋了文本蘊涵、釋義檢測、情緒分析、自然語言推理和穩健性測試等任務。他們使用基于 AI 助手 LLM 構建的 RoSA 進行了實驗,使用了 120 億個參數模型。
在每項任務上,使用相同參數預算時,RoSA 的表現都遠超 LoRA。兩種方法調整的總參數保持在可比水平,約為整個模型的 0.3%。這意味著 LoRA 的等級 k = 16,RoSA 每層稀疏參數 m = 5,120,兩種情況下均有大約 450 萬個微調參數。
值得注意的是,RoSA 的性能也與純稀疏微調基線相當甚至超過了后者,后者以不受控制的方式調整了整個 450 萬個參數預算。這證明了 RoSA 能夠有效隔離和定位最有用的信號,從而實現高效調整。
RoSA 強有力的實證結果亮點:
- 在用于評估對抗樣本魯棒性的 ANLI 基準上,RoSA 得分為 55.6,而 LoRA 得分為 52.7。這表明泛化和校準能力有所提高。
- 對于情緒分析任務 SST-2 和 IMDB,RoSA 的準確率達到 91.2% 和 96.9%,而 LoRA 的準確率分別為 90.1% 和 95.3%。
- 在 WIC(一項具有挑戰性的共指和詞義消歧測試)中,RoSA 的 F1 得分為 93.5,而 LoRA 的 F1 得分為 91.7。
- 在所有 12 個數據集中,RoSA 在匹配的參數預算下表現出比 LoRA 普遍更好的性能。
通過將微調分解為具有高度稀疏殘差的穩健低秩自適應,RoSA 可以更好地利用其預算參數。
結果還表明,RoSA 適用于各種 NLU 問題,包括語義、語法、常識推理和分布轉移。這凸顯了其提供的改進的廣泛適用性和可靠性。
值得注意的是,RoSA 無需任何針對特定任務的調整或專業化即可實現這些收益。聯合優化固定低秩 L 和靈活稀疏 S 的相同訓練方法在各個數據集上表現良好。這使得 RoSA 可以用作通用 PEFT 解決方案。
反應
憑借其強大的實證結果和概念上簡單的方法,RoSA 在 PEFT 方面取得了進展,從而提高了 LoRA 所設定的領先水平。通過高度稀疏的微調明確考慮殘差信號,RoSA 解決了低秩適配器方法的固有局限性。
LLaMA2 已開源 RoSA 的高效 PyTorch 實現。對于那些在資源受限的情況下調整大型語言模型的人來說,它提供了一個有吸引力的新選擇,具有更友好的準確度-效率權衡。
RoSA 背后的一般原理——將微調分解為穩健的低秩結構學習加上殘差稀疏自適應——非常巧妙。令人印象深刻的結果表明,它有效地模擬了在下游任務上優化大型 Transformer 模型時出現的互補類型的參數化。
通過將集中于頭部的核心低秩語義信號與由幾個關鍵參數捕獲的長尾殘差信息分離,RoSA 可以完美地與大型語言模型的內在學習動態保持一致。它不是僅僅依賴于嚴格的低秩假設或不受控制的稀疏性,而是將這些方法結合在一個原則性的穩健優化框架中。
RoSA 的有力實證證據也強化了這樣一種觀點,即語言模型在其學習到的表征中表現出清晰的低秩結構,同時仍然需要選擇性稀疏擾動來調整特定新任務上的知識。通過將偏差集中到高度稀疏的殘差中,RoSA 可以最低限度地進行微調,同時避免表征漂移。
這種理解可以為持續學習語言模型的參數高效自適應訓練算法提供進一步的迭代。其他有希望的方向包括研究低秩加稀疏自適應的中間組合、在微調過程中動態調整分配,或在上下文自適應方法中應用 RoSA 風格的穩健分解。
通過推進 PEFT 技術,使之不再僅僅依賴低秩結構,RoSA 指明了更強大、更細致的適應方法。它還提出了一些有趣的問題,即如何精確地描述和量化語言模型中低秩語義知識和稀疏上下文調整之間的信號分割。RoSA 在 NLU 基準測試中取得了出色的實證結果,我們預計它將得到廣泛采用并促進進一步的研究。
結論
隨著語言模型規模的快速增長,減少微調過程中日益增加的計算障礙是一個亟待解決的問題。LoRA 等參數高效的自適應訓練技術已取得初步成功,但面臨低秩近似的內在限制。
RoSA 原則性地整合了穩健的低秩分解和殘差高度稀疏微調,提供了一種引人注目的新解決方案。通過選擇性稀疏殘差來處理逃避低秩擬合的信號,它顯著提高了 PEFT 的性能。實證評估表明,在一系列不同的 NLU 任務上,它比 LoRA 和不受控制的稀疏基線有明顯的改進。
RoSA 概念簡單但性能卓越,為希望在資源受限的情況下在下游應用中發揮大型語言模型威力的從業者提供了一個極具吸引力的新選擇。我們期待它的引入能進一步推動參數效率、自適應表示和持續學習交叉領域的研究,從而擴大語言智能。