天天看點

三個方面淺析資料對大語言模型的影響

作者:華為雲開發者聯盟

本文分享自華為雲社群《淺談如何處理大語言模型訓練資料之二資料影響分析-雲社群-華為雲》,作者:碼上開花_Lancer。

由于大語言模型的訓練需要巨大的計算資源,通常不可能多次疊代大語言模型預訓練。千億級參數量的大語言模型每次預訓練的計算需要花費數百萬元人民币。是以,在訓練大語言模型之前,建構一個準備充分的預訓練語料庫尤為重要。

本篇文章中,将從資料規模、數量品質以及資料多樣性三個方面分析資料對大語言模型的性能的影響。需要特别的說明的是,由于在千億參數規模的大語言模型上進行實驗的成本非常高,很多結論是在100 億甚至是10 億規模的語言模型上進行的實驗,其結果并不能完整的反映資料對大語言模型的影響。此外,一些觀點仍處于猜想階段,需要進一步驗證。需要各位讀者甄别判斷。

1.資料規模影響

随着大語言模型參數規模的增加,為了有效地訓練模型,需要收集足夠數量的高品質資料,在文獻 針對模型參數規模、訓練資料量以及總計算量與模型效果之間關系的研究之前,大部分大語言模型訓練所采用的訓練資料量相較于LLaMA 等最新的大語言模型模型都少很多。

表1給出了模型參數量和預訓練資料量對比。在Chinchilla 模型提出之前,大部分的大語言模型都在着重提升模型的參數量,但是所使用的訓練語料數量都在3000 億詞元左右,LAMDA 模型所使用的訓練語料數量甚至僅有1680 億。雖然Chinchilla 模型參數量僅有LAMDA 模型一半大小,但是訓練語料的詞元數量卻達到了1.4 萬億詞元,是LaMDA 模型訓練語料的8 倍多。

三個方面淺析資料對大語言模型的影響

表1模型參數量與訓練語料數量對比

DeepMind 的研究人員在文獻 中給出了他們通過訓練參數範圍從7000 萬到160 億,訓練詞元數量從5 億到5000 億不等的400 多個語言模型所得到分析結果。研究發現,如果模型訓練要達到計算最優(Compute-optimal),模型大小和訓練詞元數量應該等比例縮放,即模型大小加倍則訓練詞元數量也應該加倍。為了驗證該分析結果,他們使用與Gopher 語言模型訓練相同的計算資源,根據上述理論預測了Chinchilla 語言模型的最優參數量與詞元數量組合。最終确定Chinchilla語言模型為700 億參數,使用了1.4 萬億詞元進行訓練。通過實驗發現,Chinchilla 在很多下遊評估任務中都顯著地優于Gopher(280B)、GPT-3(175B)、Jurassic-1(178B)以及Megatron-Turing NLG(530B)。

圖1.1 給出了在同等計算量情況下,訓練損失随參數量的變化情況。針對9 種不同的訓練參數量設定,使用不同詞元數量的訓練語料,訓練不同大小的模型參數量,使得最終訓練所需浮點運算數達到預定目标。對于每種訓練量預定目标,圖中左側繪制了平滑後的訓練損失與參數量之間的關系。

從左圖中可以看到,訓練損失值存在明顯的低谷,這意味着對于給定訓練計算量目标,存在一個最佳模型參數量和訓練語料數量配置。利用這些訓練損失低谷的位置,還可以預測更大的模型的最佳模型參數量大小和訓練詞元數量,如圖3.5中間和右側所示。圖中綠色線表示使用Gopher訓練計算量所預測的最佳模型參數量和訓練資料詞元數量。還可以使用幂律(Power Law)對計算量限制、損失最優模型參數量大小以及訓練詞元數之間的關系進行模組化。C 表示總計算量、Nopt表示模型最優參數量、Dopt 表示最優訓練詞元數量,他們之間的關系符合一下關系:

三個方面淺析資料對大語言模型的影響
三個方面淺析資料對大語言模型的影響

圖1.1 在同等計算量情況下,訓練損失随參數量的變化情況

LLaMA 模型在訓練時采用了與文獻相符的訓練政策。研究發現,70 億參數的語言模型在訓練超過1 萬億個詞元(1T Tokens)後,性能仍在持續增長。是以,Meta 的研究人員在LLaMA2模型訓練中,進一步增大了訓練資料量,訓練資料量達到了2 萬億詞元。文獻給出了不同參數量模型在訓練期間,随着訓練資料量的增加,模型在問答和常識推理任務上的效果演變過程,如圖2.1所示。研究人員分别在TriviaQA、HellaSwag、NaturalQuestions、SIQA、WinoGrande以及PIQA 等6 個資料集上進行了測試。可以看到,随着訓練資料量的不斷提升,模型在分屬兩類任務的6 個資料集上的性能都在穩步提高。通過使用更多的資料和更長的訓練時間,較小的模型也可以實作良好的性能。

三個方面淺析資料對大語言模型的影響

圖1.2 LLaMA 模型訓練期間在問答和常識推理任務上效果演變

文獻對不同任務類型所依賴的語言模型訓練數量進行了分析。針對分類探查(ClassifierProbing)、資訊論探查(Info-theoretic Probing)、無監督相對可接受性判斷(Unsupervised Relative Acceptability Judgment)以及應用于自然語言了解任務的微調(Fine-tuning on NLU Tasks)等四類任務,基于不同量級預訓練資料的RoBERTa模型在上述不同類型任務上的效果進行了實驗驗證和分析。分别針對預訓練了1M、10M、100M 和1B 個單詞的RoBERTa 模型進行了能力分析。研究發現,模型隻需要約10M 到100M 個單詞的訓練,就可以可靠地獲得文法和語義特征。但是需要更多的資料量訓練才能獲得足夠的常識知識和其他技能,并在典型下遊自然語言了解任務中取得較好的結果。

2 資料品質影響

資料品質通常被認為是影響大語言模型訓練效果的關鍵因素之一,包含大量重複的低品質資料甚至導緻訓練過程不穩定,造成模型訓練不收斂。現有的研究表明訓練資料的建構時間、包含噪音或有害資訊情況以及資料重複率等因素,都對語言模型性能存在較大影響。截止到2023 年9 月的研究都得出了相同的結論,即語言模型在經過清洗的高品質資料上訓練資料可以得到更高的性能。

文獻介紹了Gopher 語言模型在訓練時針對文本品質進行的相關實驗。如圖2.1所示,具有140 億參數的模型在OpenWebText、C4 以及不同版本的MassiveWeb 資料集上訓練得到的模型效果對比。他們分别測試了利用不同資料訓練得到的模型在Wikitext103 單詞預測、Curation Corpus摘要以及LAMBADA 書籍級别的單詞預測三個下遊任務上的表現。圖中Y 軸表示不同任務上的損失,數值越低表示性能越好。從結果可以看到,使用經過過濾和去重後的MassiveWeb 資料訓練得到的語言模型在三個任務上都遠好于使用未經處理的資料訓練得到的模型。使用經過處理的MassiveWeb 資料訓練得到的語言模型在下遊任務上的表現也遠好于使用OpenWebText 和C4 資料集訓練得到的結果。

三個方面淺析資料對大語言模型的影響

圖2.1 Gopher 語言模型使用不同資料品質訓練效果分析

GLaM 語言模型建構時,同樣也對訓練資料品質的影響的進行了分析。該項分析同樣使用包含17 億參數的模型,針對下遊少樣本任務性能進行了分析。使用相同超參數,對通過原始資料集和經過品質篩選後的資料訓練得到的模型效果進行了對比,實驗結果如圖2.2所示。可以看到,使用高品質資料訓練的模型在自然語言生成和自然語言了解任務上表現更好。特别是,高品質資料對自然語言生成任務上的影響大于在自然語言了解任務。這可能是因為自然語言生成任務通常需要生成高品質的語言,過濾預訓練語料庫對于語言模型的生成能力至關重要。文獻[86] 的研究強調了預訓練資料的品質在下遊任務的性能中也扮演着關鍵角色。

Google Research 的研究人員針對資料建構時間、文本品質、是否包含有害資訊開展了系統研究。使用具有不同時間、毒性和品質以及領域組成的資料,訓練了28 個15 億參數的僅解碼器結構語言模型。研究結果表明,語言模型訓練資料的時間、内容過濾方法以及資料源對下遊模型行為具有顯著影響。

三個方面淺析資料對大語言模型的影響

圖2.2 GLaM 語言模型使用不同資料品質訓練效果分析

針對資料時效性對于模型效果的影響問題,研究人員們在C4 語料集的2013、2016、2019 和2022 等不同版本上訓練了四個自回歸語言模型。對于每個版本,從Common Crawl 資料上删除了截止年份之後爬取的所有資料。使用新聞、Twitter 和科學領域的評估任務來衡量時間錯位的影響。

這些評估任務的訓練集和測試集按年份劃分,分别在每個按年份劃分的資料集上微調模型,然後在所有年份劃分的測試集上進行評估。圖2.3給出了使用4 個不同版本的資料集所訓練得到的模型在5 個不同任務上的評測結果。熱力圖顔色(Heatmap Colors)根據每一列進行歸一化得到。從圖中可以看到,訓練資料和測試資料的時間錯配會在一定程度上影響模型的效果。

三個方面淺析資料對大語言模型的影響

圖2.3 訓練資料和測試資料之間的時間錯位情況下性能分析

Anthropic 的研究人員針對資料集中的重複問題開展了系統研究。為了研究資料重複對大語言模型的影響,研究人員建構了特定的資料集,其中大部分資料是唯一的,但是隻有一小部分資料被重複多次,并使用這個資料集訓練了一組模型。研究發現了一個強烈的雙峰下降現象,即重複資料可能會導緻訓練損失在中間階段增加。例如,通過将0.1% 的資料重複100 次,即使其餘90% 的訓練資料保持不變,一個800M 參數的模型的性能也可能降低到與400M 參數的模型相同。此外,研究人員還設計了一個簡單的複制評估,即将哈利·波特(Harry Potter)的文字複制11 次,計算模型在第一段上的損失。在僅有3% 的重複資料的情況下,訓練過程中性能最差的輪次僅能達到參數量為1/3 的模型的結果。

文獻 中對大語言模型的記憶能力進行分析,根據訓練樣例在訓練資料中出現的次數,顯示了記憶率的變化情況,如圖2.4所示。可以看到,在訓練中隻見過一次的樣例,Palm 模型的記憶率為0.75%,而見過500 次以上的樣例的記憶率超過40%。這也在一定程度上說明重複資料對于語言模型模組化具有重要影響。這也可能進一步影響使用上下文學習的大語言模型的泛化能力。由于Palm 方法僅使用了文檔級别過濾,是以片段級别(100 個以上Token)可能出現非常高的重複次數。

三個方面淺析資料對大語言模型的影響

圖2.4 大語言模型記憶能力評

3.資料多樣性影響

來自不同領域、使用不同語言、應用于不同場景的訓練資料具有不同的語言特征,包含不同語義知識。通過使用不同來源的資料進行訓練,大語言模型可以獲得廣泛的知識。表3.2給出了LLaMA模型訓練所使用資料集合。可以看到LLaMA 模型訓練混合了大量不同來源資料,包括網頁、代碼、論文、圖書、百科等。針對不同的文本品質,LLaMA 模型訓練針對不同品質和重要性的資料集設定了不同的采樣機率,表中給出了不同資料集在完成1.4 萬億詞元訓練時,每個資料集的采樣輪數。

Gopher 模型訓練過程對資料分布進行了消融實驗,驗證混合來源對下遊任務的影響情況。

三個方面淺析資料對大語言模型的影響

表3.1 LLaMA 模型所使用資料集合

針對MassiveText 子集設定了不同權重的資料組合,并用于訓練語言模型。利用Wikitext103、LAMBADA、C4 和Curation Corpus 測試不同權重組合訓練得到的語言模型在下遊任務上的性能。為了限制資料組合分布範圍,實驗中固定了Wikipedia 和GitHub 兩個資料集合的采樣權重。對于Wikipedia,要求對訓練資料進行完整的學習,是以将采樣權重固定為2%。對于GitHub,采樣權重設定為3%。

對于剩餘的的四個子集(MassiveWeb、News、Books 和C4)設定了7 種不同的組合。圖3.2給出了7 種不同子集采樣權重訓練得到Gopher 模型在下遊任務上的性能。可以看到,使用不同數量子集采樣權重訓練,所獲得模型效果差别很大。在所有任務中表現良好且在Curation Corpus 上取得最佳表現的綠色配置是10% 的C4、50% 的MassiveWeb、30% 的Books 和10% 的News。增加書籍資料的比例可以提高模型從文本中捕獲長期依賴關系的能力,是以可以降低LAMBADA 語料集上的損失。而使用更高比例的C4 資料集則有助于在C4 驗證集上獲得更好的表現。

三個方面淺析資料對大語言模型的影響

圖3.2 采用不同采樣權重訓練得到的Gopher 語言模型在下遊任務上的性能

以上就是從資料規模、數量品質以及資料多樣性三個方面分析資料對大語言模型的性能的影響的介紹,在建構大語言模型時,資料的品質和多樣性對于提高模型的性能至關重要。同時,為了推動大語言模型的研究和應用,學術界和工業界也開放了多個針對大語言模型的開源資料集。下一篇文章中,我還會介紹典型的開源資料集合,敬請關注!

關注#華為雲開發者聯盟# 點選下方,第一時間了解華為雲新鮮技術~

華為雲部落格_大資料部落格_AI部落格_雲計算部落格_開發者中心-華為雲

繼續閱讀