?

PCP-tuning:面向小樣本學習的個性化連續提示調優*

2024-01-30 01:46劉汀蔡少填陳小軍章秦
關鍵詞:連續型高斯分布個性化

劉汀,蔡少填,陳小軍,章秦

(深圳大學計算機科學與技術系,廣東 深圳 518071)

0 引言

大量研究表明,基于循環網絡和注意力模塊的模型對序列型數據可以學習到很好的表達,且在基準測試中能取得優異的結果:艾山和曾蓉等使用LSTM進行專有領域的情感分類任務[1]和交通流預測[2];譚勛和亞力青等在模型語義表達層面進行下游語義相似度分析[3]和文本過濾[4];Raffel等提出超大數據量進行預訓練的T5模型[5].然而,現有的基于預訓練語言模型的學習方法大多遵循先預訓練再微調的范式,其中預訓練和微調都需要使用大規模的標注訓練數據集,會消耗大量的人力和計算資源.因此,使用有限的訓練數據進行學習的少樣本學習已經引起了越來越多的關注,如無監督學習、少樣本學習和知識圖譜[6].

在少樣本學習設置下,提示學習將下游任務視為缺失詞語重組語言建模問題,通過預訓練語言模型(PLMs)完成完形填空任務達到語言模型獲得語義知識的目的[7],引起了研究者的強烈興趣.例如,GPT-3就表現出令人印象深刻的少樣本學習能力,僅使用16個標記樣本就實現了80%的SOTA結果[8].

“提示學習”的關鍵問題是如何構建合適的提示語(prompt).早期的工作使用人工設定的提示來提取語言模型中的相關知識[9],然而想要寫出一個有效的提示是十分困難的.隨后,研究人員提出自動搜索提示的方法以提高提示設計的效率,并獲得了廣泛關注.一些研究通過將提示搜索問題重新定義為預測任務來搜索離散空間(詞匯表中的單詞)[10],主要分為梯度信息引導[11]和外部大模型知識融入[12],除此之外,還能進一步將邏輯規則[13]或知識圖譜[14]納入學習過程.最近的研究也有轉向學習連續提示嵌入的趨勢[15],這是因為與在離散的詞庫中尋找提示相比,在連續的詞表達空間中學習提示更適合神經網絡處理.

現有的提示學習方法通常對所有樣本應用統一的提示,其中存在一個潛在的粗略一致性假設,即所有樣本都偏向使用相同的提示.然而,這種假設是有風險的.如圖1所示的例子中,很難找到適用于任務中的所有樣本的單一提示.雖然有研究人員提出集成來自多個提示的結果以獲得更好的預測結果[16],但在實際任務中如何選取基準提示及如何集成都是需要考慮的復雜問題.

圖1 5個離散型提示在SST-2中隨機抽樣的10個樣本上的預測結果

基于上述發現,本文提出了一種用于小樣本學習的個性化連續型提示調優方法(PCP-tuning),其目的是根據數據集中每個樣本的語義來生成個性化的連續型提示.該方法通過考慮每個樣本的語義特征來訓練一個叫提示生成器的網絡以生成個性化提示,采用分布校準和多樣性校準對生成的提示做進一步調整.

本文的主要貢獻包括3個方面:1)針對任務中每個特定樣本的提示,提出了弱一致性假設,減少了以往統一任務級提示的粗略一致性假設;2)提出了兩種校準技術來控制生成的樣本提示的分布,多樣性校準迫使提示在單個樣本上是多樣化的,分布校準迫使提示表達近似于高斯分布,以更好地模擬提示的弱一致性,這兩種技術都為快速校準提供了一個有趣的研究方向;3)在10個公共benchmark上進行的詳細實驗表明,新方法幾乎在所有任務上都優于現有方法.

1 相關工作

1.1 語言模型提示

最近,GPT-3[8]等大規模PLMs的出現證明了通過任務級提示進行少樣本學習的巨大潛力.LM-BFF[12]進一步將GPT-3中的提示學習方法應用于中等大小的語言模型,并在廣泛的NLP任務中實現了與大型GPT-3模型相當的性能.

早期的提示學習工作通常使用人工設計提示來提取語言模型中的相關知識[10].為了提高提示設計的效率,自動搜索提示方法得到了廣泛的探索.Schick等將提示學習問題重新表述為解決完形填空式問題[9],進一步將潛在的NLP任務重新表述為蘊涵任務[10].Shin等建議將下游任務重新表述為預測任務,這可以通過基于梯度搜索來獲得最優解[11].Han等將邏輯規則納入提示學習[13],而Hu等將知識圖譜納入提示學習[14].Gao等利用T5模型自動生成提示[12].然而,上述方法都是在離散空間(詞匯表中的單詞)中搜索提示,由于提示表達空間的連續性,這樣只能搜索到次優的提示.

為了克服上述限制,最近的研究開始學習連續型提示表達,這更適合神經網絡.Liu等使用LSTM學習連續提示嵌入[16].Zhong等將提示調優結合進事實探測任務中[15].Liu等提出P-Tuning來自動搜索連續的提示嵌入,以彌補GPT在NLU任務中的缺陷[16].Li等提出了Prefix-tuning[17],可以應用于NLG任務.Lester等簡化了Prefixtuning方法[18],且證明了微調的性能隨著模型大小的增長而下降.Gu等在正式進行提示微調前先對提示表達進行預訓練以獲得更好的初始提示[19].Zhong等提出將下游自然語言處理任務融合進語言模型的預訓練任務中,發現集成多個提示的預測結果可以獲得更好的性能[15].但是上述方法通常對所有樣本應用同一個提示,這樣會忽略不同樣本之間存在的語義特征差別.雖然可以為一個數據集生成多個提示最終集成來自多個提示的結果以獲得更好的性能,但提示挑選和集成方法的選擇是一項復雜的工作.本文提出了一種資源節約又簡單高效的方法,根據樣本的語義特征生成特定于樣本的提示.

1.2 少樣本學習

少樣本學習的主要目標是使用少量的訓練樣本來達到語言模型到下游任務的遷移.常用的少樣本學習方法包括:1)半監督學習,它利用了標記[7]和未標記的示例[20];2)元學習,這是一種通用的學習范式,在訓練中不斷為模型提供新的任務場景[21]、新的類別[22]或者新的數據分布[23]進行訓練.這些方法可以與提示學習結合使用,以獲得更好的性能.

2 問題定義

2.1 少樣本訓練定義

給定一個已經過預訓練的語言模型LM,一個有標簽且標簽空間為Y的數據集Dtrain=,其中Ktotal=K×|Y|(K通常很?。?,即Dtrain中每個類包含K個訓練樣本.小樣本學習目的是在數量少的訓練集Dtrain上學習到能夠很好地推廣到測試集的模型參數.同時需要一個與訓練集大小相同的開發集Ddev來實現模型和超參數的選擇,即|Ddev|=|Dtrain|.

2.2 任務級連續型提示學習定義

任務級樣本連續型提示學習是目前常用的學習范式.給定一個輸入xin={x1,x2,···,xL},其中:xi是輸入文本樣本的第i個詞元(token),L是詞元的總數.首先,將xin轉換為詞元id序列?x,再使用語言模型LM將?x映射到詞元表達在任務級連續型提示學習中,會有一個統一應用于所有樣本的提示T.用于將輸入xin轉化為xprompt,xprompt是帶有[MASK]標記的輸入.然后將xprompt輸入到語言模型中對[MASK]進行填空.xprompt通常定義為

在輸入為句子對的任務中,假設xin=(xi,xj)是輸入句子對,那么xprompt通常定義為

提示T 可以表示為T={v1:j,[MASK],vj+1:k},其中:vi是提示的第i個詞元,k是提示的長度.因為LM是采用遮蔽詞語重組進行語言建模的語言模型(masked language modeling),所以提示中會包含一個[MASK]詞元.用V來表示LM的詞列表,并以M:Y →V成為從任務標簽空間Y到語言模型單詞表空間V的映射.然后原任務可以看作語言模型對于輸入xprompt在y∈Y標簽空間的分類問題,即

其中:wv表示詞表v∈V對應的pre-softmax向量,h[MASK]對應的是xprompt輸入[MASK]標記處的隱藏向量.最后通過最小化交叉熵損失來對LM進行微調.

2.3 特性化連續型提示學習定義

本文提出了一種新的學習范式,即個性化連續型提示學習,它為每個樣本學習個性化的提示.如在單句類型任務中,將原輸入樣本xin通過加入提示重構為新的輸入xprompt

其中T(xin)是給定輸入xin得到的個性化提示.

相應的,在句子對類型任務中,將xin=(xi,xj)用以下格式重構為xprompt

接著通過最小化公式(3)中的預測概率p(y|xin)與真實樣本之間的交叉熵損失來微調語言模型.

3 個性化連續型提示調優

現有的提示學習方法通常對任務內所有樣本應用統一的提示,其中存在潛在的粗略一致性假設:所有樣本可以共享相同的提示.然而,由圖1可知,這種假設是有風險的.因此,本文嘗試根據每個樣本的語義信息來學習一個個性化的提示,提出了如圖2所示的個性化連續型提示學習框架來訓練一個個性化連續型提示生成器.同時,本文進一步提出了兩種校準技術來調整提示生成器的輸出:1)多樣性校準迫使提示在樣本之間多樣化;2)分布校準強制提示的分布近似于特定分布,以便更好地模擬提示的一致性.接下來,將詳細介紹提示生成器和兩個校準模塊.最后,將給出訓練目標的公式定義.

圖2 本文提出的PCP-tuning框架

3.1 提示生成器

個性化連續型提示學習的基本步驟在2.3節中已定義.本文設計了一個用θ參數化的個性化提示生成器網絡PG(.;θ),其將為每個輸入xin生成它對應的個性化提示PG(xin;θ).則xprompt可表示為

對應句子對類型的輸入xin=(xi,xj)則為

基于Liu等的研究[16],提示內每個向量不應該相互獨立,所以本文選擇雙向長短期記憶網絡(LSTM),結合使用了ReLU激活的兩層多層感知器(MLP)來作為提示生成器的架構.

3.2 多樣性校準

受到對比學習的啟發[24-25],本文將對比學習應用于多樣性校準模塊中.與以往方法僅對模型輸出進行對比損失計算不同[26],本文引入對比損失,旨在使不同樣本所對應的提示之間呈現多樣性.具體而言,給定一個輸入xin,多樣性校準的損失Ld(xin)定義為

其中:s(·)是余弦相似度函數,用于計算兩個提示表達之間的相似度,τ是對比學習的溫度控制系數.是通過往返翻譯(英文-中文-英文)xin得到的增強樣本.,B是訓練中每批的訓練樣本集合,B+則是B對應的所有增強樣本.

3.3 分布校準

為了防止提示分布過于無序,提出了分布校準模塊,以強制提示分布近似于特定的分布,從而更好地對提示的一致性進行建模.使用高斯分布作為目標分布,也可以考慮其它分布,如長尾分布.分布校準策略分為兩種:1)預校準使用精心選擇的離散提示對提示生成器進行預訓練;2)后校準對提示發生器輸出的提示進行校準.兩種策略的詳細步驟如下.

預校準.此策略在開始正式訓練前,先使用一個優秀的離散提示Tt預訓練提示生成器PG(.;θ).給定輸入樣本xin∈Dtrain,預訓練通過最小化以下損失進行θ的優化

其中h(Tt)是離散提示Tt相應的表達張量.預訓練后的提示生成器將生成近似服從于高斯分布(h(Tt),σ2)的提示,方差σ2反映了生成提示的多樣性.

預校準在整個少樣本學習過程正式開始之前進行.因此,也可以將其視為提示生成器的熱身步驟.在此策略中,選擇合適的目標提示Tt非常重要.本文使用的Tt來自于LM-BFF[17]中生成的提示.

后校準.該策略的做法是引入額外的離散提示來對提示生成器的輸出進行后處理,讓輸出近似于高斯分布.假設有一個優秀的離散提示Tt,便可以通過以下公式獲得校準后的提示Tc=h(Tt)+λPG(x;θ),其中λ是控制離散提示表達張量和提示生成器輸出的提示之間的混合程度.Tc近似服從于高斯分布N(h(Tt),λσ2),高斯分布的方差項σ2由提示生成器的輸出來控制.

與預校準類似,選擇合適的離散提示Tt在此策略中也很重要.本文提出了兩種簡單有效的方法來解決這個問題:1)精心設計好的離散提示;2)由簡單詞匯隨機組合成的離散提示.雖然選擇設計好的離散提示是合理的,并且還有性能保證,但對于全新的任務,設計好的離散提示就沒那么容易獲得.所以本文提出了另一種簡單有效的方法,只需在多個常用單詞或符號(如“the”“a”“.”等)隨機排列組合成的序列中隨機位置插入[MASK]詞元便可作為離散提示使用,且可以在句子分類任務中獲得與精心設計好的離散提示相當的性能.

3.4 訓練目標

給定一個輸入xin,提示生成器的損失函數為

其中CE為交叉熵損失.

結合了多樣性損失函數后,整個xin的損失函數為

其中β是超參數.

最后,對語言模型LM(.;W)和PG(.;θ)進行微調

4 實驗

4.1 實驗設置

場景任務.本文對GLUE[27]的10個公共基準任務進行了全面評估,包括單句分類任務:SST-2,MR,CR[28],Subj,TREC[29],MPQA[30];句子對類型分類任務:MNLI,SNLI,QNLI,MRPC.這些任務都與對比算法P-Tuning V1[16]保持一致,以便可以對結果進行公平合理的比較.

基線(baselines).分為三種類型:1)無提示,在少樣本或者全樣本的環境設置下,直接微調更新整個語言模型的所有參數;2)人工提示,使用一個固定的人工提示來協助語言模型微調,與GPT-3中的零樣本學習、上下文情景學習一致;3)可學習提示,LM-BFF[12]是一種經典的離散提示學習方法.P-Tuning V1[16]和DART則是連續型提示學習的代表.

評估指標(metrics).本文根據準確性(Acc)和F1指數來評估模型的性能.

實現環境細節.基于Intel(R)Xeon(R)Platinum 8255C CPU和Nvidia V100 GPU.代碼在PyTorch[31]上實現.實驗的基本設置與LM-BFF[12]和DART相同.模型性能表現評估方面,對于每個任務,使用了5個固定的隨機種子Sseed={13,21,42,87,100}分別進行實驗,最終表現取5個精度的平均值.并使用RoBERTa-large作為基座語言模型.

4.2 主要結果

表1展示了PCP-tuning的下游任務分類結果以及同任務下相關對比算法的實驗結果.PCP-tuning在除MPQA之外的所有任務上都優于其它方法.與排名第二的結果相比,新方法在Subj和TREC任務上獲得了2.1%的性能提升,在QNLI任務上提升了6.1%,在MRPC任務上提升了3.1%.這證明了個性化提示學習針對少樣本學習問題的有效性.實驗發現新方法在MPQA任務上表現不佳,通過分析發現該任務中樣本輸入的句子非常短(每條輸入長度小于5個詞匯),這極大程度阻礙了需要從輸入中提取語義信息的提示生成器訓練.然而,與使用T5模型作為提示生成器的LM-BFF相比,新方法引入的提示生成器是非常輕量級的,極大程度節省了計算成本.

表1 PCP-tuning在10個基準任務上的結果

4.3 消融實驗

表2展示本方法的消融實驗結果.表中方法縮寫對照如下:D為多樣性校準(Diversity calibration),WR為預校準(Well-designed prompt for pRe-calibration,高質量離散提示),WO為后校準(Well-designed prompt for pOst-calibration,高質量離散提示),SO為后校準(Simple-words prompt for pOst-calibration,簡單詞匯隨機排列離散提示).可以看到,引入校準模塊確實可以提高性能.在CR、QNLI和MRPC任務上使用D+WR的組合為最優解,在SST-2和MR任務上D+WO表現最佳.由此推測,D+WR可能更適合單句類型任務,而D+WO可能更適合句子對類型任務.雖然D+SO沒有優于其它策略,但它在大多數任務上都能產生相當的結果.考慮到其簡單又節省計算成本的特性,它將是成本敏感型任務的不錯選擇.

表2 在SST-2、MR、CR、QNLI和MRPC任務上的消融實驗結果

4.4 超參數分析與可視化

本文進行了一系列實驗來進行超參數的選擇和生成提示分布的可視化.

提示長度.設置為pl={1,3,5,10},并在表3中展示不同長度的提示在兩個任務上的結果.由表3可知,提示太長會導致性能下降.SST-2任務使用長度為3的提示最佳,MR任務最佳則為1,這表明不同的任務提示長度設置需要額外考慮.

表3 不同提示長度的實驗結果

超參數λ和β靈敏度分析.新方法引入了超參數λ控制預校準中離散提示和生成連續提示的混合程度,而超參數β則權衡下游任務的有監督損失和多樣性校準模塊損失.如圖3所示,過大或過小的λ和β都會導致模型性能的下降,最優的超參數設置是λ=1、β=10.

圖3 超參數λ和β不同取值時在QNLI任務上對應的精度曲線

類樣本個數K.表4展示了使用不同類樣本個數K的小樣本數據集對模型性能的影響.可知在所有方法上隨著K的增大,模型性能會提高,并且新方法在所有K設置下都優于其它方法.

表4 K取值為8、16、32時在Subj、QNLI、MRPC任務上的結果

提示分布可視化.為了展示訓練優化不同階段PCP-tuning方法生成的連續提示分布的演變,本文使用提示生成器結合后校準與多樣性校準,在QNLI數據集上進行了提示微調.圖4為訓練步推進生成的提示降維可視化分布.優化前的提示分布呈U形,通過分析這是由BiLSTM網絡的特定結構引起的.隨著訓練的進行,分布趨近于高斯分布.此外還形成了許多局部密集的簇,這也證明提示分布具有局部相似性.

圖4 生成的提示分布隨著訓練推進的變化

4.5 示例和提示之間的一致性分析

為了研究提示表達和輸入表達之間的一致性,本文設計了一致性指標C

其中:SI(xiin,xjin)是兩個輸入xiin和xjin之間的余弦相似度(xiin是第i個輸入標記),而SP(xiin,xjin)是提示生成器為樣本xiin和xjin生成的兩個提示表達之間的余弦相似度,如圖5所示,隨著下游任務的有監督訓練推進,一致性指標C增加,且損失函數值相應減小,這表明相似的樣本使用相似的提示將會獲得更好的性能.這將為未來提示學習工作提供重要的參考.

圖5 C和損失值變化曲線

5 總結

本文提出了一種新穎的個性化連續型提示學習方法(PCP-tuning),用于少樣本學習任務.PCP-tuning通過優化一個輕量級提示生成器來學習生成適應各個樣本的提示.為了更好地控制生成的提示分布,提出了兩種提示校準策略:多樣性校準使針對不同樣本的提示表達具有多樣化,分布校準則讓提示表達近似服從于高斯分布以更好地模擬生成的提示之間的一致性.大量的實驗結果驗證了新方法的有效性.

本文提出的PCP-tuning方法在分布校準模塊需要使用額外的離散提示來協助提示生成器的訓練,未來將研究新的提示生成器,在不依賴離散提示的前提下直接生成個性化提示.

猜你喜歡
連續型高斯分布個性化
自變量分段連續型Volterra積分微分方程的配置法
利用Box-Cox變換對移動通信中小區級業務流量分布的研究
2種非對稱廣義高斯分布模型的構造
堅持個性化的寫作
連續型美式分期付款看跌期權
新聞的個性化寫作
一種基于改進混合高斯模型的前景檢測
上汽大通:C2B個性化定制未來
基于晶圓優先級的連續型Interbay搬運系統性能分析
滿足群眾的個性化需求
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合