自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

大模型系列:一文匯總16個深度語言模型代表工作

發(fā)布于 2025-4-8 01:03
瀏覽
0收藏

在這一節(jié),重點展開為大家梳理在大模型之前的GPT、BERT等深度語言模型的發(fā)展過程。

在大模型之前,預(yù)訓(xùn)練語言模型是NLP中的核心,在pretrain-finetune這一階段的NLP發(fā)展中發(fā)揮著舉足輕重的作用。預(yù)訓(xùn)練語言模型的無監(jiān)督訓(xùn)練屬性,使其非常容易獲取海量訓(xùn)練樣本,并且訓(xùn)練好的語言模型包含很多語義語法知識,對于下游任務(wù)的效果會有非常明顯的提升。本文首先介紹預(yù)訓(xùn)練語言模型的里程碑方法,然后進(jìn)一步介紹針對預(yù)訓(xùn)練語言模型中的問題提出的各種改進(jìn)和創(chuàng)新,包括16個近幾年來的經(jīng)典預(yù)訓(xùn)練語言模型。

1.預(yù)訓(xùn)練語言模型的里程碑

預(yù)訓(xùn)練語言模型要從詞向量說起。詞向量利用文本數(shù)據(jù),構(gòu)造出詞之間的共現(xiàn)關(guān)系,一般將在一句話中共現(xiàn)的詞作為正樣本,隨機(jī)負(fù)采樣構(gòu)造負(fù)樣本,采用CBOW或Skip-Gram的方式進(jìn)行訓(xùn)練,以此達(dá)到讓經(jīng)常共現(xiàn)的詞,能夠具有相似向量化表示。其本質(zhì)是NLP中的一個先驗:頻繁在文本中共現(xiàn)的兩個詞,往往語義是相近的。然而,詞向量的問題也比較明顯,同一個詞在不同的語境中,含義往往是不同的,而詞向量對于某一個詞只能生成一個固定的向量,無法結(jié)合語境上下文信息進(jìn)行調(diào)整。

Deep contextualized word representations(ACL 2018)提出了ELMo模型,利用雙向LSTM模型結(jié)合上下文語境信息生成詞的embedding。ELMo和以往的詞向量模型最大的差別是,每個詞的embedding都是整個句子的一個函數(shù),即每個詞的embedding和這個句子的上下文信息是相關(guān)的。ELMo語言模型的模型結(jié)構(gòu)采用了一個正向LSTM和一個反向LSTM聯(lián)合訓(xùn)練的方式,優(yōu)化兩個方向的語言模型優(yōu)化目標(biāo)。在完成訓(xùn)練后,每個單詞在每層LSTM都會產(chǎn)生正向、反向兩個embedding,對每個單詞所有層的embedding拼接在一起,得到這個詞在這句話中的embedding。ELMO在使用到下游任務(wù)時,會把數(shù)據(jù)每句話先過一遍ELMo,得到每個詞的embedding,然后將ELMo生成的embedding和通過詞向量得到的embedding拼接到一起,用于后續(xù)任務(wù)預(yù)測。

此后,語言模型預(yù)訓(xùn)練成為NLP中的核心之一。在Improving Language Understanding by Generative Pre-Training(2018)中提出了GPT模型。相比ELMo,GPT真正意義實現(xiàn)了pretrain-finetune的框架,不再需要將模型中的embedding取出來,而是直接把預(yù)訓(xùn)練好的模型在下游任務(wù)上finetune,對于不同任務(wù)采用不同的輸入或輸出層改造,讓下游任務(wù)更貼近上游預(yù)訓(xùn)練模型。值得一提的是,在后續(xù)的prompt等優(yōu)化中,又將下游任務(wù)向上游任務(wù)的貼近更近了一步,即將下游任務(wù)的輸入和輸出邏輯也進(jìn)行變化去適應(yīng)上游任務(wù)。讓下游任務(wù)向上游任務(wù)對齊,是一個NLP中的發(fā)展方向。GPT模型主體采用的是Attention Is All You Need(NIPS 2017)提出的Transformer模型,使用的優(yōu)化目標(biāo)是正向語言模型。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding(2018)提出了Bert模型,也是目前在NLP中應(yīng)用最廣泛的預(yù)訓(xùn)練模型之一。相比GPT和ELMo,Bert采用了一種Mask Language Model(MLM)這一不同的目標(biāo),通過隨機(jī)mask掉輸入文本中的某些token,然后利用上下文信息進(jìn)行預(yù)測,實現(xiàn)對數(shù)據(jù)語義關(guān)系的提取。這種MLM相比之前的語言模型優(yōu)化目標(biāo)優(yōu)點是,可以從多個方向同時進(jìn)行信息抽取來預(yù)測當(dāng)前token,而傳統(tǒng)的語言模型(前向后后向)每一次只能從一個方向提取信息。即使將前向和后向結(jié)合,也無法實現(xiàn)真正意義上的同時利用前后文信息預(yù)測當(dāng)前token。同時,Bert還引入了Next Sentence Prediction(NSP)任務(wù),在預(yù)訓(xùn)練階段構(gòu)造了兩個文本pair對輸入,預(yù)測這兩個文本的相關(guān)性。這個任務(wù)相當(dāng)于是在sentence維度的信息提取,和下游的文本匹配類任務(wù)更加契合,這在單純的語言模型中是難以學(xué)到的。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

對Bert、GPT、ELMo三者模型結(jié)構(gòu)圖的一個簡要對比如下,可以幫助更清晰的理解三類模型的差異。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

上文介紹了ELMo、GPT、Bert等3個預(yù)訓(xùn)練語言模型的代表工作。下面我們梳理一下,在此之后,學(xué)術(shù)界對這些經(jīng)典的預(yù)訓(xùn)練語言模型進(jìn)行了哪些方面的改進(jìn)和創(chuàng)新。

2.針對GPT的改進(jìn)創(chuàng)新

在GPT之后,OpenAI進(jìn)一步提出了GPT-2、GPT-3,旨在通過更大的模型容量、更多的訓(xùn)練語料進(jìn)一步提升預(yù)訓(xùn)練語言的效果。Language Models are Unsupervised Multitask Learners(2018)提出了GPT-2。本文相比GPT增加了語料、增大了模型尺寸,模型的基本結(jié)構(gòu)和GPT差不多。GPT-2的核心思想是,任何一個有監(jiān)督NLP任務(wù),都可以看成是語言模型的一個子集,只要預(yù)訓(xùn)練語言模型的容量足夠大,理論上就能解決任何NLP任務(wù)。任何NLP任務(wù)都可以表示成p(output | input, task)的形式,語言模型就是無監(jiān)督的多任務(wù)學(xué)習(xí)。因此GPT-2的核心就是提升模型的容量和數(shù)據(jù)多樣性,讓語言模型能夠達(dá)到解決任何任務(wù)的程度。

在隨后的Language Models are Few-Shot Learners(2020)中提出了GPT-3,進(jìn)一步增大了模型尺寸,模型參數(shù)量是GPT-2的100倍。GPT-3的核心思想在于不進(jìn)行finetune(zero-shot learning)就可以對下游任務(wù)生成預(yù)測結(jié)果,其做法為將下游任務(wù)轉(zhuǎn)換為一系列的文本,直接通過語言模型預(yù)測出結(jié)果。下圖為一個例子,對比了finetune方法和GPT-3中提出的zero-shot方法的區(qū)別,便于對這種預(yù)測方法進(jìn)行理解。通過增加對任務(wù)的描述文本,來讓模型知道當(dāng)前要解決什么任務(wù),進(jìn)而實現(xiàn)預(yù)測。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

可以看出,GPT的后續(xù)優(yōu)化思路,建立在不斷提升訓(xùn)練語料豐富度和模型容量,使語言模型能夠從大量文本中學(xué)習(xí)到各個NLP任務(wù)的解決方法,再通過zero-shot learning的方式實現(xiàn)不進(jìn)行finetune,而是將下游任務(wù)轉(zhuǎn)換成語言模型的輸入形式,來讓預(yù)訓(xùn)練模型直接進(jìn)行下游任務(wù)預(yù)測。

在GPT的基礎(chǔ)上,Meta在LLaMA: Open and Efficient Foundation Language Models中提出了LLaMA,LLaMA是目前很多SOTA開源大模型的基礎(chǔ),包括DeepSeek、千問等在內(nèi)的很多大模型的模型機(jī)構(gòu)大體上都沿用了LLaMA。LLaMA的主體結(jié)構(gòu)仍然基于Transformer,相比于GPT主要引入進(jìn)行了一些結(jié)構(gòu)上的細(xì)節(jié)優(yōu)化,包括Pre-Normalization、RMSNorm、SwiGLU激活函數(shù)、Rotray Embedding等模塊進(jìn)一步提升語言模型效果。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

3.針對BERT的改進(jìn)創(chuàng)新

在Bert的基礎(chǔ)上,有很多針對其的改進(jìn),這里我們主要介紹3個模型。RoBERTa: A Robustly Optimized BERT Pretraining Approach(2019)細(xì)致的對Bert模型的訓(xùn)練方式進(jìn)行了對比實驗和分析,并基于此總結(jié)出了能夠提升Bert效果的訓(xùn)練方法。相比Bert,RoBerta的主要改進(jìn)在于3個方面。首先采用了dynamic mask,即每個文本進(jìn)入訓(xùn)練時動態(tài)mask掉部分token,相比原來的Bert,可以達(dá)到同一個文本在不同epoch被mask掉的token不同,相當(dāng)于做了一個數(shù)據(jù)增強(qiáng)。其次,分析了訓(xùn)練樣本應(yīng)該如何構(gòu)造,原來的Bert采用segment pair的形式,訓(xùn)練樣本為兩個segment組合到一起并使用NSP任務(wù)預(yù)測兩個任務(wù)是否相關(guān)。RoBERTa發(fā)現(xiàn)從同一個document構(gòu)造輸入單句子的輸入文本而非pair對,并且不使用NSP任務(wù),效果會有一定提升。最后,RoBERTa增大了batch size以及對BPE(輸入文本的分詞方法進(jìn)行了升級。

ALBERT: A LITE BERT FOR SELF-SUPERVISED LEARNING OF LANGUAGE REPRESENTATIONS(2020)提出了一個輕量級的Bert模型,以此降低Bert的運行開銷。為了減少Bert資源開銷,本文主要提出了兩個優(yōu)化:Factorized embedding parameterization以及Cross-layer parameter sharing。Factorized embedding parameterization對輸入的embedding進(jìn)行分解,原始的Bert將token輸入的embedding維度E和模型隱藏層維度H綁定了,即E=H,前者表示每個token固有信息,后者表示每個token結(jié)合了上下文的動態(tài)信息,后者被證明是更重要的。因此本文提出可以讓E和H接綁,選擇一個較小的E不會影響模型效果,同時顯著降低了由于輸入詞表V變大帶來的內(nèi)存開銷上升。具體的,將E變成遠(yuǎn)小于H的維度,再用一層全連接將輸入embedding映射到H維。這樣模型embedding部分參數(shù)量從V*H下降到了V*E+E*H。Cross-layer parameter sharing讓Bert每層的參數(shù)是共享的,以此來減小模型參數(shù)量。

除了上述兩個降低Bert運行開銷的優(yōu)化外,ALBERT提出了inter-senetnce loss這一新的優(yōu)化目標(biāo)。原來Bert中的NSP任務(wù)可以理解為topic prediction和coherence prediction兩個任務(wù)。其中topic prediction是一種特別簡單的任務(wù),由于其任務(wù)的簡單性,導(dǎo)致coherence prediction學(xué)習(xí)程度不足。本文提出將coherence prediction單獨分離出來,相比Bert,正樣本仍然是一個document相鄰的兩個segment,負(fù)樣本變成這兩個segment的順序交換。

ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS(ICLR 2020)對pretrain階段的MLM任務(wù)進(jìn)行了優(yōu)化。該方法的核心思路采用了GAN的思路。模型包括一個generator 和一個discriminator。輸入文本仍然會被隨機(jī)mask,然后generator會生成被mask掉的token,這里和MLM類似。而discriminator會判斷每個位置的token是否是generator生成的(如果generator正好生成了正確的token,也認(rèn)為其生成的是正確的)。通過這種對抗學(xué)習(xí)的方式,讓discriminator預(yù)測被mask掉的token能力逐漸增強(qiáng),也即從文本中提取信息的能力增強(qiáng)。最終的預(yù)訓(xùn)練模型使用的是discriminator部分。ELECTRA的缺點在于由于有了一個單獨的Generator,模型整體開銷會更大,Generator一般采用一個參數(shù)量較少的MLM。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

4.引入知識的預(yù)訓(xùn)練

ERNIE: Enhanced Language Representation with Informative Entities(2019)從知識增強(qiáng)的角度對Bert進(jìn)行優(yōu)化。相比原來的Bert,ERNIE引入了如知識圖譜等外部知識信息。這樣的好處在于,有一些文本如果不知道某些詞組代表一個實體的話,模型是很難學(xué)習(xí)的,例如一些人名、地名等。如下面的例子,不知道橘子中的這些實體是書名、歌名,就無法識別出作者的職業(yè)。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

ERNIE在Bert中引入了知識圖譜中的實體信息,模型結(jié)構(gòu)如下圖。模型主要分為T-Encoder和K-Encoder兩個部分。T-Encoder類似Bert,從輸入的文本上提取每個token的信息表示。K-Encoder主要是引入知識信息,將輸入文本中的實體識別出來,然后獲取這些實體的embedding(利用TransE在構(gòu)造好的知識圖譜上預(yù)訓(xùn)練得到),然后將token的embedding和實體的embedding進(jìn)行一個融合,融合方法是將實體embedding添加到對應(yīng)token序列的位置。每層融合輸入上一層的token embedding和entity embedding,生成新的token embedding和entity embedding,公式可以表示為:

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

此外,ERNIE在預(yù)訓(xùn)練階段增加了token-entity relation mask任務(wù),在20%的entity上,會mask掉token和entity的對齊關(guān)系,讓模型來預(yù)測當(dāng)前token對應(yīng)的是哪個entity。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

此外,還有一個同名工作ERNIE: Enhanced Representation through Knowledge Integration(2019)也使用了類似的思路,希望通過引入外部知識信息提升預(yù)訓(xùn)練模型效果。和Bert主要差別在于,本文將MLM任務(wù)分成basic-level、phrase-level、entity-level三種類型,在entity-level mask中,mask掉的不是單個token,而是輸入文本中某個entity對應(yīng)的連續(xù)多個token,其和Bert的差異如下圖。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

后面這篇工作后續(xù)又推出了2.0版本,ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding(2019)。該工作在pretrain階段引入了很多task來輔助pretrain階段的學(xué)習(xí)。首先構(gòu)造pretrain階段的任務(wù),主要是無監(jiān)督或弱監(jiān)督的訓(xùn)練數(shù)據(jù)容易獲得的任務(wù),同時也會引入知識圖譜中的信息構(gòu)造一些訓(xùn)練任務(wù)。接下來,本文采用continual multitask learning的方式,不斷構(gòu)造新的任務(wù),并且以增量的方式進(jìn)行多任務(wù)學(xué)習(xí),每來一個任務(wù)都把歷史所有任務(wù)放到一起進(jìn)行多任務(wù)學(xué)習(xí),避免忘記歷史學(xué)到的知識。本文的核心點在于提出的多種構(gòu)造預(yù)訓(xùn)練任務(wù)的方式,包括Knowledge Masking Task(即上一篇ERNIE中的對entity或phrase進(jìn)行mask)、Capitalization Prediction Task、Token-Document Relation Prediction Task等,感興趣的同學(xué)可以閱讀論文深入了解。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

5.其他類型的預(yù)訓(xùn)練語言模型

在GPT和BERT的啟發(fā)下,后續(xù)涌現(xiàn)了很多其他類型的預(yù)訓(xùn)練語言模型,這里主要介紹UniLM、XLNet、BART、T5等4種。

Unified Language Model Pre-training for Natural Language Understanding and Generation(NIPS 2019)提出了UniLM預(yù)訓(xùn)練語言模型。本文首先總結(jié)了之前語言模型的特點:EMLo采用前向+后向LSTM、GPT采用從左至右的單向Transformer、BERT采用雙向Attention。雖然BERT的雙向Attention取得很好效果,但是這種特性也導(dǎo)致其無法像GPT等使用單向方法的語言模型一樣適用于文本生成這種任務(wù)。UniLM融合了3種語言模型優(yōu)化目標(biāo),通過精巧的控制mask方式來在一個模型中同時實現(xiàn)了3種語言模型優(yōu)化任務(wù),在pretrain過程交替使用3種優(yōu)化目標(biāo)。下圖比較形象的描述了UniLM是如何利用mask機(jī)制來控制3種不同的優(yōu)化任務(wù),核心思路是利用mask控制生成每個token時考慮哪些上下文的信息。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

XLNet: Generalized Autoregressive Pretraining for Language Understanding(NIPS 2019)提出了XLNet模型,融合了BERT和GPT這兩類預(yù)訓(xùn)練語言模型的優(yōu)點,并且解決了BERT中pretrain和finetune階段存在不一致的問題(pretrain階段添加mask標(biāo)記,finetune過程并沒有mask標(biāo)記)。本文將無監(jiān)督語言模型分成兩類,一類是AR自回歸模型,如GPT、ELMo這種使用單向語言模型建模概率分布的方法;另一類是AE自編嗎模型,如BERT這種通過預(yù)測句子中token的方法。XLNet融合了AR模型和AE模型各自的優(yōu)點,既能建模概率密度,適用于文本生成類任務(wù),又能充分使用雙向上下文信息。XLNet實現(xiàn)AR和AE融合的主要思路為,對輸入文本進(jìn)行排列組合,然后對于每個排列組合使用AR的方式訓(xùn)練,不同排列組合使每個token都能和其他token進(jìn)行信息交互,同時每次訓(xùn)練又都是AR的。但是,實現(xiàn)這種模式也存在很多問題,文中針對這些問題提出了解法,由于篇幅原因具體內(nèi)容我們會在后續(xù)相關(guān)文章再進(jìn)行詳細(xì)介紹。

BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension(2019)提出了一種新的預(yù)訓(xùn)練范式,包括兩個階段:首先原文本使用某種noise function進(jìn)行破壞,然后使用sequence-to-sequence模型還原原始的輸入文本。下圖中左側(cè)為Bert的訓(xùn)練方式,中間為GPT的訓(xùn)練方式,右側(cè)為BART的訓(xùn)練方式。首先,將原始輸入文本使用某些noise function,得到被破壞的文本。這個文本會輸入到類似Bert的Encoder中。在得到被破壞文本的編碼后,使用一個類似GPT的結(jié)構(gòu),采用自回歸的方式還原出被破壞之前的文本。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

文中嘗試了多種類型的noise function,如token masking、sentence permutation、text infilling等,其中sentence permutation+text infilling的方式取得了最好的效果。Text infilling指的是隨機(jī)mask某些span。下圖展示了文中提出的一些noise function方法。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer(2023)統(tǒng)一了各種類型的文本到文本任務(wù),提出了一種統(tǒng)一的Encoder-Decoder語言模型,該方法也是目前業(yè)內(nèi)很多其他領(lǐng)域的大模型使用最多的架構(gòu)。文中對Encoder-Decoder、純Decoder、UniLM等方式進(jìn)行了對比驗證,發(fā)現(xiàn)Encoder-Decoder的效果是最優(yōu)的。通過prompt將所有NLP任務(wù)都統(tǒng)一成文本到文本的生成任務(wù),訓(xùn)練統(tǒng)一的T5模型。

大模型系列:一文匯總16個深度語言模型代表工作-AI.x社區(qū)

6.總結(jié)

本文介紹了預(yù)訓(xùn)練語言模型的發(fā)展歷程,包括EMLo、BERT、GPT等經(jīng)典模型,也包括在此基礎(chǔ)上的一些改進(jìn)創(chuàng)新。這一階段屬于深度學(xué)習(xí)語言模型高速發(fā)展的階段,整體基于pretrain-finetune的范式解決各類NLP問題。在后續(xù)的章節(jié)中,會為大家介紹大模型階段語言模型的進(jìn)一步發(fā)展,包括ChatGPT、DeepSeek、PaLM等各類成熟的大模型。

想進(jìn)行大模型交流的同學(xué),可以掃碼加群(或加yuanyuanAI,備注【大模型+機(jī)構(gòu)】,共同探討大模型相關(guān)技術(shù)。

本文轉(zhuǎn)載自??圓圓的算法筆記???,作者: Fareise


標(biāo)簽
已于2025-4-8 09:57:43修改
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦