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