自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!

發(fā)布于 2024-8-5 09:49
瀏覽
0收藏

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

文章鏈接:https://arxiv.org/pdf/2407.05000

亮點直擊

  • 提出了LoRA-GA,一種新穎的 LoRA 初始化方法,通過近似低秩矩陣的梯度與全權(quán)重矩陣的梯度來加速收斂。
  • 確定了在非零初始化下的縮放因子,該因子確保適配器輸出的方差不受適配器的秩和輸入維度的影響。
  • 通過廣泛的實驗驗證了 LoRA-GA,證明了與原版 LoRA 相比,其性能顯著提升且收斂速度更快。具體而言,LoRA-GA 在 T5-Base 的 GLUE 子集上比 LoRA 提高了 5.69%,在 Llama 2-7B 上在 MT-bench、GSM8K 和 HumanEval 上分別提高了 0.34%、11.52% 和 5.05%,同時實現(xiàn)了高達 2-4 倍的收斂速度提升。


微調(diào)大規(guī)模預訓練模型在計算和內(nèi)存成本方面是非常昂貴的。LoRA 作為最流行的參數(shù)高效微調(diào) (PEFT) 方法之一,通過微調(diào)一個參數(shù)顯著更少的輔助低秩模型,提供了一種成本有效的替代方案。盡管 LoRA 顯著減少了每次迭代的計算和內(nèi)存需求,但大量實證證據(jù)表明,與完全微調(diào)相比,它的收斂速度明顯較慢,最終導致總體計算增加且測試性能往往較差。本文對 LoRA 的初始化方法進行了深入研究,并表明細致的初始化(不改變架構(gòu)和訓練算法)可以顯著提高效率和性能。本文引入了一種新穎的初始化方法,LoRA-GA(帶梯度近似的低秩適應),該方法在第一步將低秩矩陣乘積的梯度與完全微調(diào)的梯度對齊。廣泛實驗表明,LoRA-GA 達到了與完全微調(diào)相當?shù)氖諗克俣龋ㄒ虼孙@著快于原版 LoRA 及其他各種最新改進方法),同時達到相當或更好的性能。例如,在 T5-Base 的 GLUE 數(shù)據(jù)集子集上,LoRA-GA 平均比 LoRA 提高了 5.69%。在更大的模型如 Llama 2-7B 上,LoRA-GA 在 MT-bench、GSM8K 和 Human-eval 上分別表現(xiàn)出 0.34%、11.52% 和 5.05% 的性能提升。此外,與原版 LoRA 相比,收斂速度提高了 2-4 倍,驗證了其在加速收斂和提升模型性能方面的有效性。

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

方法

本節(jié)分析了 LoRA 的初始化并介紹了LoRA-GA。它包括兩個關(guān)鍵組件,分別檢查每個組件,并介紹它們在 LoRA-GA 中的整合。

  1. 近似全微調(diào)的梯度方向
  2. 確保初始化過程中的秩和Scale穩(wěn)定性。

原版 LoRA 回顧

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)


梯度近似

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

Scale穩(wěn)定性

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

LoRA-GA 初始化

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

實驗

本節(jié)中,評估了 LoRA-GA 在各種基準數(shù)據(jù)集上的性能。首先,使用 T5-Base 模型 在 GLUE 數(shù)據(jù)集 的一個子集上評估自然語言理解 (NLU) 能力。隨后,使用 Llama 2-7B 模型評估對話、數(shù)學推理和編碼能力。最后,進行消融研究以證明本文方法的有效性。


Baselines 將 LoRA-GA 與幾個基線進行比較,以展示其有效性:

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

自然語言理解實驗

模型與數(shù)據(jù)集 在 GLUE 基準的多個數(shù)據(jù)集上微調(diào) T5-Base 模型,包括 MNLI、SST-2、CoLA、QNLI 和 MRPC。使用準確率作為主要指標,在開發(fā)集上評估性能。


實現(xiàn)細節(jié) 使用提示微調(diào) (prompt tuning) 方法對 T5-Base 模型進行 GLUE 基準的微調(diào)。這涉及將標簽轉(zhuǎn)換為令牌(例如,“positive” 或 “negative”),并使用這些令牌的歸一化概率作為分類的預測標簽概率。每個實驗使用 3 個不同的隨機種子進行,并報告平均性能。


結(jié)果如下表 1 所示,LoRA-GA 一直優(yōu)于原版 LoRA 和其他基線方法,取得了與完全微調(diào)相當?shù)男阅?。特別是,LoRA-GA 在較小的數(shù)據(jù)集如 CoLA 和 MRPC 上表現(xiàn)突出,展示了其在有限訓練數(shù)據(jù)下更快收斂和有效利用的能力。

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

大語言模型實驗

模型與數(shù)據(jù)集 為了評估 LoRA-GA 的可擴展性,在三個任務上訓練了 Llama 2-7B 模型:對話、數(shù)學和代碼。

  1. 對話 (Chat):在 WizardLM的 52k 子集上訓練模型,過濾掉以“作為 AI”或“對不起”開頭的回應。在 MT-Bench 數(shù)據(jù)集上測試模型,該數(shù)據(jù)集由 80 個多輪問題組成,旨在評估大語言模型的多個方面。回答的質(zhì)量由 GPT-4 進行評判,報告第一次回答的得分。
  2. 數(shù)學 (Math):在 MetaMathQA 的 100k 子集上訓練模型,這個數(shù)據(jù)集從其他數(shù)學指令調(diào)整數(shù)據(jù)集(如 GSM8K和 MATH)中引導而來,具有更高的復雜性和多樣性。選擇從 GSM8K 訓練集中引導的數(shù)據(jù)并應用過濾。準確率在 GSM8K 評估集上報告。
  3. 代碼 (Code):在 Code-Feedback的 100k 子集上訓練模型,這是一個高質(zhì)量的代碼指令數(shù)據(jù)集,去除代碼塊后的解釋。模型在 HumanEval上進行測試,該數(shù)據(jù)集包含 180 個 Python 任務,報告 PASS@1 指標。


實現(xiàn)細節(jié) 本文的模型使用標準的監(jiān)督學習進行語言建模訓練。輸入提示的損失設置為零。每個實驗使用 3 個不同的隨機種子進行,并報告這些運行的平均性能。


結(jié)果 結(jié)果如下表 2 所示,表明 LoRA-GA 優(yōu)于或與其他方法相當,包括完全微調(diào)。具體而言,LoRA-GA 在 GSM8K 和 Human-eval 數(shù)據(jù)集上表現(xiàn)出色,突顯了其在處理具有更高復雜性和多樣性的任務方面的有效性。在 MT-Bench 上,LoRA-GA 也展現(xiàn)了競爭力的性能,盡管略微落后于 DoRA。然而,LoRA-GA 在參數(shù)較少且大約僅需 DoRA 70% 的訓練時間的情況下實現(xiàn)了這些性能。此外,如下圖 2(左)所示,本文的方法在收斂速率上顯著快于原版 LoRA,其收斂速率與完全微調(diào)相當。

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

影響秩

將 GSM8K 和 Human-eval 數(shù)據(jù)集上的性能差異(與完全微調(diào)相比)主要歸因于低秩近似所帶來的表示限制。為了解決這個問題,嘗試了更高的秩設置,具體為秩=32 和秩=128。發(fā)現(xiàn)表明,LoRA-GA 在不同秩設置下保持穩(wěn)定,并且在某些情況下,甚至超越了完全微調(diào)的性能。如圖 2(左)所示,初始化方法下更高的秩也導致了與完全微調(diào)相似的損失曲線。

消融研究

研究者們進行了消融研究,以評估 LoRA-GA 中非零初始化、穩(wěn)定輸出和梯度近似的貢獻,使用了五種不同的實驗設置。每個設置的詳細信息見下表 3。

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

消融結(jié)果

結(jié)果如下表 4 和表 6 所示。對于小型和大型模型,觀察到,僅將 LoRA 的初始化更改為高斯初始化并未帶來性能提升,甚至可能導致輕微的性能下降。然而,當與“+SO”(穩(wěn)定輸出)或“+GA”(梯度近似)結(jié)合使用時,性能優(yōu)于 LoRA。LoRA-GA,結(jié)合了這兩種技術(shù),表現(xiàn)優(yōu)于其他方法。如上圖 2(左)和下圖 4 所示,+SO 和 +GA 也提高了收斂速度,并且當兩者結(jié)合時,訓練損失曲線甚至更接近完全微調(diào)的曲線。這表明,輸出穩(wěn)定性和梯度近似都對 LoRA 的改進有所貢獻,各自解決了模型性能的不同方面。

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

內(nèi)存成本和運行時間

研究者們在單個 RTX 3090 24GB GPU、128 核 CPU 和 256GB RAM 上對 LoRA-GA 進行了基準測試。如下表 5 所示,本文的新方法的內(nèi)存消耗不超過 LoRA 訓練時的內(nèi)存消耗,表明沒有額外的內(nèi)存需求。此外,與后續(xù)的微調(diào)過程相比,這項操作的時間成本相對微不足道。例如,在 Code-Feedback 任務中,訓練過程大約花費了 10 小時,而初始化僅需約 1 分鐘,這一時間差異可以忽略不計。

如何拯救LoRA初始化?LoRA-GA:性能顯著提升+收斂速度更快!-AI.x社區(qū)

結(jié)論

本文提出了一種用于LoRA的新初始化方案,旨在加速其收斂。通過研究 LoRA 的初始化方法和更新過程,開發(fā)了一種新初始化方法——LoRA-GA,該方法從第一步起就將低秩矩陣乘積的梯度近似為完全微調(diào)的梯度。


通過大量實驗,展示了 LoRA-GA 能夠?qū)崿F(xiàn)與完全微調(diào)相當?shù)氖諗克俣龋瑫r提供類似或更優(yōu)的性能。由于 LoRA-GA 僅修改了 LoRA 的初始化,而未改變架構(gòu)或訓練算法,它提供了一種高效且易于實施的方法。此外,它還可以與其他 LoRA 變體結(jié)合使用。例如,ReLoRA 定期將適配器合并到凍結(jié)權(quán)重 W 中,這可能使 LoRA-GA 在更多步驟中展現(xiàn)其優(yōu)勢。將此作為一個有趣的未來研究方向。


本文轉(zhuǎn)自 AI生成未來 ,作者:Shaowen Wang


原文鏈接:??https://mp.weixin.qq.com/s/JfgiVue2-oSZPQb3Qu72WQ??


已于2024-8-5 09:50:34修改
收藏
回復
舉報
回復
相關(guān)推薦