Google預訓練語言模型T5

這幾天NLP領域又炸鍋了,Google又祭出預訓練模型大殺器T5(Text-to-Text Transfer Transformer),既在情理之中,又在意料之外。在情理之中是因爲,BERT及後續改進模型出來後,大的趨勢是更復雜的模型和更多的數據,個人覺得Google應該不會滿足於BERT,19年應該還會有大殺招出來。在意料之外是因爲,沒有想到T5會幹得這麼徹底,有一種慘無人道的感覺,這讓大家以後還往哪做啊。下面所講純屬個人思考,眼光有限,錯誤難免,謹慎參考。

 

T5的出世我感覺讓一些研究人員會有種絕望的感覺。首先還需要做啥模型,我T5一統江湖。之前BERT已統領了NLU領域,大家還可以做做NLG,得,現在的T5能做到統一NLU和NLG,真的是不管什麼任務,一個模型包打天下(想起了金庸的武林江湖,以後沒有什麼華山派、空洞派、峨眉派、崑崙派、。。。,甚至連武當、少林也沒有了,都統一歸我日月神教哈)。但又在疑惑,這世界上真的存在銀彈嗎?其次也不要考慮自己做預訓練模型這個問題了,看完了T5論文,只有一種感覺----有錢真好。就這種暴力實驗法,估計一般的學校、研究機構和企業就都算了,努力搬搬磚、修修補補就差不多得了,像T5這種只能成爲諸神之戰。最後悲催的是T5連搬磚機會也都不給了,自己一股腦把各類修修補補的事也一併做了(如Replace span、multi-task learning、Scaling等)。真的是走別人的路,讓別人無路可走。知乎上看到有人問“自然語言處理進入大力出奇跡時代 高校學生如何才能進行更好的研究”,個人建議是如果你將來打算去企業,還是找個應用問題做吧(如NER、事件抽取、關係抽取、文本匹配等),一是可以直接應用BERT、T5這類模型,避免了直接競爭,二是做的問題可能在企業有直接應用,讓你先於別人得到表現機會哈。

 

下面我們先來了解下什麼是T5,具體先看圖1,主要包含模型結構、注意力掩碼機制、Objectives、C4和訓練策略五部分。

圖 1 T5 思維導圖

 

爲了解決Text-to-Text問題,目前主要有Encoder-Decoder、Language model和Prefix LM三類結構。Language model和Prefix LM比較適用於NLU類問題,但對於NLG,實驗結果表明Encoder-Decoder效果更好。所以T5選擇了Encoder-Decoder結構。

 

關於注意力掩碼機制,目前有Casual、Casual prefix和Fully-visible三類。Casual是一種常見的掩碼機制,有從左到右和從右到做兩種,當前點僅能看到改點之前的信息,看不到後面的信息,如果要看到兩個方向的信息只能將兩個信息concat(如BiLSTM模型),GPT就是採用這種掩碼機制。Casual prefix可以看成是Casual的擴展,應該有些常見prefix固定,UniLM採用這種掩碼機制。那有沒有一種機制能建模時同時看兩邊,Fully-visible就屬於這類。在Fully-visible之前大部分模型都是選擇Casual這種,所以個人覺得Bert採用Fully-visible還是很有創新意義。

 

Objectives主要包含常用預訓練方法、Mask策略、Mask比率和Span長度選擇四個部分。預訓練方法分語言模型式、Bert Mask式和Deshuffling三種,實驗結果表明Bert Mask式效果更好。Mask策略分Mask模式、Replace span模式和drop模式三種,實驗結果表明Replace span模式效果更好。Mask比率驗證了10%、15%、25%和50%四種,實驗結果表明15%效果更好。Span長度選擇驗證了2、3、5和10四種,實驗結果表明3效果相對好一些。

 

C4(Colossal Clean Crawled Corpus)數據集達到750G,但從實驗結果上看,RealNews-like(35G)和WebText-like(17G),效果相差不是很多,這表明並不是增大數據量就可以快速提升效果,應該是存在一個閾值,達到一定量後後面增長會比較緩慢。在dataset size部分也基本驗證了這一觀點。出現這一現象可能有兩種原因:一是現有模型不夠複雜,現有數據已使其飽和,因此需要一個更大更復雜的模型,這種可能性比較小,畢竟模型參數已達到110億;另一種是現有語料的信息量已到一個瓶頸,模型已基本學得差不多,增大語料樣本並不能帶來信息量的增加,如果是這種情況,那是個好事情,說明語言的信息組合也是有限的,某種程度也是可枚舉的。

 

訓練策略部分作者探索了fine-tune、多任務學習、多任務fine-tune和Scaling。這基本囊括了常見的一些訓練策略,把該搬的磚基本都搬了,這叫別人怎麼搬啊。同時作者的探索也得出了一些有意思的經驗,如多任務學習效果不如pre-train-then-fine-tune等。

 

到此,T5基本介紹差不多了。下面稍微說下個人的一些看法。

 

第一,T5是一個集大成之作,將Bert之後的很多進展進行了融合。但從模型上說,它的創新度並不是很高,主要是Encoder-Decoder、Fully visible、Bert-span等,這些單項之前在某些模型都有涉及。但T5能將它們各種組合在一起,選出了一個最優組合方案。這有點好比於張三丰把少林的羅漢拳、丐幫的降龍掌、桃花島的彈指神功融合在一起形成了太極,你說他厲不厲害。

 

第二,T5的出現是勢在必行(之前在“後Bert時代NLP相關進展”文章總結與思考部分稍有提及),只不過當時覺得它會叫“Bert-2”,大方向是更復雜的模型和更多的數據,從T5來看,基本也確實是往這個方向跑了。只不過沒想到的是把NLG融合了。其中,NLG問題UniLM和MASS兩篇文章也是往這個方向(詳見“後Bert時代NLP相關進展”,當時分析UniLM和MASS文章時說到他們數據不足的問題,T5把他給補全了)。

 

第二,其實說到大一統這個問題,我個人先前也有預判,但當時預判是閱讀理解,可以詳見“後Bert時代機器閱讀理解”。因爲基本所有NLU問題都可以轉換成閱讀理解問題來做,但T5把NLG的問題也包含了,用Text-to-Text做到了NLU和NLG問題的大一統,確實是厲害。

 

第三,未來會如何發展,當前的熱點結構是Transformer和GNN,它們都是圖式結構,事物的發展基本基本都是從線性、Tree式、到圖式(詳見“語言模型之一枝(只)漂亮的小花(貓)”),到了圖式後也會有異構圖式、時序圖式等,但都比較虛,然後會有其他的發展,進入下一個輪迴。那T5後續是不是也得奔着異構和時序兩個方向發展,還是會有新的模式突破,進入下一個輪迴。

 

最後,還是坐等中文版T5哈。。。

 

參考文獻

Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer

後Bert時代NLP相關進展

後Bert時代機器閱讀理解

語言模型之一枝(只)漂亮的小花(貓)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章