预训练语言模型真的是世界模型?
文 | 子龍
自GPT、BERT問世以來,預訓練語言模型在NLP領域大放異彩,刷新了無數榜單,成為當前學界業界的心頭愛,其主體結構——Transformer——也在逐步的運用于其他領域的任務中,常見的如與CV的跨界,也有相對小眾的bioinfo的任務(如蛋白質分類),然后此時問題來了,NLP領域技術成熟數據豐富,相比之下,其他領域或許不那么充足,那么曾經在 文本 數據上預訓練的模型對 模態 有沒有遷移作用呢?
今天的文章 Pretrained Transformers As Universal Computation Engines 就探索了文本模態預訓練對其他模態的遷移作用,作者發現當模型學會了語言,對其他模態有著很好的指導作用,能夠極大地提高其他模態任務上的學習效果。
論文題目:
Pretrained Transformers As Universal Computation Engines
論文鏈接:
https://arxiv.org/abs/2103.05247
Arxiv訪問慢的小伙伴也可以在 【夕小瑤的賣萌屋】訂閱號后臺回復關鍵詞 【0401】 下載論文PDF~
熟悉預訓練語言模型或者遷移學習的讀者應該已經意識到了,實際上,這篇文章的作者是將原本在文本數據上預訓練的模型,在其他類型數據上finetune。以往我們通常強調,預訓練一定要和下游任務相關聯,然而這次的實驗中,卻可能需要將已經學會文本信息的模型用于鑒別蛋白質、識別數字,上下游任務風馬牛不相及。
而且,為了凸顯文本預訓練的重要性,文中所使用的模型GPT-2在finetune階段,將中間層層連接的Transformer層“凍結”,下游finetune的時候僅僅優化輸入層、輸出層、Position Embedding和Layer Norm Parameters。如此設計,用于非文本模態下游任務的語言模型最大程度上保留了文本預訓練所得到的信息,也極大的減少了finetune時的參數。
文章將這種凍結中間Transformer層的語言模型稱作Frozen Pretrained Transformer (FPT),具體結構如圖所示:
作者在文章中研究了FPT相關的12個問題,限于篇幅,這里選取了其中6個問題(方括號內為原文標號):
文本預訓練模型真的可以遷移到其他模態嗎?[3.1]
預訓練用哪種模態重要嗎?[3.2]
文本預訓練與隨機初始化相比能夠提高訓練效率嗎?[3.4]
模型表現會隨著模型大小提升嗎?[3.7]
在finetune階段哪些參數最為重要?[3.10]
在其他語言模型上,這樣的結果可以繼續保持嗎?(文章主要使用的是GPT-2)[3.11]
文本預訓練模型真的可以遷移到其他模態嗎?
這正是文章所關注的最主要的問題,從海量文本訓練出來的文本模型在毫不相干的下游任務上finetune效果如何呢?
文中所涉及的幾個任務:Bit Memory和Bit XOR是基于bit string的任務,分別要求模型恢復masked bit string和計算兩個bit string的異或值;ListOps是預測一串操作的結果,如;MINST是手寫數字識別;CIFAR-10和CIFAR-10 LRA(C10 LRA)是常見的圖片識別數據集和Long Range Arena提出的變種,主要改變的圖片序列化的方法,具體可以參見往期Transformer哪家強?Google爸爸辨優良!;Homology是預測蛋白質折疊。
參與比較的幾個模型:FPT是文中所關注的凍結Transformer層的預訓練語言模型,Full是全部參數參與finetune訓練的語言模型,LSTM是全部參數參與訓練的長短時記憶網絡。
從結果中可以看出,FPT在各個任務上都有著和全參數參與訓練的Full有著相近的能力,甚至在一些任務上有著更優的表現,說明在文本上做預訓練的語言模型對于其他模態的任務有著一定的遷移能力,可以選擇凍結部分參數而不影響效果。
預訓練用哪種模態重要嗎?
接下來文章考察的問題是模型遷移能力與預訓練模態的關系,此前的FPT都是在文本上做預訓練,這是由于文本預訓練資源最為豐富、方法最為成熟。然而,近些年多模態預訓練模型也有著很多成果,如基于圖片的視覺預訓練模型等等。于是,這部分實驗對比了在不同模態上做預訓練的模型向其余任務的遷移能力,這里對比的主要有原本在文本上做預訓練的FPT、在圖片上做與預訓練的ViT、在Bit Memory任務上做預訓練的Bit和隨機初始化的Random。從結果中可以看出在文本上做預訓練的模型FPT具有相對更好的結果,在多個任務上達到了最優,雖然在圖片上做預訓練的ViT能夠在視覺任務(C10、C10 LRA)上超過FPT,但是在其他大部分任務上落后于FPT,尤其是蛋白質分類任務(Homology)上,FPT大大超越了ViT,作者猜測這是應該蛋白質序列和語言相近有著的所謂“語法”結構。
文本預訓練與隨機初始化相比能夠提高訓練效率嗎?
預訓練雖然有著優越的性能,但往往代價昂貴,雖然人人均知大力出奇跡,但是也只有大公司才可能燒得起經費,所以訓練效率是finetune的重要指標,本身finetune就是希望利用到預訓練的信息,進而規避昂貴的訓練過程。于是,這部分實驗中,作者對比了FPT和Random的擬合速度,即進行梯度下降的步數。答案顯而易見,FPT擬合數據集的速度相比Random有著極大的提升,更何況,參照前文有關預訓練模態的實驗,在Bit Memory任務上,Random (75.8%s)的效果遠低于FPT (100%)。
模型表現會隨著模型大小提升嗎?
我們平時使用的語言模型,往往有著不同的版本,比如Bert-base和Bert-large,XLNet-base和XLNet-large,一方面對模型規格的約定讓模型間對比起來更加公平,同時也要求更大規模的模型意味著更優的性能,因為如果模型設計不夠精準合理,增加模型規格,同時意味著更多的參數、更慢的擬合、更復雜的訓練,可能效果還不及簡單的模型。
于是,這部分實驗中,作者設計了三種規格的FPT:small、medium、large,分別為12層、24層、36層,分別對比了這些模型在CIFAR-10任務上的結果。從結果中可以看出,隨著層數的增加,模型的效果在不斷提升,這說明FPT的表達能力能夠隨著層數的增加而提高,也說明凍結中間Transformer層的手段并不會應該凍結層數的增加而影響模型在下游任務中的效果。
在finetune階段哪些參數最為重要?
FPT特別之處在于它凍結中間的Transformer層,而只對很小一部分參數進行優化,那么凍結哪些參數比較合理呢?這一部分實驗考察究竟哪些參數對finetune比較重要,那么以后在下游任務中就可以有選擇的進行優化。
首先,作者增加了Transformer層中的FeedForward層和Attention部分的參數進行finetune,結果如下。
進一步,對比了其他參數的效果。
綜合上述結果,增加FeedForward層確實能夠提升效果,但是優化Attention部分參數卻會分散模型能力,降低結果。此外,layer norm的參數對finetune結果最為重要。
在其他語言模型上,這樣的結果可以繼續保持嗎?
本文作者提出的FPT是基于GPT-2的語言模型加上凍結Transfomer層的策略,而我們知道現在語言模型品種繁多、各有千秋,于是作者采取相同的凍結策略,考察了以上結論在其他語言模型中的情況。
對比實驗中選取了BERT、T5、Longformer,這些模型各有側重,BERT是autoencoder模型,T5是seq2seq模型,這里作者只用其中的encoder,Longformer是針對長文本提出的模型。從結果中可以看出,不同的Transformer結果對結果的影響不大,只有T5相比其他模型在ListOps上有所下降。
本文所涉及的實驗眾多,得到結果也十分豐富,從多方面考察了FPT的凍結策略對模型效果的影響,一方面啟發了借助文本預訓練對其他模態任務的遷移,另一方面也讓NLPer對預訓練語言模型的各個組件有了更加深刻的理解,了解他們各自對結果的貢獻的區別,從某個角度上說,也讓缺少顯存的程序員放心凍結龐大的預訓練語言模型的部分參數,而不必擔心以效果換顯存了。
萌屋作者:子龍(Ryan)
本科畢業于北大計算機系,曾混跡于商湯和MSRA,現在是宅在家里的UCSD(Social Dead)在讀PhD,主要關注多模態中的NLP和data mining,也在探索更多有意思的Topic,原本只是貴公眾號的吃瓜群眾,被各種有意思的推送吸引就上了賊船,希望借此沾沾小屋的靈氣,paper++,早日成為有貓的程序員!
作品推薦:
1.別再搞純文本了!多模文檔理解更被時代需要!
2.Transformer哪家強?Google爸爸辨優良!
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
總結
以上是生活随笔為你收集整理的预训练语言模型真的是世界模型?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个程序员的“无聊”故事
- 下一篇: AllenAI 发布万能问答系统 MAC