前谷歌科學家Yi Tay「LLM演義」系列博客第一彈:BERT爲何匿跡江湖?

新智元報道

編輯:庸庸 喬楊

【新智元導讀】前谷歌科學家Yi Tay重磅推出「LLM時代的模型架構」系列博客,首篇博文的話題關於:基於encoder-only架構的BERT是如何被基於encoder-decoder架構的T5所取代的,分析了BERT滅絕的始末以及不同架構模型的優缺點,以史爲鑑,對於未來的創新具有重要意義。

熱衷於寫博客的前谷歌科學家Yi Tay近日坐飛機太無聊,又撰寫了一篇深度文章,探討了當下很多人關心的一個話題——LLM時代模型架構的此消彼長和風雲變幻。

這次Yi Tay試圖解開在新的LLM時代里正在發生的所有事情,關於「BERT和T5發生了什麼」?也關於Transformer encoder、PrefixLM和去噪目標的興衰。

博客地址:https://www.yitay.net/blog/model-architecture-blogpost-encoders-prefixlm-denoising

爲何encoder-only模型「風光不再」?爲何BERT這麼強,卻不能「scale it」?

置身其中,很難看見事情的全貌。對於這些讓業內人士都撓頭的問題,Yi Tay分享了自己的觀察和思考。

而且Yi Tay還表示,這只是系列博客文章的第一彈,後續還可以期待他關於「LLM時代的模型架構」這一話題的更多內容。

Yi Tay頗有LLM時代的「說書人」之姿,他在博客中簡明扼要地梳理了過去幾年中模型架構的發展脈絡,並提出了自己的洞見。

背景

爲了方便沒那麼貼近技術的人閱讀,Yi Tay先交代了一下故事發生的背景。

在過去的幾年裡,模型架構主要有三種重要範式。

encoder-only模型(例如BERT)、encoder-decoder模型(例如T5)和decoder-only模型(例如GPT系列)。

可是人們對這種劃分感到很困惑,並且存在着大量的誤解,所以這正是Yi Tay寫作這篇博文的目的,他希望能夠幫助大家建立更加清晰的理解。

首先要明確的一點是,encoder-decoder模型實際上仍然是自迴歸模型。encoder-decoder模型中的decoder無論從字面上還是從其本質上看,仍然是一個因果decoder。

文本會先被傳遞到encoder,然後通過交叉注意力機制發送到decoder,而不是預先填充decoder模型。

因此,T5模型也是語言模型!

它的一個變體是Prefix語言模型,或者說是PrefixLM架構,它們做的事情幾乎一樣,除了交叉注意力機制這一點不同之外。(以及其他一些小細節,如encoder/decoder之間共享權重,以及不存在encoder瓶頸)

PrefixLM有時也被稱爲非因果decoder。簡而言之,encoder-decoder、encoder-only和PrefixLM之間並沒有那麼不同!

如果對於這一點,你還是心存疑慮,Yi Tay還給出了一個參考資料——Hyung Won今年4月在斯坦福的精彩演講,他對這些模型之間的關係進行了巧妙的解釋。

演講地址:https://www.youtube.com/watch?v=orDKvo8h71o

與此同時,諸如BERT這樣的encoder-only模型的去噪方式是不同的(即in-place),並且在一定程度上依賴於額外添加的「任務頭」,以便用預訓練後的基礎模型執行各種操作。

BERT的去噪目標後來也被應用於T5等模型,不過進行了一定修改,採用序列到序列的格式。

說到這裡,值得注意的是,T5中的去噪本身並不完全是一個新的目標函數(在機器學習的意義上),而是一種跨輸入的數據轉換,也就是說,你也可以在因果decoder中span corruption目標來訓練!

人們總是認爲encoder-decoder模型必須是去噪模型,形成這種錯覺的部分原因是T5模型過於具有代表性。

然而,事實並非總是如此。

你可以用常規的語言建模任務(即CLM)來訓練encoder-decoder,也可以用span corruption任務來訓練因果decoder。

正如前面所說的,這主要是一種數據轉換。

還需要注意的是,一般來說,2N個參數的encoder-decoder與N個參數的decoder-only模型具有相同的計算成本,因此他們的的FLOP/參數比不同。

基於對以上背景情況的瞭解,我們現在就進入正文了——

關於去噪目標(它沒用嗎?它不能擴展嗎?是不是太簡單了?)

開宗明義,Yi Tay所說的去噪目標(denoising objective)指的是span corruption的任何變體。

有時也被稱之爲infilling,或者是fill in the blank,表達方式有多種(還有span length、randomness、sentinel tokens等),只要你明白,它們都是一個意思就好。

雖然BERT風格模型中的去噪目標大多是in-place,但稍微更現代的方法是「T5 風格」,也就是由encoder/-ecoder或decoder-only模型處理的數據轉換。

在這種數據轉換中,掩碼token只是被「移到後面」,供模型進行預測。

預訓練的主要目標是構建有用的內部表徵,以最高效和最有效的方式與下游任務對齊。

內部表徵越好,就越容易將這些學習到的表徵用於以後有用的事情。

衆所周知,簡單的使用next token預測的「因果語言建模」(causal language modeling,CLM)目標就能很好地做到這一點,並且已成爲LLM革命的基礎。現在的問題是去噪目標是否同樣好。

從公開的信息來看,我們知道T5-11B即使在對齊/SFT後也能很好地工作(Flan-T5 XXL的MMLU分數爲55+,對於當時這種規模的模型來說已經相當不錯了)。

因此,我們可以得出一些結論:去噪目標從預訓練到對齊的能力遷移,能夠支持模型在11B這個規模上較好地工作。

Yi Tay的看法是,去噪目標很棒,但作爲一個獨立的目標還遠遠不夠。

我們可以將其缺點形容爲「損失曝光」(loss exposure)較少。在去噪目標中,只有少量token被掩碼並用於學習過程(即更新損失值)。

相反,在常規語言建模中,token利用率接近100%。

去噪目標的這個特點使得每FLOP的採樣效率相當低,因此在基於FLOP的比較中處於非常不利的地位。

另一個缺點是去噪目標比常規語言建模更不自然,因爲它以一種奇怪的方式重新格式化輸入/輸出,這使得它們對於少樣本學習來說有點尷尬。(儘管如此,仍然可以對這些模型進行調整,使其在少樣本任務上表現得相當不錯)

因此,Yi Tay認爲去噪目標幾乎只能用作常規語言建模的補充,而非獨立的訓練目標。

統一的早期以及xBERT滅絕的原因

類BERT模型的逐步淘汰是一個有趣的階段,但如今沒有多少人談論這個階段,這很微妙。

這也可以解釋爲什麼我們不再看到任何超大型BERT模型在運行。原因是什麼?

這主要是任務/建模範式的統一和轉變的問題。

BERT風格的模型很笨拙,但它們真正被棄用,是因爲大家希望用一個模型完成所有任務,因此引入了一種更好的去噪方法——使用自迴歸模型。

2018年至2021年期間,出現了從單任務微調到大規模多任務模型的隱蔽的範式轉變。

所有人的注意力被慢慢吸引到統一的SFT模型上,這也是我們今天看到的統一的通用模型。

用BERT來做到這一點實在是太難了。

然而,BERT的這種「笨拙」與「去噪」任務並沒有太大關聯。如果你依舊想使用這類模型,完全可以用另一種方式表達「降噪」任務(如T5).

因此,BERT風格的模型在這這個時間點幾乎被棄用,因爲有一個嚴格更好的替代方案出現了。

更具體地說,encoder-decoder和decoder-only模型能夠同時表達多個任務,而不需要用於特定任務的分類頭。

同時,研究人員和工程師們發現,對於encoder-decoder模型,如果幹脆拔掉encoder只留下decoder,其性能和BERT的encoder也一樣有競爭力。

不僅如此,只留下decoder還保留了使BERT在小規模(通常是生產規模)任務中優於GPT模型的雙向注意力優勢。

去噪目標的價值

與常規語言建模的方式類似,去噪預訓練目標也會學習預測下一個單詞。

不過,與常規CLM不同的是,後者會對序列進行數據轉換,從而學會 「填空」(fill in the blanks),而不是簡單地預測從左到右自然出現的文本。

值得注意的是,去噪目標有時也稱爲「填充任務」(infilling tasks),有時會與常規的語言建模任務混在一起進行預訓練。

雖然具體的配置和實施細節可能各不相同,但今天的LLM可能會在某種程度上結合使用語言建模和填充。

而且,有趣的是,語言建模和填充的混合似乎是在同一時期傳播開來的(例如 UL2、FIM、GLM、CM3),許多團隊都以某種方式帶來了自己的混合「風味」。

順便提一句,以這種方式訓練的最大的、有公開披露和報告的模型應該是是PaLM-2。

值得注意的是,混合訓練不一定要同時混合,而是可以按順序堆疊。

例如,Flan-T5最初在1Tspan corruption token上進行訓練,然後在指令微調之前切換到100B token的前綴語言建模任務上。

在某種程度上,這可以說是去噪/語言建模目標混合模型。

Yi Tay還分享了一個非官方的經驗:去噪目標學習的表徵在某些類別的任務中表現更佳,有時會以更有效的方式進行採樣。

以此目標訓練的微調模型通常會產生更好的SFT模型,尤其是在較小規模的情況下。

說到單任務微調,我們可以看到PaLM-1 62B模型被更小的T5打敗了。

雙向注意力+去噪目標在相對較小的範圍內就能發揮出巨大的作用!相信現在很多從業者也看到了這種情況,尤其是在生產中。

encoder/decoder架構的優缺點

與常規的decoder-only模型相比,encoder-decoder架構實際上有一些優點。

encoder側不受因果掩碼的限制,在某種程度上,你可以通過積極的池化或任何形式的線性注意來瘋狂地堆疊注意力層,而不必擔心自迴歸設計的限制。

這是一種將不太重要的「上下文」傳遞到encoder的好方法。你還可以讓encoder變得更小,這也很不錯。

Charformer中的一個例子說明了encoder-decoder架構的必要性,我們可以在encoder上大做文章,減輕在字節級別進行編碼時的速度缺陷。

但同時,encoder-decoder與PrefixLM相比的一個缺點是,輸入和目標必須有固定的分配長度。

例如,如果預定的輸入長度是1024個token,encoder側就必須填充到這個值,這就可能造成大量的計算浪費。

相反,在 PrefixLM 中,輸入和目標可以直接連接起來,從而緩解了這一問題。

與當今模型的相關性和關鍵要點

無論是從模型架構角度還是從預訓練的角度來看,要想成爲一名稱職的LLM研究者和從業人員,利用歸納偏差進行推理的能力都是必不可少的。而瞭解不同模型架構之間基本的細微差別有助於未來的不斷創新。

Yi Tay分享了他的主要收穫:

encoder-decoder和decoder-only模型都是自迴歸模型,但在實現層面上存在差異,各有利弊。 它們的歸納偏差有微妙的不同,最佳用法實際上取決於下游用例和相當多的應用限制。 對於大多數LLM應用和小衆用例而言,BERT風格的encoder-only模型大多已被視爲過時。

去噪目標主要是CLM的補充,作爲預訓練中的「輔助目標」,通常會帶來些許幫助。雖然這種情況經常發生在代碼模型中(即代碼填充),但在今天的通用模型中,使用帶有某些去噪目標的CLM進行預訓練的情況並不少見(儘管這不是必選項)。

雙向注意力機制在較小的尺度上有很大幫助,但在較大規模的模型上通常只是一種選擇。Yi Tay認爲雙向注意力有一種歸納偏差,就像Transformer架構中許多其他類型的修改一樣。

最後,總結一下,我們沒有看到任何成功擴展的xBERT:BERT模型已被棄用,轉而採用更靈活的去噪(自迴歸)T5 模型。

這主要是由於範式的統一,大家希望使用通用模型,而不是特定任務模型。

與此同時,自迴歸去噪有時也會作爲附帶的訓練目標,被摺疊到CLM中

作者介紹

Yi Tay目前是AI初創公司Reka的聯合創始人兼首席科學家。Reka致力於構建最先進的生成式模型並推進人工智能研究。

在此之前,他是谷歌大腦的高級研究科學家,從事LLM和AI相關工作,還曾擔任Google Research美國研究團隊的技術主管,致力於Transformer擴展和架構。

服務谷歌期間,Yi Tay爲大約20個產品發佈做出了貢獻。

在Yi Tay擔任谷歌研究科學家期間,他發表的大部分作品都圍繞着Transformer展開,尤其是與效率、可擴展性和架構研究相關的內容。

除了喜歡寫博客之外,Yi Tay還愛好古典樂,他說,「如果我沒有成爲一名研究員,我也許會想成爲一名職業音樂家」。有趣的是,他確實獲得過相關文憑。

期待Yi Tay能再次乘坐長途飛機,這樣就又能夠看到他更新博客了。

參考資料:

https://x.com/YiTayML/status/1813262126162845772