NLP任務(wù)非Transformer不可?谷歌大規(guī)模研究發(fā)現(xiàn)預(yù)訓(xùn)練卷積模型往往更優(yōu)
在當(dāng)前 NLP 領(lǐng)域,基于 Transformer 的模型可謂炙手可熱,其采用的大規(guī)模預(yù)訓(xùn)練方法已經(jīng)為多項(xiàng)自然語言任務(wù)的基準(zhǔn)帶來了實(shí)質(zhì)性的提升,也已經(jīng)在機(jī)器翻譯等領(lǐng)域得到了實(shí)際應(yīng)用。但之前卻很少有研究者思考:預(yù)訓(xùn)練是否也能提升卷積在 NLP 任務(wù)上的效果?近日, 資源雄厚的 Google Research 的一項(xiàng)大規(guī)模實(shí)證研究填補(bǔ)了這一空白。結(jié)果發(fā)現(xiàn),在許多 NLP 任務(wù)上,預(yù)訓(xùn)練卷積模型并不比預(yù)訓(xùn)練 Transformer 模型更差。本文將重點(diǎn)關(guān)注該研究的實(shí)驗(yàn)結(jié)果和相關(guān)討論,具體實(shí)驗(yàn)設(shè)置請參閱論文。
論文地址:https://arxiv.org/pdf/2105.03322.pdf
在這個預(yù)訓(xùn)練已成為慣用方法的現(xiàn)代,Transformer 架構(gòu)與預(yù)訓(xùn)練語言模型之間似乎已經(jīng)有了密不可分的聯(lián)系。BERT、RoBERTa 和 T5 等模型的底層架構(gòu)都是 Transformer。事實(shí)上,近來的預(yù)訓(xùn)練語言模型很少有不是基于 Transformer 的。
盡管基于上下文的表征學(xué)習(xí)歷史豐富,但現(xiàn)代預(yù)訓(xùn)練語言建模卻是始于 ELMo 和 CoVE 等基于循環(huán)架構(gòu)的模型。盡管它們?nèi)〉昧司薮蟪晒?,但使用這些架構(gòu)的研究已經(jīng)減少了很多,因?yàn)?Transformer 已經(jīng)偷走了 NLP 社區(qū)的心,而且 NLP 社區(qū)也已經(jīng)將它(可能較為隱式地)看作是在前代架構(gòu)上明確無疑的進(jìn)步。
近來有研究展現(xiàn)了全卷積模型的潛力并質(zhì)疑了 Transformer 等自注意力架構(gòu)的必要性。舉個例子, 康奈爾大學(xué)博士 Felix Wu 等人在 2019 年提出的卷積式 seq2seq 模型在機(jī)器翻譯和語言建模等一系列規(guī)范基準(zhǔn)任務(wù)上都取得了優(yōu)于 Transformer 的表現(xiàn)。在這些發(fā)現(xiàn)的基礎(chǔ)上,我們自然會有疑問:我們是否應(yīng)該考慮 Transformer 之外的預(yù)訓(xùn)練模型?
盡管卷積模型早期取得了一些成功,但在預(yù)訓(xùn)練語言模型時代,卷積是否仍然重要還是一個有待解答的問題。研究者表示,之前尚未有研究工作在預(yù)訓(xùn)練 - 微調(diào)范式下對卷積架構(gòu)進(jìn)行嚴(yán)格評估。這正是本研究的主要目的。具體而言,這篇論文的目標(biāo)是通過實(shí)證方式驗(yàn)證預(yù)訓(xùn)練卷積模型在一系列任務(wù)上是否能與預(yù)訓(xùn)練的 Transformer 相媲美。
預(yù)訓(xùn)練方案與模型架構(gòu)之間的交互關(guān)系這一主題所得到的研究仍舊不足。只有 Transformer 能從預(yù)訓(xùn)練大量獲益嗎?如果我們使用一種不同架構(gòu)的歸納偏置(inductive bias),預(yù)訓(xùn)練是否也能帶來顯著增益?預(yù)訓(xùn)練的卷積模型能在某些情況中取得更優(yōu)表現(xiàn)嗎?這篇論文研究了這些問題。
基于卷積的模型有一些明顯的優(yōu)勢。第一,卷積不會有自注意力那種二次內(nèi)存復(fù)雜度的問題—這是一個重大問題,甚至足以催生出一類全新的「高效」Transformer 架構(gòu);第二,卷積在本地執(zhí)行,并不依賴位置編碼作為模型的順序信號。話說回來,卷積也有許多缺點(diǎn)。舉個例子,卷積無法獲取全局信息,這意味著這樣的模型無法執(zhí)行一種跨多個序列的跨注意力形式。
本文將展示一種預(yù)訓(xùn)練的序列到序列模型,即 Seq2Seq。卷積模型的訓(xùn)練使用了基于跨度的序列到序列去噪目標(biāo),其類似于 T5 模型使用的目標(biāo)。研究者在原始范式(無預(yù)訓(xùn)練)和預(yù)訓(xùn)練 - 微調(diào)范式下對多種卷積變體模型進(jìn)行了評估,比如擴(kuò)張模型、輕量模型和動態(tài)模型。這些評估的目標(biāo)是理解在預(yù)訓(xùn)練時代卷積架構(gòu)的真正競爭力究竟如何。
實(shí)驗(yàn)結(jié)果表明,在毒性檢測、情感分類、新聞分類、查詢理解和語義解析 / 合成概括等一系列 NLP 任務(wù)上,預(yù)訓(xùn)練卷積能與預(yù)訓(xùn)練 Transformer 相媲美。此外,研究者發(fā)現(xiàn)在某些情況下,預(yù)訓(xùn)練的卷積模型在模型質(zhì)量和訓(xùn)練速度方面可以勝過當(dāng)前最佳的預(yù)訓(xùn)練 Transformer。而且為了平衡考慮,研究者也描述了預(yù)訓(xùn)練卷積并不更優(yōu)或可能不適用的情況。
本文的主要貢獻(xiàn)包括:
在預(yù)訓(xùn)練 - 微調(diào)范式下對卷積式 Seq2Seq 模型進(jìn)行了全面的實(shí)證評估。研究者表示,預(yù)訓(xùn)練卷積模型的競爭力和重要性仍還是一個仍待解答的問題。
研究者還得出了幾項(xiàng)重要觀察結(jié)果。具體包括:(1)預(yù)訓(xùn)練能給卷積模型和 Transformer 帶來同等助益;(2)在某些情況下,預(yù)訓(xùn)練卷積在模型質(zhì)量與訓(xùn)練速度方面與預(yù)訓(xùn)練 Transformer 相當(dāng)。
研究者使用 8 個數(shù)據(jù)集在多個領(lǐng)域的許多任務(wù)上執(zhí)行了廣泛的實(shí)驗(yàn)。他們發(fā)現(xiàn),在 8 項(xiàng)任務(wù)的 7 項(xiàng)上,預(yù)訓(xùn)練卷積模型優(yōu)于當(dāng)前最佳的 Transformer 模型(包括使用和未使用預(yù)訓(xùn)練的版本)。研究者比較了卷積和 Transformer 的速度和操作數(shù)(FLOPS),結(jié)果發(fā)現(xiàn)卷積不僅更快,而且還能更好地擴(kuò)展用于更長的序列。
研究問題和討論
研究者主要關(guān)注了以下研究問題(RQ):
RQ1:預(yù)訓(xùn)練能否為卷積和 Transformer 帶來同等助益?
RQ2:卷積模型(不管是否使用預(yù)訓(xùn)練)能否與 Transformer 模型媲美?它們在什么時候表現(xiàn)較好?
RQ3:相比于使用 Transformer 模型,使用預(yù)訓(xùn)練卷積模型是否有優(yōu)勢,又有哪些優(yōu)勢?相比于基于自注意力的 Transformer,卷積模型是否更快?
RQ4:預(yù)訓(xùn)練卷積不適用于哪些情況?哪些情況需要警惕?原因是什么?
RQ5:是否有某些卷積模型變體優(yōu)于另一些模型?
實(shí)驗(yàn)結(jié)果
下表 2 是在毒性檢測、情感分類、問題分類和新聞分類上,預(yù)訓(xùn)練卷積和預(yù)訓(xùn)練 Transformer 的表現(xiàn)比較。所有模型都是 12 層的 seq2seq 架構(gòu),都有大約 2.3 億個參數(shù)。可以看到,預(yù)訓(xùn)練對卷積也有所助益,并且總是優(yōu)于使用和沒使用預(yù)訓(xùn)練的 Transformer 模型。
結(jié)果總結(jié)
實(shí)驗(yàn)發(fā)現(xiàn),在多個領(lǐng)域的 7 項(xiàng)任務(wù)上,(1)相比于沒使用預(yù)訓(xùn)練的 Transformer,沒使用預(yù)訓(xùn)練的卷積是具有競爭力的,而且常常更優(yōu);(2)預(yù)訓(xùn)練卷積在 7 項(xiàng)任務(wù)中的 6 項(xiàng)上都優(yōu)于預(yù)訓(xùn)練 Transformer。這是問題 RQ2 的答案。
實(shí)驗(yàn)還發(fā)現(xiàn)預(yù)訓(xùn)練能給卷積帶來助益,其產(chǎn)生助益的方式類似于助益基于自注意力的模型的方式。因此,預(yù)訓(xùn)練的優(yōu)勢并不是 Transformer 模型獨(dú)占的。這是問題 RQ1 的答案。
研究者還發(fā)現(xiàn),在這些預(yù)訓(xùn)練卷積模型中,擴(kuò)張卷積和動態(tài)卷積通常優(yōu)于輕量卷積,這回答了問題 RQ5。
最后,研究者觀察到,使用預(yù)訓(xùn)練后,模型的相對性能(即排名)會改變。這說明使用預(yù)訓(xùn)練來構(gòu)建架構(gòu)肯定會有某種效果。這種效果的直接影響是不使用預(yù)訓(xùn)練時表現(xiàn)好(相對而言)的模型并不一定在使用預(yù)訓(xùn)練后表現(xiàn)最佳。因此,除了將架構(gòu)與預(yù)訓(xùn)練方案組合到一起使用之外,我們也需要注意不同的架構(gòu)在使用預(yù)訓(xùn)練后可能會有不同的行為。
討論和分析
下面將通過詳細(xì)的分析和討論對結(jié)果進(jìn)行擴(kuò)展討論。其中將討論預(yù)訓(xùn)練卷積的優(yōu)劣和預(yù)訓(xùn)練對性能的影響,并將為廣大社區(qū)給出一些建議。
1. 預(yù)訓(xùn)練卷積在哪些情況下不管用?
根據(jù)實(shí)驗(yàn)結(jié)果,我們可以觀察到卷積模型相較于完善的預(yù)訓(xùn)練 Transformer 的潛在優(yōu)勢,并且在某些情況下還能獲得質(zhì)量上的提升。但是,進(jìn)一步理解卷積的缺陷可能會有所助益。
預(yù)訓(xùn)練卷積的一個明顯缺點(diǎn)是它們?nèi)狈缱⒁饬Φ臍w納偏置,而在 Transformer 編碼器中,使用自注意力可以自然而然地獲得這一能力。因?yàn)檫@個原因,對于需要建模兩個或更多序列的關(guān)系的任務(wù)而言,不宜使用預(yù)訓(xùn)練卷積。為了驗(yàn)證這一點(diǎn),研究者在 SQuAD 和 MultiNLI 上執(zhí)行了實(shí)驗(yàn),結(jié)果發(fā)現(xiàn),正是由于缺少歸納偏置,預(yù)訓(xùn)練卷積的表現(xiàn)遠(yuǎn)遠(yuǎn)不及 Transformer。在檢查和評估模型時,我們應(yīng)該能清楚地區(qū)分這一點(diǎn),就像早期的 SNLI 排行榜能清楚地區(qū)分使用和不使用跨注意力的模型一樣。
之前在 SQuAD/MNLI 等基準(zhǔn)上的評估表明,預(yù)訓(xùn)練卷積模型確實(shí)乏善可陳。舉個例子,在 MultiNLI 上,卷積僅能實(shí)現(xiàn)約 75% 的準(zhǔn)確度,而 Transformer 能輕松達(dá)到約 84%。類似地,卷積在 SQuAd 上能達(dá)到 70% 左右,而 Transformer 則可達(dá)約 90%。這完全在意料之中,因?yàn)榍疤?/ 問題無法與假設(shè) / 上下文交互(RQ4)。但是,研究者通過實(shí)驗(yàn)發(fā)現(xiàn),這種現(xiàn)象的原因只是單純地缺乏這種跨注意力屬性。當(dāng)在編碼器中使用單層跨注意力增強(qiáng)卷積時,結(jié)果發(fā)現(xiàn)預(yù)訓(xùn)練卷積能在 MultiNLI 等數(shù)據(jù)集上達(dá)到與預(yù)訓(xùn)練 Transformer 非常相近的水平,實(shí)現(xiàn)約 83% 的準(zhǔn)確度。
話雖如此,跨注意力歸納偏置是否真的重要,還需要實(shí)踐者進(jìn)一步證明。研究者強(qiáng)調(diào),在擴(kuò)大規(guī)模時,連接句子對的模式并不一定是必要的,因?yàn)檫@需要對句子對的每種排列進(jìn)行推理。因?yàn)檫@個原因,在實(shí)踐中,使用雙編碼器設(shè)置來執(zhí)行快速嵌入空間查找是更為實(shí)際和可行的做法。鑒于卷積在一系列編碼任務(wù)上的強(qiáng)勁表現(xiàn),可以期待預(yù)訓(xùn)練卷積在雙編碼器設(shè)置中的出色效果。
2. 相比于預(yù)訓(xùn)練 Transformer,預(yù)訓(xùn)練卷積有何優(yōu)勢?
基于實(shí)驗(yàn)結(jié)果可知,相比于使用 Transformer,使用卷積能獲得一些質(zhì)量提升。下面討論其它優(yōu)勢。
在處理長序列時,卷積速度更快,擴(kuò)展更好。
圖 1:在一個 seq2seq 掩碼語言建模任務(wù)上,序列長度對處理速度的影響。結(jié)果是使用 16 塊 TPUv3 芯片在 C4 預(yù)訓(xùn)練上通過基準(zhǔn)測試得到的。結(jié)果以對數(shù)標(biāo)度展示。
上圖 1 展示了在一個序列到序列任務(wù)上,卷積(LightConvs)與 Transformer 的訓(xùn)練速度。輸入長度的取值為 {64, 128, 256, 512, 1024, 2048, 4096}。結(jié)果發(fā)現(xiàn),卷積不僅速度總是更快(序列更短時也更快),而且擴(kuò)展性能也更好。卷積會線性擴(kuò)展到更長的序列,而 Transformer 無法擴(kuò)展。
卷積的 FLOPs 效率更高
研究者測算了當(dāng)序列長度增大時卷積與 Transformer 的 FLOPs 的數(shù)量。下圖 2 展示了不同序列長度下的結(jié)果。總體而言,在所有序列長度上,卷積在浮點(diǎn)運(yùn)算數(shù)量上都比 Transformer 更加高效。
圖 2:在一個 seq2seq 掩碼語言建模任務(wù)上,序列長度對 FLOPs 數(shù)量(愛因斯坦求和的操作數(shù))的影響。結(jié)果是使用 16 塊 TPUv3 芯片在 C4 預(yù)訓(xùn)練上通過基準(zhǔn)測試得到的。結(jié)果以對數(shù)標(biāo)度展示。
整體而言,不管是時鐘,還是 FLOPs,卷積都更快一些,這解答了問題 RQ3。此外,研究者還發(fā)現(xiàn)卷積的 FLOPs 效率在不同序列長度上延展得也更好。
3. 是否建議用卷積完全替代 Transformer?
盡管 Transformer 已經(jīng)主導(dǎo)了 NLP 研究社區(qū),但這篇論文認(rèn)為卷積的一些優(yōu)勢被忽視了,比如模型質(zhì)量、速度、FLOPs 和擴(kuò)展性。此外,此前我們并不知道預(yù)訓(xùn)練是否能助益卷積。這篇論文表明,在某些任務(wù)上,預(yù)訓(xùn)練能給卷積模型帶來與給 Transformer 模型帶來的類似增益。但是,研究者也著重指出,卷積難以應(yīng)付需要跨注意力的任務(wù),也難以建模在同一序列中有多個句子或文檔的情況。研究者認(rèn)為這是一個值得實(shí)踐者探索的研究方向,并有望發(fā)掘出 Transformer 之外的新架構(gòu)。
4. 不要將預(yù)訓(xùn)練與架構(gòu)的發(fā)展進(jìn)步混為一談
這篇論文還表明,輕量、動態(tài)和擴(kuò)張卷積都能從預(yù)訓(xùn)練獲益,其帶來的增益程度不比給 Transformer 帶來的增益少。
在當(dāng)前的研究圖景中,預(yù)訓(xùn)練總是與 Transformer 架構(gòu)緊密相關(guān)。因此,人們總是將 BERT 的成功、Transformer 和大規(guī)模語言模型這三者混為一談。盡管到目前為止確實(shí)只有 Transformer 會使用大規(guī)模預(yù)訓(xùn)練,但可以相信其它架構(gòu)也可能有類似潛力。
基于實(shí)驗(yàn)結(jié)果,研究者相信在架構(gòu)和預(yù)訓(xùn)練的組合效果方面還有進(jìn)一步的研究空間。這項(xiàng)研究本身也有望提升卷積模型在 NLP 領(lǐng)域的競爭力。他們表示,在探索解決 NLP 任務(wù)時,不要總是局限于當(dāng)前最佳的 Transformer,也應(yīng)積極地探索其它替代框架。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。