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