
本文作者來自復旦大學、上海交通大學和上海人工智慧實驗室。一作江書洋為復旦大學和實驗室聯培的博二學生,目前是實驗室見習研究員,師從上海交通大學人工智慧學院王鈺教授。本文通訊作者為王鈺教授與張婭教授。
低秩介面卡(LoRA)能夠在有監督微調中以約 5% 的可訓練引數實現全引數微調 90% 效能。然而,在 LoRA 訓練中,可學習引數不僅注入了知識,也學習到了資料集中的幻覺噪聲。因為這種特性的存在,大多數的 LoRA 引數都將可學習秩設定為一個較小的值(8 或者 16),透過減小知識學習程度來避免幻覺,而這也限制了 LoRA 的效能上限。

圖 1 普通的 LoRA 微調隨著秩的增大效能無法同步增加,而引數冗餘微調能夠以冗餘引數提升效能。
為了解決這個問題,上海交通大學人工智慧學院、復旦大學和上海人工智慧實驗室的團隊提出了引數冗餘微調正規化以及一種創新性的微調演算法:NoRM(Noisy Reduction with Reserved Majority)。引數冗餘微調正規化下,可以以普通的 LoRA 訓練方式進行訓練,並使用特定的方法在將 LoRA 引數合併回基模型引數前將冗餘部分去除。NoRM 透過 SVD 將 LoRA 引數分解為主成分和冗餘成分,並提出了 Sim-Search 方法,以子空間相似度動態決定主成分的數量。評估結果顯示,NoRM 在指令微調、數學推理和程式碼生成的任務上一致性強於 LoRA 和其他引數冗餘微調方法,實現無痛漲點。

-
論文連結:https://openreview.net/pdf?id=ZV7CLf0RHK
-
開原始碼:https://github.com/pixas/NoRM
-
論文標題:FINE-TUNING WITH RESERVED MAJORITY FOR NOISE REDUCTION
研究動機
研究者首先在 Llama3-8B-Instruct 上進行預備實驗,使用 MetaMathQA-395K 資料集對模型進行微調,並在 SVAMP 上進行測試。研究者透過三個方面探究微調過程中的冗餘現象:(1)隨機刪除 10%~90% 的 LoRA 引數通道;(2)使用(1)中的方法,對 Transformer 中的不同層的 LoRA 引數進行隨機刪除;(3)使用(1)的方法,對 Transformer 中的不同模組的 LoRA 引數進行隨機刪除。實驗結果發現,不僅隨機刪除 LoRA 引數能夠提升下游模型的效能,不同層之間和模組之間刪除 LoRA 引數對效能的影響呈現一定的規律。

圖 2 隨機刪除比例(a)的效能變化曲線和模型層索引(b)以及模組(c)上的效能分佈。對達成最好效能的保留比例用深藍色重點展示。
方法概述
在 LoRA 微調中,並不是直接更新引數,而是更新一個低秩表達:。這個表達假設了引數的更新過程中,只在秩以內進行變化。在引數冗餘微調中,為了高效減小引數冗餘度,並能夠根據不同模組和層之間的冗餘不同去設計算法,研究者們首先考慮直接使用奇異值分解(SVD)對引數更新部分進行分解:
其中為左右奇異矩陣,是包含了奇異值的對角矩陣。一種樸素的思想是保留最大的個奇異值和響應的奇異向量:
然而,透過這種方法只能得到整體的更新引數,無法得到兩個 LoRA 引數分別去除冗餘後的分量。為了能夠獲得一個在預處理和引數儲存上都更加高效的演算法,研究者轉向使用隨機 SVD 來分別近似 和。特別地,隨機 SVD 以高斯分佈初始化一個隨機矩陣:

圖 3 NoRM 的演算法總覽。其使用隨機奇異值分解來提取 delta 引數的主成分,並使用(b)Sim-Search 基於裁剪後的 delta 權重和預訓練權重間的子空間相似度決定擁有最小幻覺成分的 c 個通道。
接著,計算的主要列子空間:來近似特徵空間。在此之後,透過對的QR分解得到的正交基的近似。基於此正交基,可以在的低維空間上得到delta權重的投影:
那麼在這個小矩陣上執行標準SVD就可以得到:
其中,然後將轉化回去來近似奇異向量:。基於上述計算量,可以重構近似處理後的低秩引數:
確定好整個計算流程後,研究者們透過一種Sim-Search的方法來確定要保留的分量。這種方法透過預先設定好的兩個搜尋超引數,搜尋步數和搜尋步長,得到一組不同下的低秩分量,以及所對應的delta權重。研究者對每一個delta權重使用SVD計算主要的個奇異矩陣:
並使用同樣的公式對基模型的權重進行同樣的分解得到。透過提取個和的左奇異向量來計算子空間相似度:
其中
。基於計算好的Grassmann距離,可以選擇這一組中擁有最大Grassmann距離的值及對應的delta權重和:
實驗結論
NoRM 透過在三種不同的基模型以及三個不同的微調任務上進行實驗,展現出強大的效能。
實驗 1:指令微調實驗
該任務主要測試,對 Instruct 模型進行微調後,如何保證多工間的泛化性。透過和不同的 PEFT 基線進行比較,NoRM 在所有基模型上相比於最好的 PEFT 方法有著約 5 個點的提升。和之前最強的冗餘微調方法 TAIA 相比,也有著 1~3 個點的提升,展現了 NoRM 強大的冗餘去除能力。

實驗 2:專域微調實驗
該任務主要測試透過 NoRM 去除了冗餘成分後,是否會對下游知識的學習造成影響。該實驗選擇 Llama3-8B 作為基模型,在數學推理和程式碼生成上進行測試。實驗結果表明,由於 NoRM 可以使用更大的秩進行微調,在下游知識的吸收上,也優於之前的 PEFT 方法約 4 個點,領先 TAIA 約 3 個點。

實驗 3:可學習引數對 NoRM 的影響
NoRM 透過對可微調引數中的冗餘部分進行自適應去除降低微調幻覺。本實驗中,透過改變秩的大小,NoRM 的效能隨著可微調引數的增加而增加,而 LoRA 的效能並沒有這樣的趨勢,這也映證了微調引數中存在大量冗餘,這也是 LoRA 無法使用大秩提升效能的原因之一。

圖 4 NoRM 可以從大秩中受益,但基礎的 LoRA 在秩增大後反而降低效能。
實驗 4:NoRM 的學忘比
透過對 LoRA 和 NoRM 在記住預訓練知識的能力上進行比較,可以證實 NoRM 的設計哲學在於儘可能保留下游語料中和預訓練引數中重疊最大的部分。透過測試在 WikiText-103 測試集上的損失函式值,可以看到 NoRM 的損失降低,而 LoRA 相比於基模型都有著一定程度上的升高。

結論和展望
這篇工作發現了有趣的高效引數冗餘現象,並提出了 NoRM 演算法來智慧識別並保留最有價值的引數,同時去除有著負面作用的冗餘引數,給微調引數做了一次 “減重手術”。在目前強化學習微調盛行的當下,可以將 NoRM 的設計哲學遷移到強化學習中,透過去除資料中會帶來噪聲的成分,提升模型下游任務的適配性和多工之間的泛化性。

© THE END
轉載請聯絡本公眾號獲得授權
投稿或尋求報道:[email protected]