冲击SuperGLUE:基于多任务与对抗训练的Finetune方案解析
?PaperWeekly 原創 ·?作者|Frank Luo
單位|追一科技AI Lab研究員
研究方向|自然語言處理
前言
英文通用語言理解評測基準 GLUE [1] 自提出以來,吸引了一大批預訓練語言模型 (BERT [2],XLNET [3],RoBERTa [4],ALBERT [5],ERNIE [6],T5 [7]) 以及基于預訓練模型進行遷移學習的工作 (MT-DNN [8],FreeLB [9],SMART [10])。
目前,通過對預訓練模型進行下游任務 Finetune 是普遍的做法,而要在下游任務上得到好的效果,除了使用更好的預訓練模型以外,如何針對不同的任務來設計 Finetune 的流程也是關鍵所在。
針對這個問題,我們以 RoBERTa 為 baseline 模型,在 SuperGLUE [11] 榜單上進行了一系列的嘗試,通過多任務學習 (multitask learning),對抗訓練 (adversarial training) 等方法,取得了第二的成績。
數據介紹
數據集選取 選取 SuperGLUE 作為標的數據集主要是考慮到它的多樣性以及整體難度兩個方面。原 GLUE 數據集由 8 個句子/句子對分類任務組成,目前模型僅在 RTE,WNLI 兩個任務上還未超過人類表現。
鑒于模型在 GLUE 上已經基本超過人類的表現,GLUE 的原作者保留了 RTE 和 WNLI 這兩個任務 (其中 WNLI 僅改變了任務形式,更名為 WSC),并引入形式多樣且更具挑戰的 6 個任務,組成了新的語義理解基準 SuperGLUE,它共包含 8 個數據集,每個數據集針都是對語言的不同側面設計了不同的任務,以求盡量從多個角度來考察模型的能力。
下面將簡單介紹每個數據集的任務形式及特點,對數據集的分析能讓我們對模型需要完成的事情有所了解,因此也會對模型與訓練流程的設計提供思路。
RTE 與 CB 從任務形式來說,同為句子對分類任務,因此我們放到一起來介紹,但實際上兩者背后考察的內容非常不同。
RTE 考察的是模型對文本蘊含的判斷能力。RTE 數據集是繼承自 GLUE 的一個數據集,目前還沒有模型能夠超過人類的分數。文本蘊含(自然語言推斷)是語言理解的一項基本能力,而文本蘊含類型的任務其實涵蓋了多個維度,從邏輯推理到常識知識都會覆蓋。
而 CB 則是另一項非常有難度的任務,其任務設計是針對一個語言學現象(補語的語義投射),用此來考察模型是否像人一樣具有語義投射的能力。
COPA 為多項選擇,給定 premise,選擇合適的選項作為它的 effect or cause。它的目標是考察模型對于常識的因果推斷能力。
BoolQ 是一個判斷是否的閱讀理解任務。作者從搜索引擎的日志中篩選問句,再將問句與 Wiki page 中相應的段落對應,經過規則和人工篩選之后構建最終的數據集 [12]。盡管只需要回答是或否,但問題形式和種類多樣。?
MultiRC 是一個多項選擇閱讀理解任務。它的每個問題對應的答案是不唯一的,即存在一個或多個選項為正確答案。對于單個問題,答案可能分布在文章的不同句子中,模型需要從不同的地方驗證每個答案是否正確。?
ReCoRD 是一個完形填空式的多項選擇閱讀理解任務。作者從 CNN/DailyMail 中選取新聞的摘要部分作為任務的文章部分(context)。其任務的方式是在選取摘要中某一實體,然后從新聞的后續細節描述中選取包含該實體的句子,并人為從該句子中去掉該實體,用來作為任務的問題(query)[13]。
最終的 120k 個樣本經過模型和人工篩從 770k 個樣本中篩選出。這個任務的一大難點在于用做問題(query)的細節描述并不一定在摘要(context)中出現,因此為了完成任務,模型需要具備一定的常識或進行一定的推理。?
WiC (word in context) 是一個詞義消歧(Word Sense Disambiguity)任務。模型需要鑒別同一個詞在兩個不同句子中的含義是否相同。任務的難點在于,在兩個完全不同含義的句子中,相同的詞也可能有一樣的含義。因此在特征處理上,除了兩個句子的 interaction,還要考慮詞在句子中的表征。?
WSC 是一個指代消解的任務,與 GLUE 中的 WNLI 是同一個任務,只是更換了任務形式。它主要考察語意連續的一段文本中某對實體與代詞是的指代是否一致。
模型改進
1. 基線模型?
我們選用 RoBERTa 作為基線模型,并在 RoBERTa 的基礎上根據下游任務形式進行不同的 adaptation。如下圖所示,我們將任務歸為分類、抽取,以及 WiC 和 WSC 兩個比較獨立的任務。
分類任務:我們采取拼接的方式將句子對或文章問題(答案)組拼接成一個序列,用特殊字符分隔,取序列的第一個 token 的編碼向量進行分類。對于多項選擇的 COPA 數據集,我們將兩個選項進行拼接,然后取得到的兩個序列的第一個 token 的編碼向量進行分類。?
WiC:因為考慮到句意不同,但詞意相同的情況,我們需要拿到 word in context 的信息。這里我們取出兩個句子中相同詞的第一個 token 的編碼向量 s1 和 s2,計算?,最終與序列的第一個 token 拿到的向量做拼接,得到向量??再做分類。
WSC:基于 [14] 的做法,我們取訓練樣本中的正例,得到一段文本中正確的代詞和實體對,隨后用工具包 spacy 提取出文本中所有其他的實體與該代詞構造負例。
如下圖中 Fred watched TV while George went out to buy groceries. After an hour he got back.,我們可能會抽取到 Fred,George,TV,groceries,只有 George 和 he 是正確的代詞和實體對。
訓練時,我們取一對正確和錯誤的,將實體填入代詞的位置之后輸入模型,優化他們的 ranking loss。此外還使用正確的實體替換對應的代詞后,mask 掉替換的實體,然后以 Masked LM 的方式來訓練模型預測該實體。最終預測時,抽取出句子中所有的實體,通過 ranking 和 Masked LM 進行打分,選擇分數最高的實體為代詞正確的指代。
ReCoRD 是一個 cloze-style 的閱讀理解任務,候選是篇章中出現的所有實體。在初期實驗階段,一個簡單的想法是將每一個候選實體填入問題中,然后與篇章拼接,作為一個多項選擇任務。但這樣將會使得計算量變大,且可能減弱候選答案之間的相互關聯。?
因此這里我們嘗試按抽取式閱讀理解的方法處理,可以分為兩種形式。一種是從篇章中抽取,我們將問題:
With bright lights illuminating his efforts from below, Mr **X** appears to be on the set of a sci-fi movie?
改寫為 What is X? question: With bright lights illuminating his efforts from below, Mr **X** appears to be on the set of a sci-fi movie,然后與篇章拼接。
我們在 RoBERTa 的基礎上訓練兩個 head 表征用來預測實體的起始和終止,每個 head 表征對篇章序列的每個位置做一個三分類:1)正確候選實體起始/終止 ;2)錯誤候選實體起始/終止;3)其他。?
另一個方案相對簡單一些,是將所有的候選實體拼接成一個序列,置于問題后面,從拼接得到的候選中預測答案所在的位置。在我們的試驗中,這兩種方式都能比簡單的多項選擇得到更好的結果,并且減少訓練和預測時間。
▲?注:為了便于展示,圖中的 cls 實際為 RoBERTa 中的 s,句子對拼接時的 /s 這里已經省略。
2. 多任務和遷移學習?
多任務學習 (multitask learning) 能夠借助多個相關任務互相提供監督信號,并且因為共享參數,因此可能可以為模型提供更好的泛化能力 [8] [15]。我們基于 SuperGLUE 各個數據集任務形式之間的關聯性以及數據源的相關性,采取如圖的多任務訓練方式。
例如 CB 數據集,我們采用在 MNLI 上精調的 RoBERTa 模型為起始,聯合 BoolQ,MultiRC 等進行多任務訓練,取多任務訓練中得到的一個 checkpoint,再在 CB 任務上進行精調。下表為部分數據集的對比結果(5 個不同的隨機種子下的平均值)。第二行的結果 CB 和 BoolQ 是基于 RoBERTa-mnli 的模型,而 ReCoRD 則基于 RoBERTa-squad。?
從結果中可以觀察到,遷移學習和多任務學習都能帶來提升,尤其是當遷移或多任務中一起訓練的任務與目標任務有強相關的時候。這種強相關可以是任務形式相同,如 CB 和 MNLI 都屬于判斷 premise 和 hypothesis 之間的蘊含關系;或者是數據同源,如 ReCoRD、Squad 以及 CNN/Daily Mail 都當作抽取式任務處理。
同時也觀察到引入 CNN/Daily Mail 帶來的提升高于引入 Squad 帶來的提升(Squad 和 ReCoRD 做多任務時效果更差),我們猜測原因是 ReCoRD 和 CNN/Daily Mail 數據集都是從 CNN 和 Daily 新聞網站的新聞構建的。
3. 對抗訓練(adversarial training)
NLP 任務中,對抗訓練能夠有效的提升模型的泛化能力,以提高最終表現 [16] [17]。簡單的一次對抗訓練(Adversarial training)做法是計算在詞向量處的梯度,得到一個最優的擾動,經過裁剪后加在詞向量上得到對抗樣本,再用該樣本進行訓練。
如果進一步,可以用虛擬對抗訓練(virtual adversarial training),給詞向量加一個小的隨機擾動后,再計算詞向量處的梯度,經過裁剪之后加在擾動前的詞向量上,得到新的對抗樣本,我們去優化對抗樣本和正常樣本在標簽分布的 KL-divergence。對抗訓練和虛擬對抗訓練可以使 loss surface 更加光滑,從而增加模型的魯棒性,AT 需要標簽,而 VAT 不需要標簽。
另一個符合直覺的理解是,對抗訓練能夠提升閱讀理解任務的原因在于使長尾詞得到了充分的訓練 [18]。我們嘗試在多任務訓練和精調的時候使用對抗訓練(Adversarial Training)。
由于虛擬對抗訓練(Virtual adversarial training)帶來的提升有限,但會使得訓練量翻倍因此最終沒有采用,結果如下表(5 個不同的隨機種子下的平均值)。比較原設置和去掉對抗訓練之后的設置,可以看到對抗訓練在多任務和精調時都能提升模型的表現。
4. EMA + Knowledge Distilling (Mean-Teacher)?
大型的預訓練語言模型會遇到的一個問題是參數過多,導致精調下游任務時候訓練不穩定,訓練波動大。滑動平均(Exponential Moving Average)能夠有效的緩解這一點。
Mean-teacher [19] 通過 EMA 在訓練時維持一個 teacher 模型,然后用 teacher 模型去指導當前模型的訓練,再由當前模型以 EMA 的方式更新 teacher 模型。這樣能在 EMA 的基礎上更進一步提高模型的魯棒性。
通常認為 mean-teacher 訓練時,通過 EMA 維持的 teacher 模型和 student 模型存在正反饋機制,即更好的 teacher 模型能夠指導得到更好的 student 模型,反過來通過 EMA 更新得到更好的 teacher 模型。
式 (1) (2) 為原 mean-teacher 論文的 consistency cost J,其中 θ' 為 teacher 模型的權重,η 和 η' 為加在模型輸入的隨機噪聲。我們嘗試使用 KL-divergence 替換??中的??loss (式(3)),去掉了輸入噪聲 η 和 η'。最終的目標函數為式 (4),其中??為原有監督任務。
由于模型在訓練初期權重有較大變化,且 EMA 得到的模型效果較差,我們在訓練初期使用較大的 EMA decay (α=0.99) ,隨后調整使用較小的 decay (α=0.999) ,同時我們線性地增大權重 w,最終結果如下表(5個不同的隨機種子下的平均值)。可以看到 EMA 能提升模型的表現,引入 mean-teacher 后模型有進一步提升。
經驗總結
我們基于 Facebook 開源的 RoBERTa 預訓練模型在 SuperGLUE 上探索了不同的 finetune 方式。通過調整任務、多任務學習、對抗訓練等在 SuperGLUE 的 6 個數據上都得到了提升,最終對比原始 RoBERTa 提升了 1 個百分點,目前處于榜單第二的位置。但相比于 T5,還有很大的差距。
從評測基準的榜單來看,預訓練語言模型本身的提升對下游任務來說目前還是最為顯著的,尤其是在任務形式多樣的評測基準上。而在給定預訓練模型的情況下進行下游任務時,在調整模型結構適應任務的同時,增強模型泛化能力和魯棒性的手段可以得到較為一致的效果提升。我們在這次嘗試中用了多任務訓練,對抗訓練,mean-teacher 以及一些正則來達到這一目的。
我們接下來希望能顯式地將常識知識融入模型中,而這部分也是 SuperGLUE 任務比較關心的一點。可以看到 WSC 和 COPA 上人類都是滿分,而 RTE 上人類仍然領先,目前的預訓練,多任務學習離真正的常識推理還有很大的進步空間。
Reference
[1] GLUE https://gluebenchmark.com?
[2] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding https://arxiv.org/pdf/1810.04805.pdf?
[3] XLNet: Generalized Autoregressive Pretraining for Language Understanding https://arxiv.org/pdf/1906.08237?
[4] RoBERTa: A Robustly Optimized BERT Pretraining Approach https://arxiv.org/pdf/1907.11692?
[5] ALBERT: A Lite BERT for Self-supervised Learning of Language Representations https://arxiv.org/pdf/1909.11942?
[6] ERNIE 2.0: A Continual Pre-training Framework for Language Understanding https://arxiv.org/pdf/1907.12412v1?
[7] Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer https://arxiv.org/pdf/1910.10683.pdf?
[8] Multi-Task Deep Neural Networks for Natural Language Understanding https://arxiv.org/abs/1901.11504?
[9] FreeLB: Enhanced Adversarial Training for Language Understanding https://arxiv.org/abs/1909.11764?
[10] SMART: Robust and Efficient Fine-Tuning for Pre-trained Natural Language Models through Principled Regularized Optimization https://arxiv.org/pdf/1911.03437?
[11] SuperGLUE https://super.gluebenchmark.com?
[12] BoolQ: Exploring the Surprising Difficulty of Natural Yes/No Questions https://arxiv.org/pdf/1905.10044.pdf?
[13] ReCoRD: Bridging the Gap between Human and Machine Commonsense Reading Comprehension https://arxiv.org/pdf/1810.12885.pdf?
[14] A Surprisingly Robust Trick for Winograd Schema Challenge https://arxiv.org/pdf/1905.06290.pdf?
[15] Representation Learning Using Multi-Task Deep Neural Networks for Semantic Classification and Information Retrieval https://www.aclweb.org/anthology/N15-1092.pdf?
[16] Revisiting LSTM Networks for Semi-Supervised Text Classification via Mixed Objective Function https://www.aaai.org/ojs/index.php/AAAI/article/view/4672?
[17] Adversarial Training Methods for Semi-Supervised Text Classification https://arxiv.org/pdf/1605.07725?
[18] Improving Machine Reading Comprehension via Adversarial Training https://arxiv.org/pdf/1911.03614.pdf?
[19] Mean teachers are better role models: Weight-averaged consistency targets improve semi-supervised deep learning results https://arxiv.org/pdf/1703.01780.pdf
點擊以下標題查看更多往期內容:?
刷新SQuAD2.0 | 上海交通大學回顧式閱讀器解析
淺談 Knowledge-Injected BERTs
細粒度情感分析任務(ABSA)的最新進展
自然語言處理中的語言模型預訓練方法
BERT+知識圖譜:知識賦能的K-BERT模型
從三大頂會論文看百變Self-Attention
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
???? 投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點擊 |?閱讀原文?| 獲取最新論文推薦
總結
以上是生活随笔為你收集整理的冲击SuperGLUE:基于多任务与对抗训练的Finetune方案解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 炼丹感悟:On the Generali
- 下一篇: 带靖的男孩名字怎么取好?