僅微調(diào)0.02%參數(shù),性能接近全量微調(diào)!上交大推出高效微調(diào)統(tǒng)一新范式
Scaling Laws當?shù)?,但隨著大模型應用的發(fā)展,基礎模型不斷擴大的參數(shù)也成了令開發(fā)者們頭疼的問題。
為了減輕訓練負擔,Adapter、Prompt-Tuning以及LoRA等高效微調(diào)(Parameter Efficient Fine-Tuning, PEFT)算法越來越受到大家伙的青睞。
那么,問題來了——
盡管近年來高效微調(diào)領域發(fā)展迅速,涌現(xiàn)了多種方法,但不同PEFT方法背后的數(shù)學基礎幾乎沒有得到深入研究。
此外,不同PEFT方法之間的性能差異及其原因尚未系統(tǒng)地探討。這種理論深度的缺乏限制了研究者對這些方法潛在優(yōu)勢和局限性的理解,阻礙了它們在實際應用中的優(yōu)化和創(chuàng)新。
為了解決這一問題,來自上海交通大學的研究者們在對各種PEFT方法進行全面數(shù)學分析后,提出了一種新的框架——子空間微調(diào),旨在將所有已知的PEFT方法統(tǒng)一在一個理論下,
具體來說,子空間微調(diào)方法主要集中于調(diào)整原始參數(shù)的子空間,涉及子空間的重構(gòu)和擴展。研究者深入探討了不同方法如何操作子空間,并從分解理論的角度闡明了每種方法的數(shù)學原理。此外,研究者分析了為什么這些方法會導致性能差異,提供了理解不同PEFT策略內(nèi)在動態(tài)的全面理論基礎。
他們基于此提出了兩種新的PEFT方法,新方法在僅微調(diào)0.02%參數(shù)的情況下,性能接近于全面微調(diào)。
研究者還介紹了一個有效的框架,在不引入額外訓練參數(shù)的情況下,提升了LoRA等方法的性能。通過在三種不同模型上測試超過十種方法,廣泛的實驗驗證了其理論的穩(wěn)健性,同時展示了提出的方法和框架的有效性。
來看論文細節(jié)。
子空間微調(diào)理論
考慮任何給定主干網(wǎng)絡層的凍結(jié)權(quán)重矩陣,其中n≤m,并用權(quán)重矩陣
的性能
來量化模型的性能,值越高表示性能越好。
假設存在最優(yōu)權(quán)重矩陣 ,且
對所有
成立。PEFT的目標公式化為:
其中衡量兩個矩陣之間的差異。函數(shù)
被視為增量調(diào)優(yōu),表示對矩陣
的每個元素的修改,但這種表征過于籠統(tǒng)。
從分解理論的角度看,調(diào)整矩陣涉及修改其對應的子空間,因此,所有PEFT方法可視為子空間微調(diào)。
如此,優(yōu)化的目標是找到在
基所生成的子空間內(nèi)的最大投影,然后將
與其對齊。
有兩種方法實現(xiàn)這一目標:通過調(diào)整來逼近
,或操作
的子空間以接近或包含
。
研究者將函數(shù)分配給兩個主要角色:直接重構(gòu)對應
的子空間,以更好地對齊
,或引入一個新子空間并與原始子空間結(jié)合。這些過程數(shù)學表示為:
其中,概括了
的子空間重構(gòu)過程,
描述了子空間的聯(lián)合。研究者將這些操作分別稱為“子空間重構(gòu)”和“子空間擴展”,并將現(xiàn)有方法分類為三類:
- 基于子空間重構(gòu)的方法,將復雜空間分解為易理解的子空間,并調(diào)整這些派生子空間的基
- 基于子空間擴展的方法,引入一個新子空間,在新子空間和原始權(quán)重矩陣
對應的子空間基所生成的空間內(nèi)找到最優(yōu)權(quán)重
的最大投影;
- 基于子空間組合的方法,同時采用上述子空間調(diào)整。
子空間重構(gòu)
基于先前概述的框架,子空間重構(gòu)方法首先將的空間分割為可解釋的子空間,然后細化這些子空間以提高模型效率。許多PEFT策略集中于直接重構(gòu)與原始權(quán)重矩陣相關(guān)的子空間,著名例子包括SAM-PARSER、Diff Pruning、(IA)3、BitFit、Prefix-tuning和Prompt-tuning等。
研究者從奇異值分解(SVD)開始探索,原始權(quán)重矩陣被分解為正交子空間,涵蓋了原始矩陣空間的全部。分解表示為
,這種分解將
分成左奇異向量
(
列空間的正交基)、奇異值
(調(diào)整維度和縮放)和右奇異向量
(
行空間的正交基)。通過調(diào)整分解獲得的子空間,可以重構(gòu)原始空間,分為三種模式:
- 奇異值調(diào)整:調(diào)整
中的奇異值,修改每個主成分的權(quán)重,而不影響子空間方向。
- 簡單奇異向量調(diào)整:通過縮放生成的子空間來調(diào)整
和
中的奇異向量,保留方向特性,同時調(diào)整幅度。
- 復雜奇異向量調(diào)整:對奇異向量進行更復雜的變換,重新定向或重塑子空間,全面調(diào)整矩陣結(jié)構(gòu)。
基于這一理論,研究者提出了兩種新的微調(diào)方法:SSL(Scaling the Subspace of the Left singular vectors)和SSB(Scaling the Subspace of Both left and right singular vectors)。
從下圖中可以看出,SSL最少只需要微調(diào)0.02%的參數(shù),SSB最少只需要微調(diào)0.06%的參數(shù),就能實現(xiàn)全量微調(diào)99%的性能。
關(guān)于每種模式的具體操作、每種方法的具體內(nèi)容、其背后的數(shù)學原理,以及研究者如何基于這一理論提出兩種新方法的詳細信息,請參閱原論文。
子空間擴展
基于擴展的方法引入新子空間,結(jié)合該新子空間和原始權(quán)重矩陣的基生成擴展空間。
這些方法旨在找到最優(yōu)權(quán)重在新空間內(nèi)的最接近投影,通過引入額外的權(quán)重矩陣來擴大原始子空間的基以覆蓋更大維度區(qū)域。通常,這些方法的轉(zhuǎn)換函數(shù)定義為
,其中s代表縮放因子,
對應于新子空間,也稱為附加項。
考慮權(quán)重矩陣,假設n≤m。理想情況下,有
,即
和
占據(jù)相同的行和列空間,使它們定位在同一超平面內(nèi)。
如果的秩為n,其列空間的維度等于n,生成
子空間。若
的秩小于n,它只能在
內(nèi)生成一個子空間。假設
和
的列空間基可以生成整個
空間,在最優(yōu)情況下,
的列基向量應補充
的列基,意味著
的列空間代表這些空間的直和。
一些研究表明,最優(yōu)權(quán)重會放大原始權(quán)重矩陣中某些特定任務的方向,這些方向?qū)τ陬A訓練并不關(guān)鍵。此外,最優(yōu)權(quán)重還會調(diào)整
的主要方向。這些見解表明
可能與
的子空間共享大量共同基。因此,
可能只需考慮
中缺少但
中存在的一小部分基,使
成為低秩矩陣。
實證研究表明,預訓練模型的全參數(shù)微調(diào)通??芍匦聟?shù)化為在低維子空間內(nèi)優(yōu)化,表明最優(yōu)權(quán)重在這個受限的低秩子空間內(nèi)變化。的低秩特性突出了基于擴展方法的參數(shù)效率基礎。
另一個關(guān)鍵方面是縮放因子s?;跀U展的方法目標是確定在
和
形成的超平面內(nèi)的最大投影,確保
盡可能與
方向?qū)R。給定固定的
和
,只有一個s值能使 \
的方向與
方向?qū)R,因此s值對性能的影響可能非常顯著。
在參數(shù)高效微調(diào)中,有兩大系列基于擴展的方法。第一系列是LoRA衍生,包括LoRA、AdaLoRA、TriLoRA、FLoRA、VeRA等。第二系列是適配器衍生,包括Adapter(H),Adapter(P),Parallel Adapter等。
在此基礎之上,研究者提出了MPC框架,以進一步提升現(xiàn)有算法的性能。
從下圖中可以看出,在不引入額外參數(shù)的情況下,MPC框架顯著增強了各種PEFT方法的性能。
另外,MPC可以幫助PEFT方法實現(xiàn)更穩(wěn)定的訓練。與不使用MPC的方法相比,結(jié)合MPC的方法通常表現(xiàn)出更小的標準偏差。
關(guān)于這些方法的具體分析,LoRA和Adapter系列算法性能差異的原因,以及MPC框架的詳細設計思路,請參閱原論文。
子空間組合
基于組合的方法同時執(zhí)行子空間重構(gòu)和擴展,結(jié)合了這兩種方法的原理。
此外,對于某些方法,它們既可以分類為基于重構(gòu)的方法,也可以分類為基于擴展的方法,研究者也將它們分類為基于組合的方法。研究者分析介紹幾種代表性的基于組合的方法,如DoRA,Spectral Adapter和SVDiff等。
關(guān)于這些方法的具體細節(jié)請參閱原論文。
論文:https://arxiv.org/pdf/2407.05417
代碼:https://github.com/Chongjie-Si/Subspace-Tuning