比LoRA更高效!上交大&哈佛推出新微調(diào)框架,瞄準(zhǔn)特定任務(wù)方向
比LoRA更高效的模型微調(diào)方法來(lái)了——
以常識(shí)推理為例,在參數(shù)量減少8~16倍的情況下,兩種方法能達(dá)到相同效果。
新方法名叫LoRA-Dash,由來(lái)自上海交通大學(xué)和哈佛大學(xué)的研究人員提出,主要針對(duì)特定任務(wù)微調(diào)模型往往需要大量計(jì)算資源這一痛點(diǎn)。
研究完成的主要工作是:
對(duì)高效微調(diào)過(guò)程中的TSD(Task-specific Directions, 特定任務(wù)方向)進(jìn)行了嚴(yán)格定義,并詳細(xì)分析了其性質(zhì)。
為了進(jìn)一步釋放TSD在下游任務(wù)中的潛力,提出新的高效微調(diào)方法LoRA-Dash。
來(lái)看具體內(nèi)容。
從頭搭建特定任務(wù)方向的框架
隨著大型語(yǔ)言模型的發(fā)展,針對(duì)特定任務(wù)微調(diào)模型往往需要大量計(jì)算資源。
為了解決這一問(wèn)題,參數(shù)高效微調(diào)(PEFT)策略應(yīng)運(yùn)而生,像LoRA等方法被廣泛應(yīng)用。
在LoRA中,作者們通過(guò)一系列實(shí)驗(yàn)發(fā)現(xiàn),LoRA本質(zhì)上是捕捉一些預(yù)訓(xùn)練中已學(xué)習(xí)到的但并不重要的方向,這些方向?qū)?yīng)的特征在之后的下游任務(wù)中被LoRA放大。
LoRA把這些方向定義為“特定任務(wù)方向”(Task-specific Directions, TSD)。
然而,在LoRA原論文關(guān)于TSD的敘述中卻出現(xiàn)了一些矛盾和沖突。
比如作者認(rèn)為TSD是???的最大的幾個(gè)奇異值對(duì)應(yīng)的奇異向量。
然而這些從???中得到的奇異向量基本不可能和??的奇異向量一致。
這些沖突導(dǎo)致研究者們對(duì)TSD的概念很模糊,更別說(shuō)利用這些方向。
為了解決這些問(wèn)題,論文作者對(duì)高效微調(diào)過(guò)程中的TSD進(jìn)行了嚴(yán)格的定義,并詳細(xì)分析了其性質(zhì)。
TSD的定義
首先,定義矩陣的基、矩陣的方向如下。
定義1:對(duì)于一個(gè)矩陣?? ,其左奇異向量和右奇異向量分別由矩陣??和??表示,矩陣??的基定義如下。
核心基:矩陣??的核心基定義為,其中每個(gè)
是由奇異向量????和????構(gòu)成的秩為1的矩陣。
全局基:矩陣??的全局基定義為 ,對(duì)于所有??, ??,涵蓋了左奇異向量和右奇異向量的所有組合。
定義2:矩陣?? ∈ ???x??(其中 ?? < ??)的方向基于其全局基定義,采用其奇異值∑的擴(kuò)展集合,并用零填充。
具體表示為(??1,0,…,0,??2,0,…,0,??n,…,0)∈ ???x??,即通過(guò)行展平的∑。
研究人員提醒道,任何全局基都可以視為一個(gè)單位方向,因?yàn)樗姆较蚴且粋€(gè)one-hot的向量。
至于特定任務(wù)方向,作者們基于以下前提進(jìn)行研究:
對(duì)于任何特定任務(wù),矩陣空間???x??中存在一個(gè)最優(yōu)矩陣??。
對(duì)于預(yù)訓(xùn)練權(quán)重矩陣??,其針對(duì)該任務(wù)的最佳調(diào)整為???=??-??。
在PEFT中,研究人員只能獲得??及其方向的信息。
由于???和??*的方向基于各自的基,他們首先將二者投影到??的全局基上。
定義3:定義 ????·(·)為將一個(gè)坐標(biāo)系中的方向投影到另一個(gè)坐標(biāo)系中的投影算子。
特別地,??????(??)=(??11,…,??????)∈ ?????是將矩陣?? ∈ ???x?? 的方向投影到矩陣?? ∈ ???x??的全局基上。
基于矩陣??的全局基,??????(??*)表示??需要演變的方向。
由于??最多只能利用??個(gè)核心基,它只能改變其方向的??個(gè)值。
因此,重點(diǎn)關(guān)注核心方向的變化。
變換過(guò)程中,不同核心方向的坐標(biāo)值變化程度不同,受下游任務(wù)的多樣性影響,某些核心方向可能變化顯著,而其他方向變化較小。
定義的變化率????衡量了第??個(gè)核心方向的變化程度:
因此,研究人員定義TSD為:
對(duì)于某個(gè)特定任務(wù)和預(yù)訓(xùn)練權(quán)重矩陣??,假設(shè)該任務(wù)的最優(yōu)權(quán)重為??,則該任務(wù)在??上的TSD是指那些在從??到??的變化過(guò)程中,其坐標(biāo)值表現(xiàn)出顯著高變化率??的核心方向。
TSD的性質(zhì)及使用難點(diǎn)
作者通過(guò)一系列實(shí)驗(yàn),得出了TSD的兩個(gè)性質(zhì):
- TSD主要對(duì)應(yīng)于??較小但非最小的奇異值相關(guān)的核心方向。
- TSD僅涵蓋少數(shù)方向,這些方向在從??到??*的轉(zhuǎn)變過(guò)程中具有顯著的變化率,而其他大多數(shù)核心方向的變化率則較小或可以忽略不計(jì)。
盡管TSD的定義和性質(zhì)已被充分探討,但由于在微調(diào)之前???和??都是未知的,因此在實(shí)際操作中事先利用TSD信息幾乎不可能。
為解決這一挑戰(zhàn),作者假設(shè)LoRA的???預(yù)測(cè)出的高變化率核心方向與TSD密切相關(guān)。
通過(guò)廣泛實(shí)驗(yàn),結(jié)果顯示預(yù)測(cè)方向與實(shí)際TSD之間存在高度重疊,由此得出一個(gè)重要結(jié)論:
無(wú)論LoRA的秩設(shè)置、訓(xùn)練步驟或模型層次如何,LoRA的???一致地捕捉到了任務(wù)特定方向的信息。
這表明,即便在未知TSD的情況下,仍能通過(guò)LoRA訓(xùn)練中獲得的???捕捉到這些關(guān)鍵信息。
釋放TSD潛力:LoRA-Dash
為了進(jìn)一步釋放TSD在下游任務(wù)中的潛力,研究人員提出了一個(gè)新的高效微調(diào)方法LoRA-Dash。
LoRA-Dash包含兩個(gè)主要階段:
第一是“預(yù)啟動(dòng)階段”。在此階段,任務(wù)特定方向被識(shí)別。這是模型優(yōu)化的關(guān)鍵部分,確保識(shí)別出最需要調(diào)整的方向。
具體而言,這一階段中LoRA-Dash利用在t次更新之后得到的???進(jìn)行TSD的預(yù)測(cè),確定下一階段需要被調(diào)整的方向。
第二是“沖刺階段”。在這一階段,模型利用之前識(shí)別的TSD的潛力,進(jìn)行微調(diào)優(yōu)化,使預(yù)訓(xùn)練模型更好地適應(yīng)特定任務(wù)。
具體而言,作者直接模擬TSD的坐標(biāo)變化,加速模型的適應(yīng)性調(diào)整,從而提升其在新任務(wù)中的表現(xiàn)。
LoRA-Dash的偽代碼如圖。
實(shí)驗(yàn)
作者們分別在常識(shí)推理(commonsense reasoning)、自然語(yǔ)言理解(natural language understanding)和主體驅(qū)動(dòng)生成(subject-driven generation)任務(wù)上做了實(shí)驗(yàn)。
實(shí)驗(yàn)結(jié)果表明,LoRA-Dash在各個(gè)任務(wù)上都取得了遠(yuǎn)超LoRA的性能提升。
常識(shí)推理(使用LLAMA-7B,LLAMA2-7B以及LLAMA3-8B進(jìn)行微調(diào)):
自然語(yǔ)言理解(使用DeBERTaV3-base和DeBERTaV3-large進(jìn)行微調(diào)):
主體驅(qū)動(dòng)生成(使用SDXL進(jìn)行微調(diào))。與LoRA相比,LoRA-Dash和原圖的一致性更高,比如圖中的狗和花瓶。
實(shí)驗(yàn)結(jié)果證明了TSD對(duì)于下游任務(wù)的有效性,LoRA-Dash能夠充分釋放TSD的潛能,進(jìn)一步激發(fā)高效微調(diào)的性能水平。
目前相關(guān)論文已公開(kāi),代碼也已開(kāi)源。
論文:https://arxiv.org/pdf/2409.01035
代碼:https://github.com/Chongjie-Si/Subspace-Tuning
項(xiàng)目主頁(yè):https://chongjiesi.site/project/2024-lora-dash.html