近年來,清華大學計算機系孫茂松團隊深入探索語言大模型參數高效微調方法的機理與特性,與校內其他相關團隊合作完成的研究成果“面向大規模預訓練語言模型的參數高效微調” (Parameter-efficient Fine-tuning of Large-scale Pre-trained Language Models)3 月2 日發表於《自然・機器智能》(Nature Machine Intelligence)。這項研究成果由電腦系孫茂松、李涓子、唐傑、劉洋、陳鍵飛、劉知遠和深圳國際研究生院鄭海濤等團隊師生共同完成,劉知遠、鄭海濤、孫茂松為該文章的通訊作者,清華大學計算機系博士生丁寧(導師鄭海濤)與秦禹嘉(導師劉知遠)為該文章的共同第一作者。
2018 年以來,預訓練語言模型(PLM) 及其「預訓練- 微調」 方法已成為自然語言處理(NLP)任務的主流範式,此範式先利用大規模無標註資料透過自監督學習預訓練語言大模型,得到基礎模型,再利用下游任務的有標註資料進行有監督學習微調模型參數,實現下游任務的適配。
隨著技術的發展,PLM 已經毫無疑問地成為各種NLP 任務的基礎架構,而且在PLM 的發展中,呈現出了一個似乎不可逆的趨勢:即模型的規模越來越大。更大的模型不僅會在已知任務上取得更好的效果,更展現了完成更複雜的未知任務的潛力。
然而,更大的模型也在應用上面臨更大的挑戰,傳統方法對超大規模的預訓練模型進行全參數微調的過程會消耗大量的GPU 計算資源與儲存資源,龐大的成本令人望而卻步。這種成本也造成了學術界中的一種 “慣性”,即研究者僅僅在中小規模模型上驗證自己的方法,而習慣性地忽略大規模模型。
在本文的統計中,我們隨機選取了1000 篇來自最近五個NLP 會議的論文,發現使用預訓練模型已經成為了研究的基本範式,但涉及大模型的卻寥寥無幾(如圖1 所示)。
圖1:在1000 篇隨機挑選的論文中,使用預訓練模型的統計分佈
在這樣的背景下,一個新的模型適配方案,參數高效能(Parameter-efficient)方法逐漸受到關注,與標準全參數微調相比,這些方法僅微調模型參數的一小部分,而其餘部分保持不變,大大降低了計算和存儲成本,同時還有著可以媲美全參數微調的性能。我們認為,這些方法本質上都是在一個 「增量」(Delta Paremters)上進行調整,因此將它命名為 Delta Tuning##。
在本文中,我們定義並描述了 Delta Tuning 問題,並且透過一個統一的框架對以往的研究進行梳理回顧。在這個框架中,現有的 Delta Tuning 方法可以被分成三組:增量式(Addition-based)、指定式(Specification-based)和重參數化(Reparameterization)的方法。
除去實踐意義之外,我們認為它還具有非常重要的理論意義,Delta Tuning 在某種程度上昭示著大模型的背後機理,有助於我們進一步發展面向大模型甚至深度神經網路的理論。為此,我們從優化和最優控制兩個角度,提出理論框架去討論 Delta Tuning,以指導後續的結構和演算法設計。此外,我們對代表性方法進行了全面的實驗對比,並在超過 100 個 NLP 任務的結果展示了不同方法的綜合性能比較。實驗結果涵蓋了 Delta Tuning 的表現表現、收斂表現、高效表現、Power of Scale、泛化表現、遷移性表現的研究分析。我們還開發了一個開源工具包 OpenDelta,使從業者能夠有效率且靈活地在 PLM 上實現 Delta Tuning。
#圖2:Delta Tuning 的分割架構
給定一個預訓練模型 與訓練數據,PLM 適配的目標是產生一個模型的參數為。 將定義為在原始模型之上的操作。對於傳統的全參數微調來說,有
,其中
是
中所有參數相對於訓練資料的更新值。在 Delta Tuning 中,
則是指修改少量參數。經驗上來說,全參數微調有
,而Delta Tuning 則有
。因此,我們可以依據調整的參數形式和結構,將參數高效的Delta Tuning 劃分為三種策略,並且將先前的方法進行梳理:
##增量式(Addition- based)方法這類方法引入在原始模型中不存在的額外可訓練神經模組或參數。在這類方法中,依據上述的定義,我們有
。常見的增量式方法包括 Adapter-Tuning, Prefix Tuning, Prompt Tuning 等等。它們不約而同地將小規模的神經模組或可調參數插入到模型中,並且透過只微調這一小部分參數來達到模型高效適配的效果。其中 Adapter-tuning 是這類方法的開創性工作,它證明僅僅在每一層添加一個簡單的神經網絡,就可以在許多任務上媲美全參數微調。同時,Adapter 也彰顯了它在多任務和多語言場景下的潛力。 Prefix-tuning 和 Prompt Tuning 是最近非常火熱的 Delta Tuning 演算法,它們將一些可調的向量插入到輸入層或表示層來進行微調。其中,Prompt Tuning 可視為 Prefix Tuning 的簡化版,也就是只在輸入層加入 Soft Prompt。這種做法有一個非常大的好處,就是不用修改模型內部的結構,同時,隨著模型參數量增加到100 億,它也被證明可以在一些數據上達打到和全參數微調相當的效果。但這類方法也面臨很大的最佳化問題,實驗證明,它的最佳化效率往往比其他微調範式更低,收斂時間更長,並且在中小型模型上表現不佳。
#圖3:Delta Tuning 的形式化表述
這類方法指定原始模型中的特定的某些參數變得可訓練,而其他參數則被凍結。在這類方法中,我們可以將訓練參數集合表示為,此時更新的參數表示為。當時,的增量值,否則。指定式的方法不會在模型中引入任何新參數,也不尋求改變模型的結構,而是直接指定要最佳化的部分參數。這個想法很簡單,但效果出奇的好,例如,一些方法只會微調 BERT 和 RoBERTa 最後一層的四分之一,並且可以產生全參數微調的 90% 的性能。一個工作 BitFit 指出,僅透過優化模型內部的偏項並凍結其他參數,該模型仍然可以在多個基準測試中重現超過 95% 的全參數微調性能。 BitFit 的經驗結果也表明,即使我們使用少量隨機參數集進行 Delta Tuning(這顯然會降低效能),該模型仍然可以在 GLUE 基準測試中產生合格的結果。另一個有價值的觀察是,不同的偏移項在模型適應期間可能具有不同的功能。
除了手動或啟發式地對要更新的參數進行指定之外,我們還可以去學習這樣的指定。 Diff Pruning 就是其中一個代表性的工作,它將微調後的模型參數重參數化為預訓練參數和一個差異向量的總和,即。這時關鍵的問題就是鼓勵差異向量盡可能稀疏,這項工作透過對可微近似來正規化向量,以實現稀疏的目標。實際上,由於在學習階段引入了要最佳化的新參數,Diff Pruning 比全參數微調佔用更多的 GPU 內存,這可能會在大型 PLM 上的應用中面臨挑戰。掩碼方法(Masking)為 PLM 學習選擇性掩碼,僅更新特定任務的臨界權重。為了學習這樣一組掩碼,引入了與模型權重相關的二進位矩陣,其中每個值由閾值函數產生。在反向傳播期間,矩陣由雜訊估計器更新。
#這類方法透過轉換將現有的最佳化過程重參數化為參數有效的形式。將要重新參數化的參數集表示為,並假設每個 都以新參數來進行表示,然後將更新的參數表示為,其中。簡單來說,重參數化方法往往基於一類相似的假設:即預訓練模型的適配過程本質上是低秩或低維度的。因此可以將這個過程等效為參數高效的範式。
例如,我們可以假設模型適配具有一個“本徵維度”,透過將微調過程重參數化為一個低維子空間的最佳化過程,可以僅僅通過微調子空間內的參數就達到令人滿意的性能。從這個意義上說,PLM 可以作為一個通用的壓縮框架,將最佳化複雜度從高維度壓縮到低維度。一般來說,較大的 PLM 通常具有較小的內在維度,並且預訓練過程隱含地減少了 PLM 的內在維度。受這些觀察的啟發,重參數化的 Delta Tuning 方法也被提出,該方法使用低維代理參數對(部分)原始模型參數進行重參數化,僅優化代理參數,從而降低計算和記憶體成本。
另一個著名的工作 LoRA 則假設模型調整期間權重的變化具有較低的 「本徵秩」。基於這個假設,他們提出針對自註意模組中原始權重矩陣的變化優化低秩分解。在部署中,最佳化的低秩分解矩陣相乘以獲得自註意力權重矩陣的增量。透過這種方式,LoRA 可以匹配 GLUE 基準上的微調效能。他們展示了他們的方法在各種規模和架構的 PLM ,甚至 GPT3 上的有效性。
這類低維度假設不僅適用於單一任務的適配,還可以擴充到多任務的場景。 IPT 假設對於多個任務存在著同一個低維本徵子空間,而僅僅調整子空間的參數就可以同時在 100 多個 NLP 任務上達到令人滿意的效果。此方法沒有使用隨機子空間,而是試圖找到一個由多個 NLP 任務共享的公共子空間。實驗表明,在一個 250 維的低維子空間內,僅通過調整 250 個參數,就可以在 100 多個 NLP 任務上復現 Prompt Tuning 超過 80% 的性能。
圖:重參數化方法往往基於類似的低維度或低秩假設
Delta Tuning 本質上是否有共通之處?我們認為,Delta Tuning 方法不僅具有很高的實用價值,更具有深遠的理論意義,它們似乎都在不約而同地證明一件事情:即大模型的適配過程似乎是一個非常低消耗的過程(相比於預訓練),它可以透過非常少的資料和非常少的參數調整來完成。 Delta Tuning 的成功啟發我們去進一步地探索模型適配背後的理論框架,本文提出了優化和最優控制兩個視角的框架去對Delta Tuning 進行理論層面的闡釋。
優化角度
#Delta Tuning 試圖透過微調一小部分參數來達到在原始大規模語言模型上做全參數微調的效果,並減少記憶體佔用。從最佳化角度,我們分析 Delta Tuning 的效果並討論了在低維假設下的一些 Delta Tuning 方法的設計。使用 Delta Tuning 後,目標函數及其所依賴的參數都可能會改變。對新的目標函數,僅優化其與 Delta Tuning 相關的參數,如果初值足夠好,在一定假設意義下模型的性能不會有大的損害。但是為了確保 Delta Tuning 的有效性,有必要去發展問題的結構來設計這個新的目標函數。其出發點是利用問題內在的低維特性。一般而言,在實務上有兩個想法被證明是有用的:
因為對深度學習中的大部分應用,目標函數通常有很多局部極小值點,所以當初值接近一個局部極小值點時,僅僅個別搜尋方向是重要的,或者目標函數在此鄰域能被更簡單的函數近似表示。因此這兩種最佳化想法都有望取得較好效果,並且對低維的參數進行最佳化通常也更為有效和穩定。
解空間的低維表示。 已有研究顯示預訓練語言模型的參數最佳化遵循低維的流形(Aghajanyan et al., 2021), 因此可以將此流形嵌入到解向量的一個低維的表示上。如果這個低維表示是精確的,那麼在原模型上的全參數微調等價於此低維參數上的微調。如果低維度表示存在誤差,那麼當預訓練模型的目標函數和新的目標函數滿足 Lipschitz 連續性,最終全參數微調和低維參數微調的效果差異也是可控的。
一些 Delta Tuning 方法得益此設計思路。例如,在LoRA (Hu et al., 2021a) 中,權重矩陣採用低秩近似;在BitFit (Zaken et al., 2021) 和diff pruning (Guo et al., 2021),只有一些選定的參數被最佳化.這些方法本質都是在更小的關於解向量的子空間裡更新參數,最終能達到較好的效果。
函數空間的低維表示。 另一種做法是直接設計原始目標函數的近似函數,並期望此函數近似的誤差較小。這樣的函數近似可以是增量網路 (Houlsby et al., 2019) 或增廣特徵空間 (Lester et al., 2021)。因為我們通常更關心語言模型的最終效果,因此直接考慮對目標函數本身的近似效果是合理的。
在實務上建構這樣的函數近似有多種不同的做法。最簡單的是固定網路中的部分參數,只微調其餘部分,該方法期望網路的一部分能大致反映整個網路的效能。因為網絡中函數的作用由資料流來刻畫,所以可以在原網絡中的資料路徑中註入低秩的表示,得到的新模型就是一個增量網絡,例如 Adapter。函數的誤差由增量網路的表示能力來決定。
如果發展 Transformer 的自迴歸結構,一些較精細的函數近似也能被得到。例如,prompt tuning (Lester et al., 2021) 將一系列 prompt token 作為前綴添加到輸入中,並且只對這些 prompt token 依賴的參數微調。這種方式可以視為對特徵空間的增廣,並且得益於 Transformer 的性質,這樣的函數能較好地近似原函數,並且引導語言模型關注具體的任務。相關的方法還有 prefix tuning (Li & Liang, 2021)。實驗觀測到prompt tuning 對更大模型和更大的數據集有更好的優勢,這也是合理的,因為這些方法本質是用低維的函數來近似高維的函數,當模型和數據的規模增大時,也自然有更多的自由度來選擇函數近似的子空間。
兩種低維表示通常可以得到形式上相近的 Delta Tuning 方法。 (He et al., 2022) 對 Adapter, prefix tuning 和 LoRA 做了一個形式上統一的表述,這可以被視為從函數近似的角度來看待各種 Delta Tuning 技術。我們的討論顯示這些 Delta Tuning 方法都依賴低維的假設。事實上,在不同的任務上甚至存在著公共的低維子空間 (Qin et al., 2021b)。 Su et al. (2021) 以及我們的實驗部分也展示了 Delta Tuning 在不同任務間的遷移性。因為 Delta Tuning 的實際效果不可避免地與任務相關,所以為了達到全參數微調的效果,更好地挖掘利用問題本身的結構或設計一些混合式演算法是有益的。
最優控制角度
#基於以往的從最佳控制角度解釋深度學習的理論,我們從揭示了Delta Tuning 可以看作尋找最優控制器的過程。對於一個自迴歸的分類模型來說,模型會在最後一步(標記為位置)產生標籤的預測,這個最佳化過程可以表示為:
這裡的函數 定義了PLM 中在Delta 的干預下改變的前向傳播。具體來說,可學習的 啟動來自 的固定參數,以便在第 層的表示 可以正確地轉換為。因此,兩個連續層之間的表示變換由函數 和 Transformer 中的殘差連接來描述。而無論是對 Addition-based 方法的 Adapter 和 Prefix,或是指定式方法的 BitFit,也或是重參數化方法的 LoRA,我們都可以推導出這樣一個函數來表示 Delta Tuning(詳細推導在論文中)。
我們把Delta Tuning 中的Softmax 函數和正規化項看作是終端,並且將Delta 參數作為控制變數的運作損失,把Delta Tuning 問題表述為離散時間控制問題,因而Delta Tuning 中的前向和後向傳播等效於Pontryagin 最大原理中的共態過程的計算。總而言之,增量調整可以看作是為特定下游任務尋求 PLM 的最佳控制器的過程。
######我們的分析可以啟發新穎的 Delta Tuning 方法的設計,我們也證明了 Delta 參數對 PLM 的干預等同於控制器的設計。透過應用控制器設計的理論,我們期望提出更多具有理論保證的 Delta Tuning 方法,即設計的 Delta 結構在充分激發 PLM 的情況下具有原則上的可解釋性。 #########Delta Tuning 全方位的實驗分析#########作為激發並調用大型 PLM 的高效方法,Delta Tuning 在各種實際應用場景下具有巨大的潛力。在本節中,我們進行了系統性的實驗,以更深入地了解不同主流 delta 調優方法的屬性。 ###############1. 效能,收斂性與效率分析#########我們首先選取全參數Fine-tuning 和四種代表性的Delta Tuning 方法(包括 Prompt Tuning(PT),Prefix-Tuning(PF),LoRA(LR)和Adapter(AP))對效能、收斂性和效率分析進行了徹底的比較。為了能夠測試更多樣化的語言建模能力,我們選取了超過100 個NLP 典型任務,包括文本分類(如情感分類,自然語言推斷),問題回答(如抽取式閱讀理解),語言生成(如文本摘要、對話)等任務,並且將所有任務的輸入和輸出都建模成sequence-to-sequence 的格式,從而方便使用同一個模型(T5)統一建模所有任務。除了 PT 是在 T5-base 和 T5-large 上測試,其它方法均在 T5-base 上進行實驗。
效能分析:實驗結果如上表所示,我們可以發現,(1)總的來說,由於不同的Delta Tuning 方法僅僅微調很少的參數,增加了優化的難度,因此在大多數情況下它們在性能上無法與FT 匹敵,但兩者之間的差距並非不可逾越,這證明了參數高效自適應的大規模應用的潛力。 (2) PF、LR、AP 這三種方法雖然設計元素不盡相同,但在性能上是不相上下的。它們中的任何一個方法都有可能在某些任務上表現出優於其它方法的性能(甚至超越 FT )。根據平均結果,所有方法的效能排名為 FT > LR > AP > PF > PT。同時我們也發現,Delta Tuning 方法的性能與其可調參數的數量並不一致,即更多可調參數不一定會帶來更好的性能,相比之下,Delta Tuning 的具體結構設計可能會發揮更大的作用。 (3) PT 作為這些方法中最容易實現的方法(即不修改模型的內部結構),在大多數情況下,它的性能是遠遠落後於其他 Delta Tuning 方法的。
收斂性分析:我們節選了部分資料集上的不同微調方法在不同訓練步數下表現的變化,其中由於PT 相比其它方法而言收斂速度過慢,沒有列入上圖。我們可以發現,總的來說,這些微調方法的收斂速度排序為:FT > AP ≈ LR > PF。儘管 PF 在所有 Delta Tuning 方法中可調參數數量最多,但仍面臨一些收斂困難,因此收斂速度與可微調的參數量也沒有直接的關聯。在實驗中我們也發現,對於每種 Delta Tuning 方法,效能和收斂性都對可調參數的數量不敏感,相較之下,對特定的結構更敏感。總而言之,我們的實驗在收斂性和整體性能方面得出了非常相似的結論,而這些結論得到了大量數據集上結果的充分支持。
效率分析:Delta Tuning 可以減少參數的梯度計算,從而節省GPU 顯存,體現了計算資源上的高效率。為了具體驗證 Delta Tuning 對 GPU 顯存的效率提升,我們進行了實驗以比較不同 Delta Tuning 方法在不同規模的 PLM 上微調所消耗的 GPU 顯存。具體而言我們選擇了三個尺度的 T5 模型,即 T5-base、T5-large、T5-xl,並測試了在不同 batch size 下達到的峰值 GPU 記憶體。我們使用 NVIDIA A100(最大 GPU 記憶體 = 39.58GB)進行實驗。從上圖我們可以看出,在batch size 較小時(例如,1、8),Delta Tuning 最多可以節省3/4 的GPU 顯存,而在batch size 較大時,Delta Tuning 至少可以節省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 设置下,人工模板也可以明显提高平均性能。然而,当训练监督信号相对比较丰富时(全量数据场景下),引入人工模板仅表现出微弱的性能提升,甚至有可能损害性能。
顺序组合:除了同时组合之外,我们还进一步研究了上述三种 Delta Tuning 方法按照一定顺序引入时的兼容性。具体来说,我们将整个微调分为 3 个阶段。在每个阶段,我们训练一个单独的 Delta Tuning 方法;在接下来的阶段中,我们固定前面阶段训练得到的 Delta Tuning 参数不动 ,只优化新引入的 Delta Tuning 参数。我们在 SST-2 情感分类数据集上,在使用 / 不使用人工模板的情况下对 RoBERTa-large 进行实验。结果在下图所示(节选),从中我们可以得出,在某些情况下,可以通过不断引入新的 Delta Tuning 方法,整体性能能够得到不断提高,从而验证了顺序组合的优势;同时我们也发现,在不同的设置下,不存在固定最优的组合顺序。最优的组合方式可能会因为不同的下游任务、使用的模型架构等等因素而变化。
泛化差距分析:各种微调方法对训练数据的记忆能力(Memorization)和泛化能力(Generalization)不尽相同。为此我们报告了 RoBERTa-large 在全量数据设置下的泛化差距(训练集效果 - 开发集效果),结果如下表所示,从中我们可以可以看出,(1)单个 Delta Tuning 方法的泛化差距总是小于 Fine-tuning,这意味着过度参数化可能有助于更好地记忆(过度拟合)训练样本。在所有 Delta Tuning 方法中,Prompt Tuning 往往具有最小的泛化差距。考虑到每种 Delta Tuning 方法均可以很好地泛化并在开发集上表现出非平凡的性能,因此过度拟合训练集可能不是良好泛化的必要条件;(2) 一般来说,组合几个 Delta Tuning 方法会增大泛化差距,甚至达到与全 Fine-tuning 相当的程度。这表明,记住训练集(Memorization)可能不需要微调过多;换句话说,在 PLM 进行下游任务适应时,即使模型可微调的容量很小,也足够很好地记忆训练集;(3) 使用人工模板一般不会影响泛化差距。
3. 模型规模增长的性能变化
我们研究了模型的规模增大对于 Delta Tuning 性能的影响。最近,有研究发现 ,随着使用的 PLM 的模型规模增长,Prompt Tuning 的性能会越来越强,甚至可以达到和全参数 Fine-tuning 微调相匹敌的水平。在这一小节中,我们将探讨是否所有 Delta Tuning 方法均能够表现出这种模型规模带来的优势(Power of Scale)。具体来说,我们对 MNLI、QNLI 和 SST-2 三个典型的 NLP 任务进行了实验,并选择了三个规模不断增加的 PLM(T5-small、T5-base、T5-xxl),并评估了六种具有代表性的 Delta 调整方法的性能(Adapter、LoRA、Prefix-Tuning、Prompt Tuning、Last Layer Tuning 和 Selective Module Tuning),结果如下图所示。
從圖 (a-i) 中,我們可以觀察到,隨著PLM 網路規模的成長,所有Delta Tuning 方法的效能和收斂性都得到了顯著提高;(2) 此外,圖(j-l) 表明,與其他Delta 調整方法相比,Prompt Tuning 往往對小規模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 模型中的部分模組進行微調。這兩種方法都表現出優異的效果,尤其是當 PLM 的規模非常大時,Selective Module Tuning 略好於 Last Layer Tuning。這些結果表明,將可微調的參數限制在某個特定層內可能不是一個好的策略。另一方面,當 PLM 的規模變得非常大時,跨不同層隨機選擇模組來微調可以實現出色的性能。總的來說,上述結果表明,隨著 PLM 模型規模的增長,各種微調方法的性能 / 收斂速度得到顯著提升可能是 Delta Tuning 的常見現象。我們猜測這種現象的存在是因為,較大的PLM 通常具有較小的本徵維度(Intrinsic Dimension),因此,僅調整很少的參數即可獲得足夠強的表示能力,從而在下游任務中實現非平凡的性能;此外,過參數化的模型可能在下游最佳化過程中更不容易陷入局部最優,從而加速收斂。
4. 任務間遷移能力
#我們研究了不同下游任務之間Delta Tuning 方法的可遷移性,具體而言,我們採用了4 種Delta Tuning 方法(Prompt Tuning、Prefix-Tuning、Adapter 和LoRA)和5 種不同類型的12 個NLP 任務(包括情感分析、自然語言推理、轉述識別、問答、總結),並將在來源任務上訓練好的Delta 參數遷移到目標任務上,測試zero-shot 遷移效果。結果如下圖所示,從中我們可以觀察到:(1)對於屬於同一類別的任務,它們之間的遷移通常表現良好;(2)對於不同類型的任務,在它們之間遷移表現較差;( 3) 另外,我們發現從文本生成任務(如問答和摘要)訓練得到的Delta 參數可以遷移到情感分析任務上並取得優異的表現,這表明文本生成任務可能是一項更複雜的任務,解決該任務所需的語言能力可能包括了情緒分析能力。
Delta Tuning 的應用
快速訓練與儲存空間節省###。 Transformer 模型雖然本質上是可並行化的,但由於其龐大的規模,訓練起來非常緩慢。儘管 Delta Tuning 的收斂速度可能比傳統的全參數微調慢,但隨著反向傳播期間可微調參數的計算量顯著減少,Delta Tuning 的訓練速度也得到了顯著提升。先前的研究已經驗證了,使用 Adapter 進行下游調優可以將訓練時間減少到 40%,同時保持與全參數微調相當的性能。由於輕量的特性,訓練得到的 Delta 參數還可以節省儲存空間,從而方便在從業者之間共享,促進知識遷移。 ######多任務學習。建構通用的人工智慧系統一直是研究人員的目標。最近,超大型 PLM (例如 GPT-3) 已經展示了同時擬合不同數據分佈和促進各種任務的下游性能的驚人能力。因此,在大規模預訓練時代,多任務學習受到越來越多的關注。作為全參數微調方法的有效替代,Delta Tuning 具有出色的多任務學習能力,同時保持相對較低的額外儲存。成功的應用包括多語言學習、閱讀理解等。此外,Delta Tuning 也有望作為持續學習中災難性遺忘的潛在解決方案。在預訓練期間獲得的語言能力儲存在模型的參數中。因此,當 PLM 在一系列任務中按順序進行訓練時,在沒有正則化的情況下更新 PLM 中的所有參數可能會導致嚴重的災難性的遺忘。由於 Delta Tuning 僅調整最小參數,因此它可能是減輕災難性遺忘問題的潛在解決方案。
中心化模型服務和平行計算。超大型 PLM 通常會作為服務發布,即使用者透過與模型提供者公佈的 API 互動來使用大模型,而不是本地儲存大模型。考慮到使用者和服務供應商之間難以承受的通訊成本,由於其輕量級的特性,Delta Tuning 顯然是比傳統全參數微調更具競爭力的選擇。一方面,服務提供者可以支援訓練多個使用者所需的下游任務,同時消耗更少的運算和儲存空間。此外,考慮到一些Delta Tuning 演算法本質上是可並行的(例如Prompt Tuning 和Prefix-Tuning 等),因此Delta Tuning 可以允許在同一個batch 中並行訓練/ 測試來自多個用戶的樣本(In-batch Parallel Computing)。最近的工作還表明,大多數 Delta Tuning 方法,如果本質上不能並行化,也可以透過一些方法修改以支援平行計算。另一方面,當中心的達模型的梯度對使用者不可用時,Delta Tuning 仍然能夠透過無梯度的黑盒演算法,僅呼叫模型推理 API 來優化大型 PLM。
以上是全方位分析大模型參數高效微調,清華研究登Nature子刊的詳細內容。更多資訊請關注PHP中文網其他相關文章!