讓大模型不再「巨無霸」,這是一份最新的大模型引數高效微調綜述

机器之心發表於2024-04-28

圖片

AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com。

近期,大語言模型、文生圖模型等大規模 AI 模型迅猛發展。在這種形勢下,如何適應瞬息萬變的需求,快速適配大模型至各類下游任務,成為了一個重要的挑戰。受限於計算資源,傳統的全引數微調方法可能會顯得力不從心,因此需要探索更高效的微調策略。上述挑戰催生了引數高效微調(PEFT)技術在近期的快速發展。

為了全面總結 PEFT 技術的發展歷程並及時跟進最新的研究進展,最近,來自美國東北大學、加州大學 Riverside 分校、亞利桑那州立大學和紐約大學研究者們調研、整理並總結了引數高效微調(PEFT)技術在大模型上的應用及其發展前景,並總結為一篇全面且前沿的綜述。

圖片

論文連結:https://arxiv.org/pdf/2403.14608.pdf

PEFT 提供了一個高效的針對預訓練模型的下游任務適配手段,其透過固定大部分預訓練引數並微調極少數引數,讓大模型輕裝上陣,迅速適配各種下游任務,讓大模型變得不再「巨無霸」。

全文長達 24 頁,涵蓋了近 250 篇最新文獻,剛釋出就已經被史丹佛大學、北京大學等機構所引用,並在各平臺都有著不小的熱度。

圖片

圖片

具體來說,該綜述分別從 PEFT 演算法分類,高效 PEFT 設計,PEFT 跨領域應用,以及 PEFT 系統設計部署四大層面,對 PEFT 的發展歷程及其最新進展進行了全面且細緻的闡述。無論是作為相關行業從業者,或是大模型微調領域的初學者,該綜述均可以充當一個全面的學習指南。

圖片

1、PEFT 背景介紹

論文首先以最近大熱的 LLaMA 模型作為代表,分析並闡述了大語言模型(LLM)和其他基於 Transformer 的模型的架構和計算流程,並定義了所需的符號表示,以便於在後文分析各類 PEFT 技術。

圖片

圖片

此外,作者還概述了 PEFT 演算法的分類方法。作者根據不同的操作將 PEFT 演算法劃分為加性微調、選擇性微調、重引數化微調和混合微調。圖三展示了 PEFT 演算法的分類及各分類下包含的具體演算法名稱。各分類的具體定義將在後文詳細講解。

圖片

在背景部分,作者還介紹了驗證 PEFT 方法效能所使用的常見下游基準測試和資料集,便於讀者熟悉常見的任務設定。

2、PEFT 方法分類

作者首先給出了加性微調、選擇性微調、重引數化微調和混合微調的定義:

  • 加性微調透過在預訓練模型的特定位置新增可學習的模組或引數,以最小化適配下游任務時模型的可訓練的引數量。
  • 選擇性微調在微調過程中只更新模型中的一部分引數,而保持其餘引數固定。相較於加性微調,選擇性微調無需更改預訓練模型的架構。
  • 引數化微調透過構建預訓練模型引數的(低秩的)表示形式用於訓練。在推理時,引數將被等價的轉化為預訓練模型引數結構,以避免引入額外的推理延遲。

這三者的區分如圖四所示:

圖片

混合微調結合了各類 PEFT 方法的優勢,並透過分析不同方法的相似性以構建一個統一的 PEFT 架構,或尋找最優的 PEFT 超引數

接下來,作者對每個 PEFT 種類進一步細分:

A. 加性微調:

1)Adapter

Adapter 透過在 Transformer 塊內新增小型 Adapter 層,實現了引數高效微調。每個 Adapter 層包含一個下投影矩陣、一個啟用函式,和一個上投影矩陣。下投影矩陣將輸入特徵對映到瓶頸維度 r,上投影矩陣將瓶頸特徵對映回原始維度 d。

圖片

圖五展示了三種典型的 Adapter 層在模型中的插入策略。Serial Adapter 順序地插入到 Transformer 模組之後,Parallel Adapter 則並行地插入到 Transformer 模組旁。CoDA 是一種稀疏的 Adapter 方式,對於重要的 token,CoDA 同時利用預訓練 Transformer 模組和 Adapter 分支進行推理;而對於不重要的 token,CoDA 則僅使用 Adapter 分支進行推理,以節省計算開銷。

2)Soft Prompt

Soft Prompt 透過在輸入序列的頭部新增可學習的向量,以實現引數高效微調。代表性方法包括 Prefix-tuning 和 Prompt Tuning。Prefix-tuning 透過在每個 Transformer 層的鍵、值和查詢矩陣前面新增可學習的向量,實現對模型表示的微調。Prompt Tuning 僅僅在首個詞向量層插入可學習向量,以進一步減少訓練引數

3)Others

除了上述兩種分類,還有一些 PEFT 方法同樣也是在訓練過程引入新的引數

圖片

典型的兩種方法如圖六所示。(IA) 3 引入了三個縮放向量,用於調整鍵、值以及前饋網路的啟用值。SSF 則透過線性變換來調整模型的啟用值。在每一步操作之後,SSF 都會新增一個 SSF-ADA 層,以實現啟用值的縮放和平移。

B. 選擇性微調:

1)非結構化掩碼

這類方法透過在模型引數上新增可學習的二值掩碼來確定可以微調的引數。許多工作,如 Diff pruning、FishMask 和 LT-SFT 等,都專注於計算掩碼的位置。

2)結構化掩碼

非結構化掩碼對於掩碼的形狀沒有限制,但這就導致了其影響效率低下。因此,一些工作,如 FAR、S-Bitfit、Xattn Tuning 等均對掩碼的形狀進行了結構化的限制。兩者的區別如下圖所示:

圖片

C. 重引數化微調:

圖片

1)低秩分解

這類方法透過尋找預訓練權重矩陣的各種低維度重引數化形式,以代表整個引數空間進行微調。其中最為典型的方法為 LoRA,它透過新增兩個額外的上投影和下投影矩陣來構建原始模型引數的低秩表示用於訓練。在訓練後,額外引入的引數還可以被無縫的合併到預訓練權重中,避免引入額外推理開銷。DoRA 將權重矩陣解耦為模長和方向,並利用 LoRA 來微調方向矩陣。

2)LoRA 衍生方法

作者將 LoRA 的衍生方法分為了動態選擇 LoRA 的秩以及 LoRA 在各方面的提升。
LoRA 動態秩中,典型方法為 DyLoRA,其構造了一系列秩,用於在訓練過程中同時訓練,從而減少了用於尋找最優秩所耗費的資源。

LoRA 提升中,作者羅列了傳統 LoRA 在各個方面的缺陷以及對應的解決方案。

D. 混合微調:

這部分研究如何將不同 PEFT 技術融合進統一模型,並尋找一個最優的設計模式。此外,也介紹了一些採用神經架構搜尋(NAS)用以得到最優 PEFT 訓練超引數的方案。

3、高效 PEFT 設計

圖片

這部分,作者探討了提升 PEFT 效率的研究,重點關注其訓練和推理的延遲和峰值記憶體開銷。作者主要透過三個角度來描述如何提升 PEFT 的效率。分別是:

PEFT 剪枝策略:即將神經網路剪枝技術和 PEFT 技術結合,以進一步提升效率。代表工作有 AdapterDrop、SparseAdapter 等。

PEFT 量化策略:即透過降低模型精度來減少模型大小,從而提高計算效率。在與 PEFT 結合時,其主要難點是如何更好的兼顧預訓練權重以及新增的 PEFT 模組的量化處理。代表工作有 QLoRA、LoftQ 等。

記憶體高效的 PEFT 設計:儘管 PEFT 能夠在訓練過程中只更新少量引數,但是由於需要進行梯度計算和反向傳播,其記憶體佔用仍然較大。為了應對這一挑戰,一些方法試圖透過繞過預訓練權重內部的梯度計算來減少記憶體開銷,比如 Side-Tuning 和 LST 等。同時,另一些方法則嘗試避免在 LLM 內部進行反向傳播,以解決這一問題,例如 HyperTuning、MeZO 等。

4、PEFT 的跨領域應用

在這一章中,作者探討了 PEFT 在不同領域的應用,並就如何設計更優的 PEFT 方法以提升特定模型或任務的效能進行了討論。本節主要圍繞著各種大型預訓練模型展開,包括 LLM、視覺 Transformer(ViT)、視覺文字模型以及擴散模型,並詳細描述了 PEFT 在這些預訓練模型的下游任務適配中的作用。

在 LLM 方面,作者介紹瞭如何利用 PEFT 微調 LLM 以接受視覺指令輸入,代表性工作如 LLaMA-Adapter。此外,作者還探討了 PEFT 在 LLM 持續學習中的應用,並提及瞭如何透過 PEFT 微調 LLM 來擴充套件其上下文視窗。

針對 ViT,作者分別描述瞭如何利用 PEFT 技術使其適配下游影像識別任務,以及如何利用 PEFT 賦予 ViT 影片識別能力。

在視覺文字模型方面,作者針對開放集影像分類任務,介紹了許多應用 PEFT 微調視覺文字模型的工作。

對於擴散模型,作者識別了兩個常見場景:如何新增除文字外的額外輸入,以及如何實現個性化生成,並分別描述了 PEFT 在這兩類任務中的應用。

5、PEFT 的系統設計挑戰

在這一章中,作者首先描述了基於雲服務的 PEFT 系統所面臨的挑戰。主要包括以下幾點:

集中式 PEFT 查詢服務:在這種模式下,雲伺服器儲存著單個 LLM 模型副本和多個 PEFT 模組。根據不同 PEFT 查詢的任務需求,雲伺服器會選擇相應的 PEFT 模組並將其與 LLM 模型整合。

分散式 PEFT 查詢服務:在這種模式下,LLM 模型儲存在雲伺服器上,而 PEFT 權重和資料集儲存在使用者裝置上。使用者裝置使用 PEFT 方法對 LLM 模型進行微調,然後將微調後的 PEFT 權重和資料集上傳到雲伺服器。

圖片多 PEFT 訓練:挑戰包括如何管理記憶體梯度和模型權重儲存,以及如何設計一個有效的核心來批次訓練 PEFT 等。


針對上述系統設計挑戰,作者又列舉了三個詳細的系統設計案例,以更深入的分析這些挑戰與其可行的解決策略。

Offsite-Tuning:主要解決微調 LLM 時出現的資料隱私困境以及大量資源消耗的問題。

PetS:提供了一個統一的服務框架,針對 PEFT 模組提供統一的管理和排程機制。

圖片

PEFT 並行訓練框架:介紹了兩種並行 PEFT 訓練框架,包括 S-LoRA 和 Punica,以及他們如何提升 PEFT 的訓練效率。

6、未來研究方向

作者認為,儘管 PEFT 技術已經在很多下游任務取得了成功,但仍有一些不足需要在未來的工作中加以解決。

建立統一的評測基準儘管已存在一些 PEFT 庫,但缺乏一個全面的基準來公平比較不同 PEFT 方法的效果和效率。建立一個公認的基準將促進社群內的創新和合作。

增強訓練效率:PEFT 在訓練過程中,其可訓練引數量並不總是與訓練過程中的計算和記憶體節省一致。如高效 PEFT 設計章節所述,未來的研究可以進一步探索最佳化記憶體和計算效率的方法。

探索擴充套件定律:許多 PEFT 技術都是在較小的 Transformer 模型上實現的,而其有效性不一定適用於如今的各種大引數量模型。未來的研究可以探索如何適應大型模型的 PEFT 方法。

服務更多模型和任務:隨著更多大型模型的出現,如 Sora、Mamba 等,PEFT 技術可以解鎖新的應用場景。未來的研究可以關注為特定模型和任務設計 PEFT 方法。

增強資料隱私:在服務或微調個性化 PEFT 模組時,中心化系統可能面臨資料隱私問題。未來的研究可以探索加密協議來保護個人資料和中間訓練 / 推理結果。

PEFT 與模型壓縮:模型壓縮技術如剪枝量化對 PEFT 方法的影響尚未得到充分研究。未來的研究可以關注壓縮後的模型如何適應 PEFT 方法的效能。

相關文章