目錄
LoRA
SVD:簡單的數學
SVF
更多SVD 數學
PiSSA
首頁 科技週邊 人工智慧 您是否仍在使用Lora來微調LLM?

您是否仍在使用Lora來微調LLM?

Mar 14, 2025 am 10:34 AM

LoRA (低秩自適應- arxiv.org/abs/2106.09685) 是一種經濟高效微調大型語言模型(LLM) 的流行技術。但2024 年湧現出大量新的參數高效微調技術,各種LoRA 替代方案層出不窮:SVF、SVFT、MiLoRA、PiSSA、LoRA-XS ?…… 其中大多數都基於我非常喜歡的一種矩陣技術:奇異值分解(SVD)。讓我們深入探討。

LoRA

LoRA 的最初見解是,微調模型的所有權重是過度操作。相反,LoRA 凍結模型,只訓練一對小的低秩“適配器”矩陣。請參見下面的插圖(其中W 是Transformer LLM 中任何權重矩陣)。

Are You Still Using LoRA to Fine-Tune Your LLM?由於需要計算和存儲的梯度要少得多,因此可以節省內存和計算週期。例如,這是一個使用LoRA 微調以模擬海盜說話方式的Gemma 8B 模型:只有2200 萬個參數可訓練,85 億個參數保持凍結狀態。

Are You Still Using LoRA to Fine-Tune Your LLM? LoRA 非常流行。它甚至已作為單行API 進入Keras 等主流ML 框架:

 <code>gemma.backbone.enable_lora(rank=8)</code>
登入後複製

但是LoRA 是最好的嗎?研究人員一直在努力改進該公式。實際上,選擇較小的“適配器”矩陣的方法有很多種。由於它們大多數巧妙地利用了矩陣的奇異值分解(SVD),讓我們暫停一下,進行一些數學運算。

SVD:簡單的數學

SVD 是理解矩陣結構的一個好工具。該技術將矩陣分解為三個:W = USV T ,其中U 和V 是正交的(即基變換),S 是排序的奇異值的對角矩陣。這種分解總是存在的。

Are You Still Using LoRA to Fine-Tune Your LLM?在“教科書式”SVD 中,U 和V 是方陣,而S 是一個矩形矩陣,對角線上是奇異值,後面是零。實際上,您可以使用方陣S 和矩形U 或V——參見圖片——截斷的部分只是乘以零。這種“經濟型”SVD 是常用庫(例如numpy.linalg.svd)中使用的。

那麼我們如何利用這一點更有效地選擇要訓練的權重呢?讓我們快速瀏覽五種最近基於SVD 的低秩微調技術,並附帶註釋說明。

SVF

LoRA 最簡單的替代方法是對模型的權重矩陣使用SVD,然後直接微調奇異值。奇怪的是,這是最新的技術,稱為SVF,發表在Transformers² 論文中(arxiv.org/abs/2501.06252v2)。

Are You Still Using LoRA to Fine-Tune Your LLM? SVF 在參數方面比LoRA 經濟得多。此外,它使微調模型具有可組合性。有關這方面的更多信息,請參見此處我的Transformers² 說明,但是組合兩個SVF 微調模型只是一個加法運算:

Are You Still Using LoRA to Fine-Tune Your LLM? SVFT

如果您需要更多可訓練參數,SVFT 論文(arxiv.org/abs/2405.19597) 探討了多種方法,首先是在對角線上添加更多可訓練權重。

Are You Still Using LoRA to Fine-Tune Your LLM?它還評估了其他多種替代方案,例如將它們隨機分散到“M”矩陣中。

Are You Still Using LoRA to Fine-Tune Your LLM?更重要的是,SVFT 論文證實,擁有比對角線更多的可訓練值是有用的。請參見下面的微調結果。

Are You Still Using LoRA to Fine-Tune Your LLM?接下來是幾種將奇異值分成兩組“大”和“小”的技術。但在我們繼續之前,讓我們暫停一下,進行更多SVD 數學運算。

更多SVD 數學

SVD 通常被視為分解成三個矩陣W=USV T ,但它也可以被認為是許多秩1 矩陣的加權和,由奇異值加權:

Are You Still Using LoRA to Fine-Tune Your LLM?如果您想證明這一點,請一方面使用USV T形式和矩陣乘法的公式來表達單個矩陣元素W jk ,另一方面使用Σ s i u i v i T形式,使用S 是對角線的事實進行簡化,並註意它是一樣的。

在此表示中,很容易看出您可以將總和分成兩部分。並且由於您可以始終對奇異值進行排序,因此您可以將其分成“大”和“小”奇異值。

回到三矩陣形式W=USV T ,這就是分割的樣子:

Are You Still Using LoRA to Fine-Tune Your LLM?基於此公式,兩篇論文探討瞭如果您只調整大的奇異值或只調整小的奇異值會發生什麼,即PiSSA 和MiLoRA。

PiSSA

PiSSA(主奇異值和奇異向量自適應,arxiv.org/abs/2404.02948)聲稱您應該只調整大的主值。機制如下所示:

Are You Still Using LoRA to Fine-Tune Your LLM?摘自論文:“PiSSA 旨在通過調整主要奇異分量來近似完全微調,這些分量被認為捕捉了權重矩陣的本質。相反,MiLoRA 旨在適應新任務,同時最大限度地保留基礎模型的知識。”

PiSSA 論文還有一個有趣的發現:完全微調容易過度擬合。使用低秩微調技術,您可能會在絕對值上獲得更好的結果。

Are You Still Using LoRA to Fine-Tune Your LLM? MiLoRA

另一方面,MiLoRA(次要奇異分量LoRA arxiv.org/abs/2406.09044)聲稱您應該只調整小的主值。它使用與PiSSA 類似的機制:

Are You Still Using LoRA to Fine-Tune Your LLM?令人驚訝的是,MiLoRA 似乎佔據了上風,至少在微調數學數據集時是這樣,這些數據集可能與原始預訓練相當一致。可以說,PiSSA 應該更適合將LLM 的行為從其預訓練中進一步彎曲。

Are You Still Using LoRA to Fine-Tune Your LLM? LoRA-XS

最後,我想提到LoRA-XS (arxiv.org/abs/2405.17604)。與PiSSA 非常相似,但機制略有不同。它還顯示出比LoRA 少得多的參數也能獲得良好的結果。

Are You Still Using LoRA to Fine-Tune Your LLM?該論文提供了數學解釋,說明在兩種情況下這種設置是“理想的”:

  • 從SVD 中截斷底部的主要值仍然可以很好地近似權重矩陣
  • 微調數據分佈接近預訓練數據分佈

在我看來,兩者都值得懷疑,所以我不會詳細介紹數學。一些結果:

Are You Still Using LoRA to Fine-Tune Your LLM?根本假設似乎是奇異值分為“大”和“小”兩種,但事實是這樣嗎?我在Colab 上快速檢查了Gemma2 9B。底線:99% 的奇異值在0.1 – 1.1 範圍內。我不確定將它們分成“大”和“小”是否有意義。

Are You Still Using LoRA to Fine-Tune Your LLM?結論

還有許多其他參數高效的微調技術。值得一提的是:

  • DoRA (arxiv.org/abs/2402.09353),它將權重分成大小和方向,然後調整這些權重。
  • AdaLoRA (arxiv.org/abs/2303.10512),它具有復雜的機制,可以為給定的可訓練權重預算找到最佳調整秩。

我的結論:為了超越具有10 倍參數的LoRA 標準,我喜歡Transformers² 的SVF 的簡單性。如果您需要更多可訓練權重,SVFT 是一種簡單的擴展。兩者都使用所有奇異值(全秩,無奇異值修剪),並且仍然很便宜?。祝您微調愉快!

注意:所有插圖均由作者創作或從arxiv.org 論文中提取,用於評論和討論。

以上是您是否仍在使用Lora來微調LLM?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1675
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
如何使用AGNO框架構建多模式AI代理? 如何使用AGNO框架構建多模式AI代理? Apr 23, 2025 am 11:30 AM

在從事代理AI時,開發人員經常發現自己在速度,靈活性和資源效率之間進行權衡。我一直在探索代理AI框架,並遇到了Agno(以前是Phi-

OpenAI以GPT-4.1的重點轉移,將編碼和成本效率優先考慮 OpenAI以GPT-4.1的重點轉移,將編碼和成本效率優先考慮 Apr 16, 2025 am 11:37 AM

該版本包括三種不同的型號,GPT-4.1,GPT-4.1 MINI和GPT-4.1 NANO,標誌著向大語言模型景觀內的特定任務優化邁進。這些模型並未立即替換諸如

如何在SQL中添加列? - 分析Vidhya 如何在SQL中添加列? - 分析Vidhya Apr 17, 2025 am 11:43 AM

SQL的Alter表語句:動態地將列添加到數據庫 在數據管理中,SQL的適應性至關重要。 需要即時調整數據庫結構嗎? Alter表語句是您的解決方案。本指南的詳細信息添加了Colu

Andrew Ng的新簡短課程 Andrew Ng的新簡短課程 Apr 15, 2025 am 11:32 AM

解鎖嵌入模型的力量:深入研究安德魯·NG的新課程 想像一個未來,機器可以完全準確地理解和回答您的問題。 這不是科幻小說;多虧了AI的進步,它已成為R

火箭發射模擬和分析使用Rocketpy -Analytics Vidhya 火箭發射模擬和分析使用Rocketpy -Analytics Vidhya Apr 19, 2025 am 11:12 AM

模擬火箭發射的火箭發射:綜合指南 本文指導您使用強大的Python庫Rocketpy模擬高功率火箭發射。 我們將介紹從定義火箭組件到分析模擬的所有內容

Google揭示了下一個2025年雲上最全面的代理策略 Google揭示了下一個2025年雲上最全面的代理策略 Apr 15, 2025 am 11:14 AM

雙子座是Google AI策略的基礎 雙子座是Google AI代理策略的基石,它利用其先進的多模式功能來處理和生成跨文本,圖像,音頻,視頻和代碼的響應。由DeepM開發

您可以自己3D打印的開源人形機器人:擁抱面孔購買花粉機器人技術 您可以自己3D打印的開源人形機器人:擁抱面孔購買花粉機器人技術 Apr 15, 2025 am 11:25 AM

“超級樂於宣布,我們正在購買花粉機器人,以將開源機器人帶到世界上,” Hugging Face在X上說:“自從Remi Cadene從Tesla加入我們以來,我們已成為開放機器人的最廣泛使用的軟件平台。

DeepCoder-14b:O3-Mini和O1的開源競賽 DeepCoder-14b:O3-Mini和O1的開源競賽 Apr 26, 2025 am 09:07 AM

在AI社區的重大發展中,Agentica和AI共同發布了一個名為DeepCoder-14B的開源AI編碼模型。與OpenAI等封閉源競爭對手提供代碼生成功能

See all articles