自然語言處理預訓練模型之T5: Text-to-text transfer Transformer簡介


 

深度學習目前自然語言處理上主流是先用大量且全方位領域的標記/未標記資料(如: 維基百科全書)預訓練一個通用模型,然後用預訓練的模型參數對真正目標領域進行微調(fine-tuning)。此種訓練模式有下列好處:(1)一般目標領域的資料量不足於支撐模型參數,所以利用大量領域外資料讓模型取得適度推理能力,之後只要少量領域資料加深模型對目標領域的了解,便可取得充分推理能力;(2)承(1),由於預訓練階段雖然需要使用大量的資料、大量的訓練時間及硬體資源,但此階段只須使用高效能的機器訓練一次或是使用他人已公開好的預訓練模型即可。爾後進入微調階段時,只要利用預訓練成果配上適量資料即可完成高準度的模型,如此一來大幅縮短微調階段的訓練時間,提升訓練效率。凡舉以BERT[1], RoBERTa[2]等的預訓練模型建構的自然語言模型皆採用此方法進行訓練。

圖一、T5推論示意圖

圖片來源:Exploring the limits of transfer learning with a unified text-to-text transformer[3] (團隊重新繪製)

Colin Raffel et al.在Exploring the limits of transfer learning with a unified text-to-text transformer[3]一文中針對這些預訓練模型做了一系列深入的研究,看如何才能有效率提升預訓練模型的準確率,並結合研究的成果,提出了Text-to-Text Transfer Transformer(T5)模型,以及對應的預訓練資料Colossal Clean Crawled Corpus (C4)。T5模型最大的特點就是把所有的自然語言的任務,凡舉翻譯、問答、情感偵測總結等任務,都以sequence to sequence的方式解決。舉例而言,如果要將英文的That is good翻成德文,只要在輸入的sequence中"translate English to German: That is good.",模型則會回應翻譯結果"Das ist gut."(見圖一),其中input sequence的”translate English to German:”是用來指示模型該如何處理輸入。T5使用的是Vaswani et al. 提出transformer架構,預訓練時把C4資料集以corrupted spans方式進行,如原句為 Thank you for inviting me to your party last week. Input會隨機挖掉一些片語並用特殊字符, , …等代替,如 Thank you to week. 然後希望T5模型能解出和的內容如: for inviting me your party last 。然後在微調階段時,T5也運用多工學習MT-DNN的架構,同時對多個任務進行微調,然而因為T5將所有任務都轉成sequence to sequence形式,所以可以使用同一optimizer參數同時對多任務微調。根據作者提出的實驗結果,T5最大的模型T5-11B對GLUE任務可達90.3的準確率,對比於之前的state-of-the-art為89.4,而T5-Base也達到82.7的準確率。而在SQuAD資料集上,T5-11B達到Exact Match(EM)=91.26, F1=96.22,在T5-Base上也有EM=85.44, F1=92.08的水準。

參考來源:

 

[1] DEVLIN, Jacob, et al. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018.

[2] LIU, Yinhan, et al. Roberta: A robustly optimized bert pretraining approach. arXiv preprint arXiv:1907.11692, 2019.

[3] RAFFEL, Colin, et al. Exploring the limits of transfer learning with a unified text-to-text transformer. arXiv preprint arXiv:1910.10683, 2019.

延伸閱讀