成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文讀遍 LoRA 家族:大語言模型高效訓練的"秘密武器"

發布于 2025-4-27 00:35
瀏覽
0收藏

在大語言模型(LLMs)的訓練領域,Low - Rank Adaptation(LoRA)技術堪稱一項重大突破。它就像給模型訓練開啟了一條 “高速通道”,讓我們能更高效地為特定任務訓練大語言模型。如今,LoRA 在眾多應用場景中廣泛使用,并且引發了一系列改進研究,催生出了許多變體,這些變體從不同角度優化 LoRA,提升訓練速度、性能,或者兩者兼得。今天,咱們就來深入了解一下 LoRA 及其家族成員的奧秘。

1. LoRA:基礎概念與核心優勢

LoRA 的核心做法是在預訓練權重矩陣 W 旁邊添加兩個較小的可訓練矩陣 A 和 B,同時不改變 W 的參數。想象一下,預訓練的權重矩陣 W 是一個經驗豐富的 “老將”,已經具備了很多通用知識,但在應對特定任務時還不夠完美。這時,矩陣 A 和 B 就像是兩個靈活的 “小助手”,在不打擾 “老將” 的情況下,通過自身的訓練,為模型在特定任務上提供額外助力。

一文讀遍 LoRA 家族:大語言模型高效訓練的"秘密武器"-AI.x社區

假設原始參數矩陣 W 的大小是 d x d,矩陣 A 的大小是 r x d,矩陣 B 的大小是 d x r,這里的 r 比 d 小很多(比如通常取 r=16) ,r 被稱為秩。訓練時,輸入數據在經過 W 的同時也會經過 A 和 B,B 的輸出會與 W 的輸出相加,以此來影響模型的最終預測結果。并且,A 和 B 的添加可以應用于神經網絡內部的多個層,而不只是在模型的最后添加一層。

在初始化時,矩陣 A 被賦予均值為零、有一定方差的隨機值,矩陣 B 則被初始化為全零矩陣。這樣的初始化方式能確保在訓練初期,LoRA 矩陣不會對原始 W 的輸出產生隨機干擾,只有在 A 和 B 的參數朝著理想方向調整后,才會逐步對原始輸出起到補充優化作用 。與傳統的微調方法相比,LoRA 最大的優勢就是大幅減少了需要訓練的參數數量,卻能達到相當的性能表現。

2. LoRA+:優化學習率,提升訓練效率

LoRA + 在 LoRA 的基礎上,為矩陣 A 和 B 引入了不同的學習率。在大多數神經網絡訓練中,通常會對所有權重矩陣采用相同的學習率。然而,LoRA + 的研究者發現,對于 LoRA 中的適配器矩陣(即 A 和 B)而言,這種單一學習率并非最優選擇。

一文讀遍 LoRA 家族:大語言模型高效訓練的"秘密武器"-AI.x社區

從理論上講,當模型的神經元數量增多,模型變得更 “寬” 時,基于神經網絡初始化的一些數值特性,將矩陣 B 的學習率設置得比矩陣 A 高很多,能夠提升訓練效率。直觀地理解,矩陣 B 初始化為零,它就像一張 “白紙”,可以接受更大的更新步長來快速學習;而矩陣 A 是隨機初始化的,更新時需要更謹慎。

實際驗證也表明,將矩陣 B 的學習率設置為矩陣 A 的 16 倍時,在像 RoBERTa 或 Llama - 7b 這樣的模型訓練中,不僅能使模型準確率有大約 2% 的小幅度提升,還能將訓練時間縮短一半。

3. VeRA:減少參數,借助隨機投影 “四兩撥千斤”

VeRA(Vector - based Random Matrix Adaptation)另辟蹊徑,它不再訓練矩陣 A 和 B,而是將它們初始化為共享的隨機權重矩陣,同時添加兩個新的向量 d 和 b 進行訓練。這一做法可能讓人疑惑:不訓練 A 和 B,它們能發揮什么作用呢?

一文讀遍 LoRA 家族:大語言模型高效訓練的"秘密武器"-AI.x社區

這背后涉及到隨機投影的研究。在大型神經網絡中,其實只有一小部分權重對模型在特定任務上的行為和性能起到關鍵作用。基于這個原理,VeRA 通過在隨機初始化的矩陣后添加投影向量 d 和 b,實現了與調整矩陣中稀疏參數類似的效果。而且,與原始 LoRA 不同,VeRA 中的矩陣 B 不再初始化為零,而是和矩陣 A 一樣隨機初始化。

以給 GPT - 3 引入秩為 16 的 LoRA 層為例,使用傳統 LoRA 方法會有 7550 萬個參數,而 VeRA 僅需 280 萬個參數,參數減少了 97%。在 GLUE 或 E2E 等常見基準測試中,VeRA 模型的性能僅略低于完全微調的模型或使用原始 LoRA 技術的模型。

4. LoRA - FA:凍結矩陣 A,簡化訓練

LoRA - FA(LoRA with Frozen - A)和 VeRA 的思路有些相似,它在初始化后凍結矩陣 A,讓 A 充當隨機投影的角色,只訓練矩陣 B。矩陣 B 的初始化方式和原始 LoRA 一樣,為零矩陣。通過這種方式,LoRA - FA 將需要訓練的參數數量減少了一半,同時在性能上與普通 LoRA 相當。

一文讀遍 LoRA 家族:大語言模型高效訓練的"秘密武器"-AI.x社區

5. LoRA - drop:智能篩選,減少不必要訓練

在神經網絡中,雖然添加 LoRA 矩陣比微調整個模型成本低,但添加的 LoRA 適配器越多,訓練成本依然會增加。LoRA - drop 就像是一個 “智能篩選器”,它引入一種算法來判斷哪些層值得用 LoRA 進行增強,哪些層則不需要。

一文讀遍 LoRA 家族:大語言模型高效訓練的"秘密武器"-AI.x社區

具體操作分兩步:第一步,先從數據集中采樣一個子集,用這個子集訓練 LoRA 適配器幾次,然后計算每個 LoRA 適配器的重要性,計算方式是B x A x x(其中 x 是輸入),這個結果代表了 LoRA 適配器對凍結層輸出的改變程度,值越大說明對凍結層行為影響越大,也就越重要;第二步,根據計算出的重要性,選擇最重要的 LoRA 層。可以通過設定閾值,累加重要性值達到閾值時確定所選層,也可以直接選取前 n 個重要性最高的層。確定好要訓練的層后,再用整個數據集對這些層進行完整訓練,其他層則固定為一組共享參數,不再訓練。實驗表明,與訓練所有 LoRA 層相比,LoRA - drop 在準確率上僅有微小變化,但由于減少了訓練參數數量,大大降低了計算時間。

6. AdaLoRA:動態調整矩陣秩,精準分配資源

AdaLoRA(Adaptive LoRA)的獨特之處在于能夠動態調整 LoRA 矩陣的秩。在實際應用中,并非所有層都需要添加相同規模的 LoRA 矩陣,有些層對模型性能的影響更大,需要更高的秩來進行更精細的調整。

AdaLoRA 通過考慮 LoRA 矩陣的奇異值來判斷其重要性。簡單來說,矩陣乘法可以看作是對向量應用一個函數,當我們想減少矩陣參數又希望函數行為改變盡可能小時,可以通過計算矩陣的特征值(奇異值是特征值的平方根)來決定保留哪些行。對于那些只捕獲少量方差、對函數貢獻不大的行,可以將其設置為零,從而縮小矩陣的秩。

與 LoRA - drop 不同,AdaLoRA 不是完全舍棄某些層的適配器,而是根據情況降低一些層適配器的秩,使得不同的適配器可以有不同的秩。并且,AdaLoRA 在計算時不會每次都顯式計算奇異值(因為計算成本高),而是通過奇異值分解來獲取奇異值。同時,它不僅考慮奇異值,還會結合損失對某些參數的敏感度來綜合判斷。在許多場景下,同樣的總參數數量,AdaLoRA 通過更合理地分配可訓練參數,比標準 LoRA 方法獲得了更好的分數。

一文讀遍 LoRA 家族:大語言模型高效訓練的"秘密武器"-AI.x社區

7. DoRA:分解權重,更接近微調效果

DoRA(Weight - Decomposed Low - Rank Adaption)基于一種新穎的思路:將每個矩陣分解為幅度和方向兩個部分。就像在二維空間中,一個向量既可以用坐標表示,也可以用長度(幅度)和角度(方向)來描述。DoRA 將這種分解方式應用于描述模型訓練步驟中權重更新的矩陣,無論是傳統微調訓練的模型還是使用 LoRA 適配器訓練的模型。

一文讀遍 LoRA 家族:大語言模型高效訓練的"秘密武器"-AI.x社區

研究發現,微調訓練和 LoRA 訓練在幅度和方向變化的關系上存在差異。微調訓練中,方向和幅度更新之間存在較小的負相關,而 LoRA 訓練中則是較強的正相關。DoRA 通過將預訓練矩陣 W 分解為大小為 1 x d 的幅度向量 m 和方向矩陣 V,分別對它們進行獨立訓練。方向矩陣 V 像標準 LoRA 方法一樣,通過 B x A 進行增強,幅度向量 m 則直接進行訓練。這樣,DoRA 在訓練時能夠更靈活地調整幅度和方向,使兩者關系更接近微調訓練。在多個基準測試中,DoRA 的準確率超過了 LoRA,這表明它通過分解權重更新,在使用 LoRA 較小參數空間的同時,實現了更接近微調的訓練效果。

一文讀遍 LoRA 家族:大語言模型高效訓練的"秘密武器"-AI.x社區

一文讀遍 LoRA 家族:大語言模型高效訓練的"秘密武器"-AI.x社區

8. Delta - LoRA:更新預訓練權重,突破性能瓶頸

在 LoRA 中,為了避免高昂的計算成本,預訓練矩陣 W 是不被調整的,這就導致了較小的矩陣 A 和 B 在學習下游任務時能力有限,使得 LoRA 訓練的模型性能往往低于微調模型。Delta - LoRA 則打破了這個限制,它提出通過 A x B 在連續時間步的梯度來更新矩陣 W 。

一文讀遍 LoRA 家族:大語言模型高效訓練的"秘密武器"-AI.x社區

一文讀遍 LoRA 家族:大語言模型高效訓練的"秘密武器"-AI.x社區

9. 總結

LoRA 及其一系列變體從不同維度對大語言模型的訓練進行了優化。

  • LoRA 通過添加低秩矩陣 A 和 B 開啟了高效訓練的大門;
  • LoRA + 優化學習率提升訓練效率;
  • VeRA 和 LoRA - FA 減少參數數量;
  • LoRA - drop 智能篩選訓練層;
  • AdaLoRA 動態調整矩陣秩;
  • DoRA 分解權重使訓練更接近微調;
  • Delta - LoRA 更新預訓練權重突破性能瓶頸。

本文轉載自?????鴻煊的學習筆記????,作者: 鴻煊

收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 国产亚洲精品美女久久久久久久久久 | 欧美八区| www.日韩 | 日本不卡一区二区三区 | 中文字幕在线免费 | 久久9视频 | 久久久久国产一区二区三区四区 | 91最新视频 | 中文字幕av中文字幕 | 国产精品亚洲精品 | 国产免费视频 | 中文字幕在线电影观看 | 精品国产一区二区三区性色av | 国产精品一区二区三区四区 | 日韩精品成人av | 亚洲免费视频网址 | www.亚洲| 欧美日韩国产一区二区三区 | 亚洲国产精品一区二区三区 | 国产一区 | 久草视频观看 | www.久草.com | 91久久久久久久久久久久久 | 超碰人人爱 | 国产999精品久久久久久 | 国产小视频在线 | 亚洲精彩视频在线观看 | 国产在线中文字幕 | 国产中文字幕在线 | 日本涩涩视频 | 鲁大师一区影视 | www.久草| 羞羞视频在线免费 | 99久久99久久精品国产片果冰 | 欧美性一区二区三区 | 亚洲精品美女视频 | 国产激情免费视频 | av影音| 成人免费一区二区 | 人人人干 | 久久精品国产免费高清 |