偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?

發(fā)布于 2024-3-27 20:37
瀏覽
0收藏

LoRA(Low-Rank Adaptation)是當(dāng)前 LLM 的參數(shù)高效微調(diào)手段之一,此前我們在《梯度視角下的LoRA:簡介、分析、猜測及推廣》也有過簡單討論。這篇文章我們來學(xué)習(xí) LoRA 的一個(gè)新結(jié)論:

給 LoRA 的兩個(gè)矩陣分配不同的學(xué)習(xí)率,LoRA 的效果還能進(jìn)一步提升。

該結(jié)論出自最近的論文《LoRA+: Efficient Low Rank Adaptation of Large Models》[1](下稱“LoRA+”)。咋看之下,該結(jié)論似乎沒有什么特別的,因?yàn)榕渲貌煌膶W(xué)習(xí)率相當(dāng)于引入了新的超參數(shù),通常來說只要引入并精調(diào)超參數(shù)都會有提升。

“LoRA+”的特別之處在于,它從理論角度肯定了這個(gè)必要性,并且斷定最優(yōu)解必然是右矩陣的學(xué)習(xí)率大于左矩陣的學(xué)習(xí)率。簡而言之,“LoRA+”稱得上是理論指導(dǎo)訓(xùn)練并且在實(shí)踐中確實(shí)有效的經(jīng)典例子,值得仔細(xì)學(xué)習(xí)一番。

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

結(jié)論簡析

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

“LoRA+”的結(jié)論是:為了使 LoRA 的效果盡可能接近最優(yōu),權(quán)重 B 的學(xué)習(xí)率應(yīng)該要大于權(quán)重A的學(xué)習(xí)率。

注意,為了使初始模型等價(jià)于原始預(yù)訓(xùn)練模型,LoRA 通常會將 A,B 之一全零初始化。筆者一開始以為,該結(jié)論是由于全零初始化導(dǎo)致的,所以應(yīng)該依賴于全零初始化的位置,但仔細(xì)閱讀后發(fā)現(xiàn),“LoRA+”所聲稱的結(jié)論跟全零初始化無關(guān),也就是說,表面上 A,B 是對稱的,但實(shí)際上它們有著固有的不對稱性,以至于不管選擇 A 還是 B 來全零初始化,結(jié)論都是 B 的學(xué)習(xí)率要大于 A。這就有意思起來了。

不得不說?!癓oRA+”原文的推導(dǎo)寫得相當(dāng)讓人費(fèi)解,下面筆者盡量用自己的思路來完成推導(dǎo)。大體上,它基于兩點(diǎn)假設(shè):1. 數(shù)值穩(wěn)定:模型每一層的輸出值都應(yīng)該是數(shù)值穩(wěn)定的,跟網(wǎng)絡(luò)寬度無關(guān);2. 貢獻(xiàn)相當(dāng):為了使 LoRA 最優(yōu),A,B 兩個(gè)矩陣對效果應(yīng)該有同等程度的貢獻(xiàn)。接下來我們逐一分析并量化這兩點(diǎn)假設(shè)。

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

數(shù)值穩(wěn)定

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

單看前向傳播來說,XA 的數(shù)值穩(wěn)定性確實(shí)不是必要的。但如果 XA 數(shù)值不穩(wěn)定同時(shí) XAB 數(shù)值穩(wěn)定的話,那么有兩種情況:XA 數(shù)值偏大、B 數(shù)值偏小,根據(jù)求導(dǎo)公式,這將導(dǎo)致 A 的梯度偏小、B 的梯度偏大;反過來,XA 數(shù)值偏小、B 數(shù)值偏大,這將導(dǎo)致 A 的梯度偏大、B 的梯度偏小。

總而言之,XA 的數(shù)值不穩(wěn)定會導(dǎo)致 A,B 的梯度不穩(wěn)定,從而增加優(yōu)化難度,所以還是加上 XA 的數(shù)值穩(wěn)定性為條件比較好。

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

貢獻(xiàn)相當(dāng)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

這里使用了一階線性近似,其中 是 A,B 的梯度, 是(Frobenius)內(nèi)積運(yùn)算,右端兩項(xiàng)就可以理解為 A,B 對效果的分別貢獻(xiàn)。但注意線性近似的有效性取決于增量 是小量,但對于訓(xùn)練好的權(quán)重,它對于原始權(quán)重的增量還真未必是小量。

所以退而求其次,我們將“貢獻(xiàn)相當(dāng)”假設(shè)改為“A,B 在每一步更新中應(yīng)該對效果有同等程度上的貢獻(xiàn)”,由于單步更新的量通常很小,因此線性近似能比較好地滿足。

既然要考慮每一步的更新量,那么就引導(dǎo)我們到了優(yōu)化器的方向上。當(dāng)前預(yù)訓(xùn)練和微調(diào)的主流優(yōu)化器都是 Adam,那么我們就以 Adam 為主要分析對象。

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

其中 是各自的學(xué)習(xí)率,“LoRA+”的結(jié)論就是 。

將 SignSGD 的增量(2)代回式(1),那么就得到

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

快速推導(dǎo)

進(jìn)一步的分析需要求出梯度的具體形式。再次設(shè) Y=XAB,那么可以求出:

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

但是還沒完,我們要檢查一下結(jié)果是否自洽,因?yàn)槲覀冇玫降臈l件之一是“前向的數(shù)值穩(wěn)定性”,至今為止還只是一個(gè)理想的假設(shè)。如何讓假設(shè)盡可能成立呢?戰(zhàn)勝一個(gè)假設(shè)的方法是引入另一個(gè)假設(shè):

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

根據(jù) Adam 的近似式(2),每步增量的數(shù)量級確實(shí)正比于學(xué)習(xí)率,但總的更新結(jié)果又不完全是每一步簡單疊加,所以這個(gè)假設(shè)給人的感覺就是“看上去有點(diǎn)道理,但又不完全有道理”。但不要緊,假設(shè)通常都是這樣子的,有點(diǎn)道理就行,剩下的就只能靠信仰了。

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

配置不同的學(xué)習(xí)率,LoRA還能再漲一點(diǎn)?-AI.x社區(qū)

文章小結(jié)

這篇文章中,我們介紹并推導(dǎo)了一個(gè)名為“LoRA+”的結(jié)果,它支持 LoRA 的兩個(gè)低秩矩陣 A,B 存在固有的不對稱性,不管將哪個(gè)矩陣全零初始化,都應(yīng)該將 B 的學(xué)習(xí)率設(shè)置得大于 A,以達(dá)到更優(yōu)的效果。

本文轉(zhuǎn)載自 ??PaperWeekly??,作者: 蘇劍林

原文鏈接:??https://mp.weixin.qq.com/s/OsyG71leU9OdJu7y0lppVA??

標(biāo)簽
已于2024-3-27 20:51:53修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦