撥動(dòng)大模型的琴弦|Delta Tuning 成果登上 Nature子刊封面!


OpenBMB 團(tuán)隊(duì)研究成果“面向大規(guī)模預(yù)訓(xùn)練語言模型的參數(shù)高效微調(diào)”(Parameter-efficient Fine-tuning of Large-scale Pre-trained Language Models)于 3月 2日在《自然·機(jī)器智能》(Nature Machine Intelligence)上發(fā)表。該期刊于3月23日出版,我們的成果被精選為本期的封面文章:

論文共同第一作者丁寧、秦禹嘉和通訊作者劉知遠(yuǎn)、孫茂松均為OpenBMB開源社區(qū)的主要成員。該研究成果得到了科技部科技創(chuàng)新2030“新一代人工智能”重大項(xiàng)目、國(guó)家自然科學(xué)基金、北京智源人工智能研究院、清華大學(xué)國(guó)強(qiáng)研究院的支持。
這篇論文定義和描述了Delta Tuning問題,并且通過一個(gè)?統(tǒng)一的框架?對(duì)以往的研究進(jìn)行梳理回顧,并且從?優(yōu)化和最優(yōu)控制?兩個(gè)角度,提出理論框架去討論Delta Tuning,以指導(dǎo)后續(xù)的結(jié)構(gòu)和算法設(shè)計(jì)。此外,還對(duì)代表性方法進(jìn)行了全面的?實(shí)驗(yàn)對(duì)比,并在超過 100 個(gè) NLP 任務(wù)的結(jié)果展示了不同方法的綜合性能比較。實(shí)驗(yàn)結(jié)果涵蓋了對(duì)Delta Tuning的?性能表現(xiàn)、收斂表現(xiàn)、高效性表現(xiàn)、Power of Scale、泛化表現(xiàn)、遷移性表現(xiàn)?的研究分析。團(tuán)隊(duì)還開發(fā)了一個(gè)開源工具包?OpenDelta,使從業(yè)者能夠高效、靈活地在 PLM上實(shí)現(xiàn) Delta Tuning。
?????DeltaTuning 論文鏈接?
???https://www.nature.com/articles/s42256-023-00626-4
?????OpenDelta 工具包源碼?
???https://github.com/thunlp/OpenDelta

01 DeltaTuning 的提出背景?
—
2018年預(yù)訓(xùn)練語言模型(PLM)橫空出世,目前“預(yù)訓(xùn)練-微調(diào)”方法已成為NLP任務(wù)的主流范式。在這個(gè)新范式下,我們可以利用大規(guī)模無標(biāo)注數(shù)據(jù)通過自監(jiān)督學(xué)習(xí)預(yù)訓(xùn)練語言大模型,得到基礎(chǔ)模型,再利用下游任務(wù)的有標(biāo)注數(shù)據(jù)進(jìn)行有監(jiān)督學(xué)習(xí)微調(diào)模型參數(shù),實(shí)現(xiàn)下游任務(wù)的適配。最近爆火的ChatGPT就是大模型的代表,越來越多的實(shí)驗(yàn)和實(shí)踐表明:規(guī)模越大的模型不僅在已知任務(wù)上有著更好的表現(xiàn),同時(shí)展現(xiàn)出完成更復(fù)雜的未知任務(wù)的強(qiáng)大泛化能力。

然而,更大的模型也在應(yīng)用上面臨著更大的挑戰(zhàn),傳統(tǒng)方法對(duì)超大規(guī)模的預(yù)訓(xùn)練模型進(jìn)行全參數(shù)微調(diào)的過程會(huì)消耗大量的GPU計(jì)算資源與存儲(chǔ)資源,巨大的成本令人望而卻步。論文統(tǒng)計(jì)選取了1000篇來自最近五個(gè)NLP會(huì)議的論文,發(fā)現(xiàn)盡管預(yù)訓(xùn)練模型已經(jīng)成為了主流范式,但涉及大模型的論文卻寥寥無幾。
為了應(yīng)對(duì)該挑戰(zhàn),參數(shù)高效微調(diào)(Parameter-efficient Fine-tuning)方法逐漸受到關(guān)注。與全參數(shù)微調(diào)相比,參數(shù)高效微調(diào)方法凍結(jié)預(yù)訓(xùn)練模型99%以上的參數(shù),僅利用少量下游任務(wù)數(shù)據(jù)微調(diào)少于1%模型規(guī)模的參數(shù),作為模型插件實(shí)現(xiàn)大模型對(duì)下游任務(wù)的適配,達(dá)到媲美全參數(shù)微調(diào)的性能,并顯著降了微調(diào)過程的計(jì)算和存儲(chǔ)開銷。

02 DeltaTuning:方法與分析?
—
我們的研究提出,參數(shù)高效微調(diào)方法的本質(zhì)是在對(duì)“增量參數(shù)”(Delta Parameters)進(jìn)行調(diào)整,因此將此類方法命名為“增量微調(diào)”(Delta Tuning),其中“delta”是一個(gè)經(jīng)常用于表示變化的數(shù)學(xué)符號(hào),被借用來指在訓(xùn)練中“改變”的參數(shù)部分。研究基于統(tǒng)一的分析框架對(duì)增量微調(diào)現(xiàn)有方法進(jìn)行梳理總結(jié),將現(xiàn)有方法分為三類:添加式(Addition-based)、指定式(Specification-based)和重參數(shù)化(Reparameterization-based)方法。為了指導(dǎo)后續(xù)的模型架構(gòu)和算法設(shè)計(jì),研究還進(jìn)一步從參數(shù)優(yōu)化和最優(yōu)控制兩個(gè)角度,提出了增量微調(diào)的理論框架,為探索和解釋增量微調(diào)的內(nèi)在機(jī)理提供了可行方案。


03 DeltaTuning 的理論視角?
—
Delta Tuning本質(zhì)上是否有共通之處?我們認(rèn)為,Delta Tuning方法不僅具有很高的實(shí)用價(jià)值,更具有深遠(yuǎn)的理論意義,它們似乎都在不約而同地證明一件事情:即大模型的適配過程似乎是一個(gè)非常低消耗的過程(相比于預(yù)訓(xùn)練),它可以通過非常少的數(shù)據(jù)和非常少的參數(shù)調(diào)整來完成。Delta Tuning的成功啟發(fā)我們?nèi)ミM(jìn)一步地探索模型適配背后的理論框架,本文提出了優(yōu)化和最優(yōu)控制兩個(gè)視角的框架去對(duì)Delta Tuning進(jìn)行理論層面的闡釋。
從優(yōu)化角度,我們分析Delta Tuning的效果并討論了在低維假設(shè)下的一些Delta Tuning方法的設(shè)計(jì)。使用Delta Tuning后,目標(biāo)函數(shù)及其所依賴的參數(shù)都可能會(huì)發(fā)生改變。對(duì)新的目標(biāo)函數(shù),僅優(yōu)化其與Delta Tuning有關(guān)的參數(shù),如果初值足夠好,在一定假設(shè)意義下模型的性能不會(huì)有大的損害。但是為了確保Delta Tuning的有效性,有必要去開發(fā)問題的結(jié)構(gòu)來設(shè)計(jì)這個(gè)新的目標(biāo)函數(shù)。其出發(fā)點(diǎn)是利用問題內(nèi)在的低維特性。一般而言,在實(shí)踐中有兩種思路被證明是有用的:一,在特定的低維的子空間內(nèi)尋找解向量;二,在特定的低維的函數(shù)空間內(nèi)近似目標(biāo)函數(shù)。從最優(yōu)控制角度,基于以往的從最優(yōu)控制角度解釋深度學(xué)習(xí)的理論,我們揭示了Delta Tuning可以看作尋找最優(yōu)控制器的過程。
我們的分析可以啟發(fā)新穎的Delta Tuning方法的設(shè)計(jì),我們還證明了Delta參數(shù) 對(duì) PLM 的干預(yù)等同于控制器的設(shè)計(jì)。通過應(yīng)用控制器設(shè)計(jì) 的理論,我們期望提出更多具有理論保證的 Delta Tuning 方法,即設(shè)計(jì)的 delta 結(jié)構(gòu)在充分激發(fā)PLM的情況下具有原則上的可解釋性。

04 DeltaTuning:全方位的實(shí)驗(yàn)分析?
—
我們選擇了超過100個(gè)自然語言處理任務(wù),對(duì)主流增量微調(diào)方法進(jìn)行了全面細(xì)致的性能比較和分析,得出多項(xiàng)重要結(jié)論,例如:
(1)基礎(chǔ)模型隨著參數(shù)規(guī)模的不斷增大,在性能顯著提高的同時(shí),不同增量微調(diào)方法的差異急劇減少,最少僅需要優(yōu)化萬分之八的模型參數(shù)即可完成適配;

(2)不同增量微調(diào)方法可以進(jìn)行并行或者串行的組合從而達(dá)到更優(yōu)的性能,表明了分布在模型參數(shù)空間中的智能能力可以進(jìn)行組合和泛化;
(3)增量微調(diào)方法具備良好的任務(wù)級(jí)別的遷移能力,完成特定任務(wù)的“能力”可以表示為輕量級(jí)參數(shù)化的形式,可以在不同基礎(chǔ)模型和不同用戶之間共享。
以上研究表明,增量微調(diào)是基礎(chǔ)模型的重要特性,上述結(jié)論將加深對(duì)基礎(chǔ)模型的認(rèn)識(shí),為其創(chuàng)新研究與應(yīng)用提供重要支撐。

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

06 發(fā)表Nature背后的產(chǎn)學(xué)研之路:探索、開源與落地
—
我們基于該論文成果研制發(fā)布了開源工具包 OpenDelta,是 OpenBMB 開源社區(qū)的重要組成部分,可支持研究者和開發(fā)者靈活高效地在各類預(yù)訓(xùn)練模型上實(shí)現(xiàn)和應(yīng)用增量微調(diào)方法。團(tuán)隊(duì)認(rèn)為,增量微調(diào)技術(shù)將是基礎(chǔ)模型適配特定任務(wù)、場(chǎng)景和用戶的重要范式,可更有效地激發(fā)以ChatGPT為代表的大規(guī)模預(yù)訓(xùn)練模型的性能。
團(tuán)隊(duì)自2018年以來堅(jiān)持開展語言大模型創(chuàng)新研究,并堅(jiān)持建設(shè)OpenBMB開源社區(qū),致力于構(gòu)建大規(guī)模預(yù)訓(xùn)練模型全流程高效計(jì)算工具體系,相關(guān)工作在全球最大的開源社區(qū)GitHub上累計(jì)獲得超過4000星標(biāo)關(guān)注,曾獲自然語言處理領(lǐng)域著名國(guó)際會(huì)議 ACL 2022 最佳系統(tǒng)演示論文獎(jiǎng)等榮譽(yù)。

OpenBMB開源社區(qū)上接頂尖高校學(xué)術(shù)研究力量(清華大學(xué)自然語言處理與社會(huì)人文計(jì)算實(shí)驗(yàn)室),下通人工智能大模型技術(shù)創(chuàng)新與應(yīng)用落地公司(北京面壁智能),成功搭建業(yè)界需求、算法開源和產(chǎn)業(yè)落地三者的閉環(huán)“產(chǎn)學(xué)研”通道。我們矢志不渝致力于大模型的前沿研究、應(yīng)用研發(fā)和產(chǎn)業(yè)發(fā)展。
打造卓越的國(guó)產(chǎn)大模型,路漫漫其修遠(yuǎn),我們將不斷上下求索。感謝你對(duì)我們的關(guān)注,也歡迎未來你的參與,讓我們一同為建設(shè)中國(guó)大模型生態(tài)添磚加瓦。

?????傳送門?
???? OpenBMB 項(xiàng)目地址?
???https://github.com/OpenBMB/CPM-Live
?????DeltaTuning 論文鏈接?
???https://www.nature.com/articles/s42256-023-00626-4
?????OpenDelta 工具包源碼?
???https://github.com/thunlp/OpenDelta
????加社群/ 提建議/ 有疑問?
請(qǐng)找 OpenBMB 萬能小助手:

?? 關(guān)注我們
微信搜索關(guān)注 “OpenBMB開源社區(qū)”
后臺(tái)回復(fù)“CPM-Live” 即可加入CPM-Live加油群
還可獲取更多大模型干貨知識(shí)和前沿資訊!??

