LoRA、完全微調(diào)到底有何不同?MIT 21頁論文講明白了
微調(diào)(Fine-tuning)是將經(jīng)過預(yù)訓(xùn)練的大語言模型應(yīng)用于下游任務(wù)的關(guān)鍵范例。最近,低秩自適應(yīng) (LoRA) 等方法已被證明可以在各種任務(wù)上達(dá)到完全微調(diào)模型的性能,同時可訓(xùn)練參數(shù)的數(shù)量卻大大減少。
這就提出一個問題,即它們學(xué)到的解決方案真的等效嗎?
帶著這一疑問,來自 MIT 的研究者在論文《 LORA VS FULL FINE-TUNING: AN ILLUSION OF EQUIVALENCE 》中進(jìn)行了深入探討。
論文地址:https://arxiv.org/pdf/2410.21228v1
作者通過分析預(yù)訓(xùn)練模型權(quán)重矩陣的光譜特性來研究不同的微調(diào)方法如何改變模型。
研究發(fā)現(xiàn),完全微調(diào)與 LoRA 產(chǎn)生的權(quán)重矩陣奇異值分解結(jié)構(gòu)有顯著不同,并且經(jīng)過微調(diào)后的模型在面對超出適應(yīng)任務(wù)分布的測試時也顯示出不同的泛化行為。
特別是,LoRA 訓(xùn)練的權(quán)重矩陣中出現(xiàn)了稱為「侵入維度(intruder dimensions)」的新的高秩奇異向量,而在完全微調(diào)中則不會出現(xiàn)這種情況。
這些結(jié)果表明,即使在微調(diào)分布上表現(xiàn)相同,但使用 LoRA 和完全微調(diào)更新的模型訪問參數(shù)空間的不同部分。
作者通過研究 LoRA 微調(diào)模型中出現(xiàn)侵入維度的原因、它們?yōu)槭裁床皇軞g迎,以及如何最小化這些效果來展開研究。
最后,作者給出了以下幾點觀察:
首先,LoRA 和完全微調(diào)在結(jié)構(gòu)上產(chǎn)生不同的參數(shù)更新,這種差異由侵入維度的存在產(chǎn)生的。這些侵入維度是奇異向量,具有較大的奇異值,并且與預(yù)訓(xùn)練權(quán)重矩陣中的奇異向量近似正交。相比之下,完全微調(diào)模型在光譜上與預(yù)訓(xùn)練模型保持相似,不包含侵入維度。
其次, 從行為上看,與完全微調(diào)相比,具有侵入維度的 LoRA 微調(diào)模型會忘記更多的預(yù)訓(xùn)練分布,并且表現(xiàn)出較差的穩(wěn)健連續(xù)學(xué)習(xí)能力:具有侵入維度的 LoRA 微調(diào)模型在適應(yīng)任務(wù)分布之外不如完全微調(diào)模型,盡管分布準(zhǔn)確度相當(dāng)。
最后, 即使在目標(biāo)任務(wù)上低秩 LoRA 表現(xiàn)良好,但更高秩的參數(shù)化可能仍然是可取的。低秩 LoRA(r ≤ 8)適合下游任務(wù)分布,完全微調(diào)和高秩 LoRA(r = 64)讓模型泛化能力更強(qiáng)、自適應(yīng)能力更加魯棒。然而,為了利用更高的秩,LoRA 更新模型必須是秩穩(wěn)定的。
沃頓商學(xué)院副教授 Ethan Mollick 對此評論道:事實證明,使用 LoRA 定制通用 LLM(Apple 調(diào)優(yōu)其設(shè)備內(nèi)置模型的方式),對 LLM 的限制遠(yuǎn)大于微調(diào),因為它們失去了一些泛化能力。原因是 LoRA 增加了不祥的侵入維度。
LORA 和完全微調(diào)模型的差異
本文采用神經(jīng)網(wǎng)絡(luò)參數(shù)的奇異值分解 SVD 來理解微調(diào)對預(yù)訓(xùn)練權(quán)值的變化。
特別是,本文測量了用 LoRA 微調(diào)過的權(quán)重矩陣中的奇異向量或完全微調(diào)過的權(quán)重矩陣中奇異向量映射到預(yù)訓(xùn)練權(quán)重中的奇異向量的程度,使用它們的余弦相似性。這些關(guān)系如圖 1 和圖 3 所示,顏色表示預(yù)訓(xùn)練和微調(diào)奇異向量之間的余弦相似度。
圖 2 (b) 中觀察到,LoRA 和完全微調(diào)的奇異向量與預(yù)訓(xùn)練奇異向量的相似度非常不同:與完全微調(diào)相比,使用 LoRA 微調(diào)的模型的奇異向量與預(yù)訓(xùn)練奇異向量的平均余弦相似度似乎要低得多。
圖 2 (b) 中左下角有一個唯一的紅點,作者將這些新維度命名為侵入維度,其正式定義如下:
LoRA 微調(diào)模型包含高秩侵入維度,而完全微調(diào)的模型則不包含。為了量化特定權(quán)重矩陣的侵入維度集的大小,作者使用圖 4 所示的算法。
即使在 LoRA 微調(diào)模型學(xué)習(xí)效果不如完全微調(diào)的任務(wù)中,侵入維度也存在。
觀察圖 5b、5c 和 5d,我們可以清楚地看到,即使 LoRA 的 r=256,高秩奇異向量集中仍出現(xiàn)侵入維度。重要的是,當(dāng) r=2048 時沒有侵入維度,而是展示了與完全微調(diào)非常相似的曲線。這支持了早先的發(fā)現(xiàn):隨著秩增加超過一個閾值,侵入維度會消失,LoRA 開始趨向于與完全微調(diào)相似。
即使使用滿秩矩陣執(zhí)行 LoRA,完全微調(diào)更新也比 LoRA 更新具有更高的有效秩。如圖 6 所示,可以觀察到完全微調(diào)解決方案的有效秩明顯高于通過 LoRA 學(xué)習(xí)到的解決方案的有效秩,即使 LoRA 具有更高的秩。
LORA 和完全微調(diào)之間的行為差異
在較低秩,LoRA 在持續(xù)學(xué)習(xí)過程中的適應(yīng)能力較差,會忘記更多之前的任務(wù)。該研究在多個任務(wù)上按順序訓(xùn)練 RoBERTa,并測量學(xué)習(xí)新任務(wù)時性能的變化程度。
該研究使用與之前相同的訓(xùn)練方案、數(shù)據(jù)集,但在持續(xù)學(xué)習(xí)環(huán)境中使用以下數(shù)據(jù)集(按順序)進(jìn)行微調(diào):MNLI、QQP、SST-2、SIQA、Winogrande、FEVER。在序列中某個數(shù)據(jù)集上進(jìn)行訓(xùn)練后,將 LoRA 權(quán)重合并到模型中,并在下一個任務(wù)訓(xùn)練之前重新初始化,以便不受之前任務(wù)的影響。
在對特定任務(wù)進(jìn)行訓(xùn)練后,該研究對所有任務(wù)進(jìn)行測試,對于每個任務(wù),在測試測試集之前分別重新訓(xùn)練分類頭。這能夠檢查模型在這些任務(wù)上表現(xiàn)如何,而無需實際更改模型本身。
結(jié)果如圖 8 所示。雖然 LoRA 最初與完全微調(diào)的性能相當(dāng),但較小的 LoRA 秩在持續(xù)學(xué)習(xí)過程中始終表現(xiàn)出更大的性能下降。特別是,對于前三個訓(xùn)練數(shù)據(jù)集,當(dāng) r = 1 時 LoRA 的性能下降到預(yù)訓(xùn)練基線以下。隨著 LoRA 秩的提高,我們可以看到這種遺忘行為減少,并且更接近于完全微調(diào),甚至在完成持續(xù)學(xué)習(xí)后在 MNLI 上的遺忘也更少。
整體情況是微妙的:雖然在某些情況下,LoRA 似乎忘記得較少,但對于某些任務(wù)(以及某些秩)事實上,LoRA 可能會忘記更多。
對于微調(diào)到等效測試精度的 LoRA 模型,可以看到一條 U 形曲線,該曲線標(biāo)識了適合下游任務(wù)的最佳等級,同時最小程度的忘記了預(yù)訓(xùn)練分布。
圖 9 報告了測量的偽損失分?jǐn)?shù)??梢钥吹酵耆⒄{(diào)和 r = 768 時的 LoRA 之間呈現(xiàn) U 形趨勢。
相對于完全微調(diào),低秩(r = 1)和高秩(r = 768)都會導(dǎo)致預(yù)訓(xùn)練分布的遺忘更大,而對于 r = 64,遺忘較少。也就是說:當(dāng) r = 1 時,使用 LoRA 微調(diào)的模型受到侵入維度的影響,并且似乎比沒有侵入維度的 r = 64 有更多的遺忘。然而,當(dāng) r = 768 時,使用 LoRA 微調(diào)的模型也表現(xiàn)出更糟糕的遺忘,這表明由于過度參數(shù)化,它們對適應(yīng)任務(wù)過度擬合。當(dāng) r = 8 和 r = 64 時,遺忘量少于完全微調(diào)。
了解更多內(nèi)容,請參考原論文。