到目前為止,在我們的圖像分類(lèi)和機(jī)器翻譯實(shí)驗(yàn)中,模型是在具有輸入輸出示例的數(shù)據(jù)集上從頭開(kāi)始訓(xùn)練的,以執(zhí)行特定任務(wù)。例如,Transformer 使用英法對(duì)(第 11.7 節(jié))進(jìn)行訓(xùn)練,因此該模型可以將輸入的英文文本翻譯成法文。因此,每個(gè)模型都成為一個(gè)特定的專(zhuān)家,即使是數(shù)據(jù)分布的微小變化也很敏感(第 4.7 節(jié))。對(duì)于更好的泛化模型,或者更勝任的通才,可以在有或沒(méi)有適應(yīng)的情況下執(zhí)行多項(xiàng)任務(wù),大數(shù)據(jù)的預(yù)訓(xùn)練模型越來(lái)越普遍。
給定更大的預(yù)訓(xùn)練數(shù)據(jù),Transformer 架構(gòu)在模型大小和訓(xùn)練計(jì)算增加的??情況下表現(xiàn)更好,展示了卓越的縮放行為。具體而言,基于 Transformer 的語(yǔ)言模型的性能與模型參數(shù)、訓(xùn)練標(biāo)記和訓(xùn)練計(jì)算的數(shù)量成冪律關(guān)系 (Kaplan等人,2020 年)。Transformers 的可擴(kuò)展性還可以通過(guò)在更大數(shù)據(jù)上訓(xùn)練的更大視覺(jué) Transformers 的顯著提升性能得到證明(在第 11.8 節(jié)中討論 )。最近的成功案例包括 Gato,這是一個(gè)可以玩 Atari、字幕圖像、聊天并充當(dāng)機(jī)器人的多面手模型(Reed等。, 2022 )。Gato 是一個(gè)單一的 Transformer,在對(duì)不同模式(包括文本、圖像、關(guān)節(jié)力矩??和按鈕按下)進(jìn)行預(yù)訓(xùn)練時(shí)可以很好地?cái)U(kuò)展。值得注意的是,所有此類(lèi)多模態(tài)數(shù)據(jù)都被序列化為一個(gè)扁平的標(biāo)記序列, Transformers可以將其處理為類(lèi)似于文本標(biāo)記(第11.7 節(jié))或圖像補(bǔ)?。?/font>第 11.8 節(jié))。
在為多模態(tài)數(shù)據(jù)預(yù)訓(xùn)練 Transformers 取得令人矚目的成功之前,Transformers 使用大量文本進(jìn)行了廣泛的預(yù)訓(xùn)練。最初提出用于機(jī)器翻譯,圖 11.7.1中的 Transformer 架構(gòu)由一個(gè)用于表示輸入序列的編碼器和一個(gè)用于生成目標(biāo)序列的解碼器組成。基本上,Transformer 可以用于三種不同的模式: encoder-only、encoder-decoder和decoder-only。作為本章的總結(jié),我們將回顧這三種模式并解釋預(yù)訓(xùn)練 Transformers 的可擴(kuò)展性。
11.9.1。僅編碼器
當(dāng)僅使用 Transformer 編碼器時(shí),一系列輸入標(biāo)記被轉(zhuǎn)換為相同數(shù)量的表示,這些表示可以進(jìn)一步投影到輸出(例如,分類(lèi))。Transformer 編碼器由自注意力層組成,其中所有輸入標(biāo)記相互關(guān)注。例如,圖 11.8.1中描述的視覺(jué) Transformers 僅是編碼器,將一系列輸入圖像塊轉(zhuǎn)換為特殊“”標(biāo)記的表示。由于這種表示依賴(lài)于所有輸入標(biāo)記,因此它被進(jìn)一步投射到分類(lèi)標(biāo)簽中。這種設(shè)計(jì)的靈感來(lái)自早期在文本上預(yù)訓(xùn)練的僅編碼器 Transformer:BERT(Bidirectional Encoder Representations from Transformers)(Devlin等人,2018 年)。
11.9.1.1。預(yù)訓(xùn)練 BERT
圖 11.9.1左:使用掩碼語(yǔ)言建模預(yù)訓(xùn)練 BERT。對(duì)被屏蔽的“l(fā)ove”token 的預(yù)測(cè)取決于“l(fā)ove”前后的所有輸入 token。右圖:Transformer 編碼器中的注意力模式。垂直軸上的每個(gè)標(biāo)記都涉及水平軸上的所有輸入標(biāo)記。
BERT 使用掩碼語(yǔ)言建模在文本序列上進(jìn)行預(yù)訓(xùn)練:帶有隨機(jī)掩碼標(biāo)記的輸入文本被送入 Transformer 編碼器以預(yù)測(cè)掩碼標(biāo)記。如圖11.9.1所示 ,原始文本序列“I”、“l(fā)ove”、“this”、“red”、“car”前面加上“”標(biāo)記,“” token隨機(jī)替換“l(fā)ove”;那么在預(yù)訓(xùn)練期間,掩碼標(biāo)記“l(fā)ove”與其預(yù)測(cè)之間的交叉熵?fù)p失將被最小化。請(qǐng)注意,Transformer 編碼器的注意力模式?jīng)]有約束( 圖 11.9.1右側(cè))) 所以所有的代幣都可以互相關(guān)注。因此,“愛(ài)”的預(yù)測(cè)取決于序列中它前后的輸入標(biāo)記。這就是 BERT 是“雙向編碼器”的原因。無(wú)需人工標(biāo)注,可以使用書(shū)籍和維基百科中的大規(guī)模文本數(shù)據(jù)來(lái)預(yù)訓(xùn)練 BERT。
11.9.1.2。微調(diào) BERT
預(yù)訓(xùn)練的 BERT 可以針對(duì)涉及單個(gè)文本或文本對(duì)的下游編碼任務(wù)進(jìn)行微調(diào)。在微調(diào)期間,可以使用隨機(jī)參數(shù)向 BERT 添加額外的層:這些參數(shù)和那些預(yù)訓(xùn)練的 BERT 參數(shù)將被更新以適應(yīng)下游任務(wù)的訓(xùn)練數(shù)據(jù)。
圖 11.9.2微調(diào) BERT 以進(jìn)行情緒分析。
圖 11.9.2說(shuō)明了用于情緒分析的 BERT 微調(diào)。Transformer 編碼器是一個(gè)預(yù)訓(xùn)練的 BERT,它將文本序列作為輸入并將“”表示(輸入的全局表示)饋送到額外的全連接層以預(yù)測(cè)情緒。在微調(diào)期間,通過(guò)基于梯度的算法最小化預(yù)測(cè)和情感分析數(shù)據(jù)標(biāo)簽之間的交叉熵?fù)p失,其中從頭開(kāi)始訓(xùn)練附加層,同時(shí)更新 BERT 的預(yù)訓(xùn)練參數(shù)。BERT 做的不僅僅是情緒分析。3.5 億參數(shù) BERT 從 2500 億個(gè)訓(xùn)練標(biāo)記中學(xué)習(xí)到的通用語(yǔ)言表征提升了自然語(yǔ)言任務(wù)的最新水平,例如單一文本分類(lèi)、文本對(duì)分類(lèi)或回歸、文本標(biāo)記和問(wèn)答。
您可能會(huì)注意到這些下游任務(wù)包括文本對(duì)理解。BERT 預(yù)訓(xùn)練還有另一個(gè)損失,用于預(yù)測(cè)一個(gè)句子是否緊跟另一個(gè)句子。然而,后來(lái)發(fā)現(xiàn)在對(duì) 20000 億個(gè)令牌預(yù)訓(xùn)練相同大小的 BERT 變體 RoBERTa 時(shí),這種損失沒(méi)有用(Liu等人,2019 年)。BERT 的其他衍生產(chǎn)品改進(jìn)了模型架構(gòu)或預(yù)訓(xùn)練目標(biāo),例如 ALBERT(強(qiáng)制參數(shù)共享)(Lan等人,2019 年)、SpanBERT(表示和預(yù)測(cè)文本跨度)(Joshi等人,2020 年)、DistilBERT(輕量級(jí)通過(guò)知識(shí)蒸餾) (桑等人。, 2019 )和 ELECTRA(替代令牌檢測(cè)) (Clark等人,2020)。此外,BERT 啟發(fā)了計(jì)算機(jī)視覺(jué)中的 Transformer 預(yù)訓(xùn)練,例如視覺(jué) Transformers ( Dosovitskiy et al. , 2021 )、Swin Transformers ( Liu et al. , 2021 )和 MAE (masked autoencoders) ( He et al. , 2022 )。
11.9.2。編碼器-解碼器
由于 Transformer 編碼器將一系列輸入標(biāo)記轉(zhuǎn)換為相同數(shù)量的輸出表示,因此僅編碼器模式無(wú)法像機(jī)器翻譯那樣生成任意長(zhǎng)度的序列。正如最初為機(jī)器翻譯提出的那樣,Transformer 架構(gòu)可以配備一個(gè)解碼器,該解碼器可以自動(dòng)回歸預(yù)測(cè)任意長(zhǎng)度的目標(biāo)序列,逐個(gè)標(biāo)記,以編碼器輸出和解碼器輸出為條件:(i)對(duì)于編碼器輸出的條件,編碼器-解碼器交叉注意力(圖 11.7.1中解碼器的多頭注意力)允許目標(biāo)標(biāo)記關(guān)注所有輸入標(biāo)記;(ii) 對(duì)解碼器輸出的調(diào)節(jié)是通過(guò)所謂的因果關(guān)系實(shí)現(xiàn)的注意(這個(gè)名稱(chēng)在文獻(xiàn)中很常見(jiàn),但具有誤導(dǎo)性,因?yàn)樗c正確的因果關(guān)系研究幾乎沒(méi)有聯(lián)系)模式(圖 11.7.1中解碼器的屏蔽多頭注意),其中任何目標(biāo)標(biāo)記只能關(guān)注過(guò)去并在目標(biāo)序列中呈現(xiàn)標(biāo)記。
為了在人工標(biāo)記的機(jī)器翻譯數(shù)據(jù)之外預(yù)訓(xùn)練編碼器-解碼器 Transformer,BART (Lewis等人,2019 年)和 T5 (Raffel等人,2020 年)是兩個(gè)同時(shí)提出的在大規(guī)模文本語(yǔ)料庫(kù)上預(yù)訓(xùn)練的編碼器-解碼器 Transformer。兩者都試圖在其預(yù)訓(xùn)練目標(biāo)中重建原始文本,而前者強(qiáng)調(diào)噪聲輸入(例如,掩蔽、刪除、排列和旋轉(zhuǎn)),后者則強(qiáng)調(diào)通過(guò)綜合消融研究實(shí)現(xiàn)多任務(wù)統(tǒng)一。
11.9.2.1。預(yù)訓(xùn)練T5
作為預(yù)訓(xùn)練的 Transformer 編碼器-解碼器的示例,T5(文本到文本傳輸轉(zhuǎn)換器)將許多任務(wù)統(tǒng)一為相同的文本到文本問(wèn)題:對(duì)于任何任務(wù),編碼器的輸入都是任務(wù)描述(例如, “總結(jié)”、“:”)之后是任務(wù)輸入(例如,文章中的一系列標(biāo)記),解碼器預(yù)測(cè)任務(wù)輸出(例如,一系列標(biāo)記對(duì)輸入文章的總結(jié))。為了執(zhí)行文本到文本,T5 被訓(xùn)練為根據(jù)輸入文本生成一些目標(biāo)文本。
圖 11.9.3左:通過(guò)預(yù)測(cè)連續(xù)跨度來(lái)預(yù)訓(xùn)練 T5。原句為“I”、“l(fā)ove”、“this”、“red”、“car”,其中“l(fā)ove”被特殊的“”token 代替,連續(xù)的“red”、“car”為替換為特殊的“”標(biāo)記。目標(biāo)序列以特殊的“”標(biāo)記結(jié)尾。右圖:Transformer 編碼器-解碼器中的注意力模式。在編碼器自注意力(下方塊)中,所有輸入標(biāo)記都相互關(guān)注;在編碼器-解碼器交叉注意力(上部矩形)中,每個(gè)目標(biāo)標(biāo)記關(guān)注所有輸入標(biāo)記;在解碼器自我關(guān)注(上三角)中,每個(gè)目標(biāo)標(biāo)記僅關(guān)注當(dāng)前和過(guò)去的目標(biāo)標(biāo)記(因果關(guān)系)。
為了從任何原始文本中獲取輸入和輸出,T5 被預(yù)訓(xùn)練以預(yù)測(cè)連續(xù)的跨度。具體來(lái)說(shuō),來(lái)自文本的標(biāo)記被隨機(jī)替換為特殊標(biāo)記,其中每個(gè)連續(xù)的跨度被相同的特殊標(biāo)記替換。考慮圖 11.9.3中的示例 ,其中原始文本是“I”、“l(fā)ove”、“this”、“red”、“car”。標(biāo)記“l(fā)ove”、“red”、“car”隨機(jī)替換為特殊標(biāo)記。由于“red”和“car”是連續(xù)的跨度,因此它們被相同的特殊標(biāo)記替換。結(jié)果,輸入序列為“I”、“”、“this”、“”,目標(biāo)序列為“”、“l(fā)ove”、“”、“ red”,“car”,“”,其中“”是另一個(gè)標(biāo)記結(jié)束的特殊標(biāo)記。如圖 11.9.3,解碼器有一個(gè)因果注意模式,以防止自己在序列預(yù)測(cè)期間關(guān)注未來(lái)的標(biāo)記。
在 T5 中,預(yù)測(cè)連續(xù)跨度也稱(chēng)為重建損壞的文本。為了實(shí)現(xiàn)這一目標(biāo),T5 使用來(lái)自 C4(Colossal Clean Crawled Corpus)數(shù)據(jù)的 10000 億個(gè)標(biāo)記進(jìn)行了預(yù)訓(xùn)練,該數(shù)據(jù)由來(lái)自 Web 的干凈英文文本組成(Raffel等人,2020 年)。
11.9.2.2。微調(diào)T5
與 BERT 類(lèi)似,T5 需要在任務(wù)特定的訓(xùn)練數(shù)據(jù)上進(jìn)行微調(diào)(更新 T5 參數(shù))以執(zhí)行此任務(wù)。與 BERT 微調(diào)的主要區(qū)別包括:(i)T5 輸入包括任務(wù)描述;(ii) T5 可以通過(guò)其 Transformer 解碼器生成任意長(zhǎng)度的序列;(iii) 不需要額外的層。
圖 11.9.4為文本摘要微調(diào) T5。任務(wù)描述和文章標(biāo)記都被送入 Transformer 編碼器以預(yù)測(cè)摘要。
圖 11.9.4以文本摘要為例解釋了微調(diào) T5。在這個(gè)下游任務(wù)中,任務(wù)描述標(biāo)記“Summarize”、“:”和文章標(biāo)記被輸入到編碼器。
經(jīng)過(guò)微調(diào)后,110 億參數(shù)的 T5 (T5-11B) 在多個(gè)編碼(例如分類(lèi))和生成(例如摘要)基準(zhǔn)測(cè)試中取得了最先進(jìn)的結(jié)果。自發(fā)布以來(lái),T5在后期研究中得到了廣泛的應(yīng)用。例如,開(kāi)關(guān) Transformer 的設(shè)計(jì)基于 T5 以激活參數(shù)子集以提高計(jì)算效率(Fedus等人,2022 年)。在名為 Imagen 的文本到圖像模型中,文本被輸入到具有 46 億個(gè)參數(shù)的凍結(jié) T5 編碼器 (T5-XXL) (Saharia等人,2022 年)。圖 11.9.5中逼真的文本到圖像示例建議即使沒(méi)有微調(diào),單獨(dú)的 T5 編碼器也可以有效地表示文本。

圖 11.9.5 Imagen 模型的文本到圖像示例,其文本編碼器來(lái)自 T5(圖片來(lái)自Saharia等人( 2022 ))。
11.9.3。僅解碼器
我們已經(jīng)回顧了僅編碼器和編碼器-解碼器 Transformers。或者,僅解碼器的 Transformer 從圖 11.7.1中描繪的原始編碼器-解碼器架構(gòu)中移除了整個(gè)編碼器和具有編碼器-解碼器交叉注意力的解碼器子層 。如今,只有解碼器的 Transformer 已經(jīng)成為大規(guī)模語(yǔ)言建模(第 9.3 節(jié))中的實(shí)際架構(gòu),它通過(guò)自監(jiān)督學(xué)習(xí)利用世界上豐富的未標(biāo)記文本語(yǔ)料庫(kù)。
11.9.3.1。GPT 和 GPT-2
GPT(生成預(yù)訓(xùn)練)模型以語(yǔ)言建模為訓(xùn)練目標(biāo),選擇 Transformer 解碼器作為其主干 (Radford等人,2018 年)。
圖 11.9.6左:使用語(yǔ)言建模預(yù)訓(xùn)練 GPT。目標(biāo)序列是輸入序列移位一個(gè)標(biāo)記。“”和“”都是分別標(biāo)記序列開(kāi)始和結(jié)束的特殊標(biāo)記。右圖:Transformer 解碼器中的注意力模式。垂直軸上的每個(gè)標(biāo)記僅關(guān)注其過(guò)去沿水平軸的標(biāo)記(因果關(guān)系)。
按照第 9.3.3 節(jié)中描述的自回歸語(yǔ)言模型訓(xùn)練 ,圖 11.9.6 說(shuō)明了使用 Transformer 編碼器進(jìn)行 GPT 預(yù)訓(xùn)練,其中目標(biāo)序列是輸入序列移位一個(gè)標(biāo)記。請(qǐng)注意,Transformer 解碼器中的注意力模式強(qiáng)制每個(gè)標(biāo)記只能關(guān)注其過(guò)去的標(biāo)記(無(wú)法關(guān)注未來(lái)的標(biāo)記,因?yàn)樗鼈兩形幢贿x擇)。
GPT 有 1 億個(gè)參數(shù),需要針對(duì)個(gè)別下游任務(wù)進(jìn)行微調(diào)。一年后推出了更大的 Transformer-decoder 語(yǔ)言模型 GPT-2 (
評(píng)論