揭秘大模型背后的機理,清華49頁(yè)長(cháng)文全方位分析參數高效微調方案Delta Tuning
本文中,包括劉知遠、唐杰、孫茂松等在內來(lái)自清華大學(xué)的研究者對大模型的參數高效微調進(jìn)行了全方位的理論和實(shí)驗分析。
預訓練語(yǔ)言模型 (PLM) 已經(jīng)毫無(wú)疑問(wèn)地成為各種 NLP 任務(wù)的基礎架構,而且在 PLM 的發(fā)展中,呈現出了一個(gè)似乎不可逆的趨勢:即模型的規模越來(lái)越大。更大的模型不僅會(huì )在已知任務(wù)上取得更好的效果,更展現出了完成更復雜的未知任務(wù)的潛力。然而,更大的模型也在應用上面臨著(zhù)更大的挑戰,傳統方法對超大規模的預訓練模型進(jìn)行全參數微調的過(guò)程會(huì )消耗大量的 GPU 計算資源與存儲資源,巨大的成本令人望而卻步。
這種成本也造成了學(xué)術(shù)界中的一種「慣性」,即研究者僅僅在中小規模模型上驗證自己的方法,而習慣性地忽略大規模模型。
在近期論文《Delta Tuning: A Comprehensive Study of Parameter Efficient Methods for Pre-trained Language Models》中,來(lái)自清華大學(xué)和北京智源人工智能研究院的研究者隨機選取了 1000 篇來(lái)自最近五個(gè) NLP 會(huì )議的論文,發(fā)現使用預訓練模型已經(jīng)成為了研究的基本范式,但涉及大模型的卻寥寥無(wú)幾(如下圖 1 所示)。
圖 1:在 1000 篇隨機挑選的論文中,使用預訓練模型的統計分布。
在這樣的背景下,一種新的模型適配方案——參數高效(Parameter-efficient)方法逐漸受到關(guān)注,與標準全參數微調相比,這些方法僅微調模型參數的一小部分,而其余部分保持不變,大大降低了計算和存儲成本,同時(shí)還有著(zhù)可以媲美全參數微調的性能。研究者認為,這些方法本質(zhì)上都是在一個(gè)「增量」(Delta Paremters)上進(jìn)行調整,因此將它命名為 Delta Tuning。
- 論文地址:https://arxiv.org/pdf/2203.06904.pdf
- OpenDelta工具包:https://github.com/thunlp/OpenDelta
研究者定義和描述了 Delta Tuning 問(wèn)題,并通過(guò)一個(gè)統一的框架對以往的研究進(jìn)行梳理回顧。在該框架中,現有 Delta Tuning 方法可以被分為三組:增量式(Addition-based)、指定式(Specification-based)和重參數化(Reparameterization)的方法。
除去實(shí)踐意義之外,研究者認為它還具有非常重要的理論意義,Delta Tuning 在某種程度上昭示著(zhù)大模型的背后機理,有助于人們進(jìn)一步發(fā)展面向大模型甚至深度神經(jīng)網(wǎng)絡(luò )的理論。為此,他們從優(yōu)化和最優(yōu)控制兩個(gè)角度,提出理論框架去討論 Delta Tuning,以指導后續的結構和算法設計。
此外,研究者對代表性方法進(jìn)行了全面的實(shí)驗對比,并在超過(guò) 100 個(gè) NLP 任務(wù)的結果展示了不同方法的綜合性能比較。實(shí)驗結果涵蓋了對 Delta Tuning 的性能表現、收斂表現、高效性表現、Power of Scale、泛化表現、遷移性表現的研究分析。
他們還開(kāi)發(fā)了一個(gè)開(kāi)源工具包 OpenDelta,使從業(yè)者能夠高效、靈活地在 PLM 上實(shí)現 Delta Tuning。
給定一個(gè)預訓練模型和訓練數據 D,PLM 適配的目標是生成一個(gè)模型的參數為
。將
定義為在原始模型
之上的操作。對于傳統的全參數微調來(lái)說(shuō),有
,其中
是
中所有參數相對于訓練數據的更新值。在 Delta Tuning 中,
則是指修改少量參數。經(jīng)驗上來(lái)說(shuō),全參數微調
, 而 Delta Tuning 則有
。因此可以依據調整的參數形式和結構,將參數高效的 Delta Tuning 劃分為三種策略,并且將之前的方法進(jìn)行梳理:
這類(lèi)方法引入在原始模型中不存在的額外可訓練神經(jīng)模塊或參數。在這類(lèi)方法中,依據上述的定義,我們有和
。常見(jiàn)的增量式方法包括 Adapter-Tuning、Prefix Tuning、Prompt Tuning 等等。它們不約而同地將小規模的神經(jīng)模塊或者可調參數插入到模型中,并且通過(guò)只微調這一小部分參數來(lái)達到模型高效適配的效果。其中 Adapter-tuning 是這類(lèi)方法的開(kāi)創(chuàng )性工作,它證明僅僅在每一層添加一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò ),就可以在很多任務(wù)上媲美全參數微調。
同時(shí),Adapter 還彰顯了它在多任務(wù)和多語(yǔ)言場(chǎng)景下的潛力。Prefix-tuning 和 Prompt Tuning 是最近非?;馃岬?Delta Tuning 算法,它們將一些可調的向量插入到輸入層或者表示層來(lái)進(jìn)行微調。其中,Prompt Tuning 可以視為 Prefix Tuning 的簡(jiǎn)化版,即只在輸入層添加 Soft Prompt。這種做法有一個(gè)非常大的好處,就是不用修改模型內部的結構,同時(shí),隨著(zhù)模型參數量增大到 100 億,它也被證明可以在一些數據上達打到和全參數微調相當的效果。但這類(lèi)方法也面臨著(zhù)很大的優(yōu)化問(wèn)題,實(shí)驗證明,它的優(yōu)化效率往往比其他微調范式更低,收斂時(shí)間更長(cháng),并且在中小型模型上表現不佳。圖3:Delta Tuning的形式化表述。
這類(lèi)方法指定原始模型中的特定的某些參數變得可訓練,其他參數則被凍結。在這類(lèi)方法中可以將訓練參數集合表示為,此時(shí)更新的參數表示為
。當
時(shí),
是從
到
的增量值,否則
。
指定式的方法不會(huì )在模型中引入任何新參數,也不尋求改變模型的結構,而是直接指定要優(yōu)化的部分參數。這個(gè)想法很簡(jiǎn)單,但效果卻出奇的好,例如,一些方法只會(huì )微調 BERT 和 RoBERTa 最后一層的四分之一,并且可以產(chǎn)生全參數微調的 90% 的性能。
一個(gè)工作 BitFit 指出,僅通過(guò)優(yōu)化模型內部的偏項并凍結其他參數,該模型仍然可以在多個(gè)基準測試中重現超過(guò) 95% 的全參數微調性能。BitFit 的經(jīng)驗結果還表明,即使使用少量隨機參數集進(jìn)行 Delta Tuning(這顯然會(huì )降低性能),該模型仍然可以在 GLUE 基準測試中產(chǎn)生合格的結果。另一個(gè)有價(jià)值的觀(guān)察是,不同的偏置項在模型適應期間可能具有不同的功能。
除了手動(dòng)或啟發(fā)式地對要更新的參數進(jìn)行指定之外,還可以去學(xué)習這樣的指定。Diff Pruning 就是其中的一個(gè)代表性工作,它將微調后的模型參數重參數化為預訓練參數
和一個(gè)差異向量的總和
,即
。
這時(shí)關(guān)鍵的問(wèn)題就是鼓勵差異向量盡可能稀疏,這項工作通過(guò)對可微近似來(lái)正則化向量,以實(shí)現稀疏的目標。實(shí)際上,由于在學(xué)習階段引入了要優(yōu)化的新參數,Diff Pruning 比全參數微調占用更多的 GPU 內存,這可能會(huì )在大型 PLM 上的應用中面臨挑戰。掩碼方法(Masking)為 PLM 學(xué)習選擇性掩碼,僅更新特定任務(wù)的臨界權重。為了學(xué)習這樣一組掩碼,引入了與模型權重相關(guān)的二進(jìn)制矩陣,其中每個(gè)值由閾值函數生成。在反向傳播期間,矩陣由噪聲估計器更新。
這類(lèi)方法通過(guò)轉換將現有的優(yōu)化過(guò)程重參數化為參數有效的形式。將要重新參數化的參數集表示為,并假設每個(gè)
都用新參數
來(lái)進(jìn)行表示,然后更新的參數表示為
,其中
存在
。
簡(jiǎn)單來(lái)說(shuō),重參數化方法往往基于一類(lèi)相似的假設:即預訓練模型的適配過(guò)程本質(zhì)上是低秩或者低維的。因此可以將這個(gè)過(guò)程等效為參數高效的范式。
例如,我們可以假設模型適配具有一個(gè)「本征維度」,通過(guò)將微調過(guò)程重參數化為一個(gè)低維子空間的優(yōu)化過(guò)程,可以?xún)H僅通過(guò)微調子空間內的參數就達到令人滿(mǎn)意的性能。從這個(gè)意義上說(shuō),PLM 可以作為通用的壓縮框架,將優(yōu)化復雜度從高維壓縮到低維。一般來(lái)說(shuō),較大的 PLM 通常具有較小的內在維度,并且預訓練過(guò)程隱含地減少了 PLM 的內在維度。受這些觀(guān)察的啟發(fā),重參數化的 Delta Tuning 方法也被提出,該方法使用低維代理參數對(部分)原始模型參數進(jìn)行重參數化,僅優(yōu)化代理參數,從而降低計算和內存成本。
另一個(gè)著(zhù)名的工作 LoRA 則假設模型調整期間權重的變化具有較低的「本征秩」?;谶@一假設,他們提出了針對自注意模塊中原始權重矩陣的變化優(yōu)化低秩分解。在部署中,優(yōu)化的低秩分解矩陣相乘以獲得自注意力權重矩陣的增量。通過(guò)這種方式,LoRA 可以匹配 GLUE 基準上的微調性能。他們展示了該方法在各種規模和架構的 PLM ,甚至 GPT3 上的有效性。
這類(lèi)低維假設不僅適用于單任務(wù)的適配,還可以將其擴充到多任務(wù)的場(chǎng)景。IPT 假設對于多個(gè)任務(wù)存在著(zhù)同一個(gè)低維本征子空間,而僅僅調整子空間的參數就可以同時(shí)在 100 多個(gè) NLP 任務(wù)上達到令人滿(mǎn)意的效果。此方法沒(méi)有使用隨機子空間,而是試圖找到一個(gè)由多個(gè) NLP 任務(wù)共享的公共子空間。實(shí)驗表明,在一個(gè) 250 維的低維子空間內,僅僅通過(guò)調整 250 個(gè)參數,就可以在 100 多個(gè) NLP 任務(wù)上復現 Prompt Tuning 超過(guò) 80% 的性能。重參數化方法往往基于類(lèi)似的低維或低秩假設。
Delta Tuning 本質(zhì)上是否有共通之處?研究者認為,Delta Tuning 方法不僅具有很高的實(shí)用價(jià)值,更具有深遠的理論意義,它們似乎都在不約而同地證明一件事情:即大模型的適配過(guò)程似乎是一個(gè)非常低消耗的過(guò)程(相比于預訓練),它可以通過(guò)非常少的數據和非常少的參數調整來(lái)完成。Delta Tuning 的成功啟發(fā)研究人員去進(jìn)一步地探索模型適配背后的理論框架,本文提出了優(yōu)化和最優(yōu)控制兩個(gè)視角的框架去對 Delta Tuning 進(jìn)行理論層面的闡釋。
Delta Tuning 試圖通過(guò)微調一小部分參數來(lái)達到在原大規模語(yǔ)言模型上做全參數微調的效果,并減少內存占用。從優(yōu)化角度,研究者分析 Delta Tuning 的效果并討論了在低維假設下的一些 Delta Tuning 方法的設計。使用 Delta Tuning 后,目標函數及其所依賴(lài)的參數都可能會(huì )發(fā)生改變。
對新的目標函數,僅優(yōu)化其與 Delta Tuning 有關(guān)的參數,如果初值足夠好,在一定假設意義下模型的性能不會(huì )有大的損害。但是為了確保 Delta Tuning 的有效性,有必要去開(kāi)發(fā)問(wèn)題的結構來(lái)設計這個(gè)新的目標函數。其出發(fā)點(diǎn)是利用問(wèn)題內在的低維特性。一般而言,在實(shí)踐中有兩種思路被證明是有用的:
- 在特定的低維的子空間內尋找解向量;
- 在特定的低維的函數空間內近似目標函數。
因為對深度學(xué)習中的大部分應用,目標函數通常有很多局部極小值點(diǎn),所以當初值接近一個(gè)局部極小值點(diǎn)時(shí),僅僅個(gè)別搜索方向是重要的,或者目標函數在此鄰域能被更簡(jiǎn)單的函數近似表示。因此這兩種優(yōu)化思路都有望取得較好效果,并且對低維的參數進(jìn)行優(yōu)化通常也更為有效和穩定。
解空間的低維表示。已有研究表明預訓練語(yǔ)言模型的參數優(yōu)化遵循低維的流形 (Aghajanyan et al., 2021), 因此可以將此流形嵌入到解向量的一個(gè)低維的表示上。如果這個(gè)低維表示是精確的,那么在原模型上的全參數微調等價(jià)于在此低維參數上的微調。如果低維表示存在誤差,那么當預訓練模型的目標函數和新的目標函數滿(mǎn)足 Lipschitz 連續性,最終全參數微調和低維參數微調的效果差異也是可控的。
一些 Delta Tuning 方法得益此設計思路。比如,在 LoRA (Hu et al., 2021a) 中,權重矩陣采用低秩近似;在 BitFit (Zaken et al., 2021) 和 diff pruning (Guo et al., 2021),只有一些選定的參數被優(yōu)化。這些方法本質(zhì)都是在更小的關(guān)于解向量的子空間里更新參數,最終能取得較好的效果。
函數空間的低維表示。另一種做法是直接設計原目標函數的一個(gè)近似函數,并期望此函數近似的誤差較小。這樣的函數近似可以是增量網(wǎng)絡(luò ) (Houlsby et al., 2019) 或增廣特征空間 (Lester et al., 2021)。因為通常更關(guān)心語(yǔ)言模型的最終效果,因此直接考慮對目標函數本身的近似效果是合理的。
在實(shí)踐中構建這樣的函數近似有多種不同的做法。最簡(jiǎn)單的是固定網(wǎng)絡(luò )中部分參數,只微調其余部分,該方法期望網(wǎng)絡(luò )的一部分能大致反映整個(gè)網(wǎng)絡(luò )的性能。因為網(wǎng)絡(luò )中函數的作用由數據流來(lái)刻畫(huà),所以可以在原網(wǎng)絡(luò )中的數據通路中注入低秩的表示,得到的新模型是一個(gè)增量網(wǎng)絡(luò ),比如 Adapter。函數的誤差由增量網(wǎng)絡(luò )的表示能力來(lái)確定。
如果開(kāi)發(fā) Transformer 的自回歸結構,一些更精細的函數近似也能被得到。比如prompt tuning (Lester et al., 2021) 將一系列 prompt token 作為前綴添加到輸入中,并且只對這些 prompt token 依賴(lài)的參數微調。這種方式可以視作是對特征空間的增廣,并且得益于 Transformer 的性質(zhì),這樣的函數能較好地近似原函數,并且引導語(yǔ)言模型關(guān)注具體的任務(wù)。相關(guān)的方法還有 prefix tuning (Li & Liang, 2021)。實(shí)驗觀(guān)測到 prompt tuning 對更大模型和更大的數據集有更好的優(yōu)勢,這也是合理的,因為這些方法本質(zhì)是用低維的函數來(lái)近似高維的函數,當模型和數據的規模增大時(shí),也自然有更多的自由度來(lái)選擇函數近似的子空間。
兩種低維表示通??梢缘玫叫问缴舷嘟?Delta Tuning 方法。(He et al., 2022) 對 Adapter、prefix tuning 和 LoRA 做了一個(gè)形式上統一的表述,這可以被視作從函數近似的角度來(lái)看待各種 Delta Tuning 技術(shù)。
研究者的討論表明這些 Delta Tuning 方法都依賴(lài)于低維的假設。事實(shí)上,在不同的任務(wù)上甚至也存在公共的低維子空間 (Qin et al., 2021b)。Su et al. (2021) 以及實(shí)驗部分也展示了 Delta Tuning 在不同任務(wù)間的遷移性。因為 Delta Tuning 的實(shí)際效果不可避免地與任務(wù)相關(guān),所以為了達到全參數微調的效果,更好地挖掘利用問(wèn)題本身的結構或者設計一些混合式算法是有益的。
基于以往的從最優(yōu)控制角度解釋深度學(xué)習的理論,研究者從揭示了 Delta Tuning 可以看作尋找最優(yōu)控制器的過(guò)程。對于一個(gè)自回歸的分類(lèi)模型來(lái)說(shuō),模型會(huì )在最后一步(標記為位置)生成標簽的預測,該優(yōu)化過(guò)程可以表示為
,其中
。這里的函數
定義了 PLM 中在 Delta 的干預下改變的前向傳播。具體來(lái)說(shuō),可學(xué)習的
激活來(lái)自
的固定參數,以便在第
層的表示
可以 被正確地轉換為
。
因此,兩個(gè)連續層之間的表示變換由函數和 Transformer 中的殘差連接來(lái)描述。而無(wú)論是對 Addition-based 方法的 Adapter 和 Prefix,還是指定式方法的 BitFit,亦或是重參數化方法的 LoRA,都可以推導出這樣一個(gè)函數
來(lái)表示 Delta Tuning(詳細推導在論文中)。
研究者把 Delta Tuning 中的 Softmax 函數和正則化項
看作是終端,并且將 Delta 參數作為控制變量的運行損失,把 Delta Tuning 問(wèn)題表述為離散時(shí)間控制問(wèn)題,因而 Delta Tuning 中的前向和后向傳播等效于 Pontryagin 最大原理中共態(tài)過(guò)程的計算??偠灾?,增量調整可以看作是為特定下游任務(wù)尋求 PLM 的最佳控制器的過(guò)程。
研究者的分析可以啟發(fā)新穎的 Delta Tuning 方法的設計,還證明了 Delta 參數 對 PLM 的干預等同于控制器的設計。通過(guò)應用控制器設計的理論,他們期望提出更多具有理論保證的 Delta Tuning 方法,即設計的 delta 結構在充分激發(fā) PLM 的情況下具有原則上的可解釋性。
作為激發(fā)并調用大型 PLM 的高效方法,Delta Tuning在各種實(shí)際應用場(chǎng)景下具有巨大的潛力。在本節中,研究者進(jìn)行了系統的實(shí)驗,以更深入地了解不同主流 delta 調優(yōu)方法的屬性。
研究者首先選取全參數Fine-tuning和四種具有代表性的Delta Tuning方法(包括Prompt Tuning(PT)、Prefix-Tuning(PF)、LoRA(LR)和Adapter(AP))對性能、收斂性和效率分析進(jìn)行了徹底的比較。
為了測試更加多樣的語(yǔ)言建模能力,研究者選取了超過(guò) 100 個(gè)NLP典型任務(wù),包括文本分類(lèi)(如情感分類(lèi),自然語(yǔ)言推斷)、問(wèn)題回答(如抽取式閱讀理解)、語(yǔ)言生成(如文本摘要、對話(huà))等任務(wù),并且將所有任務(wù)的輸入和輸出都建模成sequence-to-sequence的格式,從而方便使用同一個(gè)模型(T5)統一建模所有任務(wù)。除了PT是在T5-base和T5-large上測試,其它方法均在T5-base上進(jìn)行實(shí)驗。
性能分析:實(shí)驗結果如上表所示,從中可以發(fā)現,(1) 總的來(lái)說(shuō),由于不同的 Delta Tuning 方法僅僅微調很少的參數,增加了優(yōu)化的難度,因此在大多數情況下它們在性能上無(wú)法與 FT 匹敵,但兩者之間的差距并非不可逾越,這證明了參數高效自適應的大規模應用的潛力;(2) PF、LR、AP 這三種方法雖然設計元素不盡相同,但在性能上是不相上下的。它們中的任何一個(gè)方法都有可能在某些任務(wù)上表現出優(yōu)于其它方法的性能(甚至超越 FT )。根據平均結果,所有方法的性能排名為 FT > LR > AP > PF > PT。同時(shí),研究者也發(fā)現,Delta Tuning 方法的性能與其可調參數的數量并不一致,即更多可調參數不一定會(huì )帶來(lái)更好的性能,相比之下,Delta Tuning 的具體結構設計可能會(huì )發(fā)揮作用更大的作用。(3) PT 作為這些方法中最容易實(shí)現的方法(即不修改模型的內部結構),在大多數情況下,它的性能是遠遠落后于其他 Delta Tuning 方法的。
收斂性分析:研究者節選了部分數據集上的不同微調方法在不同訓練步數下性能的變化,其中由于 PT 相比其它方法而言收斂速度過(guò)慢,沒(méi)有列入上圖??梢园l(fā)現,總的來(lái)說(shuō),這些微調方法的收斂速度排序為:FT > AP ≈ LR > PF。盡管 PF 在所有 Delta Tuning 方法中可調參數數量最多,但仍然面臨一些收斂困難,因此收斂速度與可微調的參數量也沒(méi)有直接的聯(lián)系。
在實(shí)驗中還發(fā)現,對于每種 Delta Tuning 方法,性能和收斂性都對可調參數的數量不敏感,相比之下,對具體的結構更敏感??偠灾?,研究者的實(shí)驗在收斂性和整體性能方面得出了非常相似的結論,并且這些結論得到了大量數據集上結果的充分支持。
效率分析:Delta Tuning 可以減少參數的梯度計算,從而節省 GPU 顯存,體現了計算資源上的高效。為了具體驗證 Delta Tuning 對 GPU 顯存的效率提升,研究者進(jìn)行了實(shí)驗以比較不同 Delta Tuning 方法在不同規模的 PLM 上微調所消耗的 GPU 顯存。
具體而言,他們選擇了三個(gè)尺度的 T5 模型,即 T5-base、T5-large、T5-xl,并測試了在不同 batch size 下達到的峰值 GPU 內存。研究者使用 NVIDIA A100(最大 GPU 內存 = 39.58GB)進(jìn)行實(shí)驗。從上圖可以看出,在 batch size 較?。ㄈ?、8)時(shí),Delta Tuning 最多可以節省 3/4 的 GPU 顯存,而在 batch size 較大時(shí),Delta Tuning 至少可以節省 1/3 的 GPU 顯存。上述結果體現了 Delta Tuning 計算資源上的高效。
考慮到不同的 Delta Tuning 方法是相互兼容的,這意味著(zhù)它們可以同時(shí)應用在同一個(gè) PLM 上。因此,研究者研究了 Delta Tuning 的組合是否會(huì )帶來(lái)性能上的提升。具體來(lái)說(shuō),他們探索了兩種組合方式:同時(shí)組合和順序組合,并且選擇了三種具有代表性的 Delta Tuning 方法,包括 Prompt Tuning、BitFit 和 Adapter。
同時(shí)組合:研究者首先探索同時(shí)應用三種 Delta Tuning 方法的效果,并使用 RoBERTa-large 在 8 個(gè) GLUE 子任務(wù)進(jìn)行實(shí)驗。他們在全量數據和低資源場(chǎng)景下均進(jìn)行實(shí)驗,并且探索了人工輸入模版對于性能的影響,人工模板旨在彌合預訓練和下游任務(wù)適應之間的差距。
從上表可以看出,(1) 無(wú)論在全量數據還是低資源場(chǎng)景下,無(wú)論是否存在手動(dòng)模板,在 Delta Tuning 的組合中引入 Adapter 幾乎總是有助于平均 GLUE 性能;(2) 在組合中引入 Prompt Tuning 通常會(huì )損害平均性能,表明 Prompt Tuning 可能與其他兩種 Delta Tuning 方法不兼容;(3) 在組合中引入 BitFit 一般會(huì )提高平均性能;(4) 手動(dòng)模板可以通過(guò)縮小下游任務(wù)適應和預訓練之間的差距顯著(zhù)提高 zero-shot 性能(從 23.7 到 43.4)。
在 few-shot 設置下,人工模板也可以明顯提高平均性能。然而,當訓練監督信號相對比較豐富時(shí)(全量數據場(chǎng)景下),引入人工模板僅表現出微弱的性能提升,甚至有可能損害性能。
順序組合:除了同時(shí)組合之外,研究者還進(jìn)一步研究了上述三種 Delta Tuning 方法按照一定順序引入時(shí)的兼容性。具體來(lái)說(shuō),他們將整個(gè)微調分為 了3 個(gè)階段。在每個(gè)階段,研究者訓練一個(gè)單獨的 Delta Tuning 方法;在接下來(lái)的階段中,他們固定前面階段訓練得到的 Delta Tuning 參數不動(dòng) ,只優(yōu)化新引入的 Delta Tuning 參數。
研究者在 SST-2 情感分類(lèi)數據集上,在使用 / 不使用人工模板的情況下對 RoBERTa-large 進(jìn)行實(shí)驗。結果在下圖所示(節選),從中可以得出,在某些情況下,可以通過(guò)不斷引入新的 Delta Tuning 方法,整體性能能夠得到不斷提高,從而驗證了順序組合的優(yōu)勢;同時(shí)也發(fā)現,在不同的設置下,不存在固定最優(yōu)的組合順序。最優(yōu)的組合方式可能會(huì )因為不同的下游任務(wù)、使用的模型架構等等因素而變化。
泛化差距分析:各種微調方法對訓練數據的記憶能力(Memorization)和泛化能力(Generalization)不盡相同。為此,研究者報告了 RoBERTa-large 在全量數據設置下的泛化差距(訓練集效果 - 開(kāi)發(fā)集效果),結果如下表所示,從中可以看出,(1)單個(gè) Delta Tuning 方法的泛化差距總是小于 Fine-tuning,這意味著(zhù)過(guò)度參數化可能有助于更好地記憶(過(guò)度擬合)訓練樣本。在所有 Delta Tuning 方法中,Prompt Tuning 往往具有最小的泛化差距??紤]到每種 Delta Tuning 方法均可以很好地泛化并在開(kāi)發(fā)集上表現出非平凡的性能,因此過(guò)度擬合訓練集可能不是良好泛化的必要條件;(2) 一般來(lái)說(shuō),組合幾個(gè) Delta Tuning 方法會(huì )增大泛化差距,甚至達到與 全 Fine-tuning 相當的程度。這表明,記住訓練集(Memorization)可能不需要微調過(guò)多;換句話(huà)說(shuō),在 PLM 進(jìn)行下游任務(wù)適應時(shí),即使模型可微調的容量很小,也足夠很好地記憶訓練集;(3) 使用人工模板一般不會(huì )影響泛化差距。
3. 模型規模增長(cháng)的性能變化
研究者研究了模型的規模增大對于 Delta Tuning 性能的影響。最近,有研究發(fā)現 ,隨著(zhù)使用的 PLM 的模型規模增長(cháng),Prompt Tuning 的性能會(huì )越來(lái)越強,甚至可以達到和全參數 Fine-tuning 微調相匹敵的水平。
在這一小節中,研究者將探討是否所有 Delta Tuning 方法均能夠表現出這種模型規模的帶來(lái)的優(yōu)勢(Power of Scale)。具體來(lái)說(shuō),他們對 MNLI、QNLI 和 SST-2 三個(gè)典型的 NLP 任務(wù)進(jìn)行了實(shí)驗,并選擇了三個(gè)規模不斷增加的 PLM(T5-small、T5-base、T5-xxl),評估了六種具有代表性的 delta 調整方法的性能(Adapter、LoRA、Prefix-Tuning、Prompt Tuning、Last Layer Tuning 和 Selective Module Tuning),結果如下圖所示。
從圖 (a-i) 中,可以觀(guān)察到,隨著(zhù) PLM 網(wǎng)絡(luò )規模的增長(cháng),所有 Delta Tuning 方法的性能和收斂性都得到了顯著(zhù)提高;(2) 圖 (j-l) 表明,與其他 delta 調整方法相比,Prompt Tuning 往往對小規模 PLM(T5-small 和 T5-base)性能比較差。但是,其他 Delta Tuning 方法沒(méi)有這個(gè)問(wèn)題;(3) 基于現有結果,在圖 11 (m-o) 和 (p-r) 中,研究者進(jìn)一步設計了兩種 Delta Tuning 方法:Last Layer Tuning 和 Selective Module Tuning。對于 Last Layer Tuning ,只微調 T5 encoder 的最后一層;對于 Selective Module Tuning,隨機選擇 T5 模型中的部分模塊進(jìn)行微調。這兩種方法都表現出優(yōu)異的效果,尤其是當 PLM 的規模非常大時(shí),Selective Module Tuning 整略好于 Last Layer Tuning。這些結果表明,將可微調的參數限制在某個(gè)特定層內可能不是一個(gè)好的策略。
另一方面,當 PLM 的規模變得非常大時(shí),跨不同層隨機選擇模塊來(lái)微調可以實(shí)現出色的性能??偟膩?lái)說(shuō),上述結果表明,隨著(zhù) PLM 模型規模的增長(cháng),各種微調方法的性能 / 收斂速度得到顯著(zhù)提升可能是 Delta Tuning 的常見(jiàn)現象。
研究者猜測這種現象的存在是因為,較大的 PLM 通常具有較小的本征維度(Intrinsic Dimension),因此,僅調整很少的參數即可獲得足夠強的表示能力,從而在下游任務(wù)中實(shí)現非平凡的性能;此外,過(guò)參數化的模型可能在下游優(yōu)化過(guò)程中更不容易陷入局部最優(yōu),從而加速收斂。
4. 任務(wù)間遷移能力
研究者研究了不同下游任務(wù)之間 Delta Tuning 方法的可遷移性,具體而言,我們采用了 4 種 Delta Tuning 方法(Prompt Tuning、Prefix-Tuning、Adapter 和 LoRA)和 5 種不同類(lèi)型的 12 個(gè) NLP 任務(wù)(包括情感分析、自然語(yǔ)言推理、轉述識別、問(wèn)答、總結),并將在源任務(wù)上訓練好的 Delta 參數遷移到目標任務(wù)上,測試 zero-shot 遷移效果。
結果如下圖所示,從中可以觀(guān)察到:(1)對于屬于同一類(lèi)別的任務(wù),它們之間的遷移通常表現良好;(2)對于不同類(lèi)型的任務(wù),在它們之間遷移性能較差;(3) 另外還發(fā)現從文本生成任務(wù)(如問(wèn)答和摘要)訓練得到的 Delta 參數可以遷移到情感分析任務(wù)上并取得優(yōu)異的表現,這表明文本生成任務(wù)可能是一項更復雜的任務(wù),解決該任務(wù)所需要的語(yǔ)言能力可能包括了情感分析能力。
Delta Tuning 的應用
快速訓練與存儲空間節省。Transformer 模型雖然本質(zhì)上是可并行化的,但由于其龐大的規模,訓練起來(lái)非常緩慢。盡管 Delta Tuning 的收斂速度可能比傳統的全參數微調慢,但隨著(zhù)反向傳播期間可微調參數的計算量顯著(zhù)減少,Delta Tuning 的訓練速度也得到了顯著(zhù)提升。前人工作已經(jīng)驗證了,使用 Adapter 進(jìn)行下游調優(yōu)可以將訓練時(shí)間減少到 40%,同時(shí)保持與全參數微調相當的性能。由于輕量的特性,訓練得到的 Delta 參數還可以節省存儲空間,從而方便在從業(yè)者之間共享,促進(jìn)知識遷移。
多任務(wù)學(xué)習。構建通用的人工智能系統一直是研究人員的目標。最近,超大型 PLM (例如 GPT-3) 已經(jīng)展示了同時(shí)擬合不同數據分布和促進(jìn)各種任務(wù)的下游性能的驚人能力。因此,在大規模預訓練時(shí)代,多任務(wù)學(xué)習受到越來(lái)越多的關(guān)注。作為全參數微調方法的有效替代,Delta Tuning 具有出色的多任務(wù)學(xué)習能力,同時(shí)保持相對較低的額外存儲。成功的應用包括多語(yǔ)言學(xué)習、閱讀理解等。此外,Delta Tuning 也有望作為持續學(xué)習中災難性遺忘的潛在解決方案。在預訓練期間獲得的語(yǔ)言能力存儲在模型的參數中。因此,當 PLM 在一系列任務(wù)中按順序進(jìn)行訓練時(shí),在沒(méi)有正則化的情況下更新 PLM 中的所有參數可能會(huì )導致嚴重的災難性的遺忘。由于 Delta Tuning 僅調整最小參數,因此它可能是減輕災難性遺忘問(wèn)題的潛在解決方案。
中心化模型服務(wù)和并行計算。超大型 PLM 通常作為服務(wù)發(fā)布,即用戶(hù)通過(guò)與模型提供者公布的 API 交互來(lái)使用大模型,而不是本地存儲大模型??紤]到用戶(hù)和服務(wù)提供商之間難以承受的通信成本,由于其輕量級的特性,Delta Tuning 顯然是比傳統全參數微調更具競爭力的選擇。一方面,服務(wù)提供商可以支持訓練多個(gè)用戶(hù)所需的下游任務(wù),同時(shí)消耗更少的計算和存儲空間。此外,考慮到一些 Delta Tuning 算法本質(zhì)上是可并行的(例如 Prompt Tuning 和 Prefix-Tuning 等),因此 Delta Tuning 可以允許在同一個(gè) batch 中并行訓練 / 測試來(lái)自多個(gè)用戶(hù)的樣本(In-batch Parallel Computing)。最近的工作還表明,大多數 Delta Tuning 方法,如果本質(zhì)上不能并行化,也可以通過(guò)一些方法修改以支持并行計算。另一方面,當中心的達模型的梯度對用戶(hù)不可用時(shí),Delta Tuning 仍然能夠通過(guò)無(wú)梯度的黑盒算法,僅調用模型推理 API 來(lái)優(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.
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。