單卡即可微調(diào)大模型!內(nèi)存占用僅1/8,性能依然拉滿 | ICML 2025
諸如Qwen,GPT,DeepSeek R1等基礎(chǔ)大模型已成為現(xiàn)代深度學(xué)習(xí)的基石。
然而,在應(yīng)用于具體下游任務(wù)時(shí),它們龐大的參數(shù)規(guī)模使得額外微調(diào)成本較高。
為了解決這一問(wèn)題,近期的研究聚焦于低秩適應(yīng) (LoRA) 方法,通過(guò)保持基座模型參數(shù)凍結(jié),僅對(duì)新增的小型輕量級(jí)適配器進(jìn)行微調(diào),從而降低微調(diào)成本。
盡管LoRA具有較高的效率,然而其微調(diào)性能往往不及全量微調(diào)。
面對(duì)這一挑戰(zhàn),華中科技大學(xué)和香港中文大學(xué)團(tuán)隊(duì)提出了一項(xiàng)全新的LoRA微調(diào)框架——GOAT,該工作已成功被ICML 2025正式接收。
這項(xiàng)研究提出了一套自適應(yīng)奇異值初始化與混合專(zhuān)家梯度對(duì)齊策略,成功緩解低秩適應(yīng)(LoRA)性能不足的難題,在25個(gè)多領(lǐng)域任務(wù)中實(shí)現(xiàn)接近甚至超越全參數(shù)微調(diào)(Full FT)的效果,同時(shí)僅需調(diào)整極小比例參數(shù)。
低秩適應(yīng)效果不如預(yù)期
傳統(tǒng)LoRA通過(guò)在預(yù)訓(xùn)練權(quán)重矩陣中添加低秩適配器(如BA矩陣),大幅減少可訓(xùn)練參數(shù)(通常僅需調(diào)整0.1%-5%參數(shù)),但其性能往往顯著落后于全參數(shù)微調(diào)。
現(xiàn)有方法通常通過(guò)隨機(jī)初始化或者靜態(tài)奇異值分解(Singular Value Decomposition, SVD)子空間進(jìn)行初始化,以優(yōu)化LoRA性能,但這類(lèi)方式未能充分挖掘預(yù)訓(xùn)練模型中已有的知識(shí)。
另一條提升LoRA表現(xiàn)的路徑是引入混合專(zhuān)家架構(gòu)(Mixture-of-Experts, MoE)。然而,復(fù)雜的梯度動(dòng)態(tài)使得在LoRA MoE架構(gòu)中應(yīng)用SVD初始化方法面臨較大挑戰(zhàn)。
取最大/小分量不一定好?重新審視SVD初始化
先前基于SVD初始化的方法通常會(huì)對(duì)最大或最小奇異值對(duì)應(yīng)的子空間進(jìn)行微調(diào):PiSSA僅對(duì)具有最大范數(shù)的部分進(jìn)行微調(diào),而MiLoRA和KaSA則凍結(jié)較大的分量,對(duì)較小的部分進(jìn)行低秩適應(yīng)。如圖所示:
實(shí)際使用中,由于忽略了其他的SVD片段,PISSA和MiLoRA的方法并不能保證其有較好的效果,尤其是在秩較低的情況下。
作者針對(duì)不同數(shù)據(jù)集,使用不同的SVD片段來(lái)初始化進(jìn)行分析發(fā)現(xiàn),不同任務(wù)對(duì)應(yīng)的最佳SVD片段不同,同時(shí)其很可能在中間片段表現(xiàn)最好。
利用MoE的動(dòng)態(tài)選擇特性,研究人員提出了一種自適應(yīng)SVD初始化,設(shè)計(jì)一個(gè)LoRA MoE的結(jié)構(gòu)實(shí)現(xiàn)收斂速度和最終收斂性能的權(quán)衡。
首先對(duì)預(yù)訓(xùn)練大模型權(quán)重做奇異值分解,將其分解為多段,由MoE路由動(dòng)態(tài)選擇最相關(guān)的奇異值組合,靈活適配不同任務(wù)需求。其中每個(gè)和的expert由均勻切片的SVD片段構(gòu)成,,使其能捕獲 的更全面的先驗(yàn)信息。
縮放因子過(guò)小?LoRA的低秩梯度偏差
先前的LoRA方法中,常見(jiàn)的做法是使用縮放形式,且通常設(shè)為2。
基于SVD的方法則通過(guò)將和同時(shí)除以,從而在權(quán)重大小不依賴(lài)于。
通過(guò)實(shí)驗(yàn)分析,僅通過(guò)調(diào)整 能對(duì)LoRA的收斂速度和最終性能產(chǎn)生較大影響,尤其是極度低秩的場(chǎng)景下(在LoRA MoE中非常常見(jiàn))。
為詳細(xì)研究這一點(diǎn),研究人員引入理論對(duì)齊假設(shè):
使用全量微調(diào)的Upcycled MoE(也即直接使用預(yù)訓(xùn)練權(quán)重初始化)作為性能上界。
如果在微調(diào)LoRA MoE的過(guò)程中,對(duì)每個(gè)專(zhuān)家,在初始化時(shí)保證LoRA專(zhuān)家的等效權(quán)重與全量微調(diào)MoE的專(zhuān)家權(quán)重一致,并在每次更新中使LoRA專(zhuān)家等效梯度與MoE全秩微調(diào)梯度對(duì)齊,LoRA MoE就可以與全秩微調(diào)的 Upcycled MoE 在每一步優(yōu)化都實(shí)現(xiàn)對(duì)齊,理論上能達(dá)成相同的性能。
利用該假設(shè),對(duì)于等效權(quán)重對(duì)齊,研究人員推導(dǎo)出SVD初始化中使接近,需要減去額外減去矩陣最優(yōu)期望為:
對(duì)于等效梯度對(duì)齊,研究人員通過(guò)代數(shù)分析,聯(lián)立每個(gè)專(zhuān)家的LoRA等效梯度與全量微調(diào)(Full Fine-Tuning, FFT)的梯度,近似推導(dǎo)出一個(gè)閉式解。
其中,表示模型維度,表示FFT與LoRA學(xué)習(xí)率的比值,表示LoRA的秩,通常該秩遠(yuǎn)小于模型維度,使得推導(dǎo)出的明顯大于經(jīng)驗(yàn)取值2。
這一結(jié)果從理論上證明了當(dāng)前廣泛采用的經(jīng)驗(yàn)縮放因子過(guò)小的問(wèn)題,同時(shí)也提供了一種與模型架構(gòu)無(wú)關(guān)的偏差調(diào)整機(jī)制——即通過(guò)合理設(shè)置縮放因子來(lái)彌補(bǔ)LoRA在低秩子空間中梯度偏移所帶來(lái)的性能差距,從而更貼近全量微調(diào)的行為表現(xiàn)。
這種方法為提升LoRA的微調(diào)效果提供了一個(gè)理論驅(qū)動(dòng)的改進(jìn)方向。
實(shí)驗(yàn)結(jié)果:25項(xiàng)任務(wù)全面領(lǐng)先
團(tuán)隊(duì)在自然語(yǔ)言生成(GSM8K, HumanEval, Mt-Bench)、自然語(yǔ)言理解(GLUE)、常識(shí)推理(CommonsenseQA)、圖像分類(lèi)(ImageNet子集)等4個(gè)領(lǐng)域25個(gè)數(shù)據(jù)集上驗(yàn)證GOAT的優(yōu)越性:
自然語(yǔ)言生成:比主流的LoRA MoE變體,在Mt-Bench中超越4.2%,GSM8K中超越6.3%,HumanEval中超越3.1%,逼近全量微調(diào)水平;
圖像分類(lèi):在CLIP-ViT微調(diào)中,僅用2.24%參數(shù)即達(dá)到全參數(shù)微調(diào)99%性能,超越主流LoRA變體6%,主流LoRA MoE變體2.4%;
常識(shí)推理:平均準(zhǔn)確率82.73%,超越ChatGPT7.42%,展現(xiàn)強(qiáng)大知識(shí)遷移能力;
自然語(yǔ)言理解:領(lǐng)先于全量微調(diào),和FT MOE的差距縮小至0.1%;
GOAT無(wú)需修改模型架構(gòu)或訓(xùn)練算法,僅通過(guò)初始化策略與梯度縮放即可實(shí)現(xiàn)性能飛躍,具備極強(qiáng)實(shí)用性:
內(nèi)存占用降低8倍:訓(xùn)練LLaMA7B時(shí),相比全參數(shù)微調(diào)MoE,GOAT內(nèi)存需求從640GB壓縮至35GB,單卡即可訓(xùn)練;
收斂速度快效果好:比起其他的LoRA MoE,收斂有著更快的收斂速度和更好的效果;
靈活擴(kuò)展:支持動(dòng)態(tài)調(diào)整專(zhuān)家數(shù)量與激活比例,平衡性能與效率。
未來(lái),GOAT優(yōu)化方法有望在后訓(xùn)練階段提供有效指導(dǎo),同時(shí)為預(yù)訓(xùn)練場(chǎng)景開(kāi)辟新的思路,從而進(jìn)一步挖掘和釋放人工智能性能的潛能。
論文地址: https://arxiv.org/pdf/2502.16894v3Github地址: https://github.com/Facico/GOAT-PEFT