官方解讀,谷歌“T5”模型,如何突破遷移學習侷限,實現多基準測試SOTA

官方解讀,谷歌“T5”模型,如何突破遷移學習侷限,實現多基準測試SOTA

過去幾年間,遷移學習給 NLP 領域帶來了豐碩的成果,掀起了新一波的發展浪潮。而遷移學習之所以如此有效,得益於其利用自監督任務(如語言建模或填充缺失詞)在大量可用的無標註的文本數據上對模型進行預訓練;接著,又在更小的標註數據集上對模型進行微調,從而讓模型實現比單單在標註數據上訓練更好得多的性能。

遷移學習在2018年出現的GPT、ULMFiT、ELMo以及 BERT等成果上初露鋒芒,之後又在2019年大顯身手,推動了領域內多種新方法的發展,其中就包括XLNet、RoBERTa、ALBERT、Reformer 和 MT-DNN 等等。隨著 NLP 領域的發展迅猛,評估其中的哪些發展成果最具有意義以及這些成果結合起來會發揮出怎樣的效果,已不是易事。

官方解读,谷歌“T5”模型,如何突破迁移学习局限,实现多基准测试SOTA

(雷鋒網)論文地址:https://arxiv.org/abs/1910.10683

谷歌研究者在論文《使用統一的文本到文本的Transformer 來探索遷移學習的侷限性》中,提出了一個大規模的實證評估,以確定哪些遷移學習技術效果最好,並大規模應用這些遷移學習技術來創建一個新模型,作者將這個新模型稱之為文本到文本的遷移Transformer (Text-To-Text Transfer Transformer,T5)。

與此同時,他們還引入了一個新的開源預訓練數據集——Colossal Clean Crawled Corpus(C4)。作者在C4數據集上對T5 模型進行預訓練,讓模型在許多 NLP 基準上都實現了最佳結果,與此同時還擁有足夠的靈活性,進行微調後可應用到多個重要的下游任務上。

一、共享的文本到文本框架

創建了T5模型後,作者將所有的 NLP 任務都重新構建為統一的文本到文本格式,輸入和輸出都始終是文本字符串,與只能輸出類標籤或者輸入範圍的 BERT 式的模型截然不同。該文本到文本的框架讓他們可以在任何 NLP 任務上都使用相同的模型、損失函數以及超參數,包括機器翻譯、文檔摘要、問答和分類任務(如情感分析)等等。T5 模型甚至可以被應用到迴歸任務上,具體方式是訓練 T5 模型來預測一個數字的字符串表示,而不是這個數字本身。

官方解读,谷歌“T5”模型,如何突破迁移学习局限,实现多基准测试SOTA

(雷鋒網)

文本到文本框架圖。對於每個任務,作者都考慮使用文本作為模型的輸入,並訓練模型生成一些目標文本。這讓他們能夠在多個任務上使用相同的模型、損失函數和超參數,包括翻譯(綠色框)、語言可接受性(紅色框)、句子相似性(黃色框)和文檔摘要(藍色框)。它也為實證評估中所包含的方法提供了一個標準的試驗檯。

二、大型預訓練數據集(C4)

遷移學習的一個重要部分,便是用於模型預訓練的未標註的數據集。為了準確地評估擴大預訓練規模的效果,我們需要一個不僅高質量、多樣化而且規模龐大的數據集。

現有的預訓練數據集無法滿足上述三點要求,例如來自維基百科的文本是高質量的,並且格式統一,但是規模相對而言較小,而從Common Crawl 網站上爬取的文本雖然規模較大並且多樣化程度高,但是質量相當低。

為了滿足這三點要求,作者開發了一個Colossal Clean Crawled Corpus數據集 (C4),該數據集是比維基百科大兩個數量級的 Common Crawl 的清潔版本。他們的清潔處理過程涉及到刪除重複數據、去除不完整的句子以及消除冒犯性或有噪音的內容。

這一過濾可以讓模型在下游任務上獲得更好的表現,與此同時額外規模的數據集也讓模型在預訓練期間不過擬合的情況下,增加其大小。

C4數據集地址:https://www.tensorflow.org/datasets/catalog/c4

三、遷移學習方法的系統研究

作者使用T5 文本到文本框架和新的預訓練數據集C4,評估了在過去幾年間為NLP 遷移學習引入的大量思想和方法。

詳盡的評估細節可前往論文查看,其中包括以下實驗:模型架構的實驗中,他們發現編碼—解碼模型通常比“僅解碼”的語言模型,性能更優;預訓練目標的實驗中,他們證實了填空式的去噪目標(即訓練模型來複原輸入中缺失的詞)的效果更好,並且其中最重要的因素是計算成本。

未標註數據集的實驗中,他們展示了在域內數據集上訓練模型是有益的,而在更小的數據集上對模型進行預訓練則會導致不利的過擬合;訓練策略的實驗中,他們發現多任務學習可以與“先預訓練再微調”的方法相媲美,但是要求更細緻地選擇模型在每個任務上訓練的頻率。

模型規模的實驗中,他們對比了不同大小的模型、訓練時間以及集成模型的數量,以確定如何才能最好地利用固定的計算能力。

四、遷移方法+數據規模=性能最佳

為了探索NLP目前遷移學習的侷限性,作者進行了最後一組實驗,結合系統研究中的所有最佳方法,並利用Google Cloud TPU加速器進行了優化。其中最大規模的模型有110億個參數,在GLUE、Superglue、Team和CNN/Daily Mail基準測試中都能夠達到SOTA。另外,在SuperGLUE 自然語言理解的基準測試中獲得了接近人類水平的分數。

五、擴展到其他任務,表現也同樣可喜

T5非常靈活,可以非常容易的進行修改,除了作者論文中的一些任務,在其他任務中也能取得了巨大的成功。例如在下面兩個新任務中,模型表現也不錯。

1、封閉數據問答

在閱讀理解問題中往往可以使用文本到文本的框架。給模型提供上下文信息以及一個問題,訓練其在上下文信息中找到問題的答案,例如可以向模型提供維基百科文章中關於康尼颶風的文本,並提問“康妮颶風在哪天發生?”然後訓練模型,讓其找到文章中的日期。

事實上,作者使用這種方法在斯坦福問答數據集(SQuAD)中取得了最先進的結果。在作者的Colab demo和後續論文中,其訓練了T5在一個更加困難的封閉的環境中回答瑣碎的問題,而且不需要接觸任何外部知識。換句話說,T在回答問題時只能用其在無監督預訓練期間訓練出的參數和知識。

官方解读,谷歌“T5”模型,如何突破迁移学习局限,实现多基准测试SOTA

(雷鋒網)

在預訓練期間,T5學習如何從C4文檔中填充文本的丟失跨度。對模型進行了微調,在無需輸入任何信息或者上下文的情況下,將其應用於已經封閉式問答。T5非常擅長這項任務,其110億參數模型分別在TriviaQA、Web問題(WebQuestions)和自然問題(Natural Questions)對50.1%、37.4%和34.5%的答案進行了精確生成。為了客觀看待此類問題,T5團隊在酒吧瑣事挑戰(pub trivia challenge)與訓練好的模型並肩作戰,但不幸的是慘敗而歸。如下動圖所示

官方解读,谷歌“T5”模型,如何突破迁移学习局限,实现多基准测试SOTA

2、完形填空第二個任務是完形填空。像GPT-2這種大型語言模型在文本生產方面非常擅長。模型在經過訓練之後,能夠根據輸入預測出下一個單詞,如此將模型集成,便會產生非常創新性的應用程序,例如基於文本的遊戲“AI地下城”。

T5使用的預訓練目標與填空任務非常相似,在填空任務中,模型預測文本中缺少的單詞,但是此目標是對“繼續任務”(continuation task)的概括,因為填空任務中的空白有可能出現在文本的末尾。為了完成目標,創建了一個名為“填充空白”的新任務,並要求模型用指定數量的單詞替換空白。例如給模型輸入:我喜歡吃花生醬和—4—三明治。大概會訓練模型用4個單詞進行填空。用C4對模型進行了微調,效果良好,尤其是模型對缺失文本的預測非常棒!例如下列對於輸入:“我喜歡花生醬和—N—三明治”,輸出結果如下所示:

官方解读,谷歌“T5”模型,如何突破迁移学习局限,实现多基准测试SOTA

預訓練模型:

https://github.com/google-research/text-to-text-transfer-transformer#released-model-checkpoints

代碼:

https://github.com/google-research/text-to-text-transfer-transformerColab Notebookhttps://colab.research.google.com/github/google-research/text-to-text-transfer-transformer/blob/master/notebooks/t5-trivia.ipynbvia https://ai.googleblog.com/2020/02/exploring-transfer-learning-with-t5.html


分享到:


相關文章: