比LoRA更高效的模型微調方法來了——
以常識推理爲例,在參數量減少 8~16 倍的情況下,兩種方法能達到相同效果。
新方法名叫LoRA-Dash,由來自上海交通大學和哈佛大學的研究人員提出,主要針對特定任務微調模型往往需要大量計算資源這一痛點。
研究完成的主要工作是:
對高效微調過程中的 TSD(Task-specific Directions, 特定任務方向)進行了嚴格定義,并詳細分析了其性質。
爲了進一步釋放 TSD 在下遊任務中的潛力,提出新的高效微調方法 LoRA-Dash。
來看具體内容。
從頭搭建特定任務方向的框架
随着大型語言模型的發展,針對特定任務微調模型往往需要大量計算資源。
爲了解決這一問題,參數高效微調(PEFT)策略應運而生,像 LoRA 等方法被廣泛應用。
在 LoRA 中,作者們通過一系列實驗發現,LoRA 本質上是捕捉一些預訓練中已學習到的但并不重要的方向,這些方向對應的特征在之後的下遊任務中被 LoRA 放大。
LoRA 把這些方向定義爲 " 特定任務方向 "(Task-specific Directions, TSD)。
然而,在 LoRA 原論文關于 TSD 的叙述中卻出現了一些矛盾和沖突。
比如作者認爲TSD 是∆的最大的幾個奇異值對應的奇異向量。
然而這些從∆中得到的奇異向量基本不可能和的奇異向量一緻。
這些沖突導緻研究者們對 TSD 的概念很模糊,更别說利用這些方向。
爲了解決這些問題,論文作者對高效微調過程中的 TSD 進行了嚴格的定義,并詳細分析了其性質。
TSD 的定義
首先,定義矩陣的基、矩陣的方向如下。
定義 1:對于一個矩陣 ,其左奇異向量和右奇異向量分别由矩陣和表示,矩陣的基定義如下。
核心基:矩陣的核心基定義爲
,其中每個
是由奇異向量和構成的秩爲 1的矩陣。
全局基:矩陣的全局基定義爲
,對于所有 , ,涵蓋了左奇異向量和右奇異向量的所有組合。
定義 2:矩陣 ∈ ℝ x(其中 < )的方向基于其全局基定義,采用其奇異值∑的擴展集合,并用零填充。
具體表示爲(1,0,…,0,2,0,…,0,n,…,0)∈ ℝ x,即通過行展平的∑。
研究人員提醒道,任何全局基都可以視爲一個單位方向,因爲它的方向是一個 one-hot 的向量。
至于特定任務方向,作者們基于以下前提進行研究:
對于任何特定任務,矩陣空間ℝ x 中存在一個最優矩陣。
對于預訓練權重矩陣,其針對該任務的最佳調整爲∆ =-。
在 PEFT 中,研究人員隻能獲得及其方向的信息。
由于∆和 * 的方向基于各自的基,他們首先将二者投影到的全局基上。
定義 3:定義 ·(·)爲将一個坐标系中的方向投影到另一個坐标系中的投影算子。
特别地,()=(11,…,)∈ ℝ是将矩陣 ∈ ℝ x 的方向投影到矩陣 ∈ ℝ x 的全局基上。
基于矩陣的全局基,(*)表示需要演變的方向。
由于最多隻能利用個核心基,它隻能改變其方向的個值。
因此,重點關注核心方向的變化。
變換過程中,不同核心方向的坐标值變化程度不同,受下遊任務的多樣性影響,某些核心方向可能變化顯著,而其他方向變化較小。
定義的變化率衡量了第個核心方向的變化程度:
因此,研究人員定義 TSD 爲:
對于某個特定任務和預訓練權重矩陣,假設該任務的最優權重爲,則該任務在上的 TSD 是指那些在從到的變化過程中,其坐标值表現出顯著高變化率的核心方向。
TSD 的性質及使用難點
作者通過一系列實驗,得出了 TSD 的兩個性質:
TSD 主要對應于較小但非最小的奇異值相關的核心方向。
TSD 僅涵蓋少數方向,這些方向在從到 * 的轉變過程中具有顯著的變化率,而其他大多數核心方向的變化率則較小或可以忽略不計。
盡管 TSD 的定義和性質已被充分探讨,但由于在微調之前∆和都是未知的,因此在實際操作中事先利用 TSD 信息幾乎不可能。
爲解決這一挑戰,作者假設 LoRA 的∆預測出的高變化率核心方向與 TSD 密切相關。
通過廣泛實驗,結果顯示預測方向與實際 TSD 之間存在高度重疊,由此得出一個重要結論:
無論 LoRA 的秩設置、訓練步驟或模型層次如何,LoRA 的∆一緻地捕捉到了任務特定方向的信息。
這表明,即便在未知 TSD 的情況下,仍能通過 LoRA 訓練中獲得的∆捕捉到這些關鍵信息。
釋放 TSD 潛力:LoRA-Dash
爲了進一步釋放 TSD 在下遊任務中的潛力,研究人員提出了一個新的高效微調方法LoRA-Dash。
LoRA-Dash 包含兩個主要階段:
第一是 " 預啓動階段 "。在此階段,任務特定方向被識别。這是模型優化的關鍵部分,确保識别出最需要調整的方向。
具體而言,這一階段中 LoRA-Dash 利用在 t 次更新之後得到的∆進行 TSD 的預測,确定下一階段需要被調整的方向。
第二是 " 沖刺階段 "。在這一階段,模型利用之前識别的 TSD 的潛力,進行微調優化,使預訓練模型更好地适應特定任務。
具體而言,作者直接模拟 TSD 的坐标變化,加速模型的适應性調整,從而提升其在新任務中的表現。
LoRA-Dash 的僞代碼如圖。
實驗
作者們分别在常識推理(commonsense reasoning)、自然語言理解(natural language understanding)和主體驅動生成(subject-driven generation)任務上做了實驗。
實驗結果表明,LoRA-Dash 在各個任務上都取得了遠超 LoRA 的性能提升。
常識推理(使用 LLAMA-7B,LLAMA2-7B 以及 LLAMA3-8B 進行微調):
自然語言理解(使用 DeBERTaV3-base 和 DeBERTaV3-large 進行微調):
主體驅動生成(使用 SDXL 進行微調)。與 LoRA 相比,LoRA-Dash 和原圖的一緻性更高,比如圖中的狗和花瓶。
實驗結果證明了 TSD 對于下遊任務的有效性,LoRA-Dash 能夠充分釋放 TSD 的潛能,進一步激發高效微調的性能水平。
目前相關論文已公開,代碼也已開源。
論文:
https://arxiv.org/pdf/2409.01035
代碼:
https://github.com/Chongjie-Si/Subspace-Tuning
項目主頁:
https://chongjiesi.site/project/2024-lora-dash.html
— 完 —
投稿請發郵件到:
标題注明【投稿】,告訴我們:
你是誰,從哪來,投稿内容
附上論文 / 項目主頁鏈接,以及聯系方式哦
我們會(盡量)及時回複你
點這裏關注我,記得标星哦~
一鍵三連「分享」、「點贊」和「在看」
科技前沿進展日日相見 ~
>