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

優(yōu)雅談大模型:一文讀懂LoRA/DoRA/MoRA

發(fā)布于 2024-11-14 15:44
瀏覽
0收藏

Microsoft于2021年推出的LoRA是一種經(jīng)濟型微調(diào)模型參數(shù)的方法?,F(xiàn)在大模型的參數(shù)規(guī)模動不動都在10億級別以上,微調(diào)大模型(微調(diào)這里代表著SFT,例如讀者將某個大模型拿到自身領(lǐng)域,想使用自身領(lǐng)域的知識再次訓(xùn)練和精校大模型,就屬于模型微調(diào)的領(lǐng)域。)的全面微調(diào)模式下,需要調(diào)整所有的參數(shù),因此所需要的資源和時間巨大。

LoRA提出了一種微訓(xùn)練模型的新方法,在凍結(jié)大部分的模型參數(shù)之余,僅僅更新額外的部分參數(shù)。同時它的性能與“微調(diào)大模型的全部參數(shù)”相似,但是能夠?qū)⒂?xùn)練參數(shù)的數(shù)量減少了10,000倍,GPU內(nèi)存需求減少了3倍。這以為著在消費級的GPU也可以運行這種計算和內(nèi)存效率更高的新方法。

1.LoRA

在學(xué)習(xí)完“神經(jīng)網(wǎng)絡(luò)與矩陣”的時候,讀者都可以知道神經(jīng)網(wǎng)絡(luò)都可以用矩陣來表示。LoRA 假設(shè)微調(diào)期間的權(quán)重更新可以很好地近似于低秩矩陣。LoRA不會更新全權(quán)重矩陣W,而是將更新分解為兩個較小的矩陣A和B。


優(yōu)雅談大模型:一文讀懂LoRA/DoRA/MoRA-AI.x社區(qū)



優(yōu)雅談大模型:一文讀懂LoRA/DoRA/MoRA-AI.x社區(qū)


上圖左側(cè)為原始論文的配圖,右圖為另外的視角。舉個例子,若原始權(quán)重W為d*k的格式,那么一共存在4096(d)×4096(k)=16,777,216個參數(shù)。

這時候LoRA使用A(d*r)和B(r*k)來代表權(quán)重更新,因為A和B的矩陣相乘也是d*k維度的。假設(shè)r為8,則LoRA需要更新的權(quán)重參數(shù)為4096×8+ 8×4096 =65,536個參數(shù)。<一下子要更新的模型參數(shù)下降了N倍!>

具體的訓(xùn)練過程是這樣的,將原來的矩陣參數(shù)固定,然后利用新的數(shù)據(jù)繼續(xù)訓(xùn)練大模型,而這個訓(xùn)練過程僅僅更新A和B矩陣。在推理使用的時候,將原來的矩陣W和(A*B)相加。下圖為可視化版本:

優(yōu)雅談大模型:一文讀懂LoRA/DoRA/MoRA-AI.x社區(qū)

r如何選擇,什么的數(shù)值是合理的?原始的論文在某些模型上給出了實驗的結(jié)果,一般而言都是r=4或者r=8,當(dāng)然這個超參數(shù)還是需要具體場景具體分析。

優(yōu)雅談大模型:一文讀懂LoRA/DoRA/MoRA-AI.x社區(qū)

從先期的實驗數(shù)據(jù)而言,LoRA的效果還是不錯的。然而LoRA最主要的問題在于矩陣被投影到更小的維度上,因此在此過程中肯定會丟失一些信息。

優(yōu)雅談大模型:一文讀懂LoRA/DoRA/MoRA-AI.x社區(qū)

在各種方法和基礎(chǔ)模型中,LoRA在減少訓(xùn)練參數(shù)和性能保障之間的確表現(xiàn)優(yōu)異。

伴隨著量化技術(shù),可以將量化引入LoRA,因此誕生了QLoRA。例如神經(jīng)網(wǎng)絡(luò)的權(quán)重存儲為32位浮點數(shù)(FP32)。量化可以將其轉(zhuǎn)換為較低精度的點,例如16位或者8位(UINT-8或INT8)。

2.DoRA

權(quán)重分解低秩適應(yīng) (DoRA) 將預(yù)先訓(xùn)練的權(quán)重分解為兩個分量:幅度和方向。如下圖所示,原來參數(shù)矩陣W的維度依舊是d*k,新增了一個幅度向量m(1*k)。

優(yōu)雅談大模型:一文讀懂LoRA/DoRA/MoRA-AI.x社區(qū)

上圖綠色部分為需要被訓(xùn)練,而藍(lán)色部分的參數(shù)表示在微調(diào)訓(xùn)練中是被凍結(jié)的。DoRA在訓(xùn)練A和B矩陣的時候,還是利用了LoRA的辦法。然而新增了幅度M向量。

可以將矩陣的每列都看成向量,每列的權(quán)重矩陣都可以用大小和方向表示。例如可以將[2.0, 3.0]分解為0.5*[4, 6]。在進(jìn)行完全微調(diào)時,梯度更新只是改變了列向量的方向,而幅度卻保持幾乎恒定。

下圖為可視化的過程:

優(yōu)雅談大模型:一文讀懂LoRA/DoRA/MoRA-AI.x社區(qū)

DoRA將列向量分解為2個分量可以更加靈活地更新方向分量,這更接近于完全微調(diào)。

3.MoRA

MoRA 的概念類似于 LoRA,但不是將權(quán)重矩陣分解為更小的維度,而是將其分解為小的方形矩陣。

優(yōu)雅談大模型:一文讀懂LoRA/DoRA/MoRA-AI.x社區(qū)

例如,如果原始權(quán)重層具有4096×4096~= 16M參數(shù),則r=8的LoRA具有4096×8 + 8×4096=65,536參數(shù)。使用MoRA可以將維度減小到r=256,即256×256=65,536。在這兩種情況下,需要訓(xùn)練和更新的參數(shù)是相同的,然而研究人員聲稱與LoRA相比具有更高的學(xué)習(xí)代表性。

根據(jù)這篇2024年5月的論文,LoRA的局限性之一是無法記住大量數(shù)據(jù)?!皩τ贚oRA觀察到的這種限制,一個合理的解釋可能是它對低秩更新的依賴。低秩更新矩陣 ?W ,很難估計FFT中的全秩更新,尤其是在需要記憶特定領(lǐng)域知識的持續(xù)預(yù)訓(xùn)練等內(nèi)存密集型任務(wù)中。

為了論證這個觀點,研究人員研究了LoRA和FFT在通過微調(diào)記憶新知識方面的差異。為了避免利用 LLM 的原始知識,研究人員隨機生成10K對通用唯一標(biāo)識符 (UUID),每對包含兩個具有32個十六進(jìn)制值的UUID。該任務(wù)要求LLM根據(jù)輸入的UUID生成相應(yīng)的UUID。例如,給定一個UUID,比如“205f3777-52b6-4270-9f67-c5125867d358”,模型應(yīng)該根據(jù)10K個訓(xùn)練對生成相應(yīng)的UUID。這個任務(wù)也可以看作是一個問答任務(wù),而完成它所必需的知識完全來自訓(xùn)練數(shù)據(jù)集,而不是LLM本身。


優(yōu)雅談大模型:一文讀懂LoRA/DoRA/MoRA-AI.x社區(qū)


實驗的結(jié)果輔證了研究人員的說法。MoRA的損失收斂得很快。

優(yōu)雅談大模型:一文讀懂LoRA/DoRA/MoRA-AI.x社區(qū)

怎么說呢,小編認(rèn)為還是需要再實戰(zhàn)中多做檢驗。下圖為完整的可視化過程。

? 優(yōu)雅談大模型:一文讀懂LoRA/DoRA/MoRA-AI.x社區(qū) 圖片 ?

本文轉(zhuǎn)載自 ??魯班模錘??,作者: 龐德公

標(biāo)簽
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦