模型精度再被提升,統一跨任務小樣本學習算法 UPT 給出解法!

語言: CN / TW / HK

近日,阿里雲機器學習平台PAI與華東師範大學高明教授團隊、達摩院機器智能技術NLP團隊合作在自然語言處理頂級會議EMNLP2022上發表統一多NLP任務的預訓練增強小樣本學習算法UPT(Unified Prompt Tuning)。這是一種面向多種NLP任務的小樣本學習算法,致力於利用多任務學習和預訓練增強技術,在僅需要標註極少訓練數據的情況下,提升大規模預訓練語言模型在多種場景下的模型精度。

論文:

Jianing Wang, Chengyu Wang, Fuli Luo, Chuanqi Tan, Minghui Qiu, Fei Yang, Qiuhui Shi, Songfang Huang, Ming Gao. Towards Unified Prompt Tuning for Few-shot Text Classification. EMNLP (Findings) 2022

背景

隨着預訓練語言模型的規模逐步地擴大,千億、萬億甚至更大規模的預訓練語言模型的分佈式訓練和優化工作不斷湧現。預訓練語言模型規模的擴大,帶來這一類模型在自然語言理解等相關任務效果的不斷提升。然而,這些模型的參數空間比較大,如果在下游任務上直接對這些模型進行微調,為了達到較好的模型泛化性,需要較多的訓練數據。在實際業務場景中,特別是垂直領域、特定行業中,訓練樣本數量不足的問題廣泛存在,極大地影響這些模型在下游任務的準確度。基於提示微調(Prompt Tuning)的小樣本學習技術能充分利用預訓練過程中模型獲得的知識,在給定小訓練集上訓練得到精度較高的模型。然而,在小樣本學習場景下,訓練數據的有限性仍然對模型的準確度造成一定的制約。因此,如果可以在小樣本學習階段,有效利用其它跨任務的數據集,可以進一步提升模型的精度。

算法架構

跨任務小樣本學習算法UPT(Unified Prompt Tuning)是對已有小樣本學習算法的學習機理進行的一種深度擴展。UPT是一種統一的學習範式,可以將各種下游任務和預訓練任務統一成POV(Prompt-Options-Verbalizer)的形式,使得模型可以學習利用Prompt解決各種NLP任務的通用方法。在我們的工作中,UPT的任務構造形式如下所示:

image.png

由此可見,無論是單句分類任務,還有雙句匹配任務,亦或是預訓練階段的自監督學習任務,UPT可以將他們轉化成一種統一的範式進行學習。這種學習方式兼顧了經典的小樣本學習算法的優勢,又在學習過程中引入了“元學習”(Meta Learning)的思想,大大提升了模型對下游任務的泛化性,緩解了其在小樣本學習階段遇到的過擬合問題。當我們訓練得到這一Meta Learner之後,我們可以複用先前的算法,對Meta Learner進行Few-shot Fine-tuning。

統一的Prompting範式

具體地,預訓練模型在不同的下游任務上進行Prompt-Tuning時,需要為特定任務設計固定的Prompt模式(PVP,即Prompt-Verbalizer-Pair),模型很難同時利用這些Task共有的信息,我們把各種NLP任務統一成如下格式:

  • P(Prompt):表示任務相關的Prompt,至少包含一個[MASK]token;
  • O(Option):通過提問的形式列出Verbalizer中的候選項;
  • V(Verbalizer):定義的label word與標籤的映射關係。

對於監督學習的任務,我們給出以下兩個例子,分別對應單句文本分類和雙句文本匹配:

  • 評論分類:“[X]. Is great or bad? It was [MASK].”;
  • 論文連貫性預測:“[X1]. Is this paragraph the same as the next: [X2]?It was [MASK].”

融入自監督任務

對於自監督任務,在Pre-training階段,我們沒有見過現有的這種模式,以至於在Prompt-Tuning時很難讓模型快速學習到Prompt的信息,因此本部分旨在改進原始的自監督任務Masked Language Modeling(MLM),並拓展到Prompt中。需要注意的是,我們並不重新訓練語言模型,而是將Prompt-MLM作為一個輔助任務。

原始的MLM是給定一個句子,隨機挑選一個或多個位置並替換為[MASK],並讓模型通過MLM head預測每個[MASK]位置的Word(或sub-word)。例如給定一個句子“Disney movies are so wonderful that I insist on watching two every week.”,隨機Mask一個Word:“Disney movies are so [MASK] that I insist on watching two every week.”,然後讓模型預測該位置可能的詞。

我們提出的Prompt-MLM的主要流程如下圖所示:

image.png

我們首先從預訓練語料中檢測出高頻的形容詞,並且進行詞義相似度聚類。對於一句輸入的句子,我們對該文本進行詞性標註,選出該文本形容詞所在的位置,作為Mask的位置。之後選出與該形容詞最不相似的Cluster中的某個形容詞,作為另一個選項,構建出Options。最後,我們將MLM任務轉化為基於Prompt的二分類任務,同時無需進行任何數據標註。

算法精度評測

為了驗證上述算法的有效性,我們對經典和自研的小樣本學習算法進行了精度評測。在實驗中,我們使用Roberta-large作為預訓練語言模型,對每個下游任務,在訓練過程中我們只抽取每個類別的16個樣本進行學習,在所有測試集上進行評測。在下表中,我們列出了標準Fine-tuning,經典小樣本學習算法LM-BFF、PET、P-tuning、PPT等的在9個公開數據集上的實驗效果,使用準確度(Accuracy,%)作為模型效果評測指標:

image.png

由上述結果可見,我們提出的自研算法UPT在多個數據集上具有明顯精度提升。我們也在多個SuperGLUE的數據集上驗證了UPT的實驗效果。結果如下所示:

image.png

此外,PAI團隊也榮獲FewCLUE中文小樣本學習公開評測榜單第一名的成績(看這裏),成績超越騰訊、百度、平安等資深廠商。為了更好地服務開源社區,UPT算法的源代碼即將貢獻在自然語言處理算法框架EasyNLP中,歡迎NLP從業人員和研究者使用。

EasyNLP開源框架:https://github.com/alibaba/EasyNLP

參考文獻

  • Chengyu Wang, Minghui Qiu, Taolin Zhang, Tingting Liu, Lei Li, Jianing Wang, Ming Wang, Jun Huang, Wei Lin. EasyNLP: A Comprehensive and Easy-to-use Toolkit for Natural Language Processing. EMNLP 2022 (accepted)
  • Tianyu Gao, Adam Fisch, Danqi Chen. Making Pre-trained Language Models Better Few-shot Learners. ACL/IJCNLP 2021: 3816-3830
  • Timo Schick, Hinrich Schütze. Exploiting Cloze-Questions for Few-Shot Text Classification and Natural Language Inference. EACL 2021: 255-269
  • Timo Schick, Hinrich Schütze. It's Not Just Size That Matters: Small Language Models Are Also Few-Shot Learners. NAACL-HLT 2021: 2339-2352
  • Xiao Liu, Yanan Zheng, Zhengxiao Du, Ming Ding, Yujie Qian, Zhilin Yang, Jie Tang. GPT Understands, Too. CoRR abs/2103.10385 (2021)
  • Chengyu Wang, Jianing Wang, Minghui Qiu, Jun Huang, Ming Gao. TransPrompt: Towards an Automatic Transferable Prompting Framework for Few-shot Text Classification. EMNLP 2021: 2792-2802

論文信息

論文名字:Towards Unified Prompt Tuning for Few-shot Text Classification
論文作者:王嘉寧、汪誠愚、羅福莉、譚傳奇、邱明輝、楊非、石秋慧、黃鬆芳、高明
論文pdf鏈接:https://arxiv.org/abs/2205.05313