博客專欄

EEPW首頁 > 博客 > 揭秘大模型背后的機理,清華49頁長文全方位分析參數高效微調方案Delta Tuning

揭秘大模型背后的機理,清華49頁長文全方位分析參數高效微調方案Delta Tuning

發(fā)布人:機器之心 時間:2022-04-09 來源:工程師 發(fā)布文章

本文中,包括劉知遠、唐杰、孫茂松等在內來自清華大學的研究者對大模型的參數高效微調進行了全方位的理論和實驗分析。


圖片


預訓練語言模型 (PLM) 已經毫無疑問地成為各種 NLP 任務的基礎架構,而且在 PLM 的發(fā)展中,呈現出了一個似乎不可逆的趨勢:即模型的規(guī)模越來越大。更大的模型不僅會在已知任務上取得更好的效果,更展現出了完成更復雜的未知任務的潛力。然而,更大的模型也在應用上面臨著更大的挑戰(zhàn),傳統(tǒng)方法對超大規(guī)模的預訓練模型進行全參數微調的過程會消耗大量的 GPU 計算資源與存儲資源,巨大的成本令人望而卻步。


這種成本也造成了學術界中的一種「慣性」,即研究者僅僅在中小規(guī)模模型上驗證自己的方法,而習慣性地忽略大規(guī)模模型。


在近期論文《Delta Tuning: A Comprehensive Study of Parameter Efficient Methods for Pre-trained Language Models》中,來自清華大學和北京智源人工智能研究院的研究者隨機選取了 1000 篇來自最近五個 NLP 會議的論文,發(fā)現使用預訓練模型已經成為了研究的基本范式,但涉及大模型的卻寥寥無幾(如下圖 1 所示)。


圖片圖 1:在 1000 篇隨機挑選的論文中,使用預訓練模型的統(tǒng)計分布。
在這樣的背景下,一種新的模型適配方案——參數高效(Parameter-efficient)方法逐漸受到關注,與標準全參數微調相比,這些方法僅微調模型參數的一小部分,而其余部分保持不變,大大降低了計算和存儲成本,同時還有著可以媲美全參數微調的性能。研究者認為,這些方法本質上都是在一個「增量」(Delta Paremters)上進行調整,因此將它命名為 Delta Tuning
圖片

  • 論文地址:https://arxiv.org/pdf/2203.06904.pdf
  • OpenDelta工具包:https://github.com/thunlp/OpenDelta


研究者定義和描述了 Delta Tuning 問題,并通過一個統(tǒng)一的框架對以往的研究進行梳理回顧。在該框架中,現有 Delta Tuning 方法可以被分為三組:增量式(Addition-based)、指定式(Specification-based)和重參數化(Reparameterization)的方法。
除去實踐意義之外,研究者認為它還具有非常重要的理論意義,Delta Tuning 在某種程度上昭示著大模型的背后機理,有助于人們進一步發(fā)展面向大模型甚至深度神經網絡的理論。為此,他們從優(yōu)化和最優(yōu)控制兩個角度,提出理論框架去討論 Delta Tuning,以指導后續(xù)的結構和算法設計。
此外,研究者對代表性方法進行了全面的實驗對比,并在超過 100 個 NLP 任務的結果展示了不同方法的綜合性能比較。實驗結果涵蓋了對 Delta Tuning 的性能表現、收斂表現、高效性表現、Power of Scale、泛化表現、遷移性表現的研究分析。
他們還開發(fā)了一個開源工具包 OpenDelta,使從業(yè)者能夠高效、靈活地在 PLM 上實現 Delta Tuning。
圖片

Delta Tuning:方法與分析


給定一個預訓練模型圖片和訓練數據 D,PLM 適配的目標是生成一個模型的參數為圖片。將圖片定義為在原始模型圖片之上的操作。對于傳統(tǒng)的全參數微調來說,有圖片,其中圖片圖片中所有參數相對于訓練數據的更新值。在 Delta Tuning 中,圖片則是指修改少量參數。經驗上來說,全參數微調圖片, 而 Delta Tuning 則有圖片。因此可以依據調整的參數形式和結構,將參數高效的 Delta Tuning 劃分為三種策略,并且將之前的方法進行梳理:

增量式(Addition-based)方法


這類方法引入在原始模型中不存在的額外可訓練神經模塊或參數。在這類方法中,依據上述的定義,我們有圖片圖片。常見的增量式方法包括 Adapter-Tuning、Prefix Tuning、Prompt Tuning 等等。它們不約而同地將小規(guī)模的神經模塊或者可調參數插入到模型中,并且通過只微調這一小部分參數來達到模型高效適配的效果。其中 Adapter-tuning 是這類方法的開創(chuàng)性工作,它證明僅僅在每一層添加一個簡單的神經網絡,就可以在很多任務上媲美全參數微調。
同時,Adapter 還彰顯了它在多任務和多語言場景下的潛力。Prefix-tuning 和 Prompt Tuning 是最近非?;馃岬?Delta Tuning 算法,它們將一些可調的向量插入到輸入層或者表示層來進行微調。其中,Prompt Tuning 可以視為 Prefix Tuning 的簡化版,即只在輸入層添加 Soft Prompt。這種做法有一個非常大的好處,就是不用修改模型內部的結構,同時,隨著模型參數量增大到 100 億,它也被證明可以在一些數據上達打到和全參數微調相當的效果。但這類方法也面臨著很大的優(yōu)化問題,實驗證明,它的優(yōu)化效率往往比其他微調范式更低,收斂時間更長,并且在中小型模型上表現不佳。
圖片圖3:Delta Tuning的形式化表述。

指定式(Specification-based)方法


這類方法指定原始模型中的特定的某些參數變得可訓練,其他參數則被凍結。在這類方法中可以將訓練參數集合表示為圖片,此時更新的參數表示為圖片。當圖片時,圖片是從圖片圖片的增量值,否則圖片。
指定式的方法不會在模型中引入任何新參數,也不尋求改變模型的結構,而是直接指定要優(yōu)化的部分參數。這個想法很簡單,但效果卻出奇的好,例如,一些方法只會微調 BERT 和 RoBERTa 最后一層的四分之一,并且可以產生全參數微調的 90% 的性能。
一個工作 BitFit 指出,僅通過優(yōu)化模型內部的偏項并凍結其他參數,該模型仍然可以在多個基準測試中重現超過 95% 的全參數微調性能。BitFit 的經驗結果還表明,即使使用少量隨機參數集進行 Delta Tuning(這顯然會降低性能),該模型仍然可以在 GLUE 基準測試中產生合格的結果。另一個有價值的觀察是,不同的偏置項在模型適應期間可能具有不同的功能。
除了手動或啟發(fā)式地對要更新的參數進行指定之外,還可以去學習這樣的指定。Diff Pruning 就是其中的一個代表性工作,它將微調后的模型參數圖片重參數化為預訓練參數圖片和一個差異向量的總和圖片,即圖片。
這時關鍵的問題就是鼓勵差異向量盡可能稀疏,這項工作通過對圖片可微近似來正則化向量,以實現稀疏的目標。實際上,由于在學習階段引入了要優(yōu)化的新參數,Diff Pruning 比全參數微調占用更多的 GPU 內存,這可能會在大型 PLM 上的應用中面臨挑戰(zhàn)。掩碼方法(Masking)為 PLM 學習選擇性掩碼,僅更新特定任務的臨界權重。為了學習這樣一組掩碼,引入了與模型權重相關的二進制矩陣,其中每個值由閾值函數生成。在反向傳播期間,矩陣由噪聲估計器更新。

重參數化(Reparameterization-based)方法


這類方法通過轉換將現有的優(yōu)化過程重參數化為參數有效的形式。將要重新參數化的參數集表示為圖片,并假設每個圖片都用新參數圖片來進行表示,然后更新的參數表示為圖片,其中圖片存在圖片。
簡單來說,重參數化方法往往基于一類相似的假設:即預訓練模型的適配過程本質上是低秩或者低維的。因此可以將這個過程等效為參數高效的范式。
例如,我們可以假設模型適配具有一個「本征維度」,通過將微調過程重參數化為一個低維子空間的優(yōu)化過程,可以僅僅通過微調子空間內的參數就達到令人滿意的性能。從這個意義上說,PLM 可以作為通用的壓縮框架,將優(yōu)化復雜度從高維壓縮到低維。一般來說,較大的 PLM 通常具有較小的內在維度,并且預訓練過程隱含地減少了 PLM 的內在維度。受這些觀察的啟發(fā),重參數化的 Delta Tuning 方法也被提出,該方法使用低維代理參數對(部分)原始模型參數進行重參數化,僅優(yōu)化代理參數,從而降低計算和內存成本。
另一個著名的工作 LoRA 則假設模型調整期間權重的變化具有較低的「本征秩」?;谶@一假設,他們提出了針對自注意模塊中原始權重矩陣的變化優(yōu)化低秩分解。在部署中,優(yōu)化的低秩分解矩陣相乘以獲得自注意力權重矩陣的增量。通過這種方式,LoRA 可以匹配 GLUE 基準上的微調性能。他們展示了該方法在各種規(guī)模和架構的 PLM ,甚至 GPT3 上的有效性。
這類低維假設不僅適用于單任務的適配,還可以將其擴充到多任務的場景。IPT 假設對于多個任務存在著同一個低維本征子空間,而僅僅調整子空間的參數就可以同時在 100 多個 NLP 任務上達到令人滿意的效果。此方法沒有使用隨機子空間,而是試圖找到一個由多個 NLP 任務共享的公共子空間。實驗表明,在一個 250 維的低維子空間內,僅僅通過調整 250 個參數,就可以在 100 多個 NLP 任務上復現 Prompt Tuning 超過 80% 的性能。
圖片重參數化方法往往基于類似的低維或低秩假設。

Delta Tuning的理論視角


Delta Tuning 本質上是否有共通之處?研究者認為,Delta Tuning 方法不僅具有很高的實用價值,更具有深遠的理論意義,它們似乎都在不約而同地證明一件事情:即大模型的適配過程似乎是一個非常低消耗的過程(相比于預訓練),它可以通過非常少的數據和非常少的參數調整來完成。Delta Tuning 的成功啟發(fā)研究人員去進一步地探索模型適配背后的理論框架,本文提出了優(yōu)化和最優(yōu)控制兩個視角的框架去對 Delta Tuning 進行理論層面的闡釋。

優(yōu)化角度


Delta Tuning 試圖通過微調一小部分參數來達到在原大規(guī)模語言模型上做全參數微調的效果,并減少內存占用。從優(yōu)化角度,研究者分析 Delta Tuning 的效果并討論了在低維假設下的一些 Delta Tuning 方法的設計。使用 Delta Tuning 后,目標函數及其所依賴的參數都可能會發(fā)生改變。
對新的目標函數,僅優(yōu)化其與 Delta Tuning 有關的參數,如果初值足夠好,在一定假設意義下模型的性能不會有大的損害。但是為了確保 Delta Tuning 的有效性,有必要去開發(fā)問題的結構來設計這個新的目標函數。其出發(fā)點是利用問題內在的低維特性。一般而言,在實踐中有兩種思路被證明是有用的:

  • 在特定的低維的子空間內尋找解向量;
  • 在特定的低維的函數空間內近似目標函數。

因為對深度學習中的大部分應用,目標函數通常有很多局部極小值點,所以當初值接近一個局部極小值點時,僅僅個別搜索方向是重要的,或者目標函數在此鄰域能被更簡單的函數近似表示。因此這兩種優(yōu)化思路都有望取得較好效果,并且對低維的參數進行優(yōu)化通常也更為有效和穩(wěn)定。
解空間的低維表示。已有研究表明預訓練語言模型的參數優(yōu)化遵循低維的流形 (Aghajanyan et al., 2021), 因此可以將此流形嵌入到解向量的一個低維的表示上。如果這個低維表示是精確的,那么在原模型上的全參數微調等價于在此低維參數上的微調。如果低維表示存在誤差,那么當預訓練模型的目標函數和新的目標函數滿足 Lipschitz 連續(xù)性,最終全參數微調和低維參數微調的效果差異也是可控的。
一些 Delta Tuning 方法得益此設計思路。比如,在 LoRA (Hu et al., 2021a) 中,權重矩陣采用低秩近似;在 BitFit (Zaken et al., 2021) 和 diff pruning (Guo et al., 2021),只有一些選定的參數被優(yōu)化。這些方法本質都是在更小的關于解向量的子空間里更新參數,最終能取得較好的效果。
函數空間的低維表示。另一種做法是直接設計原目標函數的一個近似函數,并期望此函數近似的誤差較小。這樣的函數近似可以是增量網絡 (Houlsby et al., 2019) 或增廣特征空間 (Lester et al., 2021)。因為通常更關心語言模型的最終效果,因此直接考慮對目標函數本身的近似效果是合理的。
在實踐中構建這樣的函數近似有多種不同的做法。最簡單的是固定網絡中部分參數,只微調其余部分,該方法期望網絡的一部分能大致反映整個網絡的性能。因為網絡中函數的作用由數據流來刻畫,所以可以在原網絡中的數據通路中注入低秩的表示,得到的新模型是一個增量網絡,比如 Adapter。函數的誤差由增量網絡的表示能力來確定。
如果開發(fā) Transformer 的自回歸結構,一些更精細的函數近似也能被得到。比如prompt tuning (Lester et al., 2021) 將一系列 prompt token 作為前綴添加到輸入中,并且只對這些 prompt token 依賴的參數微調。這種方式可以視作是對特征空間的增廣,并且得益于 Transformer 的性質,這樣的函數能較好地近似原函數,并且引導語言模型關注具體的任務。相關的方法還有 prefix tuning (Li & Liang, 2021)。實驗觀測到 prompt tuning 對更大模型和更大的數據集有更好的優(yōu)勢,這也是合理的,因為這些方法本質是用低維的函數來近似高維的函數,當模型和數據的規(guī)模增大時,也自然有更多的自由度來選擇函數近似的子空間。
兩種低維表示通??梢缘玫叫问缴舷嘟?Delta Tuning 方法。(He et al., 2022) 對 Adapter、prefix tuning 和 LoRA 做了一個形式上統(tǒng)一的表述,這可以被視作從函數近似的角度來看待各種 Delta Tuning 技術。
研究者的討論表明這些 Delta Tuning 方法都依賴于低維的假設。事實上,在不同的任務上甚至也存在公共的低維子空間 (Qin et al., 2021b)。Su et al. (2021) 以及實驗部分也展示了 Delta Tuning 在不同任務間的遷移性。因為 Delta Tuning 的實際效果不可避免地與任務相關,所以為了達到全參數微調的效果,更好地挖掘利用問題本身的結構或者設計一些混合式算法是有益的。

最優(yōu)控制角度


基于以往的從最優(yōu)控制角度解釋深度學習的理論,研究者從揭示了 Delta Tuning 可以看作尋找最優(yōu)控制器的過程。對于一個自回歸的分類模型來說,模型會在最后一步(標記為位置圖片)生成標簽的預測,該優(yōu)化過程可以表示為圖片,其中圖片。這里的函數圖片定義了 PLM 中在 Delta 的干預下改變的前向傳播。具體來說,可學習的圖片激活來自圖片的固定參數,以便在第圖片層的表示圖片可以 被正確地轉換為圖片
因此,兩個連續(xù)層之間的表示變換由函數圖片和 Transformer 中的殘差連接來描述。而無論是對 Addition-based 方法的 Adapter 和 Prefix,還是指定式方法的 BitFit,亦或是重參數化方法的 LoRA,都可以推導出這樣一個函數圖片來表示 Delta Tuning(詳細推導在論文中)。


研究者把 Delta Tuning 中的 Softmax 函數圖片和正則化項圖片看作是終端,并且將 Delta 參數作為控制變量的運行損失,把 Delta Tuning 問題表述為離散時間控制問題,因而 Delta Tuning 中的前向和后向傳播等效于 Pontryagin 最大原理中共態(tài)過程的計算。總而言之,增量調整可以看作是為特定下游任務尋求 PLM 的最佳控制器的過程。



研究者的分析可以啟發(fā)新穎的 Delta Tuning 方法的設計,還證明了 Delta 參數 對 PLM 的干預等同于控制器的設計。通過應用控制器設計的理論,他們期望提出更多具有理論保證的 Delta Tuning 方法,即設計的 delta 結構在充分激發(fā) PLM 的情況下具有原則上的可解釋性。

Delta Tuning全方位的實驗分析


作為激發(fā)并調用大型 PLM 的高效方法,Delta Tuning在各種實際應用場景下具有巨大的潛力。在本節(jié)中,研究者進行了系統(tǒng)的實驗,以更深入地了解不同主流 delta 調優(yōu)方法的屬性。

1. 性能,收斂性和效率分析


研究者首先選取全參數Fine-tuning和四種具有代表性的Delta Tuning方法(包括Prompt Tuning(PT)、Prefix-Tuning(PF)、LoRA(LR)和Adapter(AP))對性能、收斂性和效率分析進行了徹底的比較。
為了測試更加多樣的語言建模能力,研究者選取了超過 100 個NLP典型任務,包括文本分類(如情感分類,自然語言推斷)、問題回答(如抽取式閱讀理解)、語言生成(如文本摘要、對話)等任務,并且將所有任務的輸入和輸出都建模成sequence-to-sequence的格式,從而方便使用同一個模型(T5)統(tǒng)一建模所有任務。除了PT是在T5-base和T5-large上測試,其它方法均在T5-base上進行實驗。
圖片
性能分析:實驗結果如上表所示,從中可以發(fā)現,(1) 總的來說,由于不同的 Delta Tuning 方法僅僅微調很少的參數,增加了優(yōu)化的難度,因此在大多數情況下它們在性能上無法與 FT 匹敵,但兩者之間的差距并非不可逾越,這證明了參數高效自適應的大規(guī)模應用的潛力;(2) PF、LR、AP 這三種方法雖然設計元素不盡相同,但在性能上是不相上下的。它們中的任何一個方法都有可能在某些任務上表現出優(yōu)于其它方法的性能(甚至超越 FT )。根據平均結果,所有方法的性能排名為 FT > LR > AP > PF > PT。同時,研究者也發(fā)現,Delta Tuning 方法的性能與其可調參數的數量并不一致,即更多可調參數不一定會帶來更好的性能,相比之下,Delta Tuning 的具體結構設計可能會發(fā)揮作用更大的作用。(3) PT 作為這些方法中最容易實現的方法(即不修改模型的內部結構),在大多數情況下,它的性能是遠遠落后于其他 Delta Tuning 方法的。
圖片
收斂性分析:研究者節(jié)選了部分數據集上的不同微調方法在不同訓練步數下性能的變化,其中由于 PT 相比其它方法而言收斂速度過慢,沒有列入上圖。可以發(fā)現,總的來說,這些微調方法的收斂速度排序為:FT > AP ≈ LR > PF。盡管 PF 在所有 Delta Tuning 方法中可調參數數量最多,但仍然面臨一些收斂困難,因此收斂速度與可微調的參數量也沒有直接的聯(lián)系。
在實驗中還發(fā)現,對于每種 Delta Tuning 方法,性能和收斂性都對可調參數的數量不敏感,相比之下,對具體的結構更敏感。總而言之,研究者的實驗在收斂性和整體性能方面得出了非常相似的結論,并且這些結論得到了大量數據集上結果的充分支持。
圖片
效率分析:Delta Tuning 可以減少參數的梯度計算,從而節(jié)省 GPU 顯存,體現了計算資源上的高效。為了具體驗證 Delta Tuning 對 GPU 顯存的效率提升,研究者進行了實驗以比較不同 Delta Tuning 方法在不同規(guī)模的 PLM 上微調所消耗的 GPU 顯存。
具體而言,他們選擇了三個尺度的 T5 模型,即 T5-base、T5-large、T5-xl,并測試了在不同 batch size 下達到的峰值 GPU 內存。研究者使用 NVIDIA A100(最大 GPU 內存 = 39.58GB)進行實驗。從上圖可以看出,在 batch size 較?。ㄈ?、8)時,Delta Tuning 最多可以節(jié)省 3/4 的 GPU 顯存,而在 batch size 較大時,Delta Tuning 至少可以節(jié)省 1/3 的 GPU 顯存。上述結果體現了 Delta Tuning 計算資源上的高效。

2. 可組合性分析


考慮到不同的 Delta Tuning 方法是相互兼容的,這意味著它們可以同時應用在同一個 PLM 上。因此,研究者研究了 Delta Tuning 的組合是否會帶來性能上的提升。具體來說,他們探索了兩種組合方式:同時組合和順序組合,并且選擇了三種具有代表性的 Delta Tuning 方法,包括 Prompt Tuning、BitFit 和 Adapter。
同時組合:研究者首先探索同時應用三種 Delta Tuning 方法的效果,并使用 RoBERTa-large 在 8 個 GLUE 子任務進行實驗。他們在全量數據和低資源場景下均進行實驗,并且探索了人工輸入模版對于性能的影響,人工模板旨在彌合預訓練和下游任務適應之間的差距。
圖片
從上表可以看出,(1) 無論在全量數據還是低資源場景下,無論是否存在手動模板,在 Delta Tuning 的組合中引入 Adapter 幾乎總是有助于平均 GLUE 性能;(2) 在組合中引入 Prompt Tuning 通常會損害平均性能,表明 Prompt Tuning 可能與其他兩種 Delta Tuning 方法不兼容;(3) 在組合中引入 BitFit 一般會提高平均性能;(4) 手動模板可以通過縮小下游任務適應和預訓練之間的差距顯著提高 zero-shot 性能(從 23.7 到 43.4)。
在 few-shot 設置下,人工模板也可以明顯提高平均性能。然而,當訓練監(jiān)督信號相對比較豐富時(全量數據場景下),引入人工模板僅表現出微弱的性能提升,甚至有可能損害性能。 
順序組合:除了同時組合之外,研究者還進一步研究了上述三種 Delta Tuning 方法按照一定順序引入時的兼容性。具體來說,他們將整個微調分為 了3 個階段。在每個階段,研究者訓練一個單獨的 Delta Tuning 方法;在接下來的階段中,他們固定前面階段訓練得到的 Delta Tuning 參數不動 ,只優(yōu)化新引入的 Delta Tuning 參數。
研究者在 SST-2 情感分類數據集上,在使用 / 不使用人工模板的情況下對 RoBERTa-large 進行實驗。結果在下圖所示(節(jié)選),從中可以得出,在某些情況下,可以通過不斷引入新的 Delta Tuning 方法,整體性能能夠得到不斷提高,從而驗證了順序組合的優(yōu)勢;同時也發(fā)現,在不同的設置下,不存在固定最優(yōu)的組合順序。最優(yōu)的組合方式可能會因為不同的下游任務、使用的模型架構等等因素而變化。
圖片
泛化差距分析:各種微調方法對訓練數據的記憶能力(Memorization)和泛化能力(Generalization)不盡相同。為此,研究者報告了 RoBERTa-large 在全量數據設置下的泛化差距(訓練集效果 - 開發(fā)集效果),結果如下表所示,從中可以看出,(1)單個 Delta Tuning 方法的泛化差距總是小于 Fine-tuning,這意味著過度參數化可能有助于更好地記憶(過度擬合)訓練樣本。在所有 Delta Tuning 方法中,Prompt Tuning 往往具有最小的泛化差距??紤]到每種 Delta Tuning 方法均可以很好地泛化并在開發(fā)集上表現出非平凡的性能,因此過度擬合訓練集可能不是良好泛化的必要條件;(2) 一般來說,組合幾個 Delta Tuning 方法會增大泛化差距,甚至達到與 全 Fine-tuning 相當的程度。這表明,記住訓練集(Memorization)可能不需要微調過多;換句話說,在 PLM 進行下游任務適應時,即使模型可微調的容量很小,也足夠很好地記憶訓練集;(3) 使用人工模板一般不會影響泛化差距。
圖片
3. 模型規(guī)模增長的性能變化
研究者研究了模型的規(guī)模增大對于 Delta Tuning 性能的影響。最近,有研究發(fā)現 ,隨著使用的 PLM 的模型規(guī)模增長,Prompt Tuning 的性能會越來越強,甚至可以達到和全參數 Fine-tuning 微調相匹敵的水平。
在這一小節(jié)中,研究者將探討是否所有 Delta Tuning 方法均能夠表現出這種模型規(guī)模的帶來的優(yōu)勢(Power of Scale)。具體來說,他們對 MNLI、QNLI 和 SST-2 三個典型的 NLP 任務進行了實驗,并選擇了三個規(guī)模不斷增加的 PLM(T5-small、T5-base、T5-xxl),評估了六種具有代表性的 delta 調整方法的性能(Adapter、LoRA、Prefix-Tuning、Prompt Tuning、Last Layer Tuning 和 Selective Module Tuning),結果如下圖所示。
圖片
圖片
從圖  (a-i) 中,可以觀察到,隨著 PLM 網絡規(guī)模的增長,所有 Delta Tuning 方法的性能和收斂性都得到了顯著提高;(2) 圖 (j-l) 表明,與其他 delta 調整方法相比,Prompt Tuning 往往對小規(guī)模 PLM(T5-small 和 T5-base)性能比較差。但是,其他 Delta Tuning 方法沒有這個問題;(3) 基于現有結果,在圖 11 (m-o) 和 (p-r) 中,研究者進一步設計了兩種 Delta Tuning 方法:Last Layer Tuning 和 Selective Module Tuning。對于 Last Layer Tuning ,只微調 T5 encoder 的最后一層;對于 Selective Module Tuning,隨機選擇 T5 模型中的部分模塊進行微調。這兩種方法都表現出優(yōu)異的效果,尤其是當 PLM 的規(guī)模非常大時,Selective Module Tuning 整略好于 Last Layer Tuning。這些結果表明,將可微調的參數限制在某個特定層內可能不是一個好的策略。
另一方面,當 PLM 的規(guī)模變得非常大時,跨不同層隨機選擇模塊來微調可以實現出色的性能??偟膩碚f,上述結果表明,隨著 PLM 模型規(guī)模的增長,各種微調方法的性能 / 收斂速度得到顯著提升可能是 Delta Tuning 的常見現象。
研究者猜測這種現象的存在是因為,較大的 PLM 通常具有較小的本征維度(Intrinsic Dimension),因此,僅調整很少的參數即可獲得足夠強的表示能力,從而在下游任務中實現非平凡的性能;此外,過參數化的模型可能在下游優(yōu)化過程中更不容易陷入局部最優(yōu),從而加速收斂。
4. 任務間遷移能力
研究者研究了不同下游任務之間 Delta Tuning 方法的可遷移性,具體而言,我們采用了 4 種 Delta Tuning 方法(Prompt Tuning、Prefix-Tuning、Adapter 和 LoRA)和 5 種不同類型的 12 個 NLP 任務(包括情感分析、自然語言推理、轉述識別、問答、總結),并將在源任務上訓練好的 Delta 參數遷移到目標任務上,測試 zero-shot 遷移效果。
結果如下圖所示,從中可以觀察到:(1)對于屬于同一類別的任務,它們之間的遷移通常表現良好;(2)對于不同類型的任務,在它們之間遷移性能較差;(3) 另外還發(fā)現從文本生成任務(如問答和摘要)訓練得到的 Delta 參數可以遷移到情感分析任務上并取得優(yōu)異的表現,這表明文本生成任務可能是一項更復雜的任務,解決該任務所需要的語言能力可能包括了情感分析能力。
圖片


Delta Tuning 的應用


快速訓練與存儲空間節(jié)省。Transformer 模型雖然本質上是可并行化的,但由于其龐大的規(guī)模,訓練起來非常緩慢。盡管 Delta Tuning 的收斂速度可能比傳統(tǒng)的全參數微調慢,但隨著反向傳播期間可微調參數的計算量顯著減少,Delta Tuning 的訓練速度也得到了顯著提升。前人工作已經驗證了,使用 Adapter 進行下游調優(yōu)可以將訓練時間減少到 40%,同時保持與全參數微調相當的性能。由于輕量的特性,訓練得到的 Delta 參數還可以節(jié)省存儲空間,從而方便在從業(yè)者之間共享,促進知識遷移。
多任務學習。構建通用的人工智能系統(tǒng)一直是研究人員的目標。最近,超大型 PLM (例如 GPT-3) 已經展示了同時擬合不同數據分布和促進各種任務的下游性能的驚人能力。因此,在大規(guī)模預訓練時代,多任務學習受到越來越多的關注。作為全參數微調方法的有效替代,Delta Tuning 具有出色的多任務學習能力,同時保持相對較低的額外存儲。成功的應用包括多語言學習、閱讀理解等。此外,Delta Tuning 也有望作為持續(xù)學習中災難性遺忘的潛在解決方案。在預訓練期間獲得的語言能力存儲在模型的參數中。因此,當 PLM 在一系列任務中按順序進行訓練時,在沒有正則化的情況下更新 PLM 中的所有參數可能會導致嚴重的災難性的遺忘。由于 Delta Tuning 僅調整最小參數,因此它可能是減輕災難性遺忘問題的潛在解決方案。
中心化模型服務和并行計算。超大型 PLM 通常作為服務發(fā)布,即用戶通過與模型提供者公布的 API 交互來使用大模型,而不是本地存儲大模型。考慮到用戶和服務提供商之間難以承受的通信成本,由于其輕量級的特性,Delta Tuning 顯然是比傳統(tǒng)全參數微調更具競爭力的選擇。一方面,服務提供商可以支持訓練多個用戶所需的下游任務,同時消耗更少的計算和存儲空間。此外,考慮到一些 Delta Tuning 算法本質上是可并行的(例如 Prompt Tuning 和 Prefix-Tuning 等),因此 Delta Tuning 可以允許在同一個 batch 中并行訓練 / 測試來自多個用戶的樣本(In-batch Parallel Computing)。最近的工作還表明,大多數 Delta Tuning 方法,如果本質上不能并行化,也可以通過一些方法修改以支持并行計算。另一方面,當中心的達模型的梯度對用戶不可用時,Delta Tuning 仍然能夠通過無梯度的黑盒算法,僅調用模型推理 API 來優(yōu)化大型 PLM。
參考鏈接:

[1] Delta Tuning: A Comprehensive Study of Parameter Efficient Methods for Pre-trained Language Models, 2022.[2] Parameter-Efficient Transfer Learning for NLP, 2019.[3] Prefix-Tuning: Optimizing Continuous Prompts for Generation, 2021.[4] The Power of Scale for Parameter-Efficient Prompt Tuning, 2021.[5] Towards a Unified View of Parameter-Efficient Transfer Learning, 2021.[6] LoRA: Low-Rank Adaptation of Large Language Models, 2021.[7] COMPACTER: Efficient Low-Rank Hypercomplex Adapter Layers, 2021.[8] Masking as an Efficient Alternative to Finetuning for Pretrained Language Models, 2021.[9] Exploring Low-dimensional Intrinsic Task Subspace via Prompt Tuning, 2021.[10] Parameter-Efficient Transfer Learning with Diff Pruning, 2020.


*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



關鍵詞: AI

相關推薦

技術專區(qū)

關閉