亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Adapter與Prompt Tuning微調(diào)方法研究綜述

        2023-01-29 13:10:56林令德王正安
        關(guān)鍵詞:微調(diào)模板模塊

        林令德,劉 納,王正安

        1.北方民族大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,銀川750021

        2.北方民族大學(xué) 圖像圖形智能處理國(guó)家民委重點(diǎn)實(shí)驗(yàn)室,銀川750021

        在過去幾十年中,互聯(lián)網(wǎng)的興起改變了人們的生活方式,每天有大量的文本數(shù)據(jù)在互聯(lián)網(wǎng)中產(chǎn)生,如何從這些文本數(shù)據(jù)中獲取有用的信息是文本挖掘主要的研究?jī)?nèi)容。自然語言處理(natural language processing,NLP)作為文本挖掘的核心技術(shù),是一門語言與計(jì)算機(jī)科學(xué)的交叉學(xué)科,屬于人工智能中一個(gè)重要研究領(lǐng)域,主要研究如何讓機(jī)器更好地理解人類語言,研究方向有機(jī)器翻譯、命名實(shí)體識(shí)別等。隨著深度學(xué)習(xí)發(fā)展,各種各樣的神經(jīng)網(wǎng)絡(luò)模型在自然語言處理領(lǐng)域得到應(yīng)用,例如卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[1-3]、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[4-5]、圖神經(jīng)網(wǎng)絡(luò)(graph neural networks,GNN)[6-8]。神經(jīng)網(wǎng)絡(luò)通過低維和密集向量表示文本中的句法與語義特征,緩解之前特征工程中存在的問題[9]。神經(jīng)網(wǎng)絡(luò)的應(yīng)用提高了NLP各個(gè)任務(wù)的準(zhǔn)確率,然而神經(jīng)網(wǎng)絡(luò)模型需要針對(duì)具體的任務(wù)進(jìn)行設(shè)計(jì),無法構(gòu)建一個(gè)適用于多任務(wù)的通用模型。

        從2018年起,遷移學(xué)習(xí)的思想被廣泛應(yīng)用在自然語言處理領(lǐng)域,提出了許多預(yù)訓(xùn)練語言模型,如ELMO[10]、GPT[11]、BERT[12]、XLNET[13]、ELECTRA[14]、Albert[15]等。預(yù)訓(xùn)練語言模型采用兩階段學(xué)習(xí)方法,首先在大型語料庫(kù)中訓(xùn)練模型,使模型學(xué)習(xí)通用語言表示,再根據(jù)不同的下游任務(wù)對(duì)預(yù)訓(xùn)練模型進(jìn)行微調(diào)。預(yù)訓(xùn)練模型通常采用Transformer[16]結(jié)構(gòu),例如BERT模型基于多層雙向Transformer編碼器實(shí)現(xiàn),這種雙向結(jié)構(gòu)能更好地捕捉語句中單詞之間關(guān)系,提高模型在下游任務(wù)中的表現(xiàn)能力。而且使用預(yù)訓(xùn)練模型可以降低后期訓(xùn)練成本、加快在下游任務(wù)中模型的收斂速度、顯著提升下游任務(wù)的準(zhǔn)確率。

        隨著計(jì)算機(jī)性能的提升,預(yù)訓(xùn)練模型參數(shù)量也呈現(xiàn)快速增長(zhǎng)的趨勢(shì)。預(yù)訓(xùn)練模型參數(shù)量從2018年的1.1億(Bert-base)增長(zhǎng)到2021年的53 000億(Megatron-Turing),增長(zhǎng)了48 000倍。隨著參數(shù)量的增長(zhǎng),模型的學(xué)習(xí)能力也隨之提升,在各個(gè)領(lǐng)域中的應(yīng)用效果也更好,如Megatron-Turing NLG[17]、ERNIE 3.0[18]、Yuan 1.0[19]等。但是模型參數(shù)量的增長(zhǎng)在帶來益處的同時(shí),也表現(xiàn)出許多隱患。因?yàn)榫薮蟮膮?shù)量會(huì)導(dǎo)致模型的遷移能力下降,傳統(tǒng)預(yù)訓(xùn)練模型中的兩階段學(xué)習(xí)方法很難適用于參數(shù)量達(dá)到數(shù)萬億的巨大模型,即使在微調(diào)時(shí)使用了較大的數(shù)據(jù)集,也無法保障模型能夠快速記住微調(diào)樣本[20]。并且,傳統(tǒng)微調(diào)方法需要對(duì)每一種下游任務(wù)進(jìn)行全模型微調(diào),并存儲(chǔ)一份該任務(wù)的模型樣本,對(duì)存儲(chǔ)資源造成巨大壓力,對(duì)計(jì)算機(jī)算力也有更高的要求。而且,目前大多數(shù)研究組織還沒有足夠的算力對(duì)這些參數(shù)量巨大的模型進(jìn)行微調(diào),并在實(shí)際場(chǎng)景中部署應(yīng)用。

        近兩年,學(xué)者們提出了許多傳統(tǒng)微調(diào)方法的替代方案,主要可以分為Adapter和Prompt兩類。Adapter微調(diào)方法的主要思想是在預(yù)訓(xùn)練模型中添加Adapter模塊,每個(gè)Adapter模塊中包含少量參數(shù),在下游任務(wù)中微調(diào)時(shí)固定預(yù)訓(xùn)練模型參數(shù),通過Adapter模塊學(xué)習(xí)特定任務(wù)中的知識(shí),其中每個(gè)下游任務(wù)通常對(duì)應(yīng)多個(gè)Adapter模塊。由于每個(gè)Adapter模塊中包含的參數(shù)較少,訓(xùn)練時(shí)只需更新Adapter模塊中的權(quán)重,降低了對(duì)計(jì)算機(jī)算力的要求。Prompt微調(diào)方法通過模板將不同的下游任務(wù)轉(zhuǎn)換為模型預(yù)訓(xùn)練時(shí)常見的形式,縮小預(yù)訓(xùn)練與微調(diào)時(shí)訓(xùn)練數(shù)據(jù)的差異性,提升模型在下游任務(wù)中的表現(xiàn)。

        目前預(yù)訓(xùn)練模型微調(diào)方法綜述較多[21-22],大多從預(yù)訓(xùn)練模型出現(xiàn)開始,介紹了預(yù)訓(xùn)練模型的整個(gè)發(fā)展歷程,導(dǎo)致篇幅較長(zhǎng)。與之相比,本文僅對(duì)Adapter與Prompt兩類微調(diào)方法進(jìn)行介紹,具有較強(qiáng)的針對(duì)性,且篇幅較短,適合研究人員快速了解該方向的發(fā)展現(xiàn)狀。

        本文對(duì)Adapter與Prompt中的經(jīng)典方法進(jìn)行介紹,對(duì)各種方法的優(yōu)缺點(diǎn)進(jìn)行討論并總結(jié)歸納,并對(duì)本文工作進(jìn)行總結(jié)與展望。本文的研究意義有:(1)與其他綜述文章相比較,本文針對(duì)Adapter與Prompt Tuning兩種方法進(jìn)行介紹、分析與總結(jié),針對(duì)性強(qiáng)。(2)以預(yù)訓(xùn)練模型為切入點(diǎn),引出當(dāng)前微調(diào)方法現(xiàn)狀,幫助科研工作者了解當(dāng)前預(yù)訓(xùn)練模型微調(diào)方法發(fā)展動(dòng)態(tài)與存在的問題。

        1 基于Adapter的微調(diào)方法

        隨著計(jì)算機(jī)硬件性能的提高,預(yù)訓(xùn)練模型參數(shù)量越來越多,在訓(xùn)練下游任務(wù)時(shí)進(jìn)行全模型微調(diào)變得昂貴且耗時(shí),Adapter的出現(xiàn)緩解了這個(gè)問題。Adapter在預(yù)訓(xùn)練模型每層中插入用于下游任務(wù)的參數(shù),在微調(diào)時(shí)將模型主體凍結(jié),僅訓(xùn)練特定于任務(wù)的參數(shù),減少訓(xùn)練時(shí)算力開銷。本章主要介紹Adapter模塊設(shè)計(jì)方法、后續(xù)改進(jìn)算法以及在部分領(lǐng)域中的應(yīng)用。

        2019年,Houlsby等人[23]將Adapter引入NLP領(lǐng)域,作為全模型微調(diào)的一種替代方案。Adapter主體架構(gòu)如圖1所示,在預(yù)訓(xùn)練模型每一層(或某些層)中添加Adapter模塊(如圖1左),微調(diào)時(shí)凍結(jié)預(yù)訓(xùn)練模型主體,由Adapter模塊學(xué)習(xí)特定下游任務(wù)的知識(shí)。每個(gè)Adapter模塊由兩個(gè)前饋?zhàn)訉咏M成,第一個(gè)前饋?zhàn)訉訉ransformer塊的輸出作為輸入,將原始輸入維度d投影到m,通過控制m的大小來限制Adapter模塊的參數(shù)量,通常情況下m<<d。在輸出階段,通過第二個(gè)前饋?zhàn)訉舆€原輸入維度,將m重新投影到d,作為Adapter模塊的輸出(如圖1右)。通過添加Adapter模塊來產(chǎn)生一個(gè)易于擴(kuò)展的下游模型,每當(dāng)出現(xiàn)新的下游任務(wù),通過添加Adapter模塊來避免全模型微調(diào)與災(zāi)難性遺忘[24-25]的問題。Adapter方法不需要微調(diào)預(yù)訓(xùn)練模型的全部參數(shù),通過引入少量針對(duì)特定任務(wù)的參數(shù),來存儲(chǔ)有關(guān)該任務(wù)的知識(shí),降低對(duì)模型微調(diào)的算力要求。

        圖1 Adapter主體架構(gòu)圖Fig.1 Adapter main architecture diagram

        2020年,Pfeiffer等人[26]對(duì)Adapter進(jìn)行改進(jìn),提出Adapter Fusion算法,用以實(shí)現(xiàn)多個(gè)Adapter模塊間的最大化任務(wù)遷移(結(jié)構(gòu)如圖2所示)。Adapter Fusion將學(xué)習(xí)過程分為兩個(gè)階段:(1)知識(shí)提取階段。訓(xùn)練Adapter模塊學(xué)習(xí)下游任務(wù)的特定知識(shí),將知識(shí)封裝在Adapter模塊參數(shù)中。(2)知識(shí)組合階段。將預(yù)訓(xùn)練模型參數(shù)與特定于任務(wù)的Adapter參數(shù)固定,引入新參數(shù)學(xué)習(xí)組合多個(gè)Adapter中的知識(shí),提高模型在目標(biāo)任務(wù)中的表現(xiàn)。首先,對(duì)于N個(gè)不同的下游任務(wù)訓(xùn)練N個(gè)Adapter模塊。然后使用Adapter Fusion組合N個(gè)適配器中的知識(shí),將預(yù)訓(xùn)練參數(shù)Θ和全部的Adapter參數(shù)Φ固定,引入新的參數(shù)Ψ,使用N個(gè)下游任務(wù)的數(shù)據(jù)集訓(xùn)練,讓Adapter Fusion學(xué)習(xí)如何組合N個(gè)適配器解決特定任務(wù)。參數(shù)Ψ在每一層中包含Key、Value和Query(如圖2右)。在Transformer每一層中將前饋網(wǎng)絡(luò)子層的輸出作為Query、Value和Key的輸入是各自適配器的輸出,將Query和Key做點(diǎn)積傳入SoftMax函數(shù)中,根據(jù)上下文學(xué)習(xí)對(duì)適配器進(jìn)行加權(quán)。在給定的上下文中,Adapter Fusion學(xué)習(xí)經(jīng)過訓(xùn)練的適配器的參數(shù)混合,根據(jù)給定的輸入識(shí)別和激活最有用的適配器。作者通過將適配器的訓(xùn)練分為知識(shí)提取和知識(shí)組合兩部分,解決了災(zāi)難性遺忘、任務(wù)間干擾和訓(xùn)練不穩(wěn)定的問題。Adapter模塊的添加也導(dǎo)致模型整體參數(shù)量的增加,降低了模型推理時(shí)的性能。

        圖2 Adapter Fusion架構(gòu)圖Fig.2 Adapter Fusion architecture diagram

        Adapter Fusion在Adapter的基礎(chǔ)上進(jìn)行優(yōu)化,通過將學(xué)習(xí)過程分為兩階段來提升下游任務(wù)表現(xiàn)。如表1所示,作者對(duì)全模型微調(diào)(Full)、Adapter、Adapter Fusion三種方法在各個(gè)數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn)。從表中數(shù)據(jù)可以看出,Adapter Fusion在大多數(shù)情況下性能優(yōu)于全模型微調(diào)和Adapter,特別在MRPC[27](相似性和釋義任務(wù)數(shù)據(jù)集)與RTE[27](識(shí)別文本蘊(yùn)含數(shù)據(jù)集)中性能顯著優(yōu)于另外兩種方法。在MRPC數(shù)據(jù)集中,Adapter Fusion與全模型微調(diào)方法相比,提升了5.15個(gè)百分點(diǎn),與Adapter相比提升3.63個(gè)百分點(diǎn)。

        表1 Full(全模型微調(diào))、Adapter、Adapter Fusion比較Table 1 Comparison of Full(full model fine-tuning),Adapter,and Adapter Fusion 單位:%

        Rücklé等人[30]對(duì)Adapter的計(jì)算效率進(jìn)行分析,發(fā)現(xiàn)與全模型微調(diào)相比適配器在訓(xùn)練時(shí)快60%,但是在推理時(shí)慢4%~6%,并提出了Adapter Drop方法緩解該問題。Adapter Drop在不影響任務(wù)性能的情況下,對(duì)Adapter動(dòng)態(tài)高效地移除,盡可能地減少模型的參數(shù)量,提高模型在反向傳播(訓(xùn)練)和正向傳播(推理)時(shí)的效率。在刪除了前五層的Adapter后,在對(duì)八個(gè)任務(wù)進(jìn)行推理時(shí),效率提高了39%。

        Bapna等人[31]基于Adapter的思想在機(jī)器翻譯領(lǐng)域提出了一種簡(jiǎn)單的自適應(yīng)機(jī)器翻譯方法。首先在大型語料庫(kù)中訓(xùn)練一個(gè)基礎(chǔ)通用NMT(neural machine translation,神經(jīng)機(jī)器翻譯)模型,作為預(yù)訓(xùn)練模型。在模型收斂后將模型主體部分進(jìn)行凍結(jié),保留在預(yù)訓(xùn)練階段學(xué)習(xí)的通用知識(shí)。在每個(gè)Transformer層中為每種語言分別添加Adapter模塊,在對(duì)應(yīng)語料庫(kù)中進(jìn)行訓(xùn)練,調(diào)整Adapter參數(shù),讓其學(xué)習(xí)對(duì)應(yīng)語言知識(shí)。與全模型微調(diào)相比,基于Adapter的機(jī)器翻譯獲得了更好的效果,并且無需對(duì)不同自適應(yīng)數(shù)據(jù)集和模型容量進(jìn)行調(diào)整。

        2020年,Wang等人[32]將Adapter應(yīng)用在遷移學(xué)習(xí)領(lǐng)域,提出K-Adapter方法。解決新知識(shí)注入時(shí),歷史知識(shí)被沖走(災(zāi)難性遺忘)的問題。主要思想與Adapter類似,固定預(yù)訓(xùn)練模型參數(shù),針對(duì)每一種新知識(shí)添加一個(gè)Adapter模塊進(jìn)行訓(xùn)練。將Adapter模塊作為預(yù)訓(xùn)練模型的插件,每個(gè)插件之間沒有信息流傳輸,這樣可以有效地訓(xùn)練多個(gè)Adapter模塊,做到即插即用。避免了新的任務(wù)出現(xiàn),需要對(duì)所有任務(wù)重新訓(xùn)練的問題。

        Adapter作為全模型微調(diào)的替代方法,已經(jīng)廣泛應(yīng)用在域遷移[33]、機(jī)器翻譯[31,34]、遷移學(xué)習(xí)[32,35-36]和跨語言遷移[37-39]等方面。表2從方法的貢獻(xiàn)、不足等方面進(jìn)行總結(jié)歸納,輕量和易擴(kuò)展的Adapter已經(jīng)成為了全模型微調(diào)的合適替代方法。與之前昂貴的全模型微調(diào)方法相比,Adapter只需要一個(gè)較小的訓(xùn)練和存儲(chǔ)代價(jià)就可以獲得與全模型微調(diào)方法相近的結(jié)果。然而,基于Adapter的微調(diào)方法需要在預(yù)訓(xùn)練模型中添加針對(duì)下游任務(wù)的相關(guān)參數(shù)。雖然提高了模型的訓(xùn)練效率,但也會(huì)降低模型推理時(shí)的性能。將模型在實(shí)際應(yīng)用中部署時(shí),速度下降會(huì)非常明顯。

        表2 Adapter方法比較Table 2 Comparison of Adapter methods

        2 基于Prompt Tuning的微調(diào)方法

        全模型微調(diào)方法通過微調(diào)預(yù)訓(xùn)練模型來提高模型在下游任務(wù)中的表現(xiàn),但是目前預(yù)訓(xùn)練模型都過于龐大,對(duì)預(yù)訓(xùn)練模型進(jìn)行全微調(diào)資源消耗巨大。Prompt方法為不同下游任務(wù)設(shè)計(jì)模板,通過將下游任務(wù)重構(gòu)為與模型預(yù)訓(xùn)練相近的形式,減少預(yù)訓(xùn)練與在下游任務(wù)微調(diào)時(shí)輸入之間的差距。提出Prompt方法初衷是探測(cè)模型中的知識(shí)含量,讓模型回憶在預(yù)訓(xùn)練時(shí)學(xué)習(xí)的知識(shí)。基于Prompt的微調(diào)方法降低了預(yù)訓(xùn)練模型在下游任務(wù)微調(diào)時(shí)存儲(chǔ)和運(yùn)算的資源使用。如圖3所示,Prompt的設(shè)計(jì)分為三個(gè)步驟:(1)模板設(shè)計(jì)。通過手動(dòng)或自動(dòng)設(shè)計(jì)模板,將輸入x轉(zhuǎn)變成x′。通常情況下x′中包含空槽,讓預(yù)訓(xùn)練語言模型對(duì)空槽填充,從而推斷出y。模板的設(shè)計(jì)靈活多變,需要根據(jù)下游任務(wù)與預(yù)訓(xùn)練語言模型來選擇合適的模板。(2)答案搜索。在通過模板得到x′后,預(yù)訓(xùn)練語言模型在答案空間中進(jìn)行搜索,找出得分最高的值填充到對(duì)應(yīng)空槽中。(3)答案映射。通過答案搜索得到空槽對(duì)應(yīng)填充值后,部分任務(wù)的槽值為最終結(jié)果,部分任務(wù)的槽值需要進(jìn)行轉(zhuǎn)換,將槽值對(duì)應(yīng)到最終的輸出標(biāo)簽y。

        圖3 Prompt流程圖Fig.3 Prompt flow chart

        如何構(gòu)建一個(gè)模板使模型在下游任務(wù)中獲得最好的表現(xiàn)是Prompt Tuning研究的主要問題,目前在模板設(shè)計(jì)階段主要有人工構(gòu)建模板、離散模板和連續(xù)模版三種方法,本文會(huì)分別介紹這三種方法。

        2.1 人工構(gòu)建模板方法

        依靠專業(yè)人員的經(jīng)驗(yàn)手動(dòng)構(gòu)建模板是最直接高效的方式,可以支持下游任務(wù),也可以使用輔助半監(jiān)督學(xué)習(xí)的方式構(gòu)建數(shù)據(jù)集,進(jìn)行數(shù)據(jù)增強(qiáng)。在大型預(yù)訓(xùn)練模型的場(chǎng)景下可以實(shí)現(xiàn)小樣本甚至零樣本學(xué)習(xí),實(shí)現(xiàn)全模型微調(diào)的效果。

        2019年,Petroni等人[40]對(duì)預(yù)訓(xùn)練模型中包含的知識(shí)進(jìn)行探測(cè)。使用BERT作為基礎(chǔ)模型,通過將下游任務(wù)訓(xùn)練數(shù)據(jù)集轉(zhuǎn)換為完形填空的形式(如表3所示)模仿MLM預(yù)訓(xùn)練機(jī)制,縮小模型預(yù)訓(xùn)練與微調(diào)時(shí)看到的數(shù)據(jù)差異,來檢驗(yàn)?zāi)P椭邪闹R(shí)量。作者提出了LAMA probe數(shù)據(jù)集,用來評(píng)估預(yù)訓(xùn)練語言模型中包含的事實(shí)和常識(shí)知識(shí)。LAMA probe是Google-RE、T-Rex等數(shù)據(jù)集的整合,通過構(gòu)造模板將知識(shí)三元組轉(zhuǎn)換為模型常見的完形填空的形式,來探測(cè)預(yù)訓(xùn)練模型中所包含的知識(shí)。其思想為研究者們帶來了很大的啟發(fā)。

        表3 模板構(gòu)建示例Table 3 Template construction example

        2020年,Open AI發(fā)布了GPT-3[41],同樣采用了人工構(gòu)建模板的方式。將預(yù)訓(xùn)練好的模型參數(shù)凍結(jié),在輸入文本中加入提示構(gòu)成模板引導(dǎo)模型完成相應(yīng)問題,在避免全模型微調(diào)的情況下獲得了很好的結(jié)果。提示通常由任務(wù)描述和幾個(gè)相關(guān)示例組成,將任務(wù)相關(guān)提示與輸入x拼接生成新的輸入,無需針對(duì)不同的下游任務(wù)進(jìn)行設(shè)計(jì)。該方法使得同一個(gè)模型可以服務(wù)于不同的任務(wù),無需針對(duì)每個(gè)任務(wù)分別生成模型副本。但是該方法也具有一定的缺點(diǎn):(1)每一次做新預(yù)測(cè)時(shí),都需要針對(duì)當(dāng)前任務(wù)給定訓(xùn)練樣本,無法將上次預(yù)測(cè)時(shí)的有用信息抓取并存儲(chǔ)。(2)該方法基于上下文來進(jìn)行學(xué)習(xí),通過注意力機(jī)制來處理序列信息。但通常模型輸入序列長(zhǎng)度固定,導(dǎo)致該模型無法充分利用大數(shù)據(jù)集的優(yōu)點(diǎn)。(3)該語言模型巨大,有1 750億參數(shù),在實(shí)際場(chǎng)景中應(yīng)用非常困難。

        2021年,Schick等人[42]將有監(jiān)督的微調(diào)和無監(jiān)督的微調(diào)相結(jié)合提出了PET(pattern exploiting training),采用了半監(jiān)督訓(xùn)練的方式,將輸入示例轉(zhuǎn)換為完形填空形式的短語,幫助模型理解相應(yīng)任務(wù)。該方法使用手工構(gòu)建模板的方式,使用相應(yīng)短語為未標(biāo)記數(shù)據(jù)添加軟標(biāo)簽,最后對(duì)生成的訓(xùn)練集執(zhí)行標(biāo)準(zhǔn)的監(jiān)督訓(xùn)練。通過定義一個(gè)模式函數(shù)P(x),將x輸入后生成模板。在生成的模板中包含[mask]標(biāo)記,讓模型對(duì)標(biāo)記位置進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果通過詞表V映射為最終結(jié)果y。在每個(gè)任務(wù)中設(shè)計(jì)多個(gè)模板,采用模型集成與模型蒸餾的思想來尋找表現(xiàn)最好的模板。首先為每組模板分配權(quán)重,通過SoftMax和溫度系數(shù)生成偽標(biāo)簽集合并在新的PLM中進(jìn)行訓(xùn)練。作者將多個(gè)PVP的結(jié)果融合得到置信度較高的軟標(biāo)簽,而不是選擇最好的PVP。

        由于模板之間無法相互學(xué)習(xí),如果其中某個(gè)模板性能差,會(huì)導(dǎo)致最終生成的訓(xùn)練集包含許多錯(cuò)誤示例。作者針對(duì)這種情況提出iPET[42]。首先在數(shù)據(jù)集上進(jìn)行訓(xùn)練得到多個(gè)單獨(dú)微調(diào)模型,對(duì)于每個(gè)模型,隨機(jī)選取剩下的多個(gè)模型對(duì)未標(biāo)注數(shù)據(jù)進(jìn)行預(yù)測(cè),將預(yù)測(cè)結(jié)果作為該模型新的訓(xùn)練集。其次為每個(gè)模型分配新的數(shù)據(jù)集,繼續(xù)訓(xùn)練得到一組新的PET模型。最后,將前面步驟重復(fù)k次,每次將生成的訓(xùn)練集大小增加d倍,最后一組模型將用于創(chuàng)建軟標(biāo)記數(shù)據(jù)集,用于標(biāo)準(zhǔn)分類。

        雖然PET有助于將預(yù)訓(xùn)練語言模型中包含的知識(shí)用于下游任務(wù),但是只有在語言模型預(yù)測(cè)的答案對(duì)應(yīng)于詞匯表中單個(gè)標(biāo)記時(shí)才起作用,導(dǎo)致許多任務(wù)不容易通過這種方式完成。此外在PET中,是將每個(gè)V映射為一個(gè)token,但目前很多語言模型都是以BPE[43]為基本單元,預(yù)測(cè)中的token可能是單詞中的某一部分,所以無法解決答案由多個(gè)token組成的問題。對(duì)于這個(gè)問題,作者在PET的基礎(chǔ)上又進(jìn)行了改進(jìn),提出Multiple Tasks PET[44]使其能夠應(yīng)用在需要預(yù)測(cè)多個(gè)標(biāo)記的任務(wù)。首先針對(duì)特定任務(wù),計(jì)算詞表V中所有答案的最長(zhǎng)長(zhǎng)度k,在進(jìn)行轉(zhuǎn)換時(shí),將[mask]長(zhǎng)度設(shè)置為k,一次預(yù)測(cè)這k個(gè)位置的數(shù)據(jù)。

        2.2 離散模板方法

        雖然人工構(gòu)建模板較為直觀高效,但是由于構(gòu)建過程繁瑣,模板微小的變化可能會(huì)導(dǎo)致結(jié)果出現(xiàn)較大的變化,自動(dòng)構(gòu)建模板方式的提出用于解決這一問題。離散模板是自動(dòng)構(gòu)建模板的一種方法,模板由具體的字符構(gòu)成。

        2020年,Shin等人[45]針對(duì)手動(dòng)設(shè)計(jì)模板既耗時(shí)性能又不穩(wěn)定的問題,提出了AUTOPROMPT。通過梯度引導(dǎo)搜索為各種任務(wù)創(chuàng)建提示。如圖4所示,首先定義模板λ,λ中包含觸發(fā)標(biāo)記Xtrig、原始輸入Xinp和填充預(yù)測(cè)結(jié)果的插槽[mask]。觸發(fā)標(biāo)記Xtrig在所有任務(wù)中共享,并通過梯度搜索尋找確定。將Xinp與Xtrig輸入到λ中,生成Xprompt作為預(yù)訓(xùn)練模型輸入。對(duì)于抽象任務(wù)中標(biāo)簽選擇不清晰的問題,作者使用通用的兩階段操作來自動(dòng)選擇標(biāo)簽集合的方法。首先訓(xùn)練一個(gè)邏輯分類器,使用[mask]作為輸入來預(yù)測(cè)類標(biāo)簽。然后將預(yù)訓(xùn)練模型的輸出來當(dāng)作訓(xùn)練好的邏輯分類器的輸入,來獲得相應(yīng)標(biāo)簽。AUTOPROMPT與手工構(gòu)建模板相比,減少了人力的消耗并獲得了不錯(cuò)的性能。

        圖4 AUTOPROMPT模板構(gòu)建Fig.4 AUTOPROMPT template construction

        GPT-3雖然在小樣本微調(diào)中有不錯(cuò)的效果,但是其參數(shù)太多,在真實(shí)場(chǎng)景中難以應(yīng)用部署。對(duì)此,Gao等人[46]在2020年提出LM-BFF模型。通過T5[47]模型來自動(dòng)創(chuàng)建Prompt模板,避免人工標(biāo)注導(dǎo)致的局部最優(yōu)問題。首先自動(dòng)選擇標(biāo)簽值,針對(duì)每一個(gè)類c∈Y,使用初始L基于它們的條件似然來構(gòu)建前k個(gè)詞匯單詞的剪枝集Vc?V,將Vc作為:

        其中,PL表示L的輸出概率分布。為了進(jìn)一步縮小搜索空間,在修剪后的空間中找到前n個(gè)分配來最大限度地提高在訓(xùn)練集中的零樣本學(xué)習(xí)的精度。然后構(gòu)建模板,選擇候選標(biāo)簽詞,在標(biāo)簽詞前后添加填充位后作為T5模型的輸入。并在T5輸出中,將標(biāo)簽詞轉(zhuǎn)換為[mask]標(biāo)簽形成多個(gè)模板,最后采用集束搜索對(duì)候選模板解碼,類似于詞表搜索方法[42,48]。對(duì)每一個(gè)模板在開發(fā)集中微調(diào),選擇效果最好的模板。雖然LM-BFF微調(diào)效果高于標(biāo)準(zhǔn)微調(diào),但是面對(duì)較困難的任務(wù),性能仍然落后于全模型微調(diào)方法,并且結(jié)果中也存在高方差的現(xiàn)象。

        目前提示的微調(diào)方法大都基于令牌級(jí)別的,基于GPT[11]的L2RLM(left to right language model)或者BERT[12]的MLM(mask language model)。2021年,Sun等人[49]使用了被RoBERTa[50]等模型拋棄的Bert原始訓(xùn)練任務(wù)NSP(next sentence predict)來構(gòu)建句子級(jí)提示方法,稱為NSP-BERT。NSP-BERT為不同的下游任務(wù)分別構(gòu)建模板并通過添加soft-position將候選詞與[Blank]映射到同一位置,解決完形填空中候選詞無法感知[Blank]上下文的缺點(diǎn)。

        BARTScore Prompt是Yuan等人[51]在2021年提出的一種模版生成方法,將Prompt加在源文本前面或采用自動(dòng)搜索模板的方式。首先構(gòu)建一個(gè)提示,對(duì)提示中文本進(jìn)行同義詞替換生成新的提示,以這種方式來擴(kuò)充提示數(shù)量。最終將生成的提示加在文本的前面或者后面,構(gòu)成模板作為預(yù)訓(xùn)練模型的輸入。雖然該構(gòu)建方法簡(jiǎn)單,但是沒有證明在事實(shí)和語言質(zhì)量視角下的有效性。

        2021年,Haviv等人[52]將構(gòu)建模板將模板使用兩個(gè)步驟合并,提出了一種新的模板生成方法,使用BERT1和BERT2兩個(gè)模型完成任務(wù)。首先,構(gòu)建初始模板作為BERT1模型的輸入,計(jì)算每一個(gè)隱時(shí)刻狀態(tài)與BERT1中哪一個(gè)詞嵌入的token最接近,將token與原始模板中對(duì)應(yīng)詞進(jìn)行替換優(yōu)化生成新模板。將新模板作為BERT2的輸入,預(yù)測(cè)結(jié)果。雖然這個(gè)方法簡(jiǎn)單并易于理解,但整個(gè)訓(xùn)練過程需要使用兩個(gè)BERT模型,對(duì)計(jì)算機(jī)算力有較高的要求。

        2.3 連續(xù)模板方法

        由于手動(dòng)設(shè)計(jì)模板十分困難,需要大量驗(yàn)證集,并且當(dāng)模板發(fā)生細(xì)微變化時(shí),容易產(chǎn)生不可預(yù)估的變化。離散模板與連續(xù)模板相比,在許多情況下存在性能不理想的問題。連續(xù)模板構(gòu)建是對(duì)整個(gè)連續(xù)空間進(jìn)行微調(diào),放松了模板由實(shí)際存在詞語組成的約束,與離散模板相比,連續(xù)模板具有更強(qiáng)的表現(xiàn)力。并且連續(xù)模板可以強(qiáng)調(diào)詞語,并對(duì)具有誤導(dǎo)性和歧義性的詞語進(jìn)行調(diào)整。

        2021年,Li等人[53]提出prefix-tuning解決全模型微調(diào)中每個(gè)任務(wù)存儲(chǔ)一份預(yù)訓(xùn)練模型參數(shù)的問題。每個(gè)下游任務(wù)只需要存儲(chǔ)對(duì)應(yīng)的前綴,使用前綴來優(yōu)化任務(wù)。Prefix-tuning通過在預(yù)訓(xùn)練模型的每一層插入與任務(wù)相關(guān)的向量,在下游任務(wù)中調(diào)整相關(guān)參數(shù),同時(shí)保持預(yù)訓(xùn)練模型參數(shù)不變。自回歸語言模型添加prefix后表示為z=[prefix;x;y],編碼器-解碼器模型則表示為z=[prefix;x;prefix;y],模型添加前綴可訓(xùn)練的參數(shù)為Pθ∈R|pidx|×dim(hi),其中|Pidx|表示前綴的長(zhǎng)度,dim(hi)表示模型第i時(shí)刻的隱藏狀態(tài)維度。prefix的長(zhǎng)度可以自己定義,但是寬度必須與預(yù)訓(xùn)練模型的隱狀態(tài)維度保持一致。

        2021年,Liu等人[54]提出P-tuning并證明GPT使用P-Tuning可以獲得與BERT相媲美的效果。給定一個(gè)模板T={[P0:i,x,[Pi+1;m],y]},P-tuning將[Pi]映射到{h0,…,hi,e(x),hi+1,…,hm,e(y)},其中hi的值是一個(gè)可以訓(xùn)練的變量,這使得模型能夠找到超出模型M原始詞匯表V所能表達(dá)的更好的連續(xù)提示,并且使用BiLSTM將hi建模為序列,使提示嵌入hi的值相互依賴,緩解由于對(duì)hi進(jìn)行隨機(jī)分布初始化,在梯度下降時(shí)只改變小鄰域參數(shù)[55],容易落入局部最小值的問題。DART(differentiable prompt)[56]在為hi值建立依賴時(shí),沒有使用BiLSTM,而是利用輔助流利度約束目標(biāo)為hi之間建立聯(lián)系。

        2021年,Lester等人[57]在prefix-tuning的基礎(chǔ)上進(jìn)行簡(jiǎn)化,提出Soft-Prompt。Soft-Prompt僅在輸入前加入提示,采用與目標(biāo)任務(wù)相關(guān)的token對(duì)提示進(jìn)行初始化。Soft-Prompt比prefix-tuning添加更少的參數(shù),允許transformer根據(jù)輸入的上下文更新中間層的任務(wù)表示,不需要重新參數(shù)化。

        Hambardzumyan等人[58]受到了對(duì)抗性重新編程[59]的啟發(fā),提出了一種基于對(duì)抗性重構(gòu)的方法WARP(word-level adversarial reprogramming)。與之前手工尋找或者學(xué)習(xí)離散token作為Prompt的方法不同,WARP直接優(yōu)化embedding作為Prompt,給予模型更高的自由度,并且在最終的下游任務(wù)中獲得了更好的表現(xiàn)。在模型中有兩組需要優(yōu)化的embeddingθ={θP,θV},其中P表示Prompt,V表示每一類的分類參數(shù)。首先將Prompt tokenP1…p插入到輸入序列中(可以是前面、中間、后面任意位置),經(jīng)過encoder、MLM head后,通過θV。使用梯度優(yōu)化來尋找使loss最小的參數(shù)。

        目前提示調(diào)優(yōu)已經(jīng)展現(xiàn)出強(qiáng)大的能力,但是想要達(dá)到全模型微調(diào)的效果,需要一個(gè)巨大的模型(參數(shù)量在100億以上)。然而超大的預(yù)訓(xùn)練模型在實(shí)際應(yīng)用部署中存在較多的問題,目前實(shí)際應(yīng)用中通常使用中型模型(參數(shù)量在1億到10億之間)。在這部分模型中,提示調(diào)優(yōu)效果遠(yuǎn)低于全模型微調(diào)。2021年10月,Liu等人[60]受prefix-tuning啟發(fā),在P-tuning基礎(chǔ)上進(jìn)行改進(jìn)提出P-tuning v2。采用了深層實(shí)體調(diào)優(yōu),通過在不同層中添加標(biāo)記,增加可以調(diào)節(jié)的參數(shù)量,解決P-tuning在復(fù)雜NLU任務(wù)中表現(xiàn)差的問題。

        2.4 小結(jié)

        本章從人工模板構(gòu)建、離散模板構(gòu)建、連續(xù)模板構(gòu)建三種模板構(gòu)建方式對(duì)Prompt Tuning進(jìn)行介紹。如表4所示,對(duì)三種模板構(gòu)建方式的優(yōu)缺點(diǎn)進(jìn)行總結(jié)歸納。并對(duì)三種構(gòu)建方式下不同的方法貢獻(xiàn)與不足進(jìn)行分析梳理,如表5所示。

        表4 模板構(gòu)建方式比較Table 4 Comparison of template construction methods

        表5 各種模板構(gòu)建方法比較Table 5 Comparison of various template construction methods

        3 總結(jié)與展望

        Adapter方法在模型中添加少量參數(shù),在訓(xùn)練時(shí)將模型主體凍結(jié),使Adapter塊學(xué)習(xí)下游任務(wù)的知識(shí),減少了訓(xùn)練時(shí)的參數(shù)量并達(dá)到了全模型微調(diào)的效果。與Adapter微調(diào)方法相比,基于Prompt的微調(diào)是非侵入性的,無需附加大量參數(shù)。在下游任務(wù)繁多的背景下,使用Prompt可以解決為每個(gè)任務(wù)生成一個(gè)模型樣本的問題,是全模型微調(diào)的一種輕量化替代方案。但目前Prompt的研究主要針對(duì)分類和生成兩方面,對(duì)于其他領(lǐng)域研究相對(duì)較少,對(duì)于模板與答案之間的關(guān)聯(lián)也了解甚少。Prompt在自然語言處理領(lǐng)域大放異彩,取得的優(yōu)異成績(jī)足以證明其有效性。可以預(yù)見,在未來Prompt工作會(huì)推動(dòng)自然語言處理領(lǐng)域的快速發(fā)展。

        本文對(duì)預(yù)訓(xùn)練模型微調(diào)方法進(jìn)行了綜述,目前預(yù)訓(xùn)練模型微調(diào)方式種類繁多,本文僅選取了Adapter與Prompt兩種方式進(jìn)行介紹,對(duì)兩種微調(diào)方式中經(jīng)典方法進(jìn)行分析、總結(jié)、歸納。雖然目前的微調(diào)方法多樣且設(shè)計(jì)較為復(fù)雜,但總體趨勢(shì)是結(jié)構(gòu)越來越簡(jiǎn)單,未來預(yù)訓(xùn)練模型的微調(diào)方法會(huì)更加豐富且簡(jiǎn)單高效。

        通過對(duì)最近幾年預(yù)訓(xùn)練模型微調(diào)方法的梳理,本文對(duì)微調(diào)方法未來的發(fā)展趨勢(shì)進(jìn)行展望。(1)訓(xùn)練速度。Adapter和Prompt中連續(xù)模板的構(gòu)造需要在預(yù)訓(xùn)練模型的基礎(chǔ)上添加參數(shù),并在訓(xùn)練過程中對(duì)參數(shù)進(jìn)行優(yōu)化。與全模型微調(diào)方法相比,雖然降低了訓(xùn)練成本,但是在模型中新添加了參數(shù),會(huì)導(dǎo)致模型在推理過程中效率的降低,在實(shí)際中應(yīng)用中這個(gè)缺點(diǎn)會(huì)被放大。如何在少量添加模型參數(shù)甚至不添加的情況下將模型微調(diào)至較好的效果是未來的一個(gè)研究方向。(2)Prompt的可解釋性。Prompt已經(jīng)表現(xiàn)出強(qiáng)大的能力,甚至被稱為NLP的第四范式[22],但是目前針對(duì)Prompt可解釋性的相關(guān)研究較少。基于Prompt的微調(diào)方法發(fā)展迅速,在短短幾年的時(shí)間里已有數(shù)百篇相關(guān)工作。Prompt Tuning應(yīng)更加集中地針對(duì)目前的超大模型,探索其在小樣本甚至零樣本中的能力上界。未來在多模態(tài)、多任務(wù)等領(lǐng)域的提示學(xué)習(xí)也會(huì)成為一個(gè)重要的研究方向。

        猜你喜歡
        微調(diào)模板模塊
        鋁模板在高層建筑施工中的應(yīng)用
        鋁模板在高層建筑施工中的應(yīng)用
        28通道收發(fā)處理模塊設(shè)計(jì)
        “選修3—3”模塊的復(fù)習(xí)備考
        一種新型微調(diào)擠塑模具的設(shè)計(jì)及應(yīng)用
        電線電纜(2018年2期)2018-05-19 02:03:44
        靈活易用,結(jié)合自動(dòng)和手動(dòng)微調(diào)達(dá)到好效果 StormAudio ISP 3D.16 ELITE/PA 16 ELITE
        鋁模板在高層建筑施工中的應(yīng)用
        選修6 第三模塊 International Relationships
        城市綜改 可推廣的模板較少
        全國(guó)大部省份結(jié)束2014高考 多地高考模式微調(diào)
        国产精品兄妹在线观看麻豆| 女同欲望一区二区三区| 国产一级黄色录像大片| 精品国偷自产在线视频九色| 亚洲精品无码不卡av| 不卡无毒免费毛片视频观看| 麻豆成人久久精品二区三区免费| 久久影院午夜理论片无码| 中文字幕在线亚洲日韩6页| 国产精品九九九无码喷水| 亚洲精品中文字幕乱码人妻| 成人无码网www在线观看| 日本一区二区偷拍视频| 国产精品午夜福利视频234区| 久久中文字幕无码专区| 最新国产女主播福利在线观看| 国产自拍三级黄片视频| 少妇伦子伦情品无吗| 国产乱子伦视频大全| 无码AV午夜福利一区| 国产亚洲精品一区在线| 无码字幕av一区二区三区| 国产人成精品综合欧美成人| 男女男在线精品免费观看| 一二三区无线乱码中文在线 | 免费观看性欧美大片无片| 国产高清精品自在线看| 少妇太爽高潮在线播放| 欧美老肥妇做爰bbww| 国产精品乱码在线观看| 免费高清视频在线观看视频| 亚洲av无一区二区三区久久蜜桃| 亚洲 自拍 另类小说综合图区| 麻豆久久五月国产综合 | 女同av在线观看网站| 人日本中文字幕免费精品| 久久一二区女厕偷拍图| 4hu四虎永久在线观看| 亚洲αⅴ无码乱码在线观看性色| 中文字幕亚洲高清精品一区在线 | 久久精品免费观看国产|