前谷歌科學(xué)家Yi Tay「LLM演義」系列博客第一彈:BERT為何匿跡江湖?
熱衷于寫博客的前谷歌科學(xué)家Yi Tay近日坐飛機(jī)太無聊,又撰寫了一篇深度文章,探討了當(dāng)下很多人關(guān)心的一個(gè)話題——LLM時(shí)代模型架構(gòu)的此消彼長(zhǎng)和風(fēng)云變幻。
他上一篇自述創(chuàng)業(yè)辛酸史的博文就引發(fā)了業(yè)界的廣泛關(guān)注,獲得了Karpathy的轉(zhuǎn)贊。
這次Yi Tay試圖解開在新的LLM時(shí)代里正在發(fā)生的所有事情,關(guān)于「BERT和T5發(fā)生了什么」?也關(guān)于Transformer encoder、PrefixLM和去噪目標(biāo)的興衰。
博客地址:https://www.yitay.net/blog/model-architecture-blogpost-encoders-prefixlm-denoising
為何encoder-only模型「風(fēng)光不再」?為何BERT這么強(qiáng),卻不能「scale it」?
置身其中,很難看見事情的全貌。對(duì)于這些讓業(yè)內(nèi)人士都撓頭的問題,Yi Tay分享了自己的觀察和思考。
而且Yi Tay還表示,這只是系列博客文章的第一彈,后續(xù)還可以期待他關(guān)于「LLM時(shí)代的模型架構(gòu)」這一話題的更多內(nèi)容。
決定開始一個(gè)新博客系列的更新,內(nèi)容關(guān)于LLM時(shí)代的模型架構(gòu)。
下面是第1部分,內(nèi)容涉及Transformer Encoders/Encoder-Decoders、PrefixLM和去噪目標(biāo)等更廣泛的架構(gòu)。??
許多人會(huì)問的一個(gè)問題是, 「大約5年多前從事語言和NLP研究的人都在撓頭,不知道encoder模型都去哪兒了。如果BERT效果這么好,為什么不擴(kuò)大它的規(guī)模?」
另外,encoder-decoder或純encoder模型怎么了?去噪目標(biāo)好嗎?
我在這篇博文中分享了我的想法。
Yi Tay頗有LLM時(shí)代的「說書人」之姿,他在博客中簡(jiǎn)明扼要地梳理了過去幾年中模型架構(gòu)的發(fā)展脈絡(luò),并提出了自己的洞見。
背景
為了方便沒那么貼近技術(shù)的人閱讀,Yi Tay先交代了一下故事發(fā)生的背景。
在過去的幾年里,模型架構(gòu)主要有三種重要范式。
encoder-only模型(例如BERT)、encoder-decoder模型(例如T5)和decoder-only模型(例如GPT系列)。
可是人們對(duì)這種劃分感到很困惑,并且存在著大量的誤解,所以這正是Yi Tay寫作這篇博文的目的,他希望能夠幫助大家建立更加清晰的理解。
首先要明確的一點(diǎn)是,encoder-decoder模型實(shí)際上仍然是自回歸模型。encoder-decoder模型中的decoder無論從字面上還是從其本質(zhì)上看,仍然是一個(gè)因果decoder。
文本會(huì)先被傳遞到encoder,然后通過交叉注意力機(jī)制發(fā)送到decoder,而不是預(yù)先填充decoder模型。
因此,T5模型也是語言模型!
它的一個(gè)變體是Prefix語言模型,或者說是PrefixLM架構(gòu),它們做的事情幾乎一樣,除了交叉注意力機(jī)制這一點(diǎn)不同之外。(以及其他一些小細(xì)節(jié),如encoder/decoder之間共享權(quán)重,以及不存在encoder瓶頸)
PrefixLM有時(shí)也被稱為非因果decoder。簡(jiǎn)而言之,encoder-decoder、encoder-only和PrefixLM之間并沒有那么不同!
如果對(duì)于這一點(diǎn),你還是心存疑慮,Yi Tay還給出了一個(gè)參考資料——Hyung Won今年4月在斯坦福的精彩演講,他對(duì)這些模型之間的關(guān)系進(jìn)行了巧妙的解釋。
演講地址:https://www.youtube.com/watch?v=orDKvo8h71o
與此同時(shí),諸如BERT這樣的encoder-only模型的去噪方式是不同的(即in-place),并且在一定程度上依賴于額外添加的「任務(wù)頭」,以便用預(yù)訓(xùn)練后的基礎(chǔ)模型執(zhí)行各種操作。
BERT的去噪目標(biāo)后來也被應(yīng)用于T5等模型,不過進(jìn)行了一定修改,采用序列到序列的格式。
說到這里,值得注意的是,T5中的去噪本身并不完全是一個(gè)新的目標(biāo)函數(shù)(在機(jī)器學(xué)習(xí)的意義上),而是一種跨輸入的數(shù)據(jù)轉(zhuǎn)換,也就是說,你也可以在因果decoder中span corruption目標(biāo)來訓(xùn)練!
人們總是認(rèn)為encoder-decoder模型必須是去噪模型,形成這種錯(cuò)覺的部分原因是T5模型過于具有代表性。
然而,事實(shí)并非總是如此。
你可以用常規(guī)的語言建模任務(wù)(即CLM)來訓(xùn)練encoder-decoder,也可以用span corruption任務(wù)來訓(xùn)練因果decoder。
正如前面所說的,這主要是一種數(shù)據(jù)轉(zhuǎn)換。
還需要注意的是,一般來說,2N個(gè)參數(shù)的encoder-decoder與N個(gè)參數(shù)的decoder-only模型具有相同的計(jì)算成本,因此他們的的FLOP/參數(shù)比不同。
基于對(duì)以上背景情況的了解,我們現(xiàn)在就進(jìn)入正文了——
關(guān)于去噪目標(biāo)(它沒用嗎?它不能擴(kuò)展嗎?是不是太簡(jiǎn)單了?)
開宗明義,Yi Tay所說的去噪目標(biāo)(denoising objective)指的是span corruption的任何變體。
有時(shí)也被稱之為infilling,或者是fill in the blank,表達(dá)方式有多種(還有span length、randomness、sentinel tokens等),只要你明白,它們都是一個(gè)意思就好。
雖然BERT風(fēng)格模型中的去噪目標(biāo)大多是in-place,但稍微更現(xiàn)代的方法是「T5 風(fēng)格」,也就是由encoder/-ecoder或decoder-only模型處理的數(shù)據(jù)轉(zhuǎn)換。
在這種數(shù)據(jù)轉(zhuǎn)換中,掩碼token只是被「移到后面」,供模型進(jìn)行預(yù)測(cè)。
預(yù)訓(xùn)練的主要目標(biāo)是構(gòu)建有用的內(nèi)部表征,以最高效和最有效的方式與下游任務(wù)對(duì)齊。
內(nèi)部表征越好,就越容易將這些學(xué)習(xí)到的表征用于以后有用的事情。
眾所周知,簡(jiǎn)單的使用next token預(yù)測(cè)的「因果語言建?!梗╟ausal language modeling,CLM)目標(biāo)就能很好地做到這一點(diǎn),并且已成為L(zhǎng)LM革命的基礎(chǔ)?,F(xiàn)在的問題是去噪目標(biāo)是否同樣好。
從公開的信息來看,我們知道T5-11B即使在對(duì)齊/SFT后也能很好地工作(Flan-T5 XXL的MMLU分?jǐn)?shù)為55+,對(duì)于當(dāng)時(shí)這種規(guī)模的模型來說已經(jīng)相當(dāng)不錯(cuò)了)。
因此,我們可以得出一些結(jié)論:去噪目標(biāo)從預(yù)訓(xùn)練到對(duì)齊的能力遷移,能夠支持模型在11B這個(gè)規(guī)模上較好地工作。
Yi Tay的看法是,去噪目標(biāo)很棒,但作為一個(gè)獨(dú)立的目標(biāo)還遠(yuǎn)遠(yuǎn)不夠。
我們可以將其缺點(diǎn)形容為「損失曝光」(loss exposure)較少。在去噪目標(biāo)中,只有少量token被掩碼并用于學(xué)習(xí)過程(即更新?lián)p失值)。
相反,在常規(guī)語言建模中,token利用率接近100%。
去噪目標(biāo)的這個(gè)特點(diǎn)使得每FLOP的采樣效率相當(dāng)?shù)?,因此在基于FLOP的比較中處于非常不利的地位。
另一個(gè)缺點(diǎn)是去噪目標(biāo)比常規(guī)語言建模更不自然,因?yàn)樗砸环N奇怪的方式重新格式化輸入/輸出,這使得它們對(duì)于少樣本學(xué)習(xí)來說有點(diǎn)尷尬。(盡管如此,仍然可以對(duì)這些模型進(jìn)行調(diào)整,使其在少樣本任務(wù)上表現(xiàn)得相當(dāng)不錯(cuò))
因此,Yi Tay認(rèn)為去噪目標(biāo)幾乎只能用作常規(guī)語言建模的補(bǔ)充,而非獨(dú)立的訓(xùn)練目標(biāo)。
統(tǒng)一的早期以及xBERT滅絕的原因
類BERT模型的逐步淘汰是一個(gè)有趣的階段,但如今沒有多少人談?wù)撨@個(gè)階段,這很微妙。
這也可以解釋為什么我們不再看到任何超大型BERT模型在運(yùn)行。原因是什么?
這主要是任務(wù)/建模范式的統(tǒng)一和轉(zhuǎn)變的問題。
BERT風(fēng)格的模型很笨拙,但它們真正被棄用,是因?yàn)榇蠹蚁M靡粋€(gè)模型完成所有任務(wù),因此引入了一種更好的去噪方法——使用自回歸模型。
2018年至2021年期間,出現(xiàn)了從單任務(wù)微調(diào)到大規(guī)模多任務(wù)模型的隱蔽的范式轉(zhuǎn)變。
所有人的注意力被慢慢吸引到統(tǒng)一的SFT模型上,這也是我們今天看到的統(tǒng)一的通用模型。
用BERT來做到這一點(diǎn)實(shí)在是太難了。
然而,BERT的這種「笨拙」與「去噪」任務(wù)并沒有太大關(guān)聯(lián)。如果你依舊想使用這類模型,完全可以用另一種方式表達(dá)「降噪」任務(wù)(如T5).
因此,BERT風(fēng)格的模型在這這個(gè)時(shí)間點(diǎn)幾乎被棄用,因?yàn)橛幸粋€(gè)嚴(yán)格更好的替代方案出現(xiàn)了。
更具體地說,encoder-decoder和decoder-only模型能夠同時(shí)表達(dá)多個(gè)任務(wù),而不需要用于特定任務(wù)的分類頭。
同時(shí),研究人員和工程師們發(fā)現(xiàn),對(duì)于encoder-decoder模型,如果干脆拔掉encoder只留下decoder,其性能和BERT的encoder也一樣有競(jìng)爭(zhēng)力。
不僅如此,只留下decoder還保留了使BERT在小規(guī)模(通常是生產(chǎn)規(guī)模)任務(wù)中優(yōu)于GPT模型的雙向注意力優(yōu)勢(shì)。
去噪目標(biāo)的價(jià)值
與常規(guī)語言建模的方式類似,去噪預(yù)訓(xùn)練目標(biāo)也會(huì)學(xué)習(xí)預(yù)測(cè)下一個(gè)單詞。
不過,與常規(guī)CLM不同的是,后者會(huì)對(duì)序列進(jìn)行數(shù)據(jù)轉(zhuǎn)換,從而學(xué)會(huì) 「填空」(fill in the blanks),而不是簡(jiǎn)單地預(yù)測(cè)從左到右自然出現(xiàn)的文本。
值得注意的是,去噪目標(biāo)有時(shí)也稱為「填充任務(wù)」(infilling tasks),有時(shí)會(huì)與常規(guī)的語言建模任務(wù)混在一起進(jìn)行預(yù)訓(xùn)練。
雖然具體的配置和實(shí)施細(xì)節(jié)可能各不相同,但今天的LLM可能會(huì)在某種程度上結(jié)合使用語言建模和填充。
而且,有趣的是,語言建模和填充的混合似乎是在同一時(shí)期傳播開來的(例如 UL2、FIM、GLM、CM3),許多團(tuán)隊(duì)都以某種方式帶來了自己的混合「風(fēng)味」。
順便提一句,以這種方式訓(xùn)練的最大的、有公開披露和報(bào)告的模型應(yīng)該是是PaLM-2。
值得注意的是,混合訓(xùn)練不一定要同時(shí)混合,而是可以按順序堆疊。
例如,F(xiàn)lan-T5最初在1Tspan corruption token上進(jìn)行訓(xùn)練,然后在指令微調(diào)之前切換到100B token的前綴語言建模任務(wù)上。
在某種程度上,這可以說是去噪/語言建模目標(biāo)混合模型。
Yi Tay還分享了一個(gè)非官方的經(jīng)驗(yàn):去噪目標(biāo)學(xué)習(xí)的表征在某些類別的任務(wù)中表現(xiàn)更佳,有時(shí)會(huì)以更有效的方式進(jìn)行采樣。
以此目標(biāo)訓(xùn)練的微調(diào)模型通常會(huì)產(chǎn)生更好的SFT模型,尤其是在較小規(guī)模的情況下。
說到單任務(wù)微調(diào),我們可以看到PaLM-1 62B模型被更小的T5打敗了。
雙向注意力+去噪目標(biāo)在相對(duì)較小的范圍內(nèi)就能發(fā)揮出巨大的作用!相信現(xiàn)在很多從業(yè)者也看到了這種情況,尤其是在生產(chǎn)中。
encoder/decoder架構(gòu)的優(yōu)缺點(diǎn)
與常規(guī)的decoder-only模型相比,encoder-decoder架構(gòu)實(shí)際上有一些優(yōu)點(diǎn)。
encoder側(cè)不受因果掩碼的限制,在某種程度上,你可以通過積極的池化或任何形式的線性注意來瘋狂地堆疊注意力層,而不必?fù)?dān)心自回歸設(shè)計(jì)的限制。
這是一種將不太重要的「上下文」傳遞到encoder的好方法。你還可以讓encoder變得更小,這也很不錯(cuò)。
Charformer中的一個(gè)例子說明了encoder-decoder架構(gòu)的必要性,我們可以在encoder上大做文章,減輕在字節(jié)級(jí)別進(jìn)行編碼時(shí)的速度缺陷。
但同時(shí),encoder-decoder與PrefixLM相比的一個(gè)缺點(diǎn)是,輸入和目標(biāo)必須有固定的分配長(zhǎng)度。
例如,如果預(yù)定的輸入長(zhǎng)度是1024個(gè)token,encoder側(cè)就必須填充到這個(gè)值,這就可能造成大量的計(jì)算浪費(fèi)。
相反,在 PrefixLM 中,輸入和目標(biāo)可以直接連接起來,從而緩解了這一問題。
與當(dāng)今模型的相關(guān)性和關(guān)鍵要點(diǎn)
無論是從模型架構(gòu)角度還是從預(yù)訓(xùn)練的角度來看,要想成為一名稱職的LLM研究者和從業(yè)人員,利用歸納偏差進(jìn)行推理的能力都是必不可少的。而了解不同模型架構(gòu)之間基本的細(xì)微差別有助于未來的不斷創(chuàng)新。
Yi Tay分享了他的主要收獲:
- encoder-decoder和decoder-only模型都是自回歸模型,但在實(shí)現(xiàn)層面上存在差異,各有利弊。它們的歸納偏差有微妙的不同,最佳用法實(shí)際上取決于下游用例和相當(dāng)多的應(yīng)用限制。對(duì)于大多數(shù)LLM應(yīng)用和小眾用例而言,BERT風(fēng)格的encoder-only模型大多已被視為過時(shí)。
- 去噪目標(biāo)主要是CLM的補(bǔ)充,作為預(yù)訓(xùn)練中的「輔助目標(biāo)」,通常會(huì)帶來些許幫助。雖然這種情況經(jīng)常發(fā)生在代碼模型中(即代碼填充),但在今天的通用模型中,使用帶有某些去噪目標(biāo)的CLM進(jìn)行預(yù)訓(xùn)練的情況并不少見(盡管這不是必選項(xiàng))。
- 雙向注意力機(jī)制在較小的尺度上有很大幫助,但在較大規(guī)模的模型上通常只是一種選擇。Yi Tay認(rèn)為雙向注意力有一種歸納偏差,就像Transformer架構(gòu)中許多其他類型的修改一樣。
最后,總結(jié)一下,我們沒有看到任何成功擴(kuò)展的xBERT:BERT模型已被棄用,轉(zhuǎn)而采用更靈活的去噪(自回歸)T5 模型。
這主要是由于范式的統(tǒng)一,大家希望使用通用模型,而不是特定任務(wù)模型。
與此同時(shí),自回歸去噪有時(shí)也會(huì)作為附帶的訓(xùn)練目標(biāo),被折疊到CLM中
作者介紹
Yi Tay目前是AI初創(chuàng)公司Reka的聯(lián)合創(chuàng)始人兼首席科學(xué)家。Reka致力于構(gòu)建最先進(jìn)的生成式模型并推進(jìn)人工智能研究。
在此之前,他是谷歌大腦的高級(jí)研究科學(xué)家,從事LLM和AI相關(guān)工作,還曾擔(dān)任Google Research美國(guó)研究團(tuán)隊(duì)的技術(shù)主管,致力于Transformer擴(kuò)展和架構(gòu)。
服務(wù)谷歌期間,Yi Tay為大約20個(gè)產(chǎn)品發(fā)布做出了貢獻(xiàn)。
在Yi Tay擔(dān)任谷歌研究科學(xué)家期間,他發(fā)表的大部分作品都圍繞著Transformer展開,尤其是與效率、可擴(kuò)展性和架構(gòu)研究相關(guān)的內(nèi)容。
除了喜歡寫博客之外,Yi Tay還愛好古典樂,他說,「如果我沒有成為一名研究員,我也許會(huì)想成為一名職業(yè)音樂家」。有趣的是,他確實(shí)獲得過相關(guān)文憑。
期待Yi Tay能再次乘坐長(zhǎng)途飛機(jī),這樣就又能夠看到他更新博客了。