美團技術團隊 近日,美團搜索與NLP部NLP中心語義理解團隊的小樣本學習模型FSL++在中文小樣本語言理解權威評測基準FewCLUE榜單登頂,在自然語言推理(OCNLI)單任務中取得第一,并在極少數樣本(一個類別僅100余個)的條件下,在新聞分類(TNEWS)、科學文獻學科分類(CSLDCP)任務上超過了人類識別精確度。
1 概述
2 方法介紹
2.1 增強預訓練
2.2 模型結構
2.3 數據增強
2.4 集成學習&自訓練
3 實驗結果
3.1 數據集介紹
3.2 實驗對比
4 小樣本學習策略在美團場景的應用
5 總結
1 概述
CLUE(Chinese Language Understanding Evaluation)[1]是中文語言理解權威測評榜單,包含了文本分類、句間關系、閱讀理解等眾多語義分析和語義理解類子任務,對學術界和工業界都產生了較大的影響。
圖1 FewCLUE榜單(截止到2022-04-18)
FewCLUE[2,3]是CLUE中專門用于中文小樣本學習評測的一個子榜,旨在結合預訓練語言模型通用和強大的泛化能力,探索小樣本學習最佳模型和在中文上的實踐。FewCLUE的部分數據集只有一百多條有標簽樣本,可以衡量模型在極少有標簽樣本下的泛化性能,發布后吸引了包括網易、微信AI、阿里巴巴、IDEA研究院、浪潮人工智能研究院等多家企業與研究院的參與。不久前,美團平臺搜索與NLP部NLP中心語義理解團隊的小樣本學習模型FSL++以優越的性能在FewCLUE榜單上取得第一名,達到SOTA水平。
2 方法介紹
大規模預訓練模型雖然在各大任務里面取得非常好的效果,但是在特定的任務上,還是需要許多標注數據。美團的各個業務中,有著豐富的NLP場景,往往需要較高的人工標注成本。在業務發展早期或者新的業務需求需要快速上線時,往往會出現標注樣本不足的現象,使用傳統Pretrain(預訓練)+ Fine-Tune(微調)的深度學習訓練方法往往達不到理想的指標要求,因此研究小樣本場景的模型訓練問題就變得非常必要。
本文提出了一套大模型 + 小樣本的聯合訓練方案FSL++,綜合了模型結構優選、大規模預訓練、樣本增強、集成學習以及自訓練等模型優化策略,最終在中文語言理解權威評測基準下的FewCLUE榜單取得了優異的成績,并且在部分任務上性能超過了人類水平,而在部分任務上(如CLUEWSC)還有一定的提升空間。
FewCLUE發布后,網易伏羲使用自研的EET模型[4],并通過二次訓練增強模型的語義理解能力,再加入模版進行多任務學習;IDEA研究院的二郎神模型[5]在BERT模型的基礎上使用更先進的預訓練技術訓練大模型,在下游任務微調的過程中用加入動態Mask策略的Masked Language Model(MLM)作為輔助任務。這些方法都使用Prompt Learning作為基本的任務架構,跟這些自研的大模型相比,我們的方法主要在Prompt Learning框架的基礎上加入了樣本增強、集成學習以及自學習等模型優化策略,極大地提高模型的任務表現和魯棒性,同時這套方法可以適用于各種預訓練模型,更加靈活便捷。
FSL++整體模型結構如下圖2所示。FewCLUE數據集為每個任務提供160條有標簽數據以及接近兩萬條無標簽數據。本次FewCLUE實踐中,我們先在Fine-Tune階段構造多模板Prompt Learning,并對有標簽數據采用對抗訓練、對比學習、Mixup等增強策略。由于這些數據增強策略采用不同的增強原理,可以認為這些模型之間差異性比較顯著,經過集成學習之后會有比較好的效果。所以在采用數據增強策略進行訓練以后,我們擁有了多個弱監督模型,并且用這些弱監督模型在無標簽數據上進行預測,得到無標簽數據的偽標簽分布。之后,我們將多個經過不同的數據增強模型預測得到的無標簽數據的偽標簽分布整合起來,得到一份總的無標簽數據的偽標簽分布,接著重新構造多模板Prompt Learning,并再次使用數據增強策略,選擇最優策略。目前,我們的實驗只進行一輪迭代,也可以嘗試多輪迭代,不過隨著迭代次數增加,提升也不再明顯。
圖2 FSL++模型框架
2.1 增強預訓練
預訓練語言模型是在龐大的無標簽語料庫上進行訓練的。例如,RoBERTa[6]在160GB以上的文本進行訓練,包括百科全書、新聞文章、文學作品和Web內容。通過這些模型學習到的表示,在包含多種來源的各種大小的數據集的任務中實現出色的性能。
FSL++模型使用RoBERTa-large模型作為基礎模型,并且采用融入領域知識的Domain-Adaptive Pretraining (DAPT)[7]預訓練方法和融入任務知識的Task-Adaptive Pretraining (TAPT)[7]。DAPT旨在預訓練模型的基礎上,增加大量領域內無標簽文本繼續訓練語言模型,之后再在指定任務的數據集上進行微調。
對目標文本領域進行繼續預訓練,可以提高語言模型的性能,尤其是在與目標文本領域相關的下游任務上的性能。并且,預訓練文本與任務領域的相關度越高,帶來的提升越大。在本次實踐中,我們最終使用了在100G包含娛樂節目、體育、健康、國際事務、電影、名人等各個領域的語料的CLUE Vocab[8]上預訓練得到的RoBERTa Large模型。TAPT指在預訓練模型的基礎上,增加數量較少但與任務直接相關的無標簽語料進行預訓練。針對TAPT任務,我們選擇使用的預訓練數據是FewCLUE榜單為每個任務提供的無標簽數據。
除此之外,在針對句間關系任務,如中文自然語言推理任務OCNLI、中文對話短文本匹配任務BUSTM的實踐中,我們使用在其他句間關系任務如中文自然語言推理數據集CMNLI、中文短文本相似度數據集LCQMC上進行預訓練的模型參數作為初始參數,相比直接用原始模型完成任務,也能提升一定的效果。
2.2 模型結構
FewCLUE包含多種任務形式,我們為每種任務選擇了合適的模型結構。文本分類任務和機器閱讀理解(MRC)任務本身的類別詞就攜帶了信息,因此更適合建模為Masked Language Model(MLM)形式;而句間關系任務判斷兩個句子的相關性,更類似于Next Sentence Prediction(NSP)[9]任務形式。因此,我們為分類任務和閱讀理解任務選擇PET[10]模型,為句間關系任務選擇EFL[11]模型,EFL方法可以通過全局采樣構造負樣本,學習到更魯棒的分類器。
2.2.1 Prompt Learning
Prompt Learning的主要目標是盡可能減小預訓練目標與下游微調目標的差距。通常現有的預訓練任務均包含MLM損失函數,但是下游的任務則并未采用MLM,而是引入新的分類器,使得預訓練任務和下游任務出現了不一致。Prompt Learning不引入額外的分類器或其他參數,而是通過拼接模板(Template,即為輸入數據拼接語言片段,從而改造任務為MLM形式)和標簽詞映射(Verbalizer,即為每個標簽在詞表中找到對應的詞,從而為MLM任務設定預測目標),使得模型可以在少量樣本的條件下在下游任務中使用。
圖3 Prompt Learning方法完成情感分析任務的流程圖
以圖3展示的電商評價情感分析任務EPRSTMT為例。給定文本“這個電影真不錯,值得第二次觀看!”,傳統的文本分類則是在CLS部分的Embedding接上分類器,并映射到0-1分類上(0:負向,1:正向)。這種方法在小樣本場景下需要訓練新的分類器,比較難獲得好的效果。而基于Prompt Learning的方法則是創建模板“這是一條 [MASK] 評。”,再將模板與原文進行拼接,訓練時通過語言模型預測[MASK]位置的詞,再將其映射到對應的類別上(好:正向, 差:負向)。
由于缺乏足夠數據,有時很難確定表現最好的模板和標簽詞映射。因此,也可以采用多模板與多標簽詞映射的設計。通過設計多個模板,最終的結果采用多個模板的結果的整合,或設計一對多的標簽詞映射,讓一個標簽對應多個詞。同上述例子,可以設計如下模板組合(左:同一個句子的多模板,右:多標簽映射)。
圖4 PET多模板與多標簽映射圖
任務樣例
表1 FewCLUE數據集中PET模板構建
2.2.2 EFL
EFL模型將兩個句子拼接在一起,用輸出層的[CLS]位置處的Embedding后接一個分類器完成預測。EFL的訓練過程中,除了訓練集的樣本,還會進行負樣本構造,訓練過程中,在每個Batch里隨機選擇其他數據中的句子作為負樣本,通過構造負樣本進行數據增強。雖然EFL模型需要訓練新的分類器,但目前有很多公開的文本蘊含/句間關系數據集,如CMNLI、LCQMC等,可以通過在這些樣本上進行持續學習(continue-train),再將學習到的參數遷移到小樣本場景中,用FewCLUE的任務數據集進行進一步微調。
任務樣例
表2 FewCLUE數據集中EFL模板構建
2.3 數據增強
數據增強方法主要有樣本增強和Embedding增強。NLP領域中,數據增強的目的是在不改變語義的前提下擴充文本數據。主要的方法包括簡單文本替換、使用語言模型生成相似句子等,我們嘗試過EDA等擴充文本數據的方法,但是一個詞的變化就可能導致整個句子的意思發生翻轉,經過替換的文本攜帶大量噪音,所以很難用簡單的規則樣本變化產生足夠的增強數據。而Embedding增強,則不再對輸入進行操作,轉而在Embedding層面進行操作,可以通過對Embedding增加擾動或者插值等方式提升模型的魯棒性。
因此,本次實踐中我們主要進行Embedding增強。我們用的數據增強策略分別有Mixup[12]、Manifold-Mixup[13]、對抗訓練(Adversarial training, AT) [14]和對比學習R-drop[15]。數據增強策略的詳細介紹見之前的技術博客小樣本學習及其在美團場景中的應用。
表3 數據增強策略簡述
Mixup通過對輸入數據進行簡單的線性變換,構造新的組合樣本和組合標簽,可以增強模型的泛化能力。在各種有監督任務或者半監督任務上,使用Mixup都能極大提高模型的泛化能力。Mixup方法可以視為正則化操作,它要求模型在特征層面生成的組合特征滿足線性約束,并且利用這種約束對模型施加正則化。直觀來看,當模型的輸入為另外兩個輸入的線性組合時,其輸出也是這兩個數據單獨輸入模型后所得輸出的線性組合,其實就是要求模型近似為一個線性系統。
Manifold Mixup將上述的Mixup操作泛化到特征上。因為特征具有更高階的語義信息,所以在其維度上插值可能會產生更有意義的樣本。在類似于BERT[9]、RoBERTa[6]的模型中,隨機選擇層數k,對該層的特征表示進行Mixup插值。普通的Mixup的插值發生在輸出層Embedding部分,而Manifold Mixup相當于把這一系列插值操作加入到語言模型內部的Transformers結構的隨機某層中。
對抗訓練通過在輸入樣本上增加微小的擾動來顯著提高模型Loss。對抗訓練就是訓練一個能有效識別原始樣本和對抗樣本的模型。基本原理就是通過添加擾動構造一些對抗樣本,交給模型去訓練,提高模型在遇到對抗樣本時的魯棒性,同時也能提高模型的表現和泛化能力。對抗樣本需要具有兩個特點,分別是:
相對于原始輸入,所添加的擾動是微小的。
能使模型犯錯。對抗訓練有兩個作用,分別是提高模型對惡意攻擊的魯棒性和提高模型的泛化能力。
R-Drop對同一個句子做兩次Dropout,并且強制由Dropout生成的不同子模型的輸出概率保持一致。Dropout的引入雖然效果很好,但是它會導致訓練和推理過程的不一致性問題。為緩解這種訓練推理過程的不一致性,R-Drop對Dropout進行正則化處理,在兩個子模型產生的輸出中增加對輸出數據分布的限制,引入數據分布度量的KL散度損失,使得Batch內同一個樣本生成的兩個數據分布盡量接近,具有分布一致性。具體來說,對于每個訓練樣本,R-Drop最小化了由不同Dropout生成的子模型的輸出概率之間的KL 散度。R-Drop作為一種訓練思想,可以用到大部分有監督或半監督的訓練中,通用性強。
我們使用的三種數據增強策略,Mixup是在語言模型的輸出層Embedding和語言模型的內部隨機某層Transformers的輸出層中做兩個樣本的線性變化,對抗訓練是在樣本上增加微小的擾動,而對比學習是對同一個句子做兩次Dropout形成正樣本對,再用KL散度限制兩個子模型保持一致。三種策略都是通過在Embedding完成一些操作來增強模型的泛化性,經過不同策略得到的模型分別都具有不同的偏好,這就為下一步的集成學習提供了條件。
2.4 集成學習&自訓練
集成學習可以組合多個弱監督模型,以期得到一個更好更全面的強監督模型。集成學習潛在的思想是即便某一個弱分類器得到了錯誤的預測,其他的弱分類器也可以將錯誤糾正回來。如果待組合的各個模型之間差異性比較顯著,那么集成學習之后通常會有一個較好的結果。
自訓練使用少量的標記數據和大量的未標記數據對模型進行聯合訓練,首先使用經過訓練的分類器來預測所有未標記數據的標簽,然后選擇置信度較高的標簽作為偽標簽數據,將偽標記數據與人工標記的訓練數據聯合起來重新訓練分類器。
集成學習+自訓練是一套可以利用多個模型以及無標簽數據的方案。這其中,集成學習的一般步驟為:訓練多個不同的弱監督模型,分別用每個模型預測無標簽數據的標簽概率分布,計算標簽概率分布的加權和,得到無標簽數據的偽標簽概率分布。自訓練指訓練一個模型用于組合其他各個模型,其一般步驟為:訓練多個Teacher模型,Student模型學習偽標簽概率分布中高置信度樣本的Soft Prediction,Student模型作為最后的強學習器。
圖5 集成學習+自訓練結構
在本次FewCLUE實踐中,我們先在Fine-Tune階段構造多模板Prompt Learning,并對有標注數據采用對抗訓練、對比學習、Mixup等增強策略。由于這些數據增強策略采用不同的增強原理,可以認為這些模型之間差異性比較顯著,經過集成學習之后會有比較好的效果。
在采用數據增強策略進行訓練以后,我們擁有了多個弱監督模型,并且用這些弱監督模型在無標簽數據上進行預測,得到無標簽數據的偽標簽分布。之后,我們將多個經過不同的數據增強模型預測得到的無標簽數據的偽標簽分布整合起來,得到一份總的無標簽數據的偽標簽分布。篩選偽標簽數據的過程中,我們不一定會選擇置信度最高的樣本,因為如果每個數據增強模型給出的置信度都很高,說明這個樣本可能是容易學習的樣本,不一定有很大價值。
我們綜合多個數據增強模型給出的置信度,盡量選擇置信度較高,但是又不容易學習的樣本(比如多個模型預測不全部一致)。接著用標注數據和偽標注數據的集合重新構造多模板Prompt Learning,再次使用數據增強策略,并選擇最好的策略。目前,我們的實驗目前只進行一輪迭代,也可以嘗試多輪迭代,不過隨著迭代次數增加,提升也會減少,不再顯著。
3 實驗結果
3.1 數據集介紹
FewCLUE榜單提供了9個任務,其中分別為4個文本分類任務,2個句間關系任務和3個閱讀理解任務。文本分類任務有電商評價情感分析、科學文獻分類、新聞分類和App應用描述主題分類任務。主要歸類為短文本二分類、短文本多分類和長文本多分類。其中有的任務類別眾多,超過100類,并且出現了類別不均衡問題。句間關系任務有自然語言推理和短文本匹配任務。閱讀理解任務則有成語閱讀理解選擇填空,摘要判斷關鍵詞判別和代詞消歧任務。每個任務大體提供了160條有標簽數據和兩萬條左右的無標簽數據。因為長文本分類任務類別眾多,過于困難,也提供了更多的有標簽數據。詳細的任務數據情況如表4所示:
表4 FewCLUE數據集任務介紹
3.2 實驗對比
表5展示了不同模型和參數量的實驗結果的對比。在RoBERTa Base實驗中,使用PET/EFL模型會超過傳統的直接Fine-Tune模型結果2-28PP。以PET/EFL模型為基礎,為了探索大模型在小樣本場景中的效果,我們在RoBERTa Large上進行了實驗,相對于RoBERTa Base,大模型可以提升模型0.5-13PP;為了更好地利用領域知識,我們進一步在經過CLUE數據集上增強預訓練的RoBERTa Large Clue模型上進行實驗,融入了領域知識的大模型進一步提升結果0.1-9pp。基于此,在之后的實驗中,我們都在RoBERTa Large Clue上進行實驗。
表5 不同模型和參數量的實驗結果對比 (加粗紅色字體表示最好的結果)
表6展示了在PET/EFL模型上進行數據增強和集成學習實驗結果, 可以發現即使是在大模型上使用數據增強策略,模型也能帶來0.8-9PP的提升,而進一步進行集成學習&自訓練以后,模型表現會繼續提升0.4-4PP。
表6 基礎模型+數據增強+集成學習實驗效果 (加粗紅色字體表示最好的結果)
其中集成學習+自訓練步驟中,我們嘗試了幾種篩選策略:
選擇置信度最高的樣本,這種策略帶來的提升在1PP以內,置信度最高的偽標簽樣本中很多是多個模型預測一致且置信度都比較高的樣本,這部分樣本比較容易學習,融入這部分樣本帶來的收益有限。
選擇置信度高且具有爭議性的樣本(存在至少一個模型和其他模型預測結果不一致,但多個模型總體置信度超過閾值1),這種策略規避了特別容易學習的樣本,又通過設置閾值避免帶來過多臟數據,可以帶來0-3PP的提升;
融合上面的兩種策略,若多個模型對于一個樣本的預測結果是一致的,我們選擇置信度小于閾值2的樣本;對于存在至少一個模型和其他模型預測結果不一致的,我們選擇置信度大于閾值3的樣本。這種方式同時選擇了置信度較高的樣本保證輸出的可信度,又選擇了較有爭議的樣本保證篩選出來的偽標簽樣本具有較大學習難度,可以帶來0.4-4PP的提升。
4 小樣本學習策略在美團場景的應用
在美團的各個業務中,有著豐富的NLP場景,部分任務可以歸類為文本分類任務和句間關系任務,以上提到的小樣本學習策略已經應用于美團點評的各種場景,期望在數據資源稀少的情況下訓練出比較好的模型。此外,小樣本學習策略已經廣泛應用于美團內部自然語言處理(NLP)平臺的各個NLP算法能力中,在眾多業務場景下落地并取得顯著收益,美團內部的工程師可通過該平臺來體驗NLP中心相關的能力。
文本分類任務
醫美題材分類:對美團和點評的筆記內容按題材分為8類:獵奇、探店、測評、真人案例、治療過程、避坑、效果對比、科普。用戶點擊某一種題材時,返回對應的筆記內容,上線至美團和點評App醫療美容頻道的百科頁、方案頁經驗分享,小樣本學習利用2,989條訓練數據準確率提升1.8PP,達到了89.24%。
攻略識別:從UGC和筆記中挖掘旅游攻略,提供旅游攻略的內容供給,應用于景點精搜下的攻略模塊,召回內容為描述旅游攻略的筆記,小樣本學習利用384條訓練數據準確率提升2PP,達到了87%。
學城文本分類:學城(美團內部知識庫)有大量的用戶文本,經歸納將文本分為17種類別,已有模型在700條數據上訓練,通過小樣本學習,在已有模型上提升模型精度2.5PP,達到84%。
項目篩選:LE生活服務/麗人等業務目前的評價列表頁混排評價的方式不便讓用戶快速找到決策信息,因此需要更有結構化的分類標簽來滿足用戶的需求,小樣本學習在這兩個業務上利用300-500條數據上準確率均達到95%+(多個數據集分別提升1.5-4PP)。
句間關系任務
醫美功效打標:對美團和大眾點評的筆記內容按功效進行召回,功效的類型有:補水、美白、瘦臉、除皺等,上線至醫美頻道頁,有110種功效類型需要打標,小樣本學習僅用2909條訓練數據準確率達到了91.88%(提升2.8PP)。
醫美品牌打標:品牌上游企業有針對旗下產品進行品牌宣傳和營銷的訴求,而內容營銷是當前主流、有效的營銷方式之一。品牌打標就是為每種品牌如“伊膚泉”、“術唯可”召回詳細介紹該品牌的筆記內容,共有103種品牌,已上線至醫美品牌館,小樣本學習僅用1676條訓練數據準確率達到了88.59%(提升2.9PP)。
5 總結
在本次榜單提交中,我們構建了一種基于RoBERTa的語義理解模型,并通過增強預訓練、PET/EFL模型、數據增強和集成學習&自訓練來提升模型的效果。該模型能完成文本分類、句間關系推理任務和幾種閱讀理解任務。
通過參加本次測評任務,我們對小樣本場景下的自然語言理解領域的算法和研究有了更深的認識,也借此對前沿算法的中文落地能力進行了摸底測試,為后續進一步算法研究、算法落地打下了基礎。此外,本次數據集中的任務場景與美團搜索與NLP部的業務場景存在很大相似性,該模型的很多策略也直接應用在實際業務中,直接為業務賦能。
審核編輯:郭婷
-
數據集
+關注
關注
4文章
1208瀏覽量
24725 -
nlp
+關注
關注
1文章
489瀏覽量
22051
原文標題:美團獲得小樣本學習榜單FewCLUE第一!Prompt Learning+自訓練實戰
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論