版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1第六章語(yǔ)言模型自然語(yǔ)言處理導(dǎo)論語(yǔ)言模型概述6.1n元語(yǔ)言模型6.2神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型6.3目錄Contents2預(yù)訓(xùn)練語(yǔ)言模型6.4大規(guī)模語(yǔ)言模型6.5語(yǔ)言模型評(píng)價(jià)方法6.6語(yǔ)言模型概述6.1n元語(yǔ)言模型6.2神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型6.3目錄Contents3預(yù)訓(xùn)練語(yǔ)言模型6.4大規(guī)模語(yǔ)言模型6.5語(yǔ)言模型評(píng)價(jià)方法6.66語(yǔ)言模型4語(yǔ)言模型目標(biāo)是建模自然語(yǔ)言的概率分布,在自然語(yǔ)言處理研究中具有重要的作用,是機(jī)器翻譯、語(yǔ)音識(shí)別、輸入法、句法分析等任務(wù)的支撐。語(yǔ)言模型是自然語(yǔ)言處理基礎(chǔ)任務(wù)之一,大量的研究從n元語(yǔ)言模型和神經(jīng)語(yǔ)言模型等不同角度開展了系列工作。由于語(yǔ)言模型可以為自然語(yǔ)言的表示學(xué)習(xí)提供天然的自監(jiān)督訓(xùn)練目標(biāo),近年來(lái),預(yù)訓(xùn)練語(yǔ)言模型做為通用的基于深度神經(jīng)網(wǎng)絡(luò)的自然語(yǔ)言處理算法的基礎(chǔ)工具,受到越來(lái)越多的重視。大規(guī)模的預(yù)訓(xùn)練語(yǔ)言模型對(duì)于提升各類自然語(yǔ)言處理任務(wù)的效果起到了重要作用。6.1語(yǔ)言模型概述5語(yǔ)言模型(LanguageModel,LM)目標(biāo)是構(gòu)建詞序列w1w2...wm
的概率分布P(w1w2...wm),即計(jì)算給定的詞序列w1w2...wm作為一個(gè)句子出現(xiàn)的可能性大小。詞匯表V上的語(yǔ)言模型由函數(shù)P(w1w2...wm)表示,對(duì)于任意詞串w1w2...wm∈V+,則有P(w1w2...wm)?0,并且對(duì)于所有詞串,函數(shù)P(w1w2...wm)滿足歸一化條件由于聯(lián)合概率P(w1w2...wm)的參數(shù)量十分巨大,直接計(jì)算P(w1w2...wm)非常困難。如果把w1w2...wm看作一個(gè)變量,那么它具有|V|m
種可能。按照《現(xiàn)代漢語(yǔ)詞典(第七版)》包含7萬(wàn)詞條,句子長(zhǎng)度按照20個(gè)詞計(jì)算,模型參數(shù)量達(dá)到7.9792*1096的天文數(shù)字。6.1語(yǔ)言模型概述6為了減少P(w1w2...wm)模型參數(shù)量,可以利用句子序列通常情況下從左至右的生成過程進(jìn)行分解,使用鏈?zhǔn)椒▌t得到:由此,w1w2...wm的生成過程可以看作單詞逐個(gè)生成的過程。首先生成w1,之后根據(jù)w1
生成w2,再根據(jù)w1
和w2
生成w3,以此類推,根據(jù)前m?1個(gè)單詞生成最后一個(gè)單詞wm
6.1語(yǔ)言模型概述7僅通過上述過程模型的參數(shù)量依然沒有下降,P(wm|w1w2...wm-1)的參數(shù)量依然是天文數(shù)字。然而基于上述轉(zhuǎn)換,我們可以進(jìn)一步的對(duì)模型進(jìn)行簡(jiǎn)化n元語(yǔ)言模型基于分布式表示和神經(jīng)網(wǎng)絡(luò)的語(yǔ)言模型語(yǔ)言模型的訓(xùn)練過程雖然采用的有監(jiān)督方法,但是由于訓(xùn)練目標(biāo)可以通過原始文本直接獲得,從而使得模型的訓(xùn)練僅需要大規(guī)模無(wú)標(biāo)注文本即可。語(yǔ)言模型也成為了典型的自監(jiān)督學(xué)習(xí)(Self-supervisedLearning)任務(wù)。語(yǔ)言模型概述6.1n元語(yǔ)言模型6.2神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型6.3目錄Contents8預(yù)訓(xùn)練語(yǔ)言模型6.4大規(guī)模語(yǔ)言模型6.5語(yǔ)言模型評(píng)價(jià)方法6.66.2n元語(yǔ)言模型9語(yǔ)言模型通常用于反映一個(gè)句子出現(xiàn)的可能性,給定由單詞序列w1w2...wn組成的句子S,可以利用語(yǔ)言的特性,使用鏈?zhǔn)椒ǚ纸鈩t得到:其中,詞wi出現(xiàn)的概率受它前面的i?1個(gè)詞w1w2...wi?1
影響,我們將這i?1個(gè)詞w1w2...wi?1稱之為詞wi
的歷史。如果歷史單詞有i?1個(gè),那么可能的單詞組合就有|V|i?1
種。最簡(jiǎn)單的根據(jù)語(yǔ)料庫(kù)對(duì)P(wi|w1w2...wi?1)進(jìn)行估計(jì)的方法是基于詞序列在語(yǔ)料中出現(xiàn)次數(shù)(也稱為頻次)的方法:6.2n元語(yǔ)言模型10隨著歷史單詞數(shù)量增多,絕大多數(shù)的歷史并不會(huì)在訓(xùn)練數(shù)據(jù)中出現(xiàn),這也意味著P(wi|w1w2...wi?1)就很可能為0,使得概率估計(jì)失去了意義。為了解決上述問題,可以進(jìn)一步假設(shè)任意單詞wi出現(xiàn)的概率只與過去n?1個(gè)詞相關(guān)滿足上述條件的模型被稱為n元語(yǔ)法或n元文法(n-gram)模型。其中n-gram表示n個(gè)連續(xù)單詞構(gòu)成的單元,也被稱為n元語(yǔ)法單元。6.2n元語(yǔ)言模型11隨著歷史單詞數(shù)量增多,絕大多數(shù)的歷史并不會(huì)在訓(xùn)練數(shù)據(jù)中出現(xiàn),這也意味著P(wi|w1w2...wi?1)就很可能為0,使得概率估計(jì)失去了意義。為了解決上述問題,可以進(jìn)一步假設(shè)任意單詞wi出現(xiàn)的概率只與過去n?1個(gè)詞相關(guān)滿足上述條件的模型被稱為n元語(yǔ)法或n元文法(n-gram)模型。其中n-gram表示n個(gè)連續(xù)單詞構(gòu)成的單元,也被稱為n元語(yǔ)法單元。以二元語(yǔ)法為例,一個(gè)詞的概率只依賴于前一個(gè)詞,則句子S的出現(xiàn)概率可以表示為:6.2n元語(yǔ)言模型12盡管n元語(yǔ)言模型能緩解句子概率為0的問題,但語(yǔ)言是由人和時(shí)代創(chuàng)造的,具備無(wú)窮的可能性,再龐大的訓(xùn)練語(yǔ)料也無(wú)法覆蓋所有的n-gram,而訓(xùn)練語(yǔ)料中的零頻率并不代表零概率。因此,需要使用平滑技術(shù)(Smoothing)來(lái)解決這一問題平滑是指為了產(chǎn)生更合理的概率,對(duì)最大似然估計(jì)進(jìn)行調(diào)整的一類方法,也稱為數(shù)據(jù)平滑(DataSmoothing)。平滑處理的基本思想是提高低概率,降低高概率,使整體的概率分布趨于均勻。6.2.1加法平滑13加法平滑(AdditiveSmoothing)是實(shí)際運(yùn)用中最常用的平滑技術(shù)之一。其思想是假設(shè)事件出現(xiàn)的次數(shù)比實(shí)際出現(xiàn)的次數(shù)多δ次。以二元語(yǔ)法模型為例,其平滑后的條件概率為:其中0?δ?1,V是訓(xùn)練語(yǔ)料中所有單詞的集合,C(wi)表示單詞wi
出現(xiàn)的次數(shù),C(wi?1wi)代表詞wi?1
和詞wi
同時(shí)出現(xiàn)次數(shù)??梢赃M(jìn)一步拓展到n元語(yǔ)言模型上:當(dāng)δ=1時(shí),該方法又稱為加一平滑。6.2.2古德-圖靈估計(jì)法14古德-圖靈估計(jì)法是1953年由I.J.Good基于圖靈(Turning)的方法提出的,是多種平滑技術(shù)的核心。該方法基于的核心思想是將一部分已知事件的概率分配給未見的事件。對(duì)于n元語(yǔ)言模型來(lái)說,降低出現(xiàn)次數(shù)多的n-gram,同時(shí)將剩余概率分配給未出現(xiàn)的n-gram。具體來(lái)說,對(duì)于任意一個(gè)出現(xiàn)了r次的n元語(yǔ)法,按照如下公式修改為出現(xiàn)了r*次:其中,nr
代表有nr
個(gè)n-gram在訓(xùn)練語(yǔ)料中出現(xiàn)了r次。對(duì)其進(jìn)行歸一化后,即可得到出現(xiàn)r次的n元語(yǔ)法概率:對(duì)于r=0的未見事件,有n1/N的概率余量可以用于分配6.2.2古德-圖靈估計(jì)法156.2.3Katz平滑16Katz平滑是1987年由S.M.Katz所提出的后備(back-off)平滑方法,其在古德-圖靈估計(jì)法的基礎(chǔ)上引入了高階模型與低階模型的結(jié)合。Katz平滑法的基本思想是將因減值獲得的概率余量根據(jù)低階模型的分布分配給未見事件,而不是進(jìn)行平均分配,從而令低概率事件有更合理的概率分布。Katz平滑法的做法是,當(dāng)事件在樣本中出現(xiàn)的頻次大于某一數(shù)值k時(shí),運(yùn)用最大似然估計(jì)法,通過減值來(lái)估計(jì)其概率值;而當(dāng)事件的頻次小于k值時(shí),使用低階的語(yǔ)法模型作為代替高階語(yǔ)法模型的后備。6.2.3Katz平滑17Katz平滑是1987年由S.M.Katz所提出的后備(back-off)平滑方法,其在古德-圖靈估計(jì)法的基礎(chǔ)上引入了高階模型與低階模型的結(jié)合。Katz平滑法的基本思想是將因減值獲得的概率余量根據(jù)低階模型的分布分配給未見事件,而不是進(jìn)行平均分配,從而令低概率事件有更合理的概率分布。Katz平滑法的做法是,當(dāng)事件在樣本中出現(xiàn)的頻次大于某一數(shù)值k時(shí),運(yùn)用最大似然估計(jì)法,通過減值來(lái)估計(jì)其概率值;而當(dāng)事件的頻次小于k值時(shí),使用低階的語(yǔ)法模型作為代替高階語(yǔ)法模型的后備。所有具有非零計(jì)數(shù)r的二元語(yǔ)法都根據(jù)折扣率dr
被減值了。從非零計(jì)數(shù)中減去的計(jì)數(shù)量,根據(jù)低一階的分布,即一元語(yǔ)法模型,分配給了計(jì)數(shù)為零的二元語(yǔ)法。6.2.3Katz平滑18根據(jù)修正的計(jì)數(shù)計(jì)算概率Pkatz(wi|wi?1),需要按照如下公式進(jìn)行歸一化:在二元語(yǔ)法的基礎(chǔ)上可以將Katz平滑算法拓展到高階n元語(yǔ)法模型6.2.4平滑方法總結(jié)19除了我們?cè)谏鲜稣鹿?jié)介紹的平滑算法之外,研究人員們提出了有很多針對(duì)語(yǔ)言模型的平滑算法,包括JelinekMercer平滑算法、Witten-Bell平滑算法、Kneser-Ney平滑算法等。這些方法的核心思想大都可以歸納為:如果n-gram存在則使用其本身計(jì)數(shù),如果不存在再退后到低階分布??梢杂萌缦鹿奖硎荆涸诖嘶A(chǔ)上,一些平滑算法采用高階和低階n元語(yǔ)法模型的線性插值的方法,融合高階和低階語(yǔ)法的估計(jì),如以下公式所示:語(yǔ)言模型概述6.1n元語(yǔ)言模型6.2神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型6.3目錄Contents20預(yù)訓(xùn)練語(yǔ)言模型6.4大規(guī)模語(yǔ)言模型6.5語(yǔ)言模型評(píng)價(jià)方法6.66.3神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型21隨著深度神經(jīng)網(wǎng)絡(luò)的發(fā)展,利用神經(jīng)網(wǎng)絡(luò)的語(yǔ)言模型展現(xiàn)出了比n元語(yǔ)言模型更強(qiáng)學(xué)習(xí)能力。神經(jīng)網(wǎng)絡(luò)先進(jìn)的結(jié)構(gòu)使其能有效的建模長(zhǎng)距離上下文依賴,以詞向量(WordEmbedding)為代表的分布式表示的語(yǔ)言模型深刻地影響了自然語(yǔ)言處理領(lǐng)域的其他模型與應(yīng)用的變革。n元語(yǔ)言模型幾乎已經(jīng)被神經(jīng)網(wǎng)絡(luò)的語(yǔ)言模型所替代。6.3.1前饋神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型22給定歷史單詞序列w1w2...wi-1,神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型的目標(biāo)是根據(jù)歷史單詞對(duì)下一時(shí)刻詞進(jìn)行預(yù)測(cè)。與傳統(tǒng)n元語(yǔ)言模型類似,前饋神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型沿用了馬爾可夫假設(shè),即下一時(shí)刻的詞只與過去n-1個(gè)詞相關(guān),其目標(biāo)可以表示為輸入歷史單詞wi-n+1...wi-1,輸出詞wi在詞表V上的概率分布,即估計(jì)條件概率輸入層、隱藏層和輸出層6.3.1前饋神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型23歷史詞序列首先經(jīng)過輸入層被轉(zhuǎn)換為離散的獨(dú)熱編碼,隨后每個(gè)詞的獨(dú)熱編碼被映射為一個(gè)低維稠密的實(shí)數(shù)向量;隱藏層對(duì)詞向量層的輸出進(jìn)行編碼,進(jìn)行多次線性變換與非線性映射;隱藏層向量經(jīng)過輸出層被映射到詞表空間,再利用Softmax函數(shù)得到其詞表上的概率分布。vi?1∈Rd
代表詞wi?1
所對(duì)應(yīng)的詞向量輸入層隱藏層輸出層6.3.2循環(huán)神經(jīng)網(wǎng)絡(luò)24在實(shí)際場(chǎng)景下,固定長(zhǎng)度的歷史詞并不是總能提供充分的信息,對(duì)于信息較為復(fù)雜的長(zhǎng)文本,模型需要依賴較長(zhǎng)的歷史才能做出準(zhǔn)確預(yù)測(cè)。例如:與
小明
一起旅行游玩總是充滿了驚喜,你永遠(yuǎn)不會(huì)知道
他
將要帶你到哪里去。循環(huán)神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork,RNN)常用于處理序列結(jié)構(gòu)的數(shù)據(jù),其特點(diǎn)是上一時(shí)刻的模型隱藏層狀態(tài)會(huì)作為當(dāng)前時(shí)刻模型的輸入,每一時(shí)刻的隱藏層狀態(tài)都會(huì)維護(hù)所有過去詞的信息。循環(huán)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型不再基于馬爾可夫假設(shè),每個(gè)時(shí)刻的單詞都會(huì)考慮到過去所有時(shí)刻的單詞,詞之間的依賴通過隱藏層狀態(tài)來(lái)獲取,這剛好解決了語(yǔ)言模型需要?jiǎng)討B(tài)依賴的問題。6.3.2循環(huán)神經(jīng)網(wǎng)絡(luò)25循環(huán)神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型由三部分組成:輸入層、隱藏層和輸出層語(yǔ)言模型概述6.1n元語(yǔ)言模型6.2神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型6.3目錄Contents26預(yù)訓(xùn)練語(yǔ)言模型6.4大規(guī)模語(yǔ)言模型6.5語(yǔ)言模型評(píng)價(jià)方法6.66.4預(yù)訓(xùn)練語(yǔ)言模型27受到計(jì)算機(jī)視覺領(lǐng)域采用ImageNet對(duì)模型進(jìn)行一次預(yù)選訓(xùn)練,使得模型可以通過海量圖像充分學(xué)習(xí)如何提取特征,然后再根據(jù)任務(wù)目標(biāo)進(jìn)行模型精調(diào)的范式影響,自然語(yǔ)言處理領(lǐng)域基于預(yù)訓(xùn)練語(yǔ)言模型的方法也逐漸成為主流。ELMo為代表的動(dòng)態(tài)詞向量模型開啟了語(yǔ)言模型預(yù)訓(xùn)練的大門,此后以GPT和BERT為代表的基于Transformer的大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型的出現(xiàn),使得自然語(yǔ)言處理全面進(jìn)入了預(yù)訓(xùn)練微調(diào)范式新時(shí)代。將預(yù)訓(xùn)練模型應(yīng)用于下游任務(wù)時(shí),不需要了解太多的任務(wù)細(xì)節(jié),不需要設(shè)計(jì)特定的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),只需要“微調(diào)”預(yù)訓(xùn)練模型,即使用具體任務(wù)的標(biāo)注數(shù)據(jù)在預(yù)訓(xùn)練語(yǔ)言模型上進(jìn)行監(jiān)督訓(xùn)練,就可以取得顯著的性能提升。6.4.1動(dòng)態(tài)詞向量算法ELMo28詞向量主要利用語(yǔ)料庫(kù)中詞之間的共現(xiàn)信息,學(xué)習(xí)詞語(yǔ)的向量表示。因此,根據(jù)給定的語(yǔ)料庫(kù)所學(xué)習(xí)的到的詞向量是恒定不變的,可以認(rèn)為是“靜態(tài)”的,不跟隨上下文發(fā)生變化。然而,自然語(yǔ)言中詞語(yǔ)往往具有多種語(yǔ)義,在不同的上下文或語(yǔ)境下會(huì)具有不同的語(yǔ)義。動(dòng)態(tài)詞向量(DynamicWordEmbedding),也稱為上下文相關(guān)的詞向量(ContextualizedWordEmbedding方法,一個(gè)詞語(yǔ)的向量通過其所在的上下文計(jì)算獲得,跟隨上下文動(dòng)態(tài)變化。6.4.1動(dòng)態(tài)詞向量算法ELMo29圖6.3雙向預(yù)訓(xùn)練語(yǔ)言模型ELMo神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)6.4.1動(dòng)態(tài)詞向量算法ELMo30ELMo使用了兩個(gè)獨(dú)立的編碼器分別對(duì)前向和后向進(jìn)行語(yǔ)言模型建模,在進(jìn)行預(yù)訓(xùn)練時(shí),分別取最高層的正向和反向LSTM輸出預(yù)測(cè)下一時(shí)刻的詞。ELMo算法的編碼層采用了多層雙向LSTM結(jié)構(gòu),通常認(rèn)為,模型低層能捕捉語(yǔ)法等基礎(chǔ)特征,高層能捕捉語(yǔ)義語(yǔ)境等更深層次的語(yǔ)言特征,雙向的LSTM能保證在編碼過程中每個(gè)位置都能獲得該位置過去和未來(lái)位置的詞信息。對(duì)于詞wi來(lái)說,一個(gè)L層的EMLo模型會(huì)產(chǎn)生2L+1個(gè)向量表示:6.4.1動(dòng)態(tài)詞向量算法ELMo31在進(jìn)行下游任務(wù)時(shí),ELMo將Ri中的所有向量整合成一個(gè)向量,整合的方式由任務(wù)而定,最簡(jiǎn)單的情況是直接使用最后一層的表示。因?yàn)槊繉覮STM學(xué)習(xí)到的信息不相同,對(duì)于不同任務(wù)來(lái)說,每層特征的重要性也不盡相同,因此更普遍的做法是根據(jù)任務(wù)所需信息,對(duì)每層的特征進(jìn)行加權(quán)得到詞wi的對(duì)應(yīng)的EMLo向量,其計(jì)算過程可以表示為:γtask
是整體的縮放系數(shù),stask
是每層的權(quán)重系數(shù),反映每一層向量對(duì)于目標(biāo)任務(wù)的重要性。
6.4.2生成式預(yù)訓(xùn)練語(yǔ)言模型GPT32OpenAI公司在2018年提出的GPT(GenerativePre-Training)模型是典型的生成式預(yù)訓(xùn)練語(yǔ)言模型之一。GPT-2模型結(jié)構(gòu)如圖6.4所示,由多層Transformer組成的單向語(yǔ)言模型,主要可以分為輸入層,編碼層和輸出層三部分。圖6.4
GPT-2預(yù)訓(xùn)練語(yǔ)言模型結(jié)構(gòu)6.4.2生成式預(yù)訓(xùn)練語(yǔ)言模型GPT33GPT采用生成式預(yù)訓(xùn)練方法,單向意味著模型只能從左到右或從右到左對(duì)文本序列建模,所采用的Transformer結(jié)構(gòu)保證了輸入文本每個(gè)位置只能依賴過去時(shí)刻的信息。給定文本序列w=w1w2...wn,GPT-2首先在輸入層中將其映射為稠密的向量vti是詞wi的詞向量,vpi是詞wi的位置向量,vi為第i個(gè)位置的單詞經(jīng)過模型輸入層(第0層)后的輸出經(jīng)過輸入層編碼,模型得到表示向量序列v=v1...vn,隨后將v送入模型編碼層6.4.2生成式預(yù)訓(xùn)練語(yǔ)言模型GPT34編碼層由L個(gè)Transformer模塊組成,在自注意力機(jī)制的作用下,每一層的每個(gè)表示向量都會(huì)包含之前位置表示向量的信息,使每個(gè)表示向量都具備豐富的上下文信息,并且經(jīng)過多層解碼后,GPT-2能得到每個(gè)單詞層次化的組合式表示,其計(jì)算過程表示如下:GPT-2模型的輸出層基于最后一層的表示h(L),預(yù)測(cè)每個(gè)位置上的條件概率,其計(jì)算過程可以表示為:?jiǎn)蜗蛘Z(yǔ)言模型}是按照閱讀順序輸入文本序列w,用常規(guī)語(yǔ)言模型目標(biāo)優(yōu)化w的最大似然估計(jì),使之能根據(jù)輸入歷史序列對(duì)當(dāng)前詞能做出準(zhǔn)確的預(yù)測(cè):6.4.2生成式預(yù)訓(xùn)練語(yǔ)言模型GPT35通過無(wú)監(jiān)督語(yǔ)言模型預(yù)訓(xùn)練,使得GPT模型具備了一定的通用語(yǔ)義表示能力。根據(jù)下游任務(wù)精調(diào)(Fine-tuning)的目的是在通用語(yǔ)義表示基礎(chǔ)上,根據(jù)下游任務(wù)的特性進(jìn)行適配。下游任務(wù)通常需要利用有標(biāo)注數(shù)據(jù)集進(jìn)行訓(xùn)練,數(shù)據(jù)集合使用D進(jìn)行表示,每個(gè)樣例輸入長(zhǎng)度為n的文本序列x=x1x2...xn和對(duì)應(yīng)的標(biāo)簽y構(gòu)成。首先將文本序列x輸入GPT模型,獲得最后一層的最后一個(gè)詞所對(duì)應(yīng)的隱藏層輸出hn(L),在此基礎(chǔ)上通過全連接層變換結(jié)合Softmax函數(shù),得到標(biāo)簽預(yù)測(cè)結(jié)果。通過對(duì)整個(gè)標(biāo)注數(shù)據(jù)集D優(yōu)化如下?lián)p失函數(shù)精調(diào)下游任務(wù):6.4.2生成式預(yù)訓(xùn)練語(yǔ)言模型GPT36下游任務(wù)在精調(diào)過程中,針對(duì)任務(wù)目標(biāo)進(jìn)行優(yōu)化,很容易使得模型對(duì)預(yù)訓(xùn)練階段所學(xué)習(xí)到的通用語(yǔ)義知識(shí)表示遺忘,從而損失模型的通用性和泛化能力,造成災(zāi)難性遺忘(CatastrophicForgetting)問題。通常會(huì)采用混合預(yù)訓(xùn)練任務(wù)損失和下游精調(diào)損失的方法來(lái)緩解上述問題。在實(shí)際應(yīng)用中,通常采用如下公式進(jìn)行下游任務(wù)精調(diào):6.4.3掩碼預(yù)訓(xùn)練語(yǔ)言模型BERT372018年Devlin等人提出了掩碼預(yù)訓(xùn)練語(yǔ)言模型BERT(BidirectionalEncoderRepresentationfromTransformers)。BERT利用掩碼機(jī)制構(gòu)造了基于上下文預(yù)測(cè)中間詞的預(yù)訓(xùn)練任務(wù),相較于傳統(tǒng)的語(yǔ)言模型建模方法,BERT能進(jìn)一步挖掘上下文所帶來(lái)的豐富語(yǔ)義。圖6.5掩碼預(yù)訓(xùn)練語(yǔ)言模型BERT神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)6.4.3掩碼預(yù)訓(xùn)練語(yǔ)言模型BERT38BERT由多層Transformer編碼器組成,這意味著在編碼過程中,每個(gè)位置都能獲得所有位置的信息,而不僅僅是歷史位置的信息。BERT同樣由輸入層,編碼層和輸出層三部分組成。編碼層由多層Transformer編碼器組成。在預(yù)訓(xùn)練時(shí),模型的最后有兩個(gè)輸出層MLM和NSP,分別對(duì)應(yīng)了兩個(gè)不同的預(yù)訓(xùn)練任務(wù):掩碼語(yǔ)言模型(MaskedLanguageModeling,MLM)和下一句預(yù)測(cè)(NextSentencePrediction,NSP)掩碼語(yǔ)言模型的訓(xùn)練對(duì)于輸入形式?jīng)]有要求,可以是一句話也可以一段文本,甚至可以是整個(gè)篇章,但是下一句預(yù)測(cè)則需要輸入為兩個(gè)句子,因此BERT在預(yù)訓(xùn)練階段的輸入形式統(tǒng)一為兩段文字的拼接,這與其他預(yù)訓(xùn)練模型相比有較大區(qū)別。6.4.3掩碼預(yù)訓(xùn)練語(yǔ)言模型BERT39BERT輸入層采用了WordPiece分詞,根據(jù)詞頻,決定是否將一個(gè)完整的詞切分為多個(gè)子詞以緩解OOV問題例如:?jiǎn)卧~highest可以被切分為high和##est兩個(gè)子詞。對(duì)輸入文本進(jìn)行分詞后,BERT的輸入表示由三部分組成:詞嵌入(TokenEmbedding)、段嵌入(SegmentEmbedding)和位置嵌入(PositionEmbedding)。每個(gè)詞的輸入表示v可以表示為:6.4.3掩碼預(yù)訓(xùn)練語(yǔ)言模型BERT40詞嵌入用來(lái)將詞轉(zhuǎn)換為實(shí)值向量表示。完成分詞后,切分完的子詞通過詞嵌入矩陣轉(zhuǎn)化為詞嵌入表示,假設(shè)子詞對(duì)應(yīng)的獨(dú)熱向量表示為et
,其對(duì)應(yīng)的詞嵌入vt$:段嵌入用于區(qū)分不同詞所屬的段落(Segment),同一個(gè)段落中所有詞的段嵌入相同。每個(gè)段落有其特有的段編碼(SegmentEncoding),段編碼從0開始計(jì)數(shù)。位置嵌入用于表示不同詞的絕對(duì)位置。將輸入序列中每個(gè)詞從左到右編號(hào)后,每個(gè)詞都獲得位置獨(dú)熱編碼ep,通過可訓(xùn)練的位置嵌入矩陣Wp即可得到位置向量vp:6.4.3掩碼預(yù)訓(xùn)練語(yǔ)言模型BERT41BERT的編碼層采用多層Transformer結(jié)構(gòu),使用L表示所采用的層數(shù),H表示每層的隱藏單元數(shù),A是指自注意力頭數(shù)量。在文獻(xiàn)[29]給出了兩種不同的參數(shù)設(shè)置,BERTBASE使用L=12,H=768,A=12,總參數(shù)量為110M,BERTLARGE使用L=24,H=1024,A=16,總參數(shù)量為340M。需要注意的是,與GPT中Transformer結(jié)構(gòu)所采用的約束自注意力(ConstrainedSelf-Attention)僅關(guān)注當(dāng)前單元左側(cè)上下文不同,BERT采用的Transformer結(jié)構(gòu)使用了雙向多頭自注意機(jī)制,不僅關(guān)注當(dāng)前單元左側(cè)上下文情況,也會(huì)關(guān)注右側(cè)上下文。6.4.3掩碼預(yù)訓(xùn)練語(yǔ)言模型BERT42為了更好的利用上下文信息,讓當(dāng)前時(shí)刻的詞表示同時(shí)編碼“過去”和“未來(lái)”的文本,BERT采用了一種類似于完形填空的任務(wù),即掩碼語(yǔ)言建模。在預(yù)訓(xùn)練時(shí),隨機(jī)將輸入文本的部分單詞掩蓋(Mask),讓模型預(yù)測(cè)被掩蓋的單詞,從而讓模型具備根據(jù)上下文還原被掩蓋的詞的能力。在BERT的預(yù)訓(xùn)練過程中,輸入文本中15%的子詞會(huì)被掩蓋。具體來(lái)說,模型將被掩蓋位置的詞替換為特殊字符“[MASK]”,代表模型需要還原該位置的詞。但在執(zhí)行下游任務(wù)時(shí),[MASK]字符并不會(huì)出現(xiàn),這導(dǎo)致預(yù)訓(xùn)練任務(wù)和下游任務(wù)不一致。因此,在進(jìn)行掩蓋時(shí),并不總是直接將詞替換為[MASK],而是根據(jù)概率從三種操作中選擇一種:(1)80\%的概率替換為[MASK];(2)10\%的概率替換為詞表中任意詞;(3)10\%的概率不進(jìn)行替換。6.4.3掩碼預(yù)訓(xùn)練語(yǔ)言模型BERT43對(duì)于閱讀理解、語(yǔ)言推斷等需要輸入兩段文本的任務(wù)來(lái)說,模型尚不具備判斷兩段文本關(guān)系的能力。因此,為了學(xué)習(xí)到兩段文本間的關(guān)聯(lián),BERT引入了第二個(gè)預(yù)訓(xùn)練任務(wù):下一句預(yù)測(cè)(NSP)。下一句預(yù)測(cè)的任務(wù)目標(biāo)是預(yù)測(cè)兩段文本是否構(gòu)成上下句的關(guān)系。對(duì)于句子A和句子B,若語(yǔ)料中這兩個(gè)句子相鄰,則構(gòu)成正樣本,若不相鄰,則構(gòu)成負(fù)樣本。在預(yù)訓(xùn)練時(shí),一個(gè)給定的句子對(duì),有50%的概率將其中一句替換成來(lái)自其他段落的句子。這樣可以將訓(xùn)練樣本的正負(fù)例比例控制在1:1。6.4.4序列到序列預(yù)訓(xùn)練語(yǔ)言模型BART44自回歸式模型GPT缺乏上下文語(yǔ)境信息,而BERT雖然能利用上下文信息,但其預(yù)訓(xùn)練任務(wù)使其在自然語(yǔ)言生成任務(wù)上表現(xiàn)不佳。BART(BidirectionalandAuto-RegressiveTransformers)兼具上下文語(yǔ)境信息的編碼器和自回歸特性的解碼器,配合上針對(duì)自然語(yǔ)言生成制定的預(yù)訓(xùn)練任務(wù),使其格外契合生成任務(wù)的場(chǎng)景。圖6.6BART的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)6.4.4序列到序列預(yù)訓(xùn)練語(yǔ)言模型BART45BART的預(yù)訓(xùn)練過程采用的是對(duì)含有噪聲的輸入文本進(jìn)行去噪重構(gòu)方法,屬于去噪自編碼器(DenoisingAutoencoder)。BART使用雙向編碼對(duì)引入噪聲的文本進(jìn)行編碼,單向的自回歸解碼器通過自回歸方式順序重構(gòu)原始文本。BART的預(yù)訓(xùn)練任務(wù)主要關(guān)注如何引入噪聲。BART模型使用了五種方式在輸入文本上引入噪音:?jiǎn)卧~掩碼(TokenMasking):隨機(jī)從輸入文本中選擇一些單詞,將其替換為掩碼([MASK])標(biāo)記,類似于BERT。該噪聲需要模型具備預(yù)測(cè)單個(gè)單詞的能力。單詞刪除(TokenDeletion):隨機(jī)從輸入文本中刪除一部分單詞。該噪聲除了需要模型預(yù)測(cè)單個(gè)單詞的能力,還需要模型能定位缺失單詞的位置。文本填充(TextInfilling):隨機(jī)將輸入文本中多處連續(xù)的單詞(稱作文本片段)替換為一個(gè)掩碼標(biāo)記。文本片段的長(zhǎng)度服λ=3的泊松分布。當(dāng)文本片段長(zhǎng)度為0時(shí),相當(dāng)于插入一個(gè)掩碼標(biāo)記。該噪音需要模型能識(shí)別一個(gè)文本片段有多長(zhǎng),并具備預(yù)測(cè)缺失片段的能力。句子排列變換(SentencePermutation):對(duì)于一個(gè)完整的句子,根據(jù)句號(hào)將其分割為多個(gè)子句,隨機(jī)打亂子句的順序。該噪音需要模型能一定程度上理解輸入文本的語(yǔ)義,具備推理前后句關(guān)系的能力。文檔旋轉(zhuǎn)變換(DocumentRotation):隨機(jī)選擇輸入文本中的一個(gè)單詞,以該單詞作為文檔的開頭,并旋轉(zhuǎn)文檔。該噪音需要模型具備找到原始文本開頭的能力。6.4.4序列到序列預(yù)訓(xùn)練語(yǔ)言模型BART46圖6.7BART各類型加噪方式示例6.4.4序列到序列預(yù)訓(xùn)練語(yǔ)言模型BART47BART預(yù)訓(xùn)練模型具備文本表示和生成能力,因此不僅適用于文本理解任務(wù),也適用于文本生成任務(wù),但是用于不同類型任務(wù)時(shí),其精調(diào)方式有所不同。對(duì)于序列分類任務(wù),BART模型的編碼器和解碼器的輸入相同,但是將解碼器最終時(shí)刻的隱藏層狀態(tài)作為輸入文本的語(yǔ)義向量表示,并利用線性分類器進(jìn)行標(biāo)簽預(yù)測(cè)。利用標(biāo)注數(shù)據(jù)和模型輸出結(jié)果對(duì)模型參數(shù)進(jìn)行調(diào)整。整個(gè)過程與BERT模型類似,在句子末尾添加特殊標(biāo)記,利用該位置所對(duì)應(yīng)的隱藏層狀態(tài)表示文本。對(duì)于生成式的任務(wù),比如生成式文本摘要(AbstractiveSummarization)、生成式問答(AbstractiveQuestionAnswering)等任務(wù),精調(diào)時(shí)模型輸入為任務(wù)所給定的輸入文本,解碼器所產(chǎn)生的文本與任務(wù)的目標(biāo)文本構(gòu)成學(xué)習(xí)目標(biāo)。對(duì)于機(jī)器翻譯任務(wù),由于其輸入文本和輸出文本是兩種不同的語(yǔ)言,使用的不同詞匯集合,因此不能采用與生成式任務(wù)相同的方法。為了解決上述問題,研究人員們提出了將BART模型的輸入層前增加小型Transformer編碼器,將源語(yǔ)言文本映射到目標(biāo)語(yǔ)言的輸入表示空間。同時(shí),為了解決兩段模型訓(xùn)練過程不匹配的問題,采取分階段的訓(xùn)練方法。6.4.5預(yù)訓(xùn)練語(yǔ)言模型的應(yīng)用48在預(yù)訓(xùn)練階段,大規(guī)模的數(shù)據(jù)使預(yù)訓(xùn)練語(yǔ)言模型有效地學(xué)習(xí)到了語(yǔ)言的通用語(yǔ)義表示,微調(diào)(Fine-tuning)則是利用預(yù)訓(xùn)練語(yǔ)言模型的主要范式,其目的是基于學(xué)習(xí)到的通用表示,針對(duì)目標(biāo)領(lǐng)域的特性對(duì)模型進(jìn)行調(diào)整,使其更適合下游任務(wù)。相較于深入了解下游任務(wù)的特有知識(shí),為其精心設(shè)計(jì)特別的模型,預(yù)訓(xùn)練模型只用轉(zhuǎn)換下游任務(wù)的輸入輸出形式后進(jìn)行微調(diào),即可獲得相當(dāng)有競(jìng)爭(zhēng)力的性能。6.4.5預(yù)訓(xùn)練語(yǔ)言模型的應(yīng)用49單句文本分類是自然語(yǔ)言處理中最為常見任務(wù)之一,其目的是判斷一段文本所屬的類別。例如:判斷一段電影評(píng)價(jià)的情感傾向是正面還是負(fù)面,判斷一篇新聞所屬的類別。使用BERT進(jìn)行單句文本分類任務(wù)時(shí),對(duì)于將要進(jìn)行單句文本分類的句子,BERT首先使用WordPiece進(jìn)行分詞,得到分詞后的句子w1w2...wn,分別添加特殊字符[CLS]和[SEP]到句首和句尾,再經(jīng)過輸入層將其轉(zhuǎn)換為BERT編碼層所需的輸入表示,其過程可以表述如下:隨后,輸入表示進(jìn)入編碼層,經(jīng)過多層Transformer編碼,每個(gè)位置的表示都通過自注意力機(jī)制進(jìn)行充分交互,在最后一層得到具備豐富上下文信息的表示h。和預(yù)訓(xùn)練階段時(shí)使用[CLS]進(jìn)行NSP任務(wù)類似,在進(jìn)行文本分類時(shí),模型使用[CLS]位置的隱藏層表示進(jìn)行預(yù)測(cè)。6.4.5預(yù)訓(xùn)練語(yǔ)言模型的應(yīng)用50句子對(duì)分類需要預(yù)測(cè)一對(duì)有關(guān)聯(lián)的句子的類別例如:判斷一個(gè)句子的意思是否蘊(yùn)含在另一個(gè)句子之中。句子對(duì)分類與單句分類的區(qū)別在于處理的輸入不同,BERT處理這兩個(gè)任務(wù)時(shí),也主要在輸入上有所區(qū)別。對(duì)于分詞后的兩個(gè)句子和BERT使用[SEP]作為分隔符,將兩個(gè)句子拼接到一起,在輸入層轉(zhuǎn)換為輸入表示。6.4.5預(yù)訓(xùn)練語(yǔ)言模型的應(yīng)用51序列標(biāo)注任務(wù)需要解決的是字符級(jí)別的分類問題,其應(yīng)用范圍非常廣泛,可用于分詞,詞性標(biāo)注和命名實(shí)體識(shí)別等自然語(yǔ)言處理基礎(chǔ)任務(wù)。以命名實(shí)體識(shí)別為例,在用序列標(biāo)注的形式完成該任務(wù)時(shí),需要對(duì)輸入文本中的每一個(gè)詞預(yù)測(cè)一個(gè)相應(yīng)的標(biāo)簽,再根據(jù)整個(gè)序列的標(biāo)簽抽取出句子中的實(shí)體詞。傳統(tǒng)的序列標(biāo)注方法通常以詞為輸入的最小粒度,而在使用BERT等預(yù)訓(xùn)練模型時(shí),通常會(huì)使用分詞器將詞分割為更小粒度的子詞,這會(huì)破壞序列標(biāo)注中詞和標(biāo)簽一對(duì)一的關(guān)系。為了處理這種情況,可以讓一個(gè)詞的所有子詞都保持原標(biāo)簽,或者只讓第一個(gè)子詞參與訓(xùn)練,預(yù)測(cè)時(shí)也只考慮第一個(gè)子詞的預(yù)測(cè)結(jié)果。在完成分詞后,將輸入序列送入輸入層轉(zhuǎn)化為詞向量,再將詞向量送入預(yù)訓(xùn)練模型得到最終的隱藏層表示,其過程可以表示如下:在得到了隱藏層表示后,需要使用一個(gè)分類器對(duì)預(yù)測(cè)每個(gè)詞在標(biāo)簽集上的概率分布:語(yǔ)言模型概述6.1n元語(yǔ)言模型6.2神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型6.3目錄Contents52預(yù)訓(xùn)練語(yǔ)言模型6.4大規(guī)模語(yǔ)言模型6.5語(yǔ)言模型評(píng)價(jià)方法6.66.5大規(guī)模語(yǔ)言模型53受到計(jì)算機(jī)視覺領(lǐng)域采用ImageNet對(duì)模型進(jìn)行一次預(yù)選訓(xùn)練,使得模型可以通過海量圖像充分學(xué)習(xí)如何提取特征,然后再根據(jù)任務(wù)目標(biāo)進(jìn)行模型精調(diào)的范式影響,自然語(yǔ)言處理領(lǐng)域基于預(yù)訓(xùn)練語(yǔ)言模型的方法也逐漸成為主流。ELMo為代表的動(dòng)態(tài)詞向量模型開啟了語(yǔ)言模型預(yù)訓(xùn)練的大門,此后以GPT和BERT為代表的基于Transformer的大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型的出現(xiàn),使得自然語(yǔ)言處理全面進(jìn)入了預(yù)訓(xùn)練微調(diào)范式新時(shí)代。將預(yù)訓(xùn)練模型應(yīng)用于下游任務(wù)時(shí),不需要了解太多的任務(wù)細(xì)節(jié),不需要設(shè)計(jì)特定的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),只需要“微調(diào)”預(yù)訓(xùn)練模型,即使用具體任務(wù)的標(biāo)注數(shù)據(jù)在預(yù)訓(xùn)練語(yǔ)言模型上進(jìn)行監(jiān)督訓(xùn)練,就可以取得顯著的性能提升。6.5預(yù)訓(xùn)練語(yǔ)言模型的應(yīng)用54自2020年OpenAI發(fā)布了包含1750億參數(shù)的生成式大規(guī)模預(yù)訓(xùn)練語(yǔ)言模型GPT3(GenerativePre-trainedTransformer3)以來(lái),包含Google、Meta、百度、智源等公司和研究機(jī)構(gòu)都紛紛發(fā)布了包括PaLM、LaMDA、T0等為代表的不同大規(guī)模語(yǔ)言模型(LargeLanguageModel,LLM),也稱大模型。6.5大規(guī)模語(yǔ)言模型55圖6.8大模型時(shí)間線6.5大規(guī)模語(yǔ)言模型562022年11月ChatGPT(ChatGenerativePre-trainedTransformer)自發(fā)布起就引起了極大的關(guān)注,5天內(nèi)注冊(cè)用戶超100萬(wàn),在系統(tǒng)推出僅兩個(gè)月后,月活躍用戶估計(jì)已達(dá)1億,并與Bing深度搜索結(jié)合構(gòu)造了對(duì)話式搜索新范式。ChatGPT整體過程可以分為三個(gè)階段:第一個(gè)階段是基礎(chǔ)大模型訓(xùn)練,該階段主要完成長(zhǎng)距離語(yǔ)言模型的預(yù)訓(xùn)練,通過代碼預(yù)訓(xùn)練使得模型具備代碼生成的能力;第二階段是指令微調(diào)(InstructTuning),通過給定指令進(jìn)行微調(diào)的方式使得模型具備完成各類任務(wù)的能力;第三個(gè)階段是類人對(duì)齊,加入更多人工提示詞,并利用有監(jiān)督微調(diào)并結(jié)合基于強(qiáng)化學(xué)習(xí)的方式,使得模型輸出更貼合人類需求。6.5.1基礎(chǔ)大模型訓(xùn)練57文獻(xiàn)[40]介紹了GPT-3模型的訓(xùn)練過程,包括模型架構(gòu)、訓(xùn)練數(shù)據(jù)組成、訓(xùn)練過程以及評(píng)估方法。由于GPT-3并沒有開放源代碼,根據(jù)論文直接重現(xiàn)整個(gè)訓(xùn)練過程并不容易,因此文獻(xiàn)[307]介紹了根據(jù)GPT-3的描述復(fù)現(xiàn)的過程,并構(gòu)造開源了系統(tǒng)OPT(OpenPre-trainedTransformerLanguageModels)。在模型架構(gòu)方面不論是GPT-3還是OPT所采用的模型結(jié)構(gòu)都與我們?cè)诒菊碌?.4.2節(jié)所介紹的GPT-2模型一樣,都采用由多層Transformer組成的單向語(yǔ)言模型,采用自回歸方式從左到右對(duì)文本序列建模。但是針對(duì)不同的規(guī)模的參數(shù)量要求,其所使用的層數(shù)、自注意力頭數(shù)、嵌入表示維度大小等具體參數(shù)各不相同。OPT給出了8種模型參數(shù)的細(xì)節(jié)。采用AdamW優(yōu)化器進(jìn)行優(yōu)化,其參數(shù)
(β1,β2)
設(shè)置為$(0.9,0.95)$。6.5.1基礎(chǔ)大模型訓(xùn)練586.5.1基礎(chǔ)大模型訓(xùn)練59在預(yù)訓(xùn)練語(yǔ)料集方面,根據(jù)文獻(xiàn)[40]中的報(bào)道,GPT-3中通過主要包含經(jīng)過過濾的CommonCrawl數(shù)據(jù)集、WebText2、Books1、Books2以及英文Wikipedia等數(shù)據(jù)集合。其中CommonCrawl的原始數(shù)據(jù)有45TB,進(jìn)行過濾后僅保留了570GB的數(shù)據(jù)。通過子詞方式對(duì)上述語(yǔ)料進(jìn)行切分,大約一共包含5000億子詞。為了保證模型使用更多高質(zhì)量數(shù)據(jù)進(jìn)行訓(xùn)練,在GPT-3訓(xùn)練時(shí),根據(jù)語(yǔ)料來(lái)源的不同,設(shè)置不同的采樣權(quán)重。在完成3000億子詞訓(xùn)練時(shí),英文Wikipedia的語(yǔ)料平均訓(xùn)練輪數(shù)為3.4次,而CommonCrawl和Books2僅有0.44次和0.43次。由于CommonCrawl數(shù)據(jù)集合的過濾過程繁瑣復(fù)雜,OPT則采用了混合RoBERTa、Pile和PushShift.ioRedit數(shù)據(jù)的方法。由于這些數(shù)據(jù)集合中包含的絕大部分都是英文數(shù)據(jù),因此OPT也從CommonCrawl數(shù)據(jù)集中抽取了部分非英文數(shù)據(jù)加入訓(xùn)練語(yǔ)料。6.5.1基礎(chǔ)大模型訓(xùn)練60由于模型參數(shù)量和所使用的數(shù)據(jù)量都非常巨大,普通的服務(wù)器單機(jī)無(wú)法完成訓(xùn)練過程,因此通常采用分布式架構(gòu)完成訓(xùn)練。GPT-3和OPT中沒有對(duì)這個(gè)部分給出詳細(xì)的描述。文獻(xiàn)[40]針對(duì)GPT-3的訓(xùn)練過程僅介紹了訓(xùn)練過程全部使用NVIDIAV100GPU文獻(xiàn)[307]介紹了OPT使用了992塊NVIDIAA10080GGPU,采用全分片數(shù)據(jù)并行(FullySharedDataParallel以及Megatron-LM張量并行(TensorParallelism,整體訓(xùn)練時(shí)間將近2個(gè)月。BLOOM則公開了更多在硬件和所采用的系統(tǒng)架構(gòu)方面的細(xì)節(jié)。該模型的訓(xùn)練一共花費(fèi)3.5個(gè)月,使用48個(gè)計(jì)算節(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)包含8塊NVIDIAA10080GGPU(總計(jì)384GPU),并且使用4NVLink用于節(jié)點(diǎn)內(nèi)部GPU之間通信。節(jié)點(diǎn)之間采用四個(gè)Omni-Path100Gbps網(wǎng)卡構(gòu)建的增強(qiáng)8維超立方體全局拓?fù)渚W(wǎng)絡(luò)通信。6.5.1基礎(chǔ)大模型訓(xùn)練61BLOOM使用Megatron-DeepSpeed框架進(jìn)行訓(xùn)練,主要包含兩個(gè)部分:Megatron-LM提供張量并行能力和數(shù)據(jù)加載原語(yǔ);DeepSpeed提供ZeRO優(yōu)化器、模型流水線以及常規(guī)的分布式訓(xùn)練組件。通過這種方式可以實(shí)現(xiàn)數(shù)據(jù)、張量和流水線三維并行。圖6.10BLOOM并行結(jié)構(gòu)6.5.2指令微調(diào)62以BERT為代表的預(yù)訓(xùn)練語(yǔ)言模型需要根據(jù)任務(wù)數(shù)據(jù)進(jìn)行微調(diào)(Fine-tuning),這種范式可以應(yīng)用于參數(shù)量在幾百萬(wàn)到幾億規(guī)模的預(yù)訓(xùn)練模型。但是針對(duì)數(shù)十億甚至是數(shù)百億規(guī)模的大模型,針對(duì)每個(gè)任務(wù)都進(jìn)行微調(diào)的計(jì)算開銷和時(shí)間成本幾乎都是不可接受的。因此,研究人員們提出了指令微調(diào)(InstructionFinetuning)方案,將大量各類型任務(wù),統(tǒng)一為生成式自然語(yǔ)言理解框架,并構(gòu)造訓(xùn)練語(yǔ)料進(jìn)行微調(diào)。例如,可以將情感傾向分析任務(wù),通過如下指令,將貶義和褒義的分類問題轉(zhuǎn)換到生成式自然語(yǔ)言理解框架:
Foreachsnippetoftext,labelthesentimentofthetextaspositiveornegative.
Text:thisfilmseemsthirstyforreflection,itselftakingonadolescentqualities.
Label:[positive/negative]6.5.2指令微調(diào)63利用有標(biāo)注數(shù)據(jù)集合,再結(jié)合上述指令模板,就可以生成大量用于微調(diào)的訓(xùn)練數(shù)據(jù)。利用這些訓(xùn)練數(shù)據(jù),就可以在一個(gè)大模型中同時(shí)訓(xùn)練大量不同的任務(wù)。當(dāng)前的研究工作標(biāo)明,這種訓(xùn)練方法可以使得模型具有很好的任務(wù)泛化能力,很多沒有出現(xiàn)在指令微調(diào)訓(xùn)練語(yǔ)料中的任務(wù)也可以很好的完成,在零樣本和少樣本的情況下獲得非常好的任務(wù)性能。FLAN-T5\upcite{
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 資產(chǎn)登記保管制度
- 護(hù)理質(zhì)量與公共衛(wèi)生
- 2026上半年黑龍江工程學(xué)院事業(yè)單位招聘14人參考考試試題附答案解析
- 2026山東聊城市新聊泰城市建設(shè)發(fā)展有限公司首批用人招聘10人備考考試題庫(kù)附答案解析
- 2026年馬鞍山市交通運(yùn)輸綜合行政執(zhí)法支隊(duì)公開選調(diào)工作人員14名備考考試題庫(kù)附答案解析
- 2026年上半年黑龍江事業(yè)單位聯(lián)考大慶市招聘164人備考考試試題附答案解析
- 2026新疆博爾塔拉州博樂市中西醫(yī)結(jié)合醫(yī)院面向全市選聘義務(wù)行風(fēng)監(jiān)督員備考考試試題附答案解析
- 2026年福建莆田市司法局市學(xué)園公證處編外人員4人備考考試試題附答案解析
- 2026江西九江市德安縣消防大隊(duì)招聘2人參考考試試題附答案解析
- 2026福建水投集團(tuán)漳州區(qū)域水務(wù)公司第一批招聘23人參考考試題庫(kù)附答案解析
- 話語(yǔ)體系構(gòu)建的文化自信與敘事創(chuàng)新課題申報(bào)書
- 2026年春蘇教版新教材小學(xué)科學(xué)二年級(jí)下冊(cè)(全冊(cè))教學(xué)設(shè)計(jì)(附教材目錄P97)
- 2026年基因測(cè)序技術(shù)臨床應(yīng)用報(bào)告及未來(lái)五至十年生物科技報(bào)告
- 服裝銷售年底總結(jié)
- 文物安全保護(hù)責(zé)任書范本
- 廣東省惠州市某中學(xué)2025-2026學(xué)年七年級(jí)歷史上學(xué)期期中考試題(含答案)
- 2025公文寫作考試真題及答案
- 停電施工方案優(yōu)化(3篇)
- DB64∕T 1279-2025 鹽堿地綜合改良技術(shù)規(guī)程
- 2025年度耳鼻喉科工作總結(jié)及2026年工作計(jì)劃
- 2024年執(zhí)業(yè)藥師《藥學(xué)專業(yè)知識(shí)(一)》試題及答案
評(píng)論
0/150
提交評(píng)論