2023基座模型訓練中的數據與模型架構_第1頁
2023基座模型訓練中的數據與模型架構_第2頁
2023基座模型訓練中的數據與模型架構_第3頁
2023基座模型訓練中的數據與模型架構_第4頁
2023基座模型訓練中的數據與模型架構_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基座模型訓練中的數據與模型架構引言從2022年11月底,美國OpenAI公司推出ChatGPT1后,大語言模型(LargeLanguageModelLLM)在學術界和工業(yè)界都引起了轟動。ChatGPT可以通過對話的形式完成各種任務,例如撰寫代碼、整理數據、潤色論文等,并且當其沒有輸出預期結果時,還可以通過多輪對話逐步優(yōu)化自身輸出,這種通過對話交互的方式極大降低了模型的使用門檻,因此ChatGPT迅速在全球范圍內出圈,熱度擴散到了人工智能領域之外。OpenAI公司并未公開ChatGPT的技術路線,但他們在InstructGPT(Ouyangetal.,2022)論文中提到,可以通過一個基座語言模型,結合人類對齊(HumanAlignment)訓練來讓模型跟隨人類的指令完成特定任務。使用InstructGPT中類似的方法,后續(xù)的一些工作在開源的基座模型(Nijkampetal.,2023b;etal.,2023)上一定程度復現了ChatGPT(Sunetal.,2023;etal.,2023)。不過最近來自美國伯克利大學的研究指出,盡管現在這些模型從一些評測上展現出與ChatGPT相似的性能,但從知識量及推理能力方面,它們均不及ChatGPT,只是由于回答形式上接近ChatGPT,才獲得了不錯的評測性能。為了能夠更加接近ChatGPT乃至GPT4的性能,還需要在基座模型的訓練上進行更深入的研究(Gudibandeetal.,2023)。為了得到一個好的基座模型,我們首先需要大量的預訓練數據,在圖1中我們對比了近年來不同預訓練模型的大小與使用的預訓練數據大小。從GPT-2(Radfordetal.,2019)到PaLM2(Aniletal.,2023),模型的大小增長了200倍,但是預訓練的數據量大小增長了450倍。因此,預訓練模型對數據的需求是巨大的。表1中羅列了幾個基座模型訓練所需要的計算資源。除了對預訓練數據進行總結之外,我們也將對比不同的基座模型的網絡架構,并對各種基座模型的架構進行歸納。預訓練數據數據是知識的載體,也是大規(guī)模預訓練模型訓練的基礎,自深度學習技術發(fā)展以來,數據就是決定模型性能的重要因素。對于基座模型的訓練而言,預訓練數據在一定程度上決定了其能力的邊界。Kaplan等人(2020)研究發(fā)現,訓練基座模型的過程中,模型大小與數據規(guī)模是決模型訓練Token數計算資源訓練時長GPT3(Brownetal.,2020)300B10000張V10014天GLM-130B(Zengetal.,2023)450B992張A10060天LLaMA-65B(Touvronetal.,2023)1.4T2048張A10021天MPT-7B(Team,2023)1T440張A10010天Table1:基座模型對訓練資源需求Figure1:近年的預訓練模型大小以及它們使用的預訓練數據大小定預訓練模型的關鍵因素,這也是GPT-3(Brownetal.,2020)乃至后面ChatGPT成功的理論基礎。Hoffmann等人(2022)進行了類似的探究,發(fā)現在給定的計算量條件下,所需要的數據量相比較于Kaplan等人預計的要更多,并基于此訓練了性能更好的Chichilla模型。本章將從數據入手,總結當前預訓練數據的處理流程,并對其問題展開討論。預訓練數據的來源預訓練數據的來源直接關系到語料的多樣性。不同來源的語料往往是不同的主題,不同的格式以及不同的組織方式,補充不同來源的數據可以很好地提升模型的魯棒性與泛化性(Longpreetal.,2023)。目前,大規(guī)模預訓練語料主要來源于互聯(lián)網中的文本信息?;ヂ?lián)網作為人類信息交換的重要方式,積累了巨量的信息。根據谷歌公司CEOEricSchmidt預計,整個互聯(lián)網數據數量高達5000PB2。由于總量巨大且居于此的信息時刻在發(fā)生改變,因此如何獲取這一份數據是一項巨大的挑戰(zhàn)。受益于互聯(lián)網爬蟲計劃CommonCrawl3開展,研究人員可以更加便利地收集網絡中的數據,并將精力集中于數據處理階段。CommonCrawl是一項開放網絡爬蟲的數據存儲庫的開源項目,其爬取并保存了自2013年以來開放互聯(lián)網中的各種數據,為研究人員提供了一個海量、非結構化、多語言的網頁數據集。CommonCrawl可自動爬取整個互聯(lián)網上的數據,并采用時間作為刻度,每隔一段時間將會放出一部分數據集,不同時間片的URL以及內容盡量保證不重復。每一個時間片大概存有1.5Billon個文檔,包含該時間段內互聯(lián)網中更新的絕大部分內容。CommonCrawl數據集具有總量巨大和來源渠道多樣化等特點,但正是這些特點導致從中提取高質量文本變得異常困難。因此,之前的幾份工作均引入更多的預處理數據,或針對指定網站的數據進行定向收集。例如,在Brown等人(2020)提到,除了預處理CommonCrawl的數據外,他們同樣添加了高質量圖書數據集以及維基百科等。Pile(Gaoetal.,2021)除了CommonCrawl收集的數據外,還收集了將近21個站點的數據,其中包括學術論文網站PubMed、Arxiv,代碼共享平臺Github,編程交流平臺StackExchange,預處理圖書數據集BookCorpus2、Books3以及其他相關高質量數據集等。悟道etal.,2021)同樣的采用計算語言學Figure2:預訓練數據處理流程圖示(Zhaoetal.,2023)了大量的網絡語料,與前面不同的是,其主要篩選中文語料,并丟棄中文字符少于10個的網頁。此外,經過我們的調查發(fā)現,Pile(Gaoetal.,2021)作為處理質量較高的數據集在開源后被廣泛使用,后續(xù)的一系列工作傾向于在預訓練語料中加入Pile或者PileCC,以節(jié)省數據處理的時間,同時加入部分更新時間戳下的CommonCrawl語料,以保證模型的質量與時效性。預訓練數據的處理一般而言,從網頁中獲取的數據往往不能直接使用。一方面,這一類數據以HTML的格式組織在一起,一般的大語言模型無法通過訓練從中提取純文本信息;另一方面,預訓練數據中往往充斥著各種虛假信息,模版信息,廣告信息以及黃色暴力內容等,此外還有自動生成的信息,這一類信息我們統(tǒng)稱為臟數據。臟數據的引入不利于語言模型對于語言建模任務的學習。因此,目前的主流模型通常會對收集到的網絡數據進行處理,以使模型可以更好地學習其語言內部的分布。如圖2所示,預訓練數據的處理流程主要分為四部分:質量篩選,數據去重,隱私信息刪除與文本詞元化。如果獲取到的信息為網頁信息,還需要對網頁信息進行提取,盡量提取純凈的內容數據而避免模版數據。為此,除了采用一些網頁信息抽取工具來對CommonCrawl的信息進行抽取之外,CommonCrawl本身同樣提供了純文本的.WET流程中,刪除隱私信息可以避免大語言模型泄露隱私,文本詞元化將文本轉化為token預訓練模型的輸入。而數據質量篩選與數據去重將在內容層面直接關系預訓練數據的屬性與性質,從而影響基座模型的訓練。本節(jié)將著重介紹數據質量篩選與數據去重,以及目前主流的處理方法。質量篩選預訓練數據的質量直接關系到大語言模型的性能,而對于數據的質量篩選直接關系到預訓練語言模型的性能。目前主流預訓練模型采用的質量篩選方案包含兩種,分別為規(guī)則過濾及訓練分類器方法。規(guī)則過濾方法,其最簡單的方式是通過URL篩選數據。但由于數據量過于龐大,我們無法遍歷所有的URL進行篩選,因此研究人員提出了多種自動化的方法以解決此類問題:啟發(fā)式規(guī)則過濾方法。人為設計一部分啟發(fā)式規(guī)則,直接對文本進行篩選。C4種方法,通過大量啟發(fā)式規(guī)則對數據篩選,包括刪除所有非停止符號結尾的段落,根據不良單詞列表刪除文檔,刪除過短的語句,刪除帶有“javascript”(Raffeletal.,2020)。這一類篩選規(guī)則雖可以篩選出一些不流暢的語句以及不良語句,但無法避免數據重復或者廣告等問題。為了篩選出重復性的數據,在語料構建過程中,研究人員提出通過計算不同gram(Raeetal.,2021),以及選擇不同的篩選閾值來篩選重復性數據?;谀P偷臄祿^濾方法。之前的工作通常旨在減少直接的臟數據,例如數據中不符合人類規(guī)范的,重復多次的數據,帶有不良詞匯的數據,更多的臟數據可能是混入了HTML模版,機器自動生成的看起來是文字實際是亂碼的數據。為了篩選掉這部分臟數據,主流的預訓練方法提出引入基于模型的數據過濾方法。例如,GPT-3通過Wiki等高質量數據集訓練了一個簡單的分類器,并通過分類器對數據進行篩選,LLaMA等工作訓練了一個KenLM的小型統(tǒng)計語言模型,用以篩選出臟數據。數據去重在網頁數據中,數據可能會存在重復,Lee等人(2022)主張通過n-gram結合MinHash的方式Figure3:符堯(2022)等人整理的OpenAI模型進化圖來刪除數據中的重復數據,刪掉重復數據可以讓訓練更加有效。Hernandez等人(2022)訓練數據中存在10%的重復數據,將導致模型的有效大小減半,即400M參數量的模型其效果僅相當于一個200M參數量的模型。除此之外,PaLM模型(Chowdheryetal.,2022)也在論文中提到在新數據上訓練將更有可能讓模型獲得更好的性能。盡管數據去重已經成為了基座訓練中的標準一環(huán)(Zhangetal.,2022;Zengetal.,2023;Scaoetal.,2022;etal.,2023),但也有研究表明適當的重復使用數據不會對模型的性能造成很嚴重的問題,在T5論文(Raffeletal.,2020)中,作者嘗試了重復使用數據,模型的性能并沒有受到特別嚴重的損害,不過由于作者使用的模型是編碼器-解碼器架構,其規(guī)律可能與語言模型的規(guī)律不一致。Muennighoff等人(2023)在9B參數量的語言模型上測試了重復數據對模型的影響,他們發(fā)現數據重復量只要在4次以內,就幾乎不會對模型造成性能損害。綜上所述,數據去重應避免留下重復過多次的數據,但如果重復量控制在4次以內,對訓練產生的影響應該都不致命。代碼數據的引入傳統(tǒng)的大語言模型對于代碼的關注度并不高,而對于訓練純文本模型十分感興趣。OpenAI的CodeX(Chenetal.,2021)模型中首次將代碼引入大模型預訓練中。根據符堯等人(2022)的觀察,引入代碼,使得OpenAI的GPT系列模型有了重大性能突變。不過目前還沒有非常直接的證據可證實這個猜想,但由于讓語言模型能夠生成代碼本身也是一種非常重要的特性,且該方式也提供了一種未來大模型與現實世界發(fā)生交互的接口,因而將代碼數據加入到預訓練中也非常有必要。在之前的模型訓練中,代碼數據的處理均較為粗粒度(Touvronetal.,2023;Nijkampetal.,2023b),他們都只在代碼文件粒度進行了去重,但實際上由于各種腳手架代碼不斷重復,代碼數據中存在非常嚴重的重復問題。為了更好地使用代碼數據,Li等人(2023)發(fā)現,對于代碼的精細化處理,可以使模型更好地學習代碼中蘊含的能力與知識。例如,其篩選了一部分的Github中的數據,并對其分語言進行處理,處理了JupyterNotebook,使其更符合人類語言的特點等,諸如此類的操作使得他們的模型在代碼任務上的性能得到了顯著提高。進一步地,Gunasekar等人(2023)認為大部分的代碼是無用且低效的,他們提出,一個好的代碼數據集應該是清晰的、獨立的、有啟發(fā)性的和平衡的。由此,他們對TheStack數據集(Kocetkovetal.,2022)進行了過濾,同時采用ChatGPT生成了一部分數據,使其具有更強的啟發(fā)性。中文預訓練數據盡管之前已有部分工作開源了部分中文語料,例如(etal.,2021)、1.0T(etal.,2021),但這部分數據一方面是時效性不足,另一方面是數量和質量都還不足以訓練一個性能較好的基座模型,因此需要獲取更多的中文語料。受到Pile語料的啟發(fā),我們也對中文語料進行了分類,并嘗試尋找對應的數據來源,結果如表2所示。我們對中文互聯(lián)網上的數據進行了粗略的估計,結果如表3中所示,我們發(fā)現,目前可獲取的中文token不足1T,對于目前動輒上Ttoken級別的預訓練,中文數據還是非常缺乏。除此數據類別英文來源中文對照數據來源Pile-CC/the-WuDao、CC中抽取中文數據data/PubMedCentral/各類醫(yī)學網站、開源數據庫Books3https://bibliotik.me豆瓣閱讀、Kindle電子書、sobooksOpenWebText2https:///微博、百度貼吧、小紅書ArXiv/Github/FreeLawhttps://www.freelaw.in/中國法院網、北大法寶、威科先行法律信息庫StackExchange/中文問答社區(qū)、百度知道、頭條問答USPTOBackgroundshttps:///中國專利信息網、壹專利、開源專利數據庫PubMedAbstracts/各類醫(yī)學網站、開源數據庫EuroParlhttps:///europarl/翻譯數據Gutenberg(PG-19)https://www.gutenb/古典文學網、中國古典文學、古書房OpenSubtitleshttps:///en字幕庫、SubHD、諸神字幕組Wikipedia(en)https:///科、MBA智庫百科DMMathematics/deepmind/作業(yè)幫、各類數學題網站mathematicsdatasetUbuntuIRC/微博超話在線聊天、各類聊天機器人、多輪對話數據集BookCorpus2https://www.smashw/起點中文網、縱橫中文網HackerNews/36氪、極客公園、虎嗅網YoutubeSubtitleshttps:///datasets/Subscene網站wadzim/youtube-subtitlesPhilPapers/哲學中國網、學術·哲學愛思想、中國哲學書電子化計劃NIHGrantAbstracts/exporter/財政部公開信息abstractsEnronEmailshttps:///~enron/互聯(lián)網中免費共享的電子郵件數據庫Table2:Pile中的各類語料對應的中文來源算言之外,處理難度較大也是困擾中文大語言模型訓練的一大難題。目前主流的數據清洗代碼大都支持英文而不支持中文,需重新適配,例如上述提到的啟發(fā)式規(guī)則,對于中文數據需要重新編寫。中文數據中的廣告處理相對于英文數據也存在難點,中文數據中,廣告通常存在于語句內部,比較難將其篩選出來。來源Token數量古文詩詞0.8B百科5B各類小說120B社區(qū)問答200B新聞100B中文專利9.5B法律判決90B博客64B學術論文9.5B總計598.8BTable3:中文不同類型數據Token數量粗略統(tǒng)計預訓練語料質量的評估由于大語言模型的訓練成本巨大,對于處理好的預訓練語料,研究人員希望對其進行質量評估。Gopher(Raeetal.,2021)論文中采用訓練一個1.4B左右的語言模型的方式來評估不同處理流程對于下游任務的影響。他們發(fā)現,隨著數據清洗與處理的不斷深入,經由這些數據訓練得到的模型的效果也越好。在經過質量篩選與數據去重之后,得到的數據訓練的模型相比于原始數據與開源數據與C4)在語言建模任務上性能存在明顯的上升。采用同樣的方法,Longpre等人(2023)在1.5B模型的基礎上,研究了不同質量的數據對于大語言模型在處理不同下游任務上的性能差異。研究人員不僅希望評估語料質量對于模型訓練的影響,更希望探究不同質量語料對于模型不同維度能力激發(fā)之間的差異。這種采用小模型進行驗證的方法成本較低,且可以在正式訓練之前發(fā)現數據存在的諸多問題,以及對于基座模型的訓練進行預測。但由于大語言模型涌現現象的存在,可能在某些能力上,模型需要達到一定量級才可以看出性能的差異。另外,生成式模型的能力評估也十分困難,由于Prompt的引入,評測本身也帶有一定的不確定性,表4中展示了在評測過程中,如果使用不同的Prompt進行評測,得到的結論會大相徑庭。因此,如何低成本地評估預訓練語料的質量與不同數據對于模型能力的影響,仍然是自然語言處理社區(qū)活躍的研究問題。訓練Token數驗證集損失Prompt#1Prompt#220B1.33566.571.5540B1.33465.673.8860B1.32964.274.3780B1.32864.876.17100B1.32464.777.09Table4:隨著訓練的進行,驗證集損失在不斷下降。如果使用Prompt#1的結果作為判斷,模型的性能在變差,但如果使用Prompt#2的結果,則性能在變好。開源預訓練數據集隨著大語言模型在自然語言處理領域的廣泛應用,高質量的開源模型與預訓練數據集的需求迅速增長。正如公司4宣稱的那樣:“AI正在迎來Linux時代”,高質量大規(guī)模的開源計算語言學模型位置編碼自注意力歸一化層位置歸一化層類型損失函數GPT3-175BAbsoluteStandardPreNormLayerNormLM(+FIM)LossCodeGen-16BRoPEStandardParallelLayerLayerNormLMLossPaLM-540BRoPEMulti-QueryParallelLayerLayerNormLM(+UL2)LossOPT-175BAbsoluteStandardPreNormLayerNormLMLossGLM-130BRoPEStandardPostNormLayerNormGLM+LMLossBLOOM-176BALiBiStandardPreNormLayerNormLMLossLLaMARoPEStandardPreNormRMSNormLMLossCodeGen2-16BRoPEStandardParallelLayerLayerNormLMLossMPT-7BALiBiStandardPreNormLayerNormLMLossStarCoderAbsoluteMulti-QueryPreNormLayerNormLM+FIMLossFalconRoPEMulti-QueryParallelLayerLayerNormLMLossChatGLM2-6BRoPEMulti-QueryPreNormRMSNorm-Table5:各種基座模型預訓練數據集已經成為自然語言處理領域重要的基礎設施與關鍵資源。2019年,Google開源了用于訓練T5的C4(Raffeletal.,2020),該數據集從CommonCrawl中提取并對其進行了抽取與啟發(fā)式的質量篩選。2020年,EleutherAI開源了Pile數據集(Gaoetal.,2021),該數據集不僅處理了CommonCrawl的部分數據分片,還獲取了部分高質量英文數據用以提升預訓練數據的質量與多樣性。此后,一些開源模型(如OPT(Zhangetal.,2022)和GLM-130B(Zengetal.,2023))均采用此數據集進行基座模型的訓練。受到LLaMA模型etal.,2023)的啟發(fā),公司處理并開源了一份大約3TB的預訓練數據集RedPajama(Computer,2023)。RedPajama采用了CCNet流水線處理etal.,2020)2017年至2020年間的CommonCrawl數據分片,并補充了如C4、Wikipedia等高質量開源數據集。借助RedPajama數據集,公司訓練出了3B至7B參數規(guī)模的完全開源模型5。隨后,在RePajama數據集的基礎上,了更嚴格的數據處理方法得到了一個約600B的更高質量的SlimPajama數據集(Sobolevaetal.,2023)。此外,組織整理了2008年至2023年初的所有CommonCrawl數據分片,并形成了一個約5Ttokens的RefinedWeb數據集(Penedoetal.,2023),其中600B數據子集可以公開獲取到6。此外,代碼數據集也引起了NLP領域的廣泛關注。開源社區(qū)組織的BigCode項目對預訓練所需的代碼數據進行了深入思考,他們收集并處理了網絡中的開源代碼庫,對特殊代碼,如Jupyter,Githubissue等進行了特殊處理,并最終開源了大小達到6TB、包含358種編程語言的開源代碼預訓練數據集TheStack(Lietal.,2023)。OpenLLaMA項目嘗試了使用RedPajama、RefinedWeb和TheStack數據進行預訓練,發(fā)現結合這三類數據可以取得很好的預訓練效果(GengandLiu,2023)?;P图軜嬙谶@一節(jié)中,我們主要對當前的基座模型的模型架構進行討論。在表5中對最近的基座模型的幾個重要部件進行匯總,然后針對不同的部件進行簡要介紹。位置編碼位置編碼從大類上來說可以分成絕對位置編碼etal.,2017)和相對位置編碼(Shawetal.,2018Suetal.,2021)習的位置編碼,其中可學習的位置編碼在之前的預訓練模型中被廣泛采用,例如BERT(Devlinetal.,2019)、etal.,2019)和GPT2(Radfordetal.,2019)等,(2020)將這幾個預訓練模型的位置編碼兩兩位置計算了相似度,其結果如圖4所示,可以看出不同位置計算語言學有一定的鄰域關系,越靠近的兩個位置,相似度也會越大,因此在Transformer中引入相對位置編碼來體現這種歸納偏執(zhí)應該是有益的。Shaw等人(2018)提出了相對位置編碼的概念,蘇劍林等人(2021)從虛數的角度出發(fā)推導了乘性位置編碼RoPE,這種位置編碼提出之后便被廣泛使用到了基座模型訓練之中。盡管RoPE可以高效地表示相對位置,但是它的外推能力較差,即模型只能在訓練數據長度以內的數據表現得不錯,超出這個長度性能便大幅下降,如圖5所示。ALiBi(Pressetal.,2022)首先提出了相對位置編碼應該具備良好外推性的概念,通過使用ALiBi可以實現在較短的訓練語料上訓練但在較長的語料上測試,使用ALiBi位置編碼的MPT2023)甚至可以支持到65,000個詞元的輸入。Figure4:不同預訓練模型位置嵌入中兩兩位置的相似度Figure5:不同位置編碼在長度外推時的性能表現,ALiBi位置編碼可以在訓練時沒有見過的長度上取得良好的性能自注意力自注意力是Transformer模型的核心模塊,但其計算復雜度為O(L2),導致了其計算效率隨著輸入長度的增加二次增長,之前的工作提出了很多高效自注意力機制etal.,2023a),例如Longformer(Beltagyetal.,2020)、Linformer(Wangetal.,2020)等。但在基座模型中這一類直接改良計算復雜度的工作沒有被廣泛采用,可能的原因有兩個,第一個是這類高一般都需要引入稀疏計算,這導致它們的計算可能不是GPU友好的,而預訓練又是對計算效率非常敏感的任務;第二個原因是現在的預訓練模型的隱藏層維度一般都是好幾千以上,而目前的基座模型上下文多是兩千左右,因此數據長度帶來的二次增長,實際上并沒有主導模型的計算量。在基座模型中采用較多的用來降低計算量的方法是Multi-Query方法,Multi-Query方法通過在不同注意力頭之間共享自注意力中的Key值和值減少顯存占用,Multi-Query如圖6所示。由于現在的基座模型大部分都是從左到右生成的語言模型,因此在生成過程中,需要使用KV緩存來緩存前面詞元的Key值和值,在Multi-Query場景下,由于不同注意力頭共享了Key值和值,因此可以只保留一份緩存。這種方式可以極大地減少在推理過程中的顯存占用,我們以65B模型為例,在圖7中展現了在推理過程中Multi-Query的顯存占用和常規(guī)自注意力的對比。隨著輸入長度的增加,常規(guī)自注意力機制的顯存占用增長顯著高于Multi-Query方案,因此未來如果想要將基座模型的輸出長度擴充到更大長度,Multi-Query方法值得嘗試。Figure6:常規(guī)自注意力和Multi-Query自注意力Figure7:常規(guī)自注意力和Multi-Query自注意力在推理時顯存占用的對比歸一化層不同的基座模型一方面在歸一化層的位置上有所區(qū)別,另一方面也會使用不同的歸一化層類型。目前基座模型使用的歸一化層位置主要有三類,這三類的區(qū)別如圖8所示。PreNorm在語言模型中被廣泛采用(Radfordetal.,2019Brownetal.,2020);PostNorm則是在BERT(Devlinetal.,2019)、etal.,2019)等編碼器模型中采用較多;Parallel由于將自注意力計算和前饋神經網絡并行計算,因此在計算的時候,可以將兩個模塊的計算同步進行,這樣可以讓訓練的速度更快。歸一化層的類型在LLaMA模型發(fā)布之前大部分模型都采用的是LayerNorm層歸一化,而在LLaMA之后,類似于ChatGLM27、Baichuan8等都開始嘗試RMSNorm(ZhangandSennrich,2019)的方案。損失函數目前大部分的基座模型都使用了語言模型損失作為優(yōu)化的損失函數,但也有一些其他的嘗試。Figure8:三種不同的歸一化層位置示例在代碼補全場景中存在給定上下文補齊中間代碼的場景,因此有研究人員提出FIM(FillintheMiddle)損失函數etal.,2022),該損失函數在訓練的時候會將正常文本進行打亂,首先將文檔隨機分成三段,例如“document:(prefix,middle,suffix)”,之后在訓練階段將輸入順序調整為“(prefix,suffix,middle)”,這樣即可讓語言模型學會通過上下文預測中間缺失的地方。盡管這種訓練損失函數和語言模型不一致,但加入這種損失并未影響語言模型的正常訓練。不過近期也有論文指出,加入FIM損失函數會導致語言模型性能下降(Nijkampetal.,2023a)。Tay等人(2023b)融合了編碼器、解碼器以及編碼器-解碼器預訓練模型的損失函數,提出了一種融合的損

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論