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