前言近期,,ChatGPT成為了全網(wǎng)熱議的話題。ChatGPT是一種基于大規(guī)模語言模型技術(shù)(LLM,, large language model)實現(xiàn)的人機對話工具,。但是,如果我們想要訓(xùn)練自己的大規(guī)模語言模型,,有哪些公開的資源可以提供幫助呢,?在這個github項目中,人民大學(xué)的老師同學(xué)們從模型參數(shù)(Checkpoints),、語料和代碼庫三個方面,,為大家整理并介紹這些資源。接下來,,讓我們一起來看看吧,。 資源鏈接: 論文地址: 模型參數(shù)從已經(jīng)訓(xùn)練好的模型參數(shù)做精調(diào)、繼續(xù)訓(xùn)練,,無疑可以極大地降低計算成本,。那目前有哪些開源的大模型參數(shù),可以供我們選擇呢,? 第一類是100~1000億參數(shù)的模型,。這類模型除了LLaMA(650億)之外,參數(shù)范圍都集中在100~200億之間,。具體而言,,包括:LLaMA[1], mT5[2], T0[3], GPT-NeoX-20B[4], CodeGen[5], UL2[6], Flan-T5[7], mT0[8], PanGu-α[9]。 其中,,F(xiàn)lan-T5經(jīng)過instruction tuning的訓(xùn)練,;CodeGen專注于代碼生成;mT0是個跨語言模型,;PanGu-α有大模型版本,,并且在中文下游任務(wù)上表現(xiàn)較好。 第二類是超過1000億參數(shù)規(guī)模的模型,。這類模型開源的較少,,包括:OPT[10], OPT-IML[11], BLOOM[12], BLOOMZ[13], GLM[14], Galactica[15]。參數(shù)規(guī)模都在1000億~2000億之間,。 其中,,OPT是專為開源和大模型復(fù)現(xiàn)提出的,;BLOOM 和 BLOOMZ具有跨語言能力;Galactica, GLM, 和 OPT-IML都是經(jīng)過instruction tuning的,。 這些模型參數(shù)大多使用幾百到上千塊顯卡訓(xùn)練得到,。比如GPT-NeoX-20B(200億參數(shù))使用了96個A100-SXM4-40GB GPU,LLaMA(650億參數(shù))使用了2048塊A100-80G GPU學(xué)習(xí)了21天,,OPT(1750億參數(shù))使用了992 A100-80GB GPU,,GLM(1300億參數(shù))使用了768塊DGX-A100-40G GPU訓(xùn)練了60天。 除了這些可供公開下載參數(shù)的模型之外,,OpenAI還提供在他們的服務(wù)器上精調(diào)GPT-3模型的服務(wù),,可以選擇的初始模型參數(shù)包括babbage(GPT-3 1B), curie(GPT-3 6.7B)和 davinci(GPT-3 175B)。 上圖中,,標黃的模型均為開源模型,。 語料訓(xùn)練大規(guī)模語言模型,訓(xùn)練語料不可或缺,。主要的開源語料可以分成5類:書籍,、網(wǎng)頁爬取、社交媒體平臺,、百科,、代碼,。 書籍語料包括:BookCorpus[16] 和 Project Gutenberg[17],,分別包含1.1萬和7萬本書籍。前者在GPT-2等小模型中使用較多,,而MT-NLG 和 LLaMA等大模型均使用了后者作為訓(xùn)練語料,。 最常用的網(wǎng)頁爬取語料是CommonCrawl[18]。不過該語料雖然很大,,但質(zhì)量較差,。大模型大多采用從其中篩選得到的子集用于訓(xùn)練。常用的4個子集包括:C4[19], CC-Stories, CC-News[20], 和 RealNews[21],。CC-Stories的原版現(xiàn)在已不提供下載,,一個替代選項是CC-Stories-R[22]。 社交媒體平臺語料主要獲取自Reddit平臺,。WebText包含了Reddit平臺上的高贊內(nèi)容,,然而現(xiàn)在已經(jīng)不提供下載,現(xiàn)在可以用OpenWebText[23]替代,。此外,,PushShift.io[24]提供了一個實時更新的Reddit的全部內(nèi)容。 百科語料就是維基百科(Wikipedia[25])的下載數(shù)據(jù),。該語料被廣泛地用于多種大語言模型(GPT-3, LaMDA, LLaMA 等),,且提供多種語言版本,,可用于支持跨語言模型訓(xùn)練。 代碼語料主要來自于GitHub中的項目,,或代碼問答社區(qū),。開源的代碼語料有谷歌的BigQuery[26]。大語言模型CodeGen在訓(xùn)練時就使用了BigQuery的一個子集,。 除了這些單一內(nèi)容來源的語料,,還有一些語料集。比如 the Pile[27]合并了22個子集,,構(gòu)建了800GB規(guī)模的混合語料,。而 ROOTS[28]整合了59種語言的語料,包含1.61TB的文本內(nèi)容,。 上圖統(tǒng)計了這些常用的開源語料,。目前的預(yù)訓(xùn)練模型大多采用多個語料資源合并作為訓(xùn)練數(shù)據(jù)。比如GPT-3使用了5個來源3000億token(word piece),包含開源語料CommonCrawl, Wikipedia 和非開源語料(WebText2,,Books1, Books2),。 代碼庫使用代碼庫,可以幫助你快速搭建模型結(jié)構(gòu),,而不用一個個矩陣乘法地搭建transformers結(jié)構(gòu),。具體而言,包括以下7個:
結(jié)束語通過使用以上提到的模型參數(shù)、語料與代碼,,我們可以極大地方便自己實現(xiàn)大規(guī)模語言模型,,并搭建出自己的對話工具。但是,,盡管數(shù)據(jù)資源相對容易獲取,,計算資源卻十分稀缺。想要獲得足夠的顯卡資源以訓(xùn)練/調(diào)整大規(guī)模模型,,仍然是一件非常困難的事情,。因此,私有化ChatGPT的道路任重而道遠,。在計算資源相對匱乏的情況下,,我們更是要利用好手頭的模型參數(shù)、語料與代碼等資源,,以有限的計算量取得最好的表現(xiàn),。
|
|