Try   HackMD

PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization

1912.08777

Abstract

  • 近期的研究對於 pre-trained trainsformers 用於大型語料庫的 self-supervised 外加下游任務 (包含摘要) 的 fine-tuned 已經有顯著的成功
    • 但未針對抽象摘要訂製 pre-training objective
    • 且缺乏跨領域的系統評估
  • 本文提出了在大型語料庫應用 self-supervised 的 transformer pretrain 方法
  • 重要的句子從輸入文檔中刪除或 mask 接著用其他句子輸出缺漏的句子當一個序列 (類似提取式摘要),效果很好
  • 在新聞、科學、故事、說明書、電子郵件、專利和立法法案的 12 項下游摘要做評估,都得到最好的結果 (人工評估也好棒棒)
  • 在 low-resource 的摘要中,只用了 1000 個 data 就打趴 6 個 dataset 的結果

Introduction

  • seq-2-seq 和 transformer 已經成為主要的架構
  • 神經網路的成功依賴大量精準的 supervised 資料集
  • 越來越多人做抽象摘要,但卻沒有系統評估模型
  • 選擇假設很重要的句子比隨機或引導的選擇句子還要好
    • 推測這樣的目標因為類似抽象摘要的生成,很適合下游
  • 作者稱這樣的 self-supervised objective 為 Gap Sentences Generation (GSG)
  • PEGASUS 就是使用 GSG 在大型文檔上對 Transformer encoder-decoder 進行 pretrain
  • 最好的模型有 568M 個參數
  • 一般來說大規模的文檔摘要資料集很少見,學術與現實的資料集又有不匹配的問題,且現實資料蒐集成本很高
    • 常見的設置是 low-resource summarization
  • 本文模擬了上述的配置,只用 1000 筆資料就打趴 6 個資料集的排行
  • 即使在少量監督下,輸出還能跟參考摘要一樣好
  • 貢獻
    • 提出了一種新的 self-supervised 的預訓練目標,用於抽象摘要、克漏句、並且研究選擇句子的策略
    • 精挑細選 568M 個參數的模型好棒棒
    • 少量監督資料的 fine-tune 很強
    • 人工評估效能也好棒

Relate Work

  • 用語言模型 (LM) 和 atuo-encoder 對 in-domain 預訓練可以提高 RNN 等序列模型的效能
  • 但把預訓練跟更大的語料庫和 transformer 的序列模型結合,再對自然語言理解與文本生成進行 fine-tune,可以顯著提高性能
  • 與本文的做法類似是在某些 mask 預訓練目標上進行預訓練的 Transformer encoder-decoder 模型
  • MASS: 提出 masked seq-2-seq 生成方法
  • UniLM: 建議應該聯合 3 種訓練 LM
    • unidirectional (left-to-right and right-to-left)
    • bidirectional (word-level mask, with next sentence prediction)
    • seq2-seq (word-level mask) prediction
  • T5: 把 text-2-text 架構推廣到各種 nlp 任務上,證實模型 (11 billon) 跟預訓資料集 (C4) 大小的優勢
  • BERT: 去噪 auto-encoder 預訓練 seq-2-seq,用隨機噪點破壞文檔並重建
  • 跟上述的相比,PEGASUS mask 多個完整句子,而非較小文本片段
  • 最終目標是根據句子重要性選擇準確的句子,而非隨機選擇
  • 跟 T5 相同,不輸出完整序列,只輸出被 mask 的部分
  • 本文完全專注於下游摘要生成的任務,不評估 NLU

Pre-training Objectives

  • 為了比較,還是有單獨做 MLM

Gap Sentences Generation (GSG)

  • 作者假設使用更接近下游的預訓練會提升 fine tune 後的性能
  • 為了用大量語料庫預訓練,設計在沒有摘要的情況下設計一個 seq-2-sqe 的 self-supervised 目標
  • 幼稚的選擇是預訓練一個提取式摘要模型,但這樣只能複製句子,不適合抽象摘要
  • 在文檔中選擇整句 mask 並把缺的連成一個假的摘要
  • 用 [MASK1] 取代
  • Gap sentences ratio (GSR): 表 MASK 比例
  • 為了貼近摘要,選擇重要的句子
  • 最終目標是證明 mask 的優勢同時預測下游任務
  • 文檔
    D={xi}n
    中有 n 句
  • 3 種方法選擇 m 個句子(不從文檔中替換)
    • Random: 隨機 m 句
    • Lead: 選前 m 句
    • Principal: 選最重要的 m 句
      • 計算句子與其他句的 ROUGE1-F1
        si=rouge(xi,D{xi}),i
      • 句子獨立評分 (Ind) 並選擇前 m 句;或如同 Nallapati 等人 (RNN 摘要) 的方法依序選擇 (Seq) 分數最高的句子
      • 將 n-gram 弄成一個集合 (Uniq);或對相同的 n-gram 做 2 次計算(Orig)
      • 4種變體 (Ind/Seq, Orig/Uniq)

Masked Language Model (MLM)

  • 跟 BERT 相同,但標記為 [MASK2]
  • 可以單獨或跟 GSG 一起預訓練
  • 單獨訓練且依據 Rothe 等人方法 (序列生成) fine tune 時,ed/decoder 共享參數
  • 下圖展示 GSG, MLM 一起使用
  • 但 MLM 不能在大量的預訓練步驟中改善下游 (section 6.1.2)
  • 最終模型
    PEGASUSLARGE
    沒有用 MLM 預訓練 (section 6.2)
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

Pre-train Corpus

  • C4 (Colossal and Cleaned version of Common Crawl): 350M 個網頁的文字 (750GB)
  • HugeNews: 2013~2019 的 1.5B 篇新聞 (3.8TB)

Downstream Task/Datasets

  • 只用公共抽象摘要資料集
  • 用 TensorFlow Summarization Datasets 存取 (可以拆資料集)
  • 如果沒拆,用 80/10/10;如果沒有驗證集,拆 10 %
  • 附錄 A 說明所有下游資料集的使用細節
  • XSum: 2010~2017 的 227k 篇 BBC 文章 (主題廣泛、專業的單句摘要)
  • CNN/DailyMail: 93k CNN 、220k Dailymail
  • NEWSROOM: 由作者與編輯撰寫, 1998~2017 的 38 個主要出版物 1.3M 篇文章
  • Multi-News: 在 newser.com 的 56k 篇新聞
  • Gigaword: 從 Gigaword 語料庫的 4M 新聞,任務是從第 1 句話產生標題
  • arXiv, PubMed: 來自 arXiv.org 113k 與 PubMed 215k 的科學長文檔資料集,任務是從論文中生成摘要
  • BIGPATENT: 9種分類的 1.3M 個美國專利
  • WikiHow: 來自 WikiHow.com (指令資料集),200k 個資料,每筆都包含多個指令段落及一句摘要
  • Reddit TIFU: 2013/01~2018/08 來自 Reddit-TIUP 的 120k 篇文(故事),因為這個板嚴格限制 "TL;DR" 的摘要規則
  • AESLC: 來自 Enron 語料庫的 18k e-mail 正文及其題目
  • BillSum: 103~115 屆 (1993~2018) 國會的 23k 份法案

Experiments

  • 為了省時省力,用較小的模型
    PEGASUSBASE
    (較少參數、4 個資料集、較小的 batch size)
  • 因為抽象性、風格、大小的多樣性選擇 XSum, CNN/DailyMail, WikiHow and Reddit TIFU
  • PEGASUSBASE:L=12,H=768,F=3072,A=12,batchsize=256,parameters=223M
  • PEGASUSLARGE:L=16,H=1024,F=4096,A=16,batchsize=8192,parameters=568M
  • L: en/decoder (transformer block) 層數, H: hidden size, F: Feed-Forward 層數, A: self-attention heads
  • 沒預訓練的
    PEGASUSBASE
    稱為
    TransformerBASE
  • 根據 attention is all you need 用正弦 position ecoding
  • Adafactor: learning rate 以平方根遞減,drop out 0.1
  • 在 base 用 greedy-encoding (section 6.1),在 large 用 length-penalty 長度為
    α
    的 beam-search
  • 超參數在附錄 C ,實驗數據在附錄D, E

Ablations on
PEGASUSBASE

  • 用 base 評估預訓練語料庫的好壞、預訓練目標的好壞、詞彙量多寡 (只公開 C4 對後2者個結果)
  • 接下來的圖片,縱軸是根據最左邊 bar 的 normalization
  • 預訓練了 500k 都看不完訓練集,附錄 B 展示預訓練步驟對下游產生很大的影響,故進行消融研究及 large 的研究

PRE-TRAINING CORPUS

  • 根據下圖,預訓練的語料庫跟下游任務相同 domain 時,效能較好
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

EFFECT OF PRE-TRAINING OBJECTIVES

  • GSG: 比較了 6 種變體 (mask 30 %)

    • 下圖顯示 Ind-Orig 最好,其次是 Seq-Uniq;Ind-Orig 和 Seq-Uniq 始終比 Random 和 Lead 更好;Lead 在新聞的表現不錯,非新聞的就差
    • 顯示選擇重要的句子比較適合下游摘要任務, large 用 Ind-Orig
      Image Not Showing Possible Reasons
      • The image file may be corrupted
      • The server hosting the image is unavailable
      • The image path is incorrect
      • The image format is not supported
      Learn More →
    • GSG 中有個重要的超參數 GSR,越低挑戰與計算效率降低;越高會導致生成所需的上下文被挖空
    • 比較 15% 與 75% (文章都 400 字);在 encoder 中的 maximum input length,
      Linput
      與 decoder 中的 maximum target length,
      Ltarget
      都設 512
    • 下圖顯示不同下游資料集的最佳 GSR 略有不同,但都低於 50%;拓展到 large[section 6.2] 時選擇 30%
      Image Not Showing Possible Reasons
      • The image file may be corrupted
      • The server hosting the image is unavailable
      • The image path is incorrect
      • The image format is not supported
      Learn More →
  • MLM: 與 GSG Ind-Orig 一起預訓練 (如架構圖),選 30% 句子與額外的 15% mask

    • 下圖顯示只用 MLM 進行預訓練非常爛;MLM+Ind-Orig 跟 random 差不多;MLM+Ind-Orig 跟 Ind-Orig 相比,經驗顯示 MLM 在預訓練前期 (100k~200k) 有用
    • 因此 large 沒有加 MLM
      Image Not Showing Possible Reasons
      • The image file may be corrupted
      • The server hosting the image is unavailable
      • The image path is incorrect
      • The image format is not supported
      Learn More →

EFFECT OF VOCABULARY

  • 比較 2 種不同的 tokenization 方法
    • Byte-pair-encoding algorithm (BPE)
    • SentencePiece Unigram algorithm (Unigram)
  • 用 32k~256k 個不同詞彙量評估 Unigram (Ind-Orig, 15% GSR, C4, 500k step)
    • 下圖顯示 BPE 跟 Unigram 在新聞上表現差不多,Unigram 在非新聞中勝出;在 XSum 與 CNN/DailyMail 上 Unigram 96k 最好;在 WikiHow 與 Reddit TIFU 最佳配置是 128k, 64k
    • 因此在 large 中選擇 Unigram 96k
      Image Not Showing Possible Reasons
      • The image file may be corrupted
      • The server hosting the image is unavailable
      • The image path is incorrect
      • The image format is not supported
      Learn More →

Larger Model Results

  • 為了鼓勵模型複製句子(抽取式摘要),保留 20% 選定的句子不用 [MASK1] 替代
  • 把 GSR 提高到 45% (接近前述的 30%)
  • CNN/DailyMail, Multi-News, arXiv, PubMed, BIGPATENT 的長度大於預訓練時的長度 (512),position embedding 會出問題
    • 但因此證實了正弦 position ecoding 的通用性,當 large 調整為超過訓練中觀察到的輸入長度時,最多可輸入 Linput = 1024
  • 由於 BIGPATENT, arXiv, PubMed, Multi-News 的長度更超過 1024 個字
    • 因此更進一步擴大 Linput 或用兩階段方法(Liu 等人,序列生成)可能可以提高效能 [作者偷抱怨這超出論文的範圍了]
  • 下 2 表顯示 base 與 large 在下游資料集上的差異 (BillSum 只有抽取式,其他都是比抽象摘要;摘要很長的只用了 256 個 token)
  • 儘管 base 在許多資料集上都超過了當前的 SOTA;但使用 HugeNews 在所有下游資料集上, large 的表現都優於 SOTA,儘管 C4 在 WikiHow 上的表現更好
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • 對於較小的資料集,沒有預訓練的 Transformer base 到 large 的改善更明顯
    • AESLC 翻 3 倍、Reddit TIFU 翻 5 倍
  • 小的摘要資料集受益於預訓練

Zero and Low-Resource Summarization

  • 實際應用很難蒐集那麼多 label data 來預訓練或 fine tune
  • 為了模擬,用
    10k
    (k = 1 ~ 4) 來 fine tune large
    • batch size = 256, learning rate = 0.0005, step = 2000,並選擇驗證結果最好的 checkpoint
  • 下圖顯示只看 100 筆 data 下 12 個資料集有 8 個可以達到跟 Transformer base 看完 20k~200k 筆 data 的結果一樣好
  • 在只有 1000 個的情況下也有 6 個打敗 SOTA
  • 在 CNN/DailyMail 只有一半參數的 large 表現比 GPT-2
  • 用 1000 個的 large 分數高達 19.35 比 Khandelwal 等人 (Transformer LM) 用 3000 個的 13.1 高許多

Qualitative Observations and Human Evaluation

  • 總體來說語言品質越高的輸出越接近模仿 ground truth 的風格
  • 雖然以前的論文 (Welleck 等人的論文) 顯示 maximum likelihood training 會導致輸出重複的句子
    • 我們的輸出很少見,所以不用額外措施
  • 雖然 ROUGE 真的有缺點,導致過度逞罰抽象式摘要,讓抽相式摘要的語言品質降低
  • 使用 aggregated ROUGE (而非直接優化 ROUGE) 來選擇 perplexity-optimized 的模型可以得到較好的結果
  • 附錄 H 顯示透過程式隨機抽樣模型對所有資料集解碼,可以得到廣泛的 ROUGE 得分
    • 發現即使是低分的模型,輸出通常也是有品質的
  • 在 Amazon Mechanical Turk 上進行人類評估,評估 large 的輸出
  • 範例來自 XSum, CNN/DailyMail, Reddit TIFU,前 2 者受前人歡迎,第 3 個風格迥異
  • 要求工人對摘要給分 (1~5),並用 paired t-test 評估顯著性,附錄 F 有完整評分
    • 人類跟模型的結果比較
  • 第 1 個實驗將 large 對不同語料庫預訓練的結果與 Transformer base 和參考摘要比較
  • 第 2 個實驗把 large(HugeNews) 用 10、100、1000 筆 fine tune 的結果與所有監督式的結果和參考摘要比較
  • 在顯著性小於 0.01 的情況下 large 的輸出至少都與參考摘要相同
  • 在 zero shot
    • XSum, CNN/DailyMail 中 large(HugeNews) 也不比人類的差
    • Reddit TIFU 中,因為風格多樣,所以需要充分的監督

Conclusion

  • 提出了 PEGASUS,具有空缺句生成的模型,為抽象式摘要量身訂製的預訓練目標
  • 選擇重要句子挖空最好
  • 展示了預訓練語料庫、GSR、詞彙量的影響,並按比例放大模型,並且在 12 個資料集上達到最佳
  • 模型的 zero shot 很出色
  • 人類評估也很棒
tags: Paper