版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2023年ChatGPT專題報告Attention注意力機(jī)制的基本原理1自然語言處理的發(fā)展歷史回顧自然語言處理(NaturalLanguageProcessing,NLP)作為人工智能的重要研究方向,旨在幫助計算機(jī)理解、解釋和運(yùn)用人類語言?;仡橬LP的主要發(fā)展歷程,可大致分為三個階段:1)上世紀(jì)80年代之前,人工智能開始萌芽,基于規(guī)則的語言系統(tǒng)占據(jù)主導(dǎo);2)80年代之后,從機(jī)器學(xué)習(xí)的興起到神經(jīng)網(wǎng)絡(luò)的引入,帶動了NLP的快速發(fā)展和商業(yè)化;3)2017年至今,基于Attention注意力機(jī)制構(gòu)建的Transformer模型開啟了大語言模型時代。第一階段:基于規(guī)則的語言系統(tǒng)。早在上世紀(jì)50年代前后,人工智能就已經(jīng)誕生,1956召開了達(dá)特茅斯會議,首次正式提出了“人工智能”。1980年,自然語言處理的分為了兩大陣營,分別為基于語言規(guī)則的符號派和基于概率統(tǒng)計的隨機(jī)派,而當(dāng)時基于規(guī)則方法的勢頭明顯強(qiáng)于基于概率統(tǒng)計的勢頭,因此當(dāng)時大多數(shù)NLP系統(tǒng)都使用復(fù)雜的邏輯規(guī)則,能夠處理包括字符匹配、詞頻統(tǒng)計等一些簡單的任務(wù)。同時在這一時期,也產(chǎn)生了一些機(jī)器翻譯以及語言對話的初級產(chǎn)品,比較著名的是1966年MIT發(fā)布的世界上第一臺聊天機(jī)器人Eliza,Eliza能夠遵循簡單的語法規(guī)則來實現(xiàn)交流。但總體來看,這一時期NLP領(lǐng)域形成的成果還無法商業(yè)化,包括機(jī)器翻譯的成本還是遠(yuǎn)高于人工翻譯,而且還無法與人真正實現(xiàn)基本的對話。第二階段:從機(jī)器學(xué)習(xí)到神經(jīng)網(wǎng)絡(luò)。1980年美國的卡內(nèi)基梅隆大學(xué)召開了第一屆機(jī)器學(xué)習(xí)國際研討會,標(biāo)志著機(jī)器學(xué)習(xí)在全世界興起,而自然語言處理也逐漸走向純粹的統(tǒng)計學(xué)。90年代以后,神經(jīng)網(wǎng)絡(luò)模型被引入到NLP領(lǐng)域,其中最著名的兩個神經(jīng)網(wǎng)絡(luò)模型為循環(huán)神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork,RNN)和卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetworks,CNN),特別是RNN因其處理序列數(shù)據(jù)的特性,成為了大部分NLP模型的主流選擇。2000年后,一方面Multi-tasklearning,WordEmbedding,Seq2seq等層出不窮的新技術(shù)推動了NLP技術(shù)的快速進(jìn)步,另一方面NLP逐步實現(xiàn)了商業(yè)化,包括機(jī)器翻譯、文本處理等商業(yè)化產(chǎn)品開始大量出現(xiàn)。第三階段:基于Attention注意力機(jī)制構(gòu)建的Transformer模型奠定了大語言模型的基礎(chǔ)。2017年Google機(jī)器翻譯團(tuán)隊發(fā)布了著名論文《AttentionisAllYouNeed》,提出了基于Attention注意力機(jī)制構(gòu)建的Transformer模型,這也成為了NLP歷史上的一個標(biāo)志性的事件。相較于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),基于Attention注意力機(jī)制構(gòu)建的Transformer模型在提升了語言模型運(yùn)行的效率(效率更高),同時能夠更好的捕捉語言長距離依賴的信息(效果更好)。2018年OpenAI公司的GPT以及Google公司的BERT均是基于Attention注意力機(jī)制與Transformer而構(gòu)建,而NLP也正式進(jìn)入到了大語言模型的全新階段。2Attention注意力機(jī)制的基本原理注意力(Attention)機(jī)制與Transformer模型構(gòu)建了大語言模型的基石。注意力(Attention)機(jī)制最早由Bengio團(tuán)隊在2014年提出,隨后開始廣泛應(yīng)用在深度學(xué)習(xí)中的各個領(lǐng)域。Attention的思想很簡單,它的最初靈感來源于人類的視覺,即當(dāng)人用眼睛觀察東西的時候,會首先快速掃描全局圖像,然后再捕捉需要重點關(guān)注的目標(biāo)區(qū)域,將視覺重點聚焦在這個目標(biāo)區(qū)域,對重點區(qū)域投入更多注意力資源,同時忽略其他信息。因此Attention機(jī)制最早應(yīng)用在計算機(jī)視覺領(lǐng)域,用于捕捉圖像上的感受野,隨后在NLP領(lǐng)域也開始得到應(yīng)用,并且在NLP領(lǐng)域真正的發(fā)揚(yáng)光大。2017年,Google機(jī)器翻譯團(tuán)隊發(fā)布Transformer模型,在Transformer中拋棄了傳統(tǒng)的CNN和RNN結(jié)構(gòu),整個網(wǎng)絡(luò)完全是由Attention機(jī)制組成,2018年Google的BERT模型以及OpenAI公司的GPT模型都是在Transformer的基礎(chǔ)上構(gòu)建。在Attention注意力機(jī)制應(yīng)用于NLP領(lǐng)域以前,大部分語言模型都是基于RNN及CNN所構(gòu)建,特別是RNN處理序列信息的特性,使得其在NLP領(lǐng)域得以廣泛應(yīng)用。RNN對處理具有序列特性的數(shù)據(jù)非常有效,比如在自然語言處理領(lǐng)域,將每一個字或每一個詞的組合作為一個序列;在語音處理領(lǐng)域,將每一幀的聲音信號的組合作為一個序列;在時間序列方面,比如股價數(shù)據(jù),將每一天或者每一時刻的股票價格的組合作為一個序列。因此通過利用了RNN處理序列數(shù)據(jù)的能力,在語音識別、機(jī)器翻譯等領(lǐng)域中取得了很多成果,很多早期的NLP商業(yè)化產(chǎn)品都是基于RNN所構(gòu)建。與此同時,為什么說后來的Attention機(jī)制優(yōu)于之前的RNN以及CNN,可以從運(yùn)算機(jī)制和算法思想等方面對三者的角度做一個直觀對比。首先,RNN在NLP領(lǐng)域得到廣泛應(yīng)用的同時,其算法機(jī)制一直存在著兩個缺點,第一個缺點就是語言的長距離信息會被弱化。比如在這樣的長句子中:“原來是你把我的蘋果拿走了,下次記得提前跟我說一聲,我還得用它來發(fā)郵件呢”,我們要確定“蘋果”指代的是蘋果電腦/手機(jī)還是水果,就需要進(jìn)行通過長距離的信息學(xué)習(xí)。由于在RNN模型中,對序列中的元素是按順序處理的,比如在第一個RNN層中的第二個節(jié)點h2,它的計算是由第一個節(jié)點h1,即詞向量1輸入模型后得出的結(jié)算結(jié)果,以及詞向量2的輸入,二者共同決定的。在RNN模型中,兩個詞之間的交互距離可以認(rèn)為是他們之間的相對距離,因此第1個詞和第n個詞之間的交互距離是n-1,因此如果一個序列足夠長,RNN模型中的節(jié)點經(jīng)過許多階段的計算后,之前比較長的時間片的特征已經(jīng)被覆蓋,很難將將信息從較早的時間步傳送到后面的時間步,距離越遠(yuǎn)的信息越容易被忽略掉。雖然在實際情況下,大多數(shù)詞的詞義在一個較小范圍的上下文語義環(huán)境中就可以確定,對于一個更好的語言模型而言,我們的期望是模型能夠更好的獲取長距離的信息。RNN的第二個缺點就是RNN是串行處理機(jī)制所帶來的計算效率低的問題。從RNN實現(xiàn)的原理來講,是因為每個時間步(timestep)的計算,都依賴于對前一時間步的計算和輸出結(jié)果,難以進(jìn)行并行化運(yùn)算進(jìn)行加速。并且在長句中的每個時間步都包括一個memoryI/O操作,這導(dǎo)致了模型的性能嚴(yán)重受限于GPU的最大線程和最大內(nèi)存帶寬的約束。特別是在處理長句的訓(xùn)練樣本時,RNN存在的模型運(yùn)行速度慢的問題會體現(xiàn)的更加明顯,因此導(dǎo)致了語言模型中能夠堆疊RNN的數(shù)量受到了明顯的限制。為了應(yīng)對RNN模型存在的缺陷,一般會使用雙向的RNN及LSTM長時間的短期記憶網(wǎng)絡(luò)(LongShort-TermMemoryNetworks),比傳統(tǒng)RNN在長距離信息識別方面有更好的表現(xiàn)。雙向RNN結(jié)構(gòu)作為RNN的變體,在使用一個RNN對序列中的元素從左往右進(jìn)行處理的同時,另一個RNN對序列從右向左進(jìn)行處理,因此能夠在一定程度上優(yōu)化對長距離信息的處理,可以考慮整個句子的信息,然而雙向RNN的缺點在于需要完整數(shù)據(jù)的序列,比如語音識別系統(tǒng)中,必須等待一個人說完整句話,才能做出識別,這樣就有一個比較長的等待時間。而LSTM作為一種帶有門控(Gate)機(jī)制的RNN模型,是一種讓信息選擇式通過的方法,門控可以只保留有效信息來進(jìn)行預(yù)測,并忘記不相關(guān)的數(shù)據(jù)。因此能夠記住重要的信息,而忽略無關(guān)緊要的信息。LSTM雖然理論上可以對歷史信息進(jìn)行有選擇的存儲和遺忘,但是門控參數(shù)量一定的情況下,這種能力是一定的。隨著句子的增長,相對距離的增大,存在明顯的理論上限。相較于RNN在NLP領(lǐng)域的廣泛應(yīng)用,CNN此前較多應(yīng)用于計算機(jī)視覺領(lǐng)域,同樣,CNN也存在長距離信息丟失的問題。從CNN的運(yùn)算機(jī)制來看,每一層的CNN每個節(jié)點覆蓋的語義環(huán)境范圍是一定的,這是由CNN存在的感受視野(ReceptiveField)所決定的,比如第一層CNN中第二個節(jié)點h2的計算只利用了詞1、詞2、詞3的信息。而第二個CNN層覆蓋的語義環(huán)境范圍會變大,且越往上層覆蓋的語義環(huán)境會變得越大。因此,在語言序列中,一個詞首先會與自身距離較近的詞發(fā)生交互,比如在第一層的第二個節(jié)點h2中,詞1、詞2、詞3發(fā)生了交互,而距離較遠(yuǎn)的詞,如詞1和詞n,則需要在高層上才能發(fā)生交互。因此詞與詞之間的信息的獲取與相互關(guān)鍵,取決于它們之間的相對距離,距離越遠(yuǎn),信息獲取的難度也就越大,因此同樣,CNN也存在語言序列的長距離信息依賴的問題。相較于RNN和CNN,Attention注意力機(jī)制的原理就是在每一層的計算中都考慮了詞與詞之間的全連接關(guān)系,在模型的并行化運(yùn)算的同時,能夠很好的解決長距離信息依賴的問題。從Attention的計算過程來看,一個語言序列中的每一個詞和Attention中每一個節(jié)點都是全連接的關(guān)系,比如第一層中第一個節(jié)點h1的計算會考慮全部輸入詞1到詞n的信息,而第一個Attention層和第二個Attention層之間的全部節(jié)點也都是全連接的關(guān)系,因此任意兩個詞之間的交互,與詞與詞之間的遠(yuǎn)近距離都不存在關(guān)系。句子中每個詞義的確定,都考慮了與整個句子中所有的詞的關(guān)系(計算量更大),因此這樣能夠更好的捕捉到長距離的信息,就算文本或者語句比較長,也能夠抓住重點,不丟失掉重要的信息。同時,Attention模型是并行計算的,每一步計算不依賴于上一步的計算結(jié)果,可以并行處理語言序列數(shù)據(jù),大幅提升了語言模型運(yùn)行的效率,在運(yùn)算機(jī)制上更加契合現(xiàn)代GPU的硬件架構(gòu)。從Attention和CNN的關(guān)系來看,CNN可以看作是有注意力范圍的Attention,而Attention則是實現(xiàn)了全連接的CNN。二者之間的區(qū)別就是CNN存在的感受野(ReceptiveField),有局部的歸納偏置,而Attention是全連接的,能夠捕捉全局信息的。因此從訓(xùn)練難度的角度來說,Attention的難度更大,因為Attention沒有做任何的局部歸納,因而也需要更多的數(shù)據(jù)。而早期CNN之所以更多的應(yīng)用在視覺領(lǐng)域,是因為圖片天然具有局部特征,因此CNN能做到在不需要非常多數(shù)據(jù)的情況下有比較好的效果。但是在NLP領(lǐng)域,Attention通常在數(shù)據(jù)量足夠的時候,表現(xiàn)比CNN更優(yōu)秀。Attention的數(shù)學(xué)原理來看,就是用數(shù)字來表達(dá)詞與詞之間的相關(guān)程度,當(dāng)數(shù)字越大時,這兩個詞之間相關(guān)程度越高。比如在“原來是你把我的蘋果拿走了,下次記得提前跟我說一聲,我還得用它來發(fā)郵件呢?!边@句話中,語言模型要去理解“蘋果”指的是蘋果電腦/手機(jī)還是水果,就需要計算蘋果與這個句子中其他所有詞包括之間的相關(guān)系數(shù),用相關(guān)系數(shù),或者說注意力分?jǐn)?shù)來表達(dá)他們之間的相互聯(lián)系,得出的分?jǐn)?shù)越高,那么這兩個詞之間的相關(guān)程度就越高。比如在這個句子中,通過計算,能夠發(fā)現(xiàn)“蘋果”與“郵件”的分?jǐn)?shù)較高,最終可以得出“蘋果”指代的就是蘋果電腦/手機(jī),以此來實現(xiàn)了注意力機(jī)制。在Attention注意力機(jī)制中又包含了自注意力機(jī)制Self-Attention、交叉注意力機(jī)制Cross-Attention等,而自注意力機(jī)制Self-Attention就是Transformer等大語言模型的核心組成部分。自注意力機(jī)制指的不是輸入語句和輸出語句之間的Attention機(jī)制(不同輸入),而是在輸入語句的內(nèi)部元素之間發(fā)生(同一輸入),即在同一個句子內(nèi)部實現(xiàn)注意力機(jī)制。Self-Attention的詳細(xì)計算具體可分為以下三步:第一階段,信息的預(yù)處理:詞的向量化,句子的矩陣變換。在運(yùn)行Attention機(jī)制之前,需要對輸入模型的語句文本進(jìn)行預(yù)處理,首先需要講文本語句進(jìn)行分詞操作(Tokenization),即將語言序列切分成一個個字符串。對英文來說,分詞操作為輸出一個一個的單詞,對中文來說分詞操作為輸出一個一個的字。然后,我們需要將字或詞向量化(WordEmbeddings)(比如在我們輸入的句子中每一個詞都轉(zhuǎn)化為一個向量,而這個句子則是一個矩陣,而Attention機(jī)制本質(zhì)上就是對這個輸入語句的矩陣進(jìn)行了多次的矩陣變換)。在分詞和向量化后,得到了向量序列(a1,a2,a3,a4),接下來需要對輸入向量做矩陣變換,即用三個權(quán)重矩陣Wq,Wk,Wv(這三個權(quán)重矩陣實際上就是我們所需要訓(xùn)練的內(nèi)容,因為其他輸入都是既定的)與(a1,a2,a3,a4)分別相乘,得到三個向量序列Q(q1,q2,q3,q4),K(k1,k2,k3,k4),V(v1,v2,v3,v4)。由于在self-Attention中,Q、K、V都是由同一個矩陣變換而來,因此Q、K、V是同源的,而Q、K、V之間的相互計算Self-Attention(Q、K、V),則稱之為自注意力。第二階段,相關(guān)程度計算:計算出詞與詞之間的相關(guān)程度。在預(yù)處理之后,接下來需要通過Q和K來計算Attention相關(guān)度。比如計算第一個詞與句子中的所有詞(包括自己)的相關(guān)度,即用向量q1與向量k1,k2,k3,k4分別兩兩求點積(由兩個向量的點積可以得到兩個向量的相似度)。因此在每次輸入了兩個向量后,輸出一個數(shù),比如用q1和k1可以得出α1,1,而α1,1,α1,2,α1,3,α1,4則代表了第一個詞與句子中所有詞(包括自己)的相關(guān)程度,如果第一個詞和第三個詞關(guān)聯(lián)性較高,那么α1,3的數(shù)值就會比較大。在計算完成之后,再使用Softmax函數(shù)歸一化處理就得到了α1,1,α1,2,α1,3,α1,4,使得每一個數(shù)的范圍都在(0,1)之間,且所有數(shù)之和為1。最后得到的α1,1,α1,2,α1,3,α1,4就代表了第一個詞與其他詞的相關(guān)系數(shù)。第三結(jié)算:輸出最終結(jié)果:用相關(guān)系數(shù)來加權(quán)求和。在經(jīng)過softmax的歸一化處理得到了一組注意力系數(shù)α1,1,α1,2,α1,3,α1,4之后,最后再依次乘以預(yù)處理的第三個向量序列V(v1,v2,v3,v4),并求和,即α1,1*v1+α1,2*v2+α1,3*v3+α1,4*v4,得到輸出結(jié)果b1,如果a1和a3關(guān)聯(lián)性比較高,則α1,3的數(shù)值就會就比較大,而輸出的向量b1就與向量v3更加接近,同理可以并行計算出b2、b3、b4。因此,回顧整個Self-Attention的計算過程,輸入的是向量(a1,a2,a3,a4),輸出的向量(b1,b2、b3、b4)就是attention的最終輸出結(jié)果。3Transformer構(gòu)建大模型的基石Transformer作為大語言模型的基礎(chǔ)模型,分為編碼器和解碼器兩大模塊,實際模擬的是人類大腦從理解語言到表達(dá)語言的過程。從Transformer的結(jié)構(gòu)來看,Transformer由Encoder編碼器和Decoder解碼器兩個部分組成,具體而言是由6個編碼器和6個解碼器堆疊而成。而編碼器-解碼器結(jié)構(gòu)作為語言模型的經(jīng)典結(jié)構(gòu),它模擬的是大腦理解自然語言的過程,其中編碼就是將語言轉(zhuǎn)化成一種大腦所能理解和記憶的內(nèi)容,而解碼就是將大腦中所想的內(nèi)容表達(dá)出來。比如在計算機(jī)訓(xùn)練語言模型的過程中,最初是不知道“你好”和“Hello”背后的意思的,也不知道他們所表達(dá)的含義是相關(guān)的,而模型學(xué)習(xí)的過程,就是將這兩種不同的表達(dá)映射到同一個意識概念上。因此在以Transformer為代表的語言模型中,編碼器的功能就是把自然語言序列映射為某種數(shù)學(xué)表達(dá),而解碼器則是再把這個數(shù)學(xué)表達(dá)映射為自然語言序列的過程。整個Transformer網(wǎng)絡(luò)沒有使用傳統(tǒng)的CNN和RNN結(jié)構(gòu),而完全是由Attention機(jī)制組成,其中Self-Attention則是Transformer最核心的組成部分。首先看編碼器Encoder的結(jié)構(gòu):編碼器Encoder由兩個子層組成,第一個子層為Muti-headAttention(多頭注意力機(jī)制)+Add&Norm層,其中多Muti-headAttention是將多個Self-Attention拼接在一起,本質(zhì)上仍是Self-Attention;第二個子層為FeedForwardNeuralNetwork(前饋神經(jīng)網(wǎng)絡(luò))+Add&Norm層,這一層中通過引入了非線性函數(shù)(具體為ReLU激活函數(shù),此前的自注意力層都是線性變換),能夠使得神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元也具有了稀疏激活性,即能夠幫助模型更好的挖掘相關(guān)特征,擬合訓(xùn)練數(shù)據(jù)。同時在兩個子層中,均加入了Add&Norm層,Add&Norm包含Residualconnection(殘差連接)和Normalization(標(biāo)準(zhǔn)化)兩個部分,這也是此前語言模型中被驗證過的有效的方法,即通過Residualconnection用于防止網(wǎng)絡(luò)特征退化,而Normalization的使用可以加快模型的收斂速度??偟膩碚f,Transformer中編碼器Encoder的多層結(jié)構(gòu)即為self-attention層與FeedForward層的堆疊使用,其中self-attention層是Transformer最核心的部分。Transformer的解碼器Decoder與編碼器Encoder在結(jié)構(gòu)上有許多共同之處,二者的最大不同,就是解碼器使用了帶有遮蓋的自注意力機(jī)制(MaskedSelf-attention)。解碼器與編碼器同樣也是多層結(jié)構(gòu),即self-attention層與FeedForward層的堆疊使用,而二者的側(cè)重點有所不同的是,Decoder是用來預(yù)測信息的,因此在訓(xùn)練預(yù)測能力的時候,模型需要將未來的信息遮蓋?。ㄖ豢瓷衔模?,而不能提前看到訓(xùn)練的答案(不看下文),因此解碼器采用了MaskedSelf-attention。MaskedSelf-attention與Self-attention在算法原理上的主要不同,即MaskedSelf-attention每一步的計算都只能依賴當(dāng)前時刻以前的輸出,而看不到當(dāng)前時點之后的輸出。比如在Self-attention中,輸出的結(jié)果b2讀取了所有的輸入a1,a2,a3,a4…,而MaskSelf-attention中,b2只能讀取a1,a2,而讀取不了a3,a4…的信息??偟膩砜?,解碼器Decoder的運(yùn)算過程中需要進(jìn)行多次mask操作。在基于Transformer所構(gòu)建的大語言模型中,最著名的兩個模型是OpenAI的GPT和Google的BERT,雖然二者都是基于Transformer,但GPT模型僅使用了解碼器的部分,而BERT僅使用了編碼器的部分,二者在技術(shù)路線上也走向了兩條不同的道路。具體來說,BERT僅運(yùn)用了Transformer的Encoder框架,而Encoder中采用了Self-attention機(jī)制,即訓(xùn)練時每一個詞需要對整個輸入序列的上下文進(jìn)行相關(guān)性分析,從模式上來看更接近于一個完形填空模型;而GPT運(yùn)用了Transformer的Decoder框架,Decoder中的Self-attention機(jī)制是MaskSelf-attention,在訓(xùn)練時會對下文進(jìn)行了遮蓋(mask)處理,僅基于上文,來生成下文,因此GPT更接近人類的語言生成模式,更適合來構(gòu)建語言生成模型。從GPT的語言生成模式來看,并不是一次性將整個序列全部生成,而是每個字每個詞逐一生成,即在生成每一個詞的時候,必須先生成它的前一個詞。而每一個字的生成,會用到這個字之前的全部上文,即全部輸入+這個字之前的全部輸出,比如向GPT提問:“地球有多大?”,GPT的完整回答為:“地球是太陽系內(nèi)第三顆最靠近太陽的行星,其直徑約為...”,而在生成“系”這個字時,所用到的信息為:輸入“地球有多大?”+“系”這個字之前所已生成的輸出“地球是太陽...”。在生成“系”之后,再依照同樣的原理,也“系”也作為上文,再生成下一個字。因此GPT實際上是一種自回歸生成的語言模型,而在GPT和BERT的背后則是Transformer的編碼器與解碼器在算法思想上的差異,因此GPT作為基于解碼器所構(gòu)建的語言模型,在其后的語言生成方面也展現(xiàn)出了更大的潛力??傮w來看,2017年發(fā)布的Transformer無論是在機(jī)器翻譯、文本生成、問答系統(tǒng)等任務(wù)處理,還是在模型訓(xùn)練速度上,其性能均超過了之前的模型,而這還僅僅只是Transformer的初始形態(tài)。從多項測試的結(jié)果來看:1)機(jī)器翻譯任務(wù)中,Transformer在WMT2014英德翻譯任務(wù)上,相對于之前的SOTA模型,實現(xiàn)了近2個BLEU值的提升,達(dá)到了28.4BLEU分?jǐn)?shù);2)文本生成任務(wù)中,Transformer在WikiText-103數(shù)據(jù)集上的困惑度僅為18.3,相對于之前最好的困惑度20.5,實現(xiàn)了很大的提升;3)問答任務(wù)中,Transformer在SQuAD數(shù)據(jù)集上的F1分?jǐn)?shù)為87.4,優(yōu)于之前最好的模型。同時,Transformer的運(yùn)行速度也有了很大提升,例如,Google使用了64個TPUv3設(shè)備對Transformer進(jìn)行訓(xùn)練,處理英德翻譯任務(wù)的速度快于之前最好的RNN模型7倍。4持續(xù)進(jìn)化:從GPT-1到GPT-3在2018年,自然語言處理NLP領(lǐng)域正式步入了大語言模型時代,OpenAI公司的GPT模型與谷歌的BERT模型在同年相繼推出。2018年6月,OpenAI公司發(fā)布了GPT模型的初代版本,GPT-1運(yùn)用了Transformer的Decoder框架中MaskSelf-attention機(jī)制,目前已經(jīng)迭代到了最新ChatGPT與GPT-4,毫無疑問GPT模型已經(jīng)成為了當(dāng)前最為強(qiáng)大的語言模型。在2018年10月,Google也發(fā)布了BERT模型,BERT采用了Transformer的Encoder框架中Self-attention機(jī)制,作為一個擁有3倍GPT參數(shù)量的更大體量的語言模型,BERT在當(dāng)時的多項測評以及業(yè)內(nèi)影響力等方面,要領(lǐng)先于GPT的初代版本。特別是在BERT開源之后,包括Facebook、百度等國內(nèi)外大廠均推出了基于BERT之上開發(fā)的大模型,其中包括Facebook的XLM、RoBERTa模型,以及百度的ERINE系列模型。從GPT的初代版本來看,GPT-1在訓(xùn)練方式上仍依賴于數(shù)據(jù)標(biāo)注和模型微調(diào),同時GPT-1的語言泛化能力仍然不足,因此可以說GPT-1更接近于處理特定語言任務(wù)的專家模型,而非通用的語言模型。GPT-1的模型訓(xùn)練采取的是二段式的訓(xùn)練模式,第一階段利用無監(jiān)督學(xué)習(xí)進(jìn)行預(yù)訓(xùn)練,使用未標(biāo)記的數(shù)據(jù)生成語言模型;第二階段則根據(jù)特定的下游任務(wù)來對模型進(jìn)行人工微調(diào),比如分類任務(wù)、自然語言推理、語義相似度、問答和常識推理等任務(wù)。因此相較于此前NLP模型,GPT-1實際上還是一個半監(jiān)督式學(xué)習(xí)的語言模型。GPT-1在多種語言任務(wù)方面都有不錯的效果,在自然語言推理、分類、問答、對比相似度的多種測評中均超越了之前的模型。但與此同時,GPT-1的語言泛化能力仍然不足,無法解決通用的語言任務(wù),且和同時代的BERT模型比較的話,GPT-1在能力上要遜色于BERT。2019年2月,GPT-2正式發(fā)布,相較于GPT-1,GPT-2舍棄了模型微調(diào),構(gòu)建了一個泛化能力更強(qiáng)的語言模型,這也開始讓模型的通用性得以充分展現(xiàn)。盡管此前GPT-1在特定任務(wù)上已經(jīng)取得了不錯的效果,但實際上這類模型都需要針對單個語言任務(wù)使用大量的標(biāo)注數(shù)據(jù)和模型微調(diào),因此也只能在解決特定語言任務(wù)時才能發(fā)揮作用。而GPT-2的泛化能力就體現(xiàn)在,能夠讓模型應(yīng)用到不同的任務(wù),而不需要做專門的訓(xùn)練。這也更符合人腦處理語言信息的過程,因為人腦既可以讀小說,也可以看新聞,能執(zhí)行不同的語言處理任務(wù),而且這種能力是相互關(guān)聯(lián)的。而人腦在獲取一個語句的信息時,這個信息是通用的,因此我們所期望的一個通用的語言模型,既可用于分類任務(wù),也可以用于問答和常識推理等任務(wù)。具體而言,相較于GPT-1的無監(jiān)督式預(yù)訓(xùn)練+有監(jiān)督式學(xué)習(xí)和模型微調(diào),GPT-2直接舍棄了微調(diào)階段,直接通過大規(guī)模數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練,讓模型開始具備解決多種語言任務(wù)的能力。2020年5月,GPT-3正式發(fā)布,GPT-3在訓(xùn)練方式上創(chuàng)新性的引入了In-context學(xué)習(xí)(上下文學(xué)習(xí)),即在訓(xùn)練模型時,在輸入的文本中加入一個或多個示例,引導(dǎo)模型輸出相對應(yīng)內(nèi)容。比如:“請把以下中文翻譯成英文:蘋果=>apple;自然語言處理的發(fā)展歷程”就是一個典型的帶有一個示例的輸入文本。而In-context學(xué)習(xí)包含了三種模式,分別為Zero-shotLearning(零樣本學(xué)習(xí))、One-shotLearning(單樣本學(xué)習(xí))和Few-shotLearning(少樣本學(xué)習(xí)),zero-shot就是沒有示例只給提示,one-shot是只給一個范例,few-shot則給多個范例,實際上zero-shot在表達(dá)方式上已經(jīng)接近于人類的語言表達(dá)方式。In-context學(xué)習(xí)的優(yōu)點在于,輸入規(guī)范化的語言模板,從人類的例子和類比中去學(xué)習(xí),無需進(jìn)行模型微調(diào)和數(shù)據(jù)標(biāo)注,特別是大量的標(biāo)注數(shù)據(jù)需要很高的人工成本。引入In-context學(xué)習(xí)后,從最終實際效果來看,GPT-3在few-shot上有非常強(qiáng)勁的表現(xiàn),但同時one-shot和zero-shot的效果還不夠優(yōu)秀。因此對于one-shot和zero-shot效果的提升也成為了下一代模型未來需要突破方向。GPT-3參數(shù)量相較于GPT-2提升了兩個數(shù)量級,達(dá)到了1750億,數(shù)據(jù)集在處理前容量達(dá)到了45TB,成了真正意義上的超大語言模型。GPT-3在許多NLP任務(wù)上相較于GPT-2及其他語言模型有更多出色表現(xiàn),特別是機(jī)器翻譯、聊天問答和文本填空。同時是在海量參數(shù)和訓(xùn)練數(shù)據(jù)的支撐下,GPT-3的開始能夠完成一些比較困難的NLP任務(wù),比如GPT-3也可以生成新聞報道和撰寫文章,并且很難將機(jī)器寫的文章與人類寫的辨別開來,甚至GPT-3在編寫SQL查詢語句,React或者JavaScript代碼也有十分優(yōu)異的表現(xiàn)。而在GPT-3強(qiáng)大能力的背后是對算力的巨大消耗,GPT-3的計算量達(dá)到了BERT-base的上千倍,根據(jù)OpenAI公司披露數(shù)據(jù),GPT-3的訓(xùn)練費(fèi)用超過1200萬美元,因此到這一階段就能看出,大語言模型逐漸成為了只有巨頭才能參與的游戲。5能力突變:從ChatGPT到GPT-4在GPT-3取得成功之后,OpenAI在GPT-3的基礎(chǔ)上推出了多個迭代版本,經(jīng)過2年左右的時間,在2022年11月正式推出ChatGPT,隨即成為了全球范圍內(nèi)最強(qiáng)大的語言模型。OpenAI公司在GPT-3與ChatGPT之間發(fā)布了多個迭代版本,其中包括:2021年7月推出了Codex系列;2022年1月,引入RLHF(基于人工反饋的強(qiáng)化學(xué)習(xí))得到了InstructGPT;2022年4月至7月,推出了融合Codex和InstructGPT的code-davinci-002版本;5月至6月發(fā)布了text-davinci-002版本;11月發(fā)布了text-davinci-003和ChatGPT,兩個模型都是使用了基于人類反饋的強(qiáng)化學(xué)習(xí)的版本指令微調(diào)模型。ChatGPT相較于GPT-3,不僅是在文本生成等方面展現(xiàn)出了非常強(qiáng)大的能力,與人類對話的智能感大幅提升,而且海量數(shù)據(jù)和參數(shù)的支撐下,模型在邏輯推理與思維鏈等方面能力開始涌現(xiàn)。ChatGPT可以完成許多相對復(fù)雜的語言任務(wù),可以完成包括自動文本生成、自動問答、多輪對話等,并且能夠主動承認(rèn)錯誤,質(zhì)疑不正確的問題等。此外,ChatGPT還能編寫和調(diào)試計算機(jī)程序。目前ChatGPT的應(yīng)用主要包括:1)聊天機(jī)器人,可以使用ChatGPT來自由對話,使機(jī)器人能夠向用戶做出自然的回應(yīng);2)編寫和調(diào)試計算機(jī)程序;3)文學(xué)、媒體相關(guān)領(lǐng)域的創(chuàng)作,包括創(chuàng)作音樂、電視劇、童話故事、詩歌和歌詞等;4)教育、考試、回答測試問題;5)通過API結(jié)構(gòu)集成到其他應(yīng)用中,目前GPT已經(jīng)集成到了Bing搜索和Office套件。ChatGPT在推出后僅兩個月活躍用戶就達(dá)到了一個億,成為了史上用戶增長速度最快的消費(fèi)級應(yīng)用程序?;谌斯し答伒膹?qiáng)化學(xué)習(xí)(ReinforcementLearningfromHumanFeedback,RLHF)的引入,是ChatGPT相較于GPT-3在訓(xùn)練策略上最重要的變化。關(guān)于強(qiáng)化學(xué)習(xí),其應(yīng)用的經(jīng)典案例就是圍棋人工智能機(jī)器人AlphaGO。AlphaGo在應(yīng)用了強(qiáng)化學(xué)習(xí)進(jìn)行無數(shù)次自我對弈訓(xùn)練后,其能力在短時間內(nèi)得到了迅速的提升,2017年戰(zhàn)勝了當(dāng)時圍棋世界排名第一的柯潔,而強(qiáng)化學(xué)習(xí)也因此為大眾所認(rèn)知。強(qiáng)化學(xué)習(xí)的原理,就是讓模型不斷與環(huán)境進(jìn)行交互,外部環(huán)境對每一次的交互進(jìn)行反饋,通過獎勵或者懲罰,讓模型不斷調(diào)整自己的行動策略,并且逐漸找到最優(yōu)的行動策略,從而達(dá)到最大化獎勵的目標(biāo)。比如用強(qiáng)化學(xué)習(xí)訓(xùn)練AlphaGo下圍棋時,會在AlphaGo的每一步行動之后,都給予AlphaGo一個明確的反饋,是“好”還是“不好”,讓模型不斷優(yōu)化對弈策略(參數(shù)調(diào)整),最終讓棋子占領(lǐng)棋面上更多的區(qū)域并取得勝利。而在ChatGPT訓(xùn)練過程分為三步,其中最重要的部分即用人工標(biāo)記的方式,訓(xùn)練出一個專門評價模型,再用這個評價模型來訓(xùn)練GPT模型,通過對其輸出的內(nèi)容打分,進(jìn)而實現(xiàn)模型的訓(xùn)練與迭代。具體而言:第一步:預(yù)訓(xùn)練初始模型。在GPT3.5的基礎(chǔ)上,使用有監(jiān)督學(xué)習(xí)方式,微調(diào)訓(xùn)練出一個初始模型。訓(xùn)練數(shù)據(jù)一部分來自使OpenAI公司采集了GPT-3在公測期間用戶提供的對話數(shù)據(jù),另一部分來自O(shè)penAI雇傭的40名標(biāo)注師(labeler),由標(biāo)注師分別扮演用戶和AI,人工生成人工的多輪對話數(shù)據(jù)。預(yù)訓(xùn)練的數(shù)據(jù)量不大,但數(shù)據(jù)的質(zhì)量和多樣性很高。第二步:訓(xùn)練獎勵模型。獎勵模型的訓(xùn)練是ChatGPT的訓(xùn)練流程中最重要的一步,具體方法就是,隨機(jī)抽取一大批提示(prompt),輸入到第一階段產(chǎn)生的模型中,模型會隨機(jī)生成K(4≤K≤9)個輸出,然后以兩兩配的形式對向標(biāo)注師展示輸出結(jié)果,而標(biāo)注師則在兩個結(jié)果中選擇效果更好的,通過人工打分排序的方式,對于符合人類價值觀的內(nèi)容給予較高的分?jǐn)?shù),而對人類不喜歡的內(nèi)容給予較低的分?jǐn)?shù),最終實現(xiàn)對獎勵模型的訓(xùn)練。第三步:使用強(qiáng)化學(xué)習(xí)對語言模型進(jìn)行訓(xùn)練。這一階段開始應(yīng)用海量的無標(biāo)注的數(shù)據(jù),所用數(shù)據(jù)來自于抓取的網(wǎng)頁、論壇、百科上的海量數(shù)據(jù)。將海量數(shù)據(jù)輸入到預(yù)訓(xùn)練的模型中,通過第二步訓(xùn)練得到的獎勵模型來對輸出的內(nèi)容進(jìn)行打分,結(jié)合近端策略優(yōu)化(ProximalPolicyOptimization,PPO)算法,鼓勵模型輸出更高質(zhì)量的內(nèi)容,從而實現(xiàn)語言模型的訓(xùn)練。在展現(xiàn)強(qiáng)大能力的同時,ChatGPT仍存在一定的局限性,主要受限于標(biāo)注團(tuán)隊的國籍分布、訓(xùn)練數(shù)據(jù)的語種以及訓(xùn)練數(shù)據(jù)的時效性。由于ChatGPT的獎勵模型的訓(xùn)練實際上40名OpenAI雇傭的40名標(biāo)注師對模型輸出結(jié)果進(jìn)行訓(xùn)練而得到的,因此ChatGPT的價值觀是由這40個外包員工的價值觀組合而成,40名外包員工來自美國和東南亞,分布比較集中且人數(shù)較少,因此實際上也會存在其他地區(qū)比較在意的偏見問題。同時ChatGPT訓(xùn)練數(shù)據(jù)96%以上是英文,其它20個語種包括中文,法語,西班牙語等合計不到4%,因此ChatGPT在其他語種上的生成能力要遜色于英文。同時由于ChatGPT訓(xùn)練數(shù)據(jù)只更新到2021年,因此在一些問題的回答上缺乏時效性。2023年3月15日,GPT-4正式發(fā)布,相較于之前版本的GPT模型,GPT-4在各項能力上有了質(zhì)的的突破,除了在推理能力、文本生成能力、對話能力等方面有了大幅提升之外,GPT-4邁出了從語言模型向多模態(tài)模型進(jìn)化的第一步。GPT-4最大的變化即能夠接受圖像的輸入,并且能夠生成文本語言,并且在看圖能力方面有讓人驚喜的表現(xiàn)的。同時GPT-4的各項能力相較于此前版本也有大幅提升,包括可以處理超過25000字長文本,以及寫作能力的大幅提升,能夠編歌曲、寫劇本、學(xué)習(xí)用戶寫作風(fēng)格,同時包括GRE、SAT等考試能力也有大幅提升。在基于機(jī)器學(xué)習(xí)模型設(shè)計的各項基準(zhǔn)上評估GPT-4,GPT-4大大優(yōu)于現(xiàn)有的大型語言模型,以及大多數(shù)SOTA模型。除了英語外,GPT-4在包括拉脫維亞語、威爾士語和斯瓦希里語等26種語言上的性能甚至都優(yōu)于現(xiàn)有語言模型的英語性能?;仡橤PT模型演進(jìn)的5個重要階段,從2018年5月發(fā)布到GPT初代版本,到2023年3月的GPT-4,僅5年時間GPT模型的性能就產(chǎn)生了質(zhì)的飛躍。在能力快速提升的背后,可以看到一方面是對訓(xùn)練方法的持續(xù)迭代,從GPT-1的半監(jiān)督式學(xué)習(xí),到GPT-2舍棄了微調(diào)階段,再到GPT-3的In-context學(xué)習(xí)和海量數(shù)據(jù),以及引入了基于人工反饋的強(qiáng)化學(xué)習(xí)之后,最終進(jìn)化到了ChatGpt和GPT-4,另一方面,是OpenAI公司以及微軟對研發(fā)和算力的高投入,通過“大力出奇跡”的方式,支撐了模型參數(shù)和訓(xùn)練數(shù)據(jù)的快速膨脹。6未來展望:多模態(tài)和AIGC近年來包括Google,微軟等海外大廠均已經(jīng)在大模型上展開布局,未來隨著行業(yè)競爭門檻的迅速提升,頭部廠商在算力資源、數(shù)據(jù)積累等方面的競爭優(yōu)勢將進(jìn)一步凸顯。在語言大模型方面OpenAI公司的GPT模型已經(jīng)處于絕對領(lǐng)先地位,Google、Facebook等國外大廠緊隨其后。目前主流大語言模型的參數(shù)量已經(jīng)達(dá)到千萬級,同時背后對算力的需求也非常巨大,包括GPT-3的單次訓(xùn)練費(fèi)用超過460萬美元,總訓(xùn)練費(fèi)用超過1200萬美元,未來在大模型上的“軍備競賽”也將讓大模型成為了只有巨頭才能參與的游戲。雖然模型的基本結(jié)構(gòu)都已經(jīng)通過論文等方式公開,但是各廠商在工程實踐方面仍存在明顯的差異,包括在數(shù)據(jù)的清洗、標(biāo)注以及模型的微調(diào)、訓(xùn)練方法等方面仍需要長時間的研發(fā)投入和經(jīng)驗積累。未來可預(yù)見到,這一領(lǐng)域頭部廠商的先發(fā)優(yōu)勢和馬太效應(yīng)會體現(xiàn)的非常明顯,特別是ChatGPT作為第一個“出圈”的大語言模型,目前每天有數(shù)以億計的用戶在使用GPT模型,隨著使用次數(shù)越來越多,更多的數(shù)據(jù)會被收集來不斷迭代系統(tǒng)和算法,而GPT模型的護(hù)城河也會越來越寬。全球范圍來看,大模型的應(yīng)用已經(jīng)不局限于NLP領(lǐng)域,計算機(jī)視覺、多模態(tài)等領(lǐng)域的大模型開始涌現(xiàn)。目前大模型包括三類:1)自然語言處理(NLP)模型,如OpenAI的ChatGPT模型,Google的LaMDA;2)計算機(jī)視覺(CV)模型,如微軟的Florence;3)多模態(tài)模型,如OpenAI的GPT-4模型,Google的Parti。國內(nèi)互聯(lián)網(wǎng)大廠包括百度、字節(jié)、阿里等廠商均推出了自己的大模型或披露了相關(guān)計劃??傮w來看,和海外頭部廠商相比,國內(nèi)大模型在工程實踐上尚存在一到兩年以上的差距。1)百度:3月16日百度文心一言多模態(tài)大模型正式發(fā)布,具備文學(xué)創(chuàng)作、商業(yè)文案創(chuàng)作、數(shù)理邏輯推算、中文理解和多模態(tài)生成五個領(lǐng)域能力;2)阿里:2021年,阿里推出了最大規(guī)模的中文多模態(tài)預(yù)訓(xùn)練大模型通義-M6,并以該模型為底座,覆蓋NLP、多模態(tài)、計算機(jī)視覺等領(lǐng)域,目前該模型系列已在超過200個場景中提供服務(wù);3)字節(jié):2022年,字節(jié)與清華聯(lián)合提出的DA-Transformer大模型,超越了自回歸Transformer的性能;4)騰訊:2022年,騰訊發(fā)布了混元AI萬億大模型,采用騰訊太極機(jī)器學(xué)習(xí)平臺自研的訓(xùn)練框架AngelPTM。此外包括360、科大訊飛等廠商也披露了相關(guān)產(chǎn)品計劃。AIGC是人工智能的重要演進(jìn)方向,而生成算法、大模型與多模態(tài)三大底層技術(shù)的突破成為了AIGC的質(zhì)變的關(guān)鍵。從2022年以DALL-E2、StableDiffusion為代表的AI作畫系統(tǒng),到2023年以ChatGPT為代表的對話機(jī)器人的出現(xiàn),預(yù)示著AIGC底層技術(shù)的逐漸成熟,從底層技術(shù)來看,主要來自于三個方面的技術(shù)突破:1)生成算法:包括生成對抗網(wǎng)絡(luò)(GAN)、變分自編碼器(VAE)、Transformer模型、擴(kuò)散模型(DiffusionModel)等不斷涌現(xiàn)生成算法。2014年出現(xiàn)生成對抗網(wǎng)絡(luò)GAN(GenerativeAdverserialNetwork)是AIGC早期的主流框架,但同時GAN一直存在對輸出結(jié)果控制力弱,難以生成新圖像等缺點。隨后擴(kuò)散模型開始出現(xiàn),在提升圖像生成效果的同時,大幅降低了計算量和計算時間,讓文本生成圖像能力走向成熟,并逐漸取代GAN成為當(dāng)前主流的圖像生成器,包括DALL-E2、StableDiffusion等AI作畫系統(tǒng)均是基于擴(kuò)散模型所構(gòu)建。2)大模型:大模型發(fā)展的關(guān)鍵節(jié)點是2017年出現(xiàn)的基于Attention注意力機(jī)制的Transformer模型,隨后Transformer迅速成為了NLP領(lǐng)域的主流框架,并且于2018年發(fā)布的GPT以及BERT模型均是基于Transformer所構(gòu)建。不僅僅
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 洞見趨勢 解碼未來福利-2023年企業(yè)福利策略和管理趨勢調(diào)研報告
- 防震知識課件教學(xué)課件
- 設(shè)計營銷課件教學(xué)課件
- 股份置換協(xié)議書(2篇)
- 南京工業(yè)大學(xué)浦江學(xué)院《稅務(wù)稽查》2022-2023學(xué)年第一學(xué)期期末試卷
- 集控化驗辦公樓施工組織設(shè)計
- 防災(zāi)減災(zāi)說課稿
- 宿淮高速收費(fèi)大棚施工組織設(shè)計
- 《軸對稱》說課稿
- 【初中化學(xué)】化石能源的合理利用課件-2024-2025學(xué)年九年級化學(xué)人教版(2024)上冊
- 廣東電力市場交易基本規(guī)則
- 零售業(yè)財務(wù)管理制度實用文檔
- 【本田轎車燈光系統(tǒng)常見故障分析及排除8200字(論文)】
- 甲苯磺酸瑞馬唑侖(瑞倍寧)的臨床應(yīng)用
- 博物館安全管理規(guī)章制度
- 學(xué)習(xí)、弘揚(yáng)焦裕祿精神
- 一年級上數(shù)學(xué)一課一練-講講算算|滬教版
- 中國智庫名錄類別索引-政府部門智庫
- 包蟲病防控方案
- GB/T 18513-2022中國主要進(jìn)口木材名稱
- 建筑公司組織關(guān)系架構(gòu)圖
評論
0/150
提交評論