機(jī)器之心報道
機(jī)器之心編輯部
LoRA 在絕大多數(shù)后訓(xùn)練場景下,能以遠(yuǎn)低于全量微調(diào)的成本,獲得幾乎同等的效果。Thinking Machines 將這一現(xiàn)象形容為 LoRA 的低遺憾區(qū)間(low-regret region)——即便不用全量微調(diào),選擇 LoRA 也不會讓人后悔。
最近,Thinking Machines 真實高產(chǎn)啊。
今天,他們又更新了博客,力推 LoRA,且與全量微調(diào)( Full Fine-tuning ,以下簡稱 FullFT )進(jìn)行了對比。
- 博客鏈接:
- https://thinkingmachines.ai/blog/lora/
訓(xùn)練大模型,到底該選全量微調(diào)還是 LoRA?
FullFT 意味著改動模型的所有參數(shù),效果穩(wěn)定但成本高昂,顯存開銷巨大;而LoRA 只改動一小部分參數(shù),輕量、便宜。但一個關(guān)鍵問題是:便宜的 LoRA,效果會不會差很多?
Thinking Machines 最新研究發(fā)現(xiàn),在小數(shù)據(jù)量任務(wù)上,LoRA 與 FullFT 幾乎沒有差距,完全可以對齊;在大數(shù)據(jù)量任務(wù)上,LoRA 的容量不足,承載不了過多新知識,表現(xiàn)略顯吃力;而在強(qiáng)化學(xué)習(xí)任務(wù)里,哪怕 LoRA rank=1 這么小的設(shè)定,也能跑出與全量微調(diào)接近的效果。
更進(jìn)一步,LoRA 的使用位置也有講究。只加在注意力層并不理想,覆蓋所有層(尤其 MLP/MoE)效果更佳。
研究還揭示了一些細(xì)節(jié)差異。例如,LoRA 在大 batch size 下,比 FullFT 更容易掉性能;LoRA 的學(xué)習(xí)率和超參數(shù)規(guī)律與 FullFT 不同,需要單獨調(diào)優(yōu)。
以下是這篇博客的主要內(nèi)容。
為什么 LoRA 重要?
低秩適配( LoRA )是目前最熱門的參數(shù)高效微調(diào)(PEFT)方法。它的核心思想是:不直接改動整個模型的權(quán)重,而是通過學(xué)習(xí)一個低維適配器(兩個小矩陣 A 和 B)來表示更新。
LoRA 的優(yōu)勢包括:多租戶部署(同一模型可同時加載多個適配器)、低顯存需求、快速加載和遷移。這些特性讓它自 2021 年誕生以來迅速流行。
不過,現(xiàn)有研究對它能否完全匹敵 FullFT 并沒有一致答案。
學(xué)界普遍認(rèn)為,在類似預(yù)訓(xùn)練的大規(guī)模數(shù)據(jù)場景下,LoRA 性能會遜于 FullFT ,因為數(shù)據(jù)規(guī)模往往超出 LoRA 參數(shù)容量。但在后訓(xùn)練任務(wù)中,數(shù)據(jù)規(guī)模通常處于 LoRA 容量可覆蓋的范圍,這意味著核心信息能夠被保留。
盡管如此,這并不必然保證 LoRA 在樣本利用效率和計算效率上能完全與 FullFT 持平。我們關(guān)注的核心問題是:
在什么條件下,LoRA 能實現(xiàn)與 FullFT 相當(dāng)?shù)男Ч?/strong>
實驗結(jié)果顯示,只要關(guān)鍵細(xì)節(jié)得到妥善處理,LoRA 不僅能匹配 FullFT 的樣本效率,還能最終達(dá)到相似的性能水平。
LoRA 的關(guān)鍵要素
研究的方法有別于以往研究:
不再局限于單一數(shù)據(jù)集或任務(wù),而是系統(tǒng)考察訓(xùn)練集規(guī)模與 LoRA 參數(shù)數(shù)量之間的普適關(guān)系;在有監(jiān)督學(xué)習(xí)中,研究采用對數(shù)損失(log loss)作為統(tǒng)一評估指標(biāo),而非依賴采樣式評測,以獲得更清晰且可跨任務(wù)比較的結(jié)論。
實驗結(jié)果表明,在小到中等規(guī)模的指令微調(diào)和推理任務(wù)中,LoRA 的表現(xiàn)可與FullFT 相媲美。然而,當(dāng)數(shù)據(jù)規(guī)模超出 LoRA 參數(shù)容量時,其表現(xiàn)將落后于 FullFT,這種差距主要體現(xiàn)在訓(xùn)練效率的下降,而非無法繼續(xù)優(yōu)化。性能下降的程度與模型容量和數(shù)據(jù)規(guī)模密切相關(guān)。
此外,LoRA 對大批量訓(xùn)練的容忍度低于 FullFT 。當(dāng)批量規(guī)模超過一定閾值時,損失值會明顯上升,這種現(xiàn)象無法通過提升 LoRA 的秩(rank)來緩解,因為它源自矩陣乘積參數(shù)化的固有訓(xùn)練動力學(xué),而非原始權(quán)重矩陣的直接優(yōu)化。
即便在小數(shù)據(jù)場景,將 LoRA 應(yīng)用于所有權(quán)重矩陣,尤其是 MLP 與 MoE 層,均能獲得更優(yōu)表現(xiàn)。相比之下,僅對注意力層進(jìn)行 LoRA 調(diào)整,即使保持相同可訓(xùn)練參數(shù)量,也無法達(dá)到同樣的效果。
在強(qiáng)化學(xué)習(xí)任務(wù)中,即使 LoRA 的秩(rank)極低,其性能仍可接近 FullFT 。這與我們基于信息論的推斷一致:強(qiáng)化學(xué)習(xí)對模型容量的需求相對較低。
研究還分析了 LoRA 超參數(shù)對學(xué)習(xí)率的影響,包括初始化尺度與乘數(shù)的不變性,并揭示了為何 1/r1/r1/r 因子使 LoRA 的最優(yōu)學(xué)習(xí)率與秩變化幾乎無關(guān)。同時實驗顯示,LoRA 的最優(yōu)學(xué)習(xí)率與 FullFT 存在一定關(guān)聯(lián)。
綜合來看,研究提出了低遺憾區(qū)域(low-regret region)的概念——
在該區(qū)域內(nèi),大多數(shù)后訓(xùn)練場景下,LoRA 能以顯著低于 FullFT 的成本,實現(xiàn)相似的性能。這意味著,高效微調(diào)在實際應(yīng)用中完全可行,LoRA 因而成為后訓(xùn)練的重要工具。
實驗方法與主要發(fā)現(xiàn)
研究團(tuán)隊用 LLaMA 3 和 Qwen3 模型,做了有監(jiān)督微調(diào)(Tulu3 和 OpenThoughts3 數(shù)據(jù)集)以及強(qiáng)化學(xué)習(xí)任務(wù)(數(shù)學(xué)推理)。關(guān)鍵做法包括:
- 調(diào)整 LoRA 的秩(rank),從 1 到 512,覆蓋從低容量到高容量的場景。
- 對每個設(shè)置做學(xué)習(xí)率掃描,確保找到最優(yōu)訓(xùn)練條件。
- 測試 LoRA 在不同層的效果,包括 attention 層、MLP 層、混合專家(MoE)層。
結(jié)果發(fā)現(xiàn):
- 在小到中等數(shù)據(jù)規(guī)模下,高秩 LoRA 的性能幾乎與 FullFT 無差別。
在 Tulu3 和 OpenThoughts3 數(shù)據(jù)集上,全量微調(diào)(FullFT)以及高秩 LoRA 的學(xué)習(xí)曲線非常相似,損失隨訓(xùn)練步驟的對數(shù)幾乎線性下降。而低秩 LoRA 則會在適配器容量耗盡時偏離最小損失曲線。在底部的圖表(1B 模型)中,高秩 LoRA 在某個數(shù)據(jù)集上表現(xiàn)優(yōu)于 FullFT,但在另一個數(shù)據(jù)集上則略遜一籌。這可能與不同數(shù)據(jù)集的訓(xùn)練動態(tài)或泛化行為差異有關(guān),從而導(dǎo)致 LoRA 在不同任務(wù)上的表現(xiàn)存在一定隨機(jī)性。
結(jié)果顯示,對于 Tulu3 數(shù)據(jù)集,不同秩的 LoRA 在最佳學(xué)習(xí)率下的最終損失相差不大,高秩 LoRA 與 FullFT 的最小損失幾乎一致。然而,LoRA 的最佳學(xué)習(xí)率約是 FullFT 的 10 倍,這意味著在相同條件下 LoRA 可以接受更高的學(xué)習(xí)率。
- 對于超過 LoRA 容量的數(shù)據(jù)集,LoRA 的表現(xiàn)不如 FullFT。 損失并不會達(dá)到一個無法降低的明顯下限,而是會導(dǎo)致更差的訓(xùn)練效率,這種效率取決于模型容量與數(shù)據(jù)集大小之間的關(guān)系。
- 大批量訓(xùn)練下,LoRA 性能下降比 FullFT 更明顯,這與秩無關(guān),可能是參數(shù)化方法的固有特性。
批量大小對 LoRA 與 FullFT 性能的影響如圖所示。左側(cè)的學(xué)習(xí)曲線展示了在不同批量大小下的表現(xiàn):在較大批量情況下,LoRA(虛線)的學(xué)習(xí)曲線始終低于 FullFT(實線),表現(xiàn)出持續(xù)的差距。右側(cè)的圖表則展示了最終損失與批量大小的關(guān)系,表明隨著批量大小的增加,LoRA 所付出的損失代價更大。
- 即使在數(shù)據(jù)量小的情境下,LoRA 在應(yīng)用于所有權(quán)重矩陣(特別是 MLP 和 MoE 層)時表現(xiàn)更好。僅應(yīng)用于注意力層的 LoRA(attention-only LoRA)表現(xiàn)不佳,即使研究人員通過使用更高的秩來匹配可訓(xùn)練參數(shù)的數(shù)量(與 MLP-only 相比)。
僅作用于注意力層的 LoRA(Attention-only LoRA)明顯不如僅作用于 MLP 層的 LoRA(MLP-only LoRA),而且在已對 MLP 層應(yīng)用 LoRA 的情況下,再對注意力層額外應(yīng)用 LoRA 并不能進(jìn)一步提升性能。這一現(xiàn)象在密集模型(如 Llama-3.1-8B)和稀疏 MoE 模型(如 Qwen3-30B-A3B-Base)中均成立。
改變應(yīng)用 LoRA 的層時,學(xué)習(xí)率與最終損失或獎勵的關(guān)系。
- 在強(qiáng)化學(xué)習(xí)任務(wù)中,即使秩極低(rank=1),LoRA 也能達(dá)到 FullFT 水平,這與強(qiáng)化學(xué)習(xí)對容量需求較低的理論預(yù)期一致。
在小學(xué)數(shù)學(xué)(GSM,左圖)或 MATH(右圖)數(shù)據(jù)集上進(jìn)行強(qiáng)化學(xué)習(xí)時,學(xué)習(xí)率與最終獎勵(準(zhǔn)確率)的關(guān)系。
在 DeepMath 數(shù)據(jù)集上使用 Qwen3-8b-base 進(jìn)行的實驗。左圖顯示了不同 rank 和全量微調(diào)(FullFT)的學(xué)習(xí)曲線。在每種設(shè)置下,我們選取了能帶來最佳最終性能的最優(yōu)學(xué)習(xí)率。右圖則展示了學(xué)習(xí)率與最終性能的關(guān)系。與之前的數(shù)學(xué)實驗類似,LoRA 在近似最優(yōu)學(xué)習(xí)率范圍上表現(xiàn)出更寬的峰值。
來自使用 Qwen3-8b-Base 在 DeepMath 數(shù)據(jù)集上實驗的附加圖表。左圖顯示了在更具挑戰(zhàn)性的 AIME 測試集上的基準(zhǔn)得分,右圖展示了隨訓(xùn)練步驟變化的鏈?zhǔn)剿季S(CoT)長度,這可被視為模型學(xué)習(xí)推理能力的一個標(biāo)志。
LoRA 超參數(shù)規(guī)律
LoRA 有幾個顯著特點,簡化了它的使用復(fù)雜度:
- 最優(yōu)學(xué)習(xí)率通常是 FullFT 的約 10 倍
- 學(xué)習(xí)率對秩的依賴非常弱,短期訓(xùn)練幾乎不受秩變化影響,長期訓(xùn)練差異也很小。
- LoRA 參數(shù)化具有不變性,實際只需關(guān)注兩個組合超參數(shù)即可。
- 初期訓(xùn)練時,LoRA 需要更高的學(xué)習(xí)率(約 15 倍 FullFT),長期訓(xùn)練則趨近于 10 倍。
這些規(guī)律為 LoRA 在實際部署中提供了便利:少調(diào)超參數(shù)就能取得接近全量微調(diào)的效果。
訓(xùn)練早期,不同 rank 在相同學(xué)習(xí)率下的學(xué)習(xí)曲線差異。左圖顯示了各 rank 的學(xué)習(xí)曲線,右圖則展示了 rank?16 與 rank?256 之間的差異,這個差異隨時間增長。有趣的是,在最初幾步中差異為負(fù)(盡管非常微?。?,因此那部分曲線在圖中缺失。
1、為什么 LoRA 必須作用于所有層?我們發(fā)現(xiàn),LoRA 要與 FullFT 接近,必須滿足兩個條件:作用于所有層,特別是 MLP/MoE 層,因為這些層承載了模型絕大部分參數(shù)。容量不受限制,可訓(xùn)練參數(shù)必須足夠容納數(shù)據(jù)中所需的信息量。
僅在 attention 層使用 LoRA 會導(dǎo)致訓(xùn)練速度下降,這可以用經(jīng)驗神經(jīng)切線核(eNTK)解釋:參數(shù)最多的層對訓(xùn)練動態(tài)影響最大,LoRA 覆蓋所有參數(shù)層,才能保持 FullFT 的訓(xùn)練行為。
2、我們用信息論方法估算了容量需求,這種分析為 LoRA 在不同任務(wù)中能否勝任提供了理論支持:
在監(jiān)督學(xué)習(xí)中,模型大約可存儲每個參數(shù) 2 bits信息。數(shù)據(jù)集的描述長度可以通過第一輪訓(xùn)練的總 log-loss 估算;
在強(qiáng)化學(xué)習(xí)中,尤其是策略梯度方法,每個 episode 約提供1 bit信息。這說明強(qiáng)化學(xué)習(xí)對 LoRA 容量的要求相對較低。
3、計算效率優(yōu)勢。LoRA 只更新低秩矩陣,而不是全權(quán)重矩陣,這讓它在計算上更省力:前向+反向傳播的 FLOPs 大約是 FullFT 的 2/3
換句話說,LoRA 在相同訓(xùn)練步驟下,能用更少計算量達(dá)到相似效果。
未來探索方向
研究團(tuán)隊認(rèn)為,LoRA 仍有幾個值得深入探索的方向:精準(zhǔn)預(yù)測 LoRA 性能及其與 FullFT 的差距條件、建立 LoRA 學(xué)習(xí)率與訓(xùn)練動態(tài)的理論框架、測評 LoRA 變體(如 PiSSA)的表現(xiàn),以及研究 LoRA 在 MoE 層的不同應(yīng)用方案及其與張量并行、專家并行的兼容性。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.