大語(yǔ)言模型系列—預(yù)訓(xùn)練數(shù)據(jù)集及其清洗框架
在參與得物大語(yǔ)言模型(Large Language Model, LLM)項(xiàng)目的深度實(shí)踐中,筆者親歷了預(yù)訓(xùn)練數(shù)據(jù)的搜集與清洗全過(guò)程。這篇文章通過(guò)詳細(xì)梳理現(xiàn)有預(yù)訓(xùn)練數(shù)據(jù)集以及其清洗框架,旨在提供一個(gè)全面而實(shí)用的參考,以便為 LLM 訓(xùn)練提供快速有效的數(shù)據(jù)集落地方案。
一、內(nèi)容概要
- 梳理中英文訓(xùn)練數(shù)據(jù)集。
 - 整理文本清洗框架。
 - 總結(jié)現(xiàn)有框架的優(yōu)點(diǎn)、問(wèn)題和初步解決方案。
 
二、預(yù)訓(xùn)練數(shù)據(jù)集
大規(guī)模的高質(zhì)量語(yǔ)料是訓(xùn)練大語(yǔ)言模型的關(guān)鍵“養(yǎng)料”。這些語(yǔ)料提供了世界性的知識(shí)體系,能夠提升語(yǔ)言模型的理解能力和生成質(zhì)量,同時(shí)也能夠支持多樣化的應(yīng)用場(chǎng)景。事實(shí)上,高質(zhì)量的文本對(duì)于大語(yǔ)言模型的訓(xùn)練和能力表現(xiàn)具有非常重要的影響。一些學(xué)者甚至認(rèn)為:“GPT、PaLM 等模型的領(lǐng)先優(yōu)勢(shì)在很大程度上源于它們使用的超大規(guī)模且高質(zhì)量的專有數(shù)據(jù)。”(Touvron et al, 2023)
英文數(shù)據(jù)集
圖片
RefinedWeb
概況
阿聯(lián)酋阿布扎比技術(shù)創(chuàng)新研究所(Technology Innovation Institute, TII)精心構(gòu)建了一個(gè)用于大模型預(yù)訓(xùn)練的數(shù)據(jù)集——RefinedWeb。這個(gè)數(shù)據(jù)集是通過(guò)對(duì) Common Crawl(CC)網(wǎng)頁(yè)數(shù)據(jù)進(jìn)行細(xì)致且深入的清洗和過(guò)濾得來(lái)的。令人驚訝的是,LLM 僅使用經(jīng)過(guò)精細(xì)處理的網(wǎng)頁(yè)數(shù)據(jù),就能達(dá)到甚至超越使用專有數(shù)據(jù)集的模型效果。RefinedWeb 的全量數(shù)據(jù)規(guī)模達(dá)到了 5T Tokens,其中,已經(jīng)向公眾開(kāi)源的數(shù)據(jù)規(guī)模則達(dá)到了 600B Tokens。
依據(jù) Penedo et al.(2023)的研究,如下圖所示,即使只使用經(jīng)過(guò)嚴(yán)密清洗和過(guò)濾的網(wǎng)頁(yè)數(shù)據(jù),模型的效果也能與使用多種專有數(shù)據(jù)的混合方案相媲美。另外,RefinedWeb 數(shù)據(jù)集已成功訓(xùn)練出了 Falcon-7B、40B 和 180B 等模型。值得一提的是,目前 Falcon-180B 在 Huggingface 開(kāi)源模型排行榜 OpenLLM Leaderboard 上名列前茅。同時(shí),Shen et al.(2023)分析中指出,RefinedWeb 數(shù)據(jù)集的質(zhì)量?jī)?yōu)于 RedPajama-1T 和 SlimPajama。
圖片
清洗規(guī)則
雖然 CC 網(wǎng)頁(yè)數(shù)據(jù)的規(guī)模達(dá)到 PB 級(jí),但其質(zhì)量卻相對(duì)較低,必須經(jīng)過(guò)深度的清洗和過(guò)濾才能滿足模型訓(xùn)練的需要。RefinedWeb 的清洗過(guò)程包括以下幾個(gè)步驟:
- 溯源處理:對(duì)原始 HTML 網(wǎng)頁(yè)格式(使用的是 WARC 格式,而不是常見(jiàn)的 WET 格式)進(jìn)行處理,包括去除廣告、網(wǎng)頁(yè)導(dǎo)航等無(wú)效內(nèi)容。
 - URL 過(guò)濾:利用黑名單過(guò)濾掉包含不健康內(nèi)容的域名,同時(shí)也使用訓(xùn)練關(guān)鍵詞過(guò)濾工具對(duì) URL 進(jìn)行過(guò)濾。
 - 英文文本提取:通過(guò)語(yǔ)種鑒別工具從原始數(shù)據(jù)中提取出英文文本。
 - 文本校正與規(guī)范化:修正文本中的拼寫(xiě)錯(cuò)誤和 Unicode 亂碼。
 - 文本去重:包括基于 HashLSH 的模糊去重和基于 N-Gram 的精確去重,以降低文本的重復(fù)率。
 
經(jīng)過(guò)深度清洗后,CC 文本的淘汰率接近 90%。盡管如此,TII 團(tuán)隊(duì)仍然從近 180TB 的 CC 數(shù)據(jù)集中清洗出了大約 5T Tokens 的數(shù)據(jù),并向公眾開(kāi)源了其中的 600B Tokens 數(shù)據(jù)。
圖片
RedPajama-1T
概況
RedPajama-1T 是由 Together 開(kāi)源社區(qū)發(fā)起的項(xiàng)目,它的目標(biāo)是復(fù)現(xiàn) MetaAI 的 LLaMA 預(yù)訓(xùn)練,以推動(dòng)大語(yǔ)言模型(LLM)開(kāi)源社區(qū)的發(fā)展。
- 數(shù)據(jù)集規(guī)模
 
RedPajama-1T 數(shù)據(jù)集包含了 1.2T Tokens 的英文數(shù)據(jù),未經(jīng)壓縮的數(shù)據(jù)大小約為 5TB,而經(jīng)過(guò)壓縮后的下載大小約為 3TB。
- 數(shù)據(jù)集來(lái)源
 
RedPajama-1T 數(shù)據(jù)集的收集方式參照了 LLaMA 論文公開(kāi)的思路,可從 Hugging Face 官網(wǎng)下載。
- 數(shù)據(jù)集組成
 
RedPajama-1T 數(shù)據(jù)集包含了來(lái)自多個(gè)不同來(lái)源的數(shù)據(jù),包括 CommonCrawl、C4、GitHub、Books、ArXiv、Wikipedia 以及 StackExchange 等。
圖片
清洗規(guī)則
RedPajama-1T 數(shù)據(jù)集的清洗過(guò)程相對(duì)簡(jiǎn)單,主要的去重操作僅限于子集或文檔內(nèi)部。因此,這個(gè)數(shù)據(jù)集的去重并不徹底,在子集之間存在明顯重復(fù)文本(Shen et al, 2023)。
- Common Crawl 利用開(kāi)源 CC-NET 框架清洗了五個(gè) Common Crawl 快照(Dumps)數(shù)據(jù),主要包括文本提取、去重、語(yǔ)種分類、過(guò)濾低質(zhì)量語(yǔ)料以及結(jié)構(gòu)化輸出等步驟。
 - C4 數(shù)據(jù)集直接從 Huggingface 下載,只進(jìn)行了數(shù)據(jù)格式的轉(zhuǎn)換。
 - GitHub 數(shù)據(jù)從 Google BigQuery 下載,僅在文件級(jí)別進(jìn)行了去重。此外,僅保留了在 MIT、BSD 或 Apache 許可下分發(fā)的項(xiàng)目。
 - Wikipedia 可用的 Wikipedia 數(shù)據(jù)集直接從 Huggingface 下載,數(shù)據(jù)截止至2023 年 3 月 20 日,包含 20 種不同的語(yǔ)言。已刪除了超鏈接、注釋以及其他格式化的文本內(nèi)容。
 - Gutenberg 和 Books3 Gutenberg 和 Books3 PG19 子集直接從 Huggingface 下載,使用 Simhash 算法進(jìn)行去重處理。
 - ArXiv 數(shù)據(jù)從 Amazon S3 的 Arxiv Requester Pays 存儲(chǔ)桶中下載。僅保留了 LaTeX 源文件,同時(shí)刪除了導(dǎo)言、注釋、宏和參考文獻(xiàn)。
 - StackExchange 僅保留了 28 個(gè)訪問(wèn)量最大的帖子,并刪除了 HTML 標(biāo)記。帖子內(nèi)容被分割成問(wèn)題-回答,并按照回答的點(diǎn)贊數(shù)量進(jìn)行排序。
 
SlimPajama
概況
SlimPajama 數(shù)據(jù)集是由 Cerebras 基于 RedPajama-1T 數(shù)據(jù)集通過(guò)深度去重得到的英文數(shù)據(jù)集。該團(tuán)隊(duì)通過(guò)過(guò)濾低質(zhì)量和重復(fù)性文本,從 RedPajama-1T 數(shù)據(jù)集中過(guò)濾掉了 49.6% 的 Tokens,從而將數(shù)據(jù)集規(guī)模從 1210B Tokens 縮減為了 627B Tokens。實(shí)驗(yàn)結(jié)果表明,使用 SlimPajama 訓(xùn)練的模型性能優(yōu)于使用 RedPajama-1T 數(shù)據(jù)集訓(xùn)練的模型。
清洗規(guī)則
為了提升數(shù)據(jù)質(zhì)量,Cerebras開(kāi)發(fā)了一個(gè)包含精確和模糊算法的全量去重框架,用于產(chǎn)生 SlimPajama 數(shù)據(jù)集。處理流程包括以下兩個(gè)步驟:
- 刪除短小且質(zhì)量較低的文檔:首先去除標(biāo)點(diǎn)符號(hào)、空格符號(hào)、換行符和制表符,然后刪除少于 200 個(gè)字符的文檔。該步驟淘汰了 1.86% 的文檔。
 - 利用精確和模糊去重方法:具體來(lái)說(shuō),這包括 13-Grams 的精確去重方法和 MinHashLSH 的模糊去重方法。通過(guò)分布式并行和內(nèi)存池優(yōu)化方法,實(shí)現(xiàn)了對(duì) 1.2T Tokens 的全量去重,濾掉了 49.6% 的重復(fù) Tokens。這個(gè)步驟使用了 64 核的 CPU,耗時(shí) 2.5 天,內(nèi)存消耗 1.2TB,最終得到了包含 627B Tokens 的 SlimPajama 數(shù)據(jù)集。
 
圖片
MassiveText
概況
MassiveText 是由 DeepMind 構(gòu)建的大規(guī)模英文數(shù)據(jù)集,包含約 23.5 億個(gè)文檔,總共約 10.5TB 的文本(Rae et al, 2021)。這個(gè)數(shù)據(jù)集并未開(kāi)源,其數(shù)據(jù)來(lái)源包括了網(wǎng)頁(yè)、書(shū)籍、新聞文章以及代碼等多個(gè)領(lǐng)域。MassiveText 數(shù)據(jù)集被用于訓(xùn)練 Gopher 模型,該模型最大參數(shù)規(guī)模達(dá)到了 280B。
清洗規(guī)則
為了確保數(shù)據(jù)的質(zhì)量,DeepMind 對(duì) MassiveText 數(shù)據(jù)集進(jìn)行了一系列的處理,包括:
- 內(nèi)容過(guò)濾:使用 Google's SafeSearch filter 來(lái)過(guò)濾非英語(yǔ)文檔,以確保數(shù)據(jù)集的語(yǔ)言統(tǒng)一性。
 - 文本提?。涸摬襟E僅針對(duì)網(wǎng)頁(yè)數(shù)據(jù)源。通過(guò)對(duì) HTML 標(biāo)記的樹(shù)結(jié)構(gòu)進(jìn)行分析,識(shí)別出在相同級(jí)別的語(yǔ)義標(biāo)簽組中出現(xiàn)的自包含、連貫的重要文本塊。這些標(biāo)簽組被轉(zhuǎn)換成純文本,并保留那些在格式上有意義的信息,如縮進(jìn)、換行和項(xiàng)目符號(hào)。
 - 低質(zhì)量過(guò)濾:僅針對(duì)網(wǎng)頁(yè)數(shù)據(jù)源。低質(zhì)量文本包括網(wǎng)頁(yè)自動(dòng)生成的內(nèi)容或非人類閱讀的文本(如用于搜索引擎優(yōu)化的關(guān)鍵詞),以及缺乏上下文、連貫性或?qū)嵸|(zhì)意義的社交媒體內(nèi)容。為了過(guò)濾低質(zhì)量文本,采用了以下的啟發(fā)式算法:
 
- 移除詞數(shù)少于 50 或大于 100,000、平均詞長(zhǎng)小于 3 或大于 10 個(gè)字符的文檔。
 - 移除哈希符號(hào)或省略號(hào)占比超過(guò) 10% 的文檔。
 - 移除超過(guò) 90% 的行以項(xiàng)目符號(hào)開(kāi)頭或超過(guò) 30% 的行以省略號(hào)結(jié)尾的文檔。
 - 過(guò)濾停用詞后,確保文檔中 80% 的單詞至少包含一個(gè)字母字符。
 
- 文檔內(nèi)去重:這一步驟僅針對(duì)網(wǎng)頁(yè)數(shù)據(jù)源。Rae et al.(2021)認(rèn)為模型生成重復(fù)文本可能源于重復(fù)的訓(xùn)練數(shù)據(jù)。為了降低重復(fù)率,移除具有高重復(fù)率的行、段落或 N-Gram 的文檔。
 - 文檔間去重:使用MinHash算法計(jì)算 13-Gram 的 Jaccard 相似度,過(guò)濾相似度超過(guò)閾值(通常為0.8)的文檔。
 - 測(cè)試數(shù)據(jù)過(guò)濾:確保訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)之間不存在重疊,以保證模型訓(xùn)練和測(cè)試的公正性。
 
The Pile
概況
The Pile 是由 Eleuther AI 社區(qū)構(gòu)建的大規(guī)模英文數(shù)據(jù)集,其規(guī)模達(dá)到 825GB,包含約 1.4 億份文檔,平均每個(gè)文檔大小為 5.9 KB(Gao et al, 2020)。這個(gè)數(shù)據(jù)集的優(yōu)勢(shì)在于其廣泛的數(shù)據(jù)覆蓋范圍和詳細(xì)的分類,由 22 個(gè)不同的高質(zhì)量子集組成。
圖片
The Pile 數(shù)據(jù)集被分為五個(gè)主要類別:學(xué)術(shù)材料、網(wǎng)頁(yè)、書(shū)籍、對(duì)話和代碼,并被進(jìn)一步細(xì)分為 22 個(gè)子集。以下是其中的一些主要子集:
- Pile-CC:基于 CC WARC 格式數(shù)據(jù),包括原始網(wǎng)頁(yè)、元數(shù)據(jù)和文本提取。這些附屬信息有助于過(guò)濾掉有害、暴力、煽動(dòng)犯罪等低質(zhì)量的網(wǎng)頁(yè)內(nèi)容。
 - PubMed Central:這是 PubMed 生物醫(yī)學(xué)在線資源庫(kù)的一個(gè)子集,提供近 500 萬(wàn)份出版物的全文。
 - Books3:這是一個(gè)圖書(shū)數(shù)據(jù)集,包含來(lái)自 Bibliotik 的內(nèi)容副本。書(shū)籍?dāng)?shù)據(jù)有助于模型學(xué)習(xí)長(zhǎng)距離的上下文關(guān)系。
 - OpenWebText2:包括自 2020 年起從 Reddit 收集的多語(yǔ)種內(nèi)容、文檔元數(shù)據(jù)和開(kāi)源代碼。
 - ArXiv:這是全球知名的研究論文預(yù)印本服務(wù)器,主要集中在數(shù)學(xué)、計(jì)算機(jī)科學(xué)和物理學(xué)領(lǐng)域。
 - Github:這是一個(gè)大型的開(kāi)源代碼庫(kù),提供豐富的軟件開(kāi)發(fā)代碼及相關(guān)文本。
 - FreeLaw:提供多種形式的法律程序文本,包括摘要、法官書(shū)目信息和其他元數(shù)據(jù),來(lái)自公共領(lǐng)域的自由法。
 - Stack Exchange:包含用戶在 Stack Exchange 上貢獻(xiàn)的內(nèi)容,涵蓋了許多主題,如編程、園藝、佛教等。
 - USPTO Backgrounds:這是美國(guó)專利商標(biāo)局授予的專利數(shù)據(jù)集,包括發(fā)明專利背景和技術(shù)概述。
 - Wikipedia (English):維基百科提供了高質(zhì)量的文本數(shù)據(jù),涵蓋了各種領(lǐng)域。
 - PubMed Abstracts:來(lái)自 PubMed 的 3000 萬(wàn)份出版物的摘要,覆蓋生物、醫(yī)學(xué)等領(lǐng)域。
 - Project Gutenberg:這是一個(gè)經(jīng)典西方文學(xué)的數(shù)據(jù)集,包含了 1 萬(wàn)多本著名文學(xué)作品。
 
清洗規(guī)則
各個(gè)子集在構(gòu)建過(guò)程中采用了“分治”思想,根據(jù)數(shù)據(jù)特征定制清洗規(guī)則。
- Pile-CC:基于 Common Crawl 的 WARC 格式數(shù)據(jù),處理步驟包括文本提取、語(yǔ)言識(shí)別(采用 Pycld2 算法,而非 JusText),以及低質(zhì)量文本過(guò)濾(參考Brown et al. 2020,使用訓(xùn)練的分類器來(lái)篩選低質(zhì)量文本)。
 - OpenWebText2:根據(jù) Reddit 的投票數(shù)據(jù),濾除投票數(shù)少于 3 的網(wǎng)頁(yè),并采用 MinHashLSH 算法進(jìn)行去重處理。
 - ArXiv:截止到 2020 年 7 月,總計(jì)收集了 126 萬(wàn)篇文章。在數(shù)據(jù)清洗過(guò)程中,移除了以:::開(kāi)頭的行。
 - GitHub:淘汰了獲得 Star 數(shù)量少于 100 或大小超過(guò) 1GB 的倉(cāng)庫(kù)。
 - Stack Exchange:僅選擇了收到超過(guò) 3 個(gè)贊的前 3 個(gè)回答,并只提取了問(wèn)答中的純文本,排除了元數(shù)據(jù)。問(wèn)題和答案的格式分別被格式化為 Q:\n\n 和 A:\n\n。
 - PubMed Abstracts:僅保留了標(biāo)題和摘要,一共包含了 15,518,009 個(gè)標(biāo)題和摘要。在處理過(guò)程中,將標(biāo)題和摘要拼接在一起,并刪除了所有的版權(quán)信息。
 - BookCorpus2:這個(gè)子集包含了 17868 本書(shū)籍。清洗規(guī)則包括:
 
- 保留文檔的結(jié)構(gòu),使其與章節(jié)保持一致,與目錄非常接近;
 - 正確呈現(xiàn)數(shù)據(jù)表格,因?yàn)槟J(rèn)的 Html 2txt 處理對(duì)表格的處理結(jié)果質(zhì)量較差;
 - 正確保留代碼的結(jié)構(gòu),使源代碼在視覺(jué)上連貫;
 - 將編號(hào)列表從“1.”轉(zhuǎn)換為“1.”;
 - 對(duì)全文進(jìn)行了 ftfy.fix_text() 處理,將 Unicode 的撇號(hào)替換為 ASCII 的撇號(hào),并將 Unicode 的省略號(hào)擴(kuò)展為“...”(三個(gè)獨(dú)立的 ASCII 字符)。
 
C4
概況
C4 (Colossal Clean Crawled Corpus) 是 Google 提出的一個(gè)大規(guī)模英文語(yǔ)料庫(kù)。這個(gè)數(shù)據(jù)集源自 Common Crawl,包含了約 3.65 億份文檔(156B Tokens)(Raffel et al, 2020)。Google 使用該數(shù)據(jù)集來(lái)訓(xùn)練 T5 和 Switch Transformer 模型(Dodge et al, 2021)。
啟發(fā)式清洗規(guī)則
在構(gòu)建 C4 數(shù)據(jù)集的過(guò)程中,研究者們制定了一系列啟發(fā)式的數(shù)據(jù)清洗規(guī)則。
- 僅保留以終止標(biāo)點(diǎn)符號(hào)(如句號(hào)、感嘆號(hào)、問(wèn)號(hào)、結(jié)束引號(hào)、省略號(hào))結(jié)尾的文本行。
 - 丟棄包含少于 5 個(gè)句子的網(wǎng)頁(yè),且要求每個(gè)句子至少包含 3 個(gè)單詞。
 - 刪除包含“List of Dirty, Naughty, Obscene or Otherwise Bad Words”中任何詞匯的網(wǎng)頁(yè)。
 - 由于網(wǎng)頁(yè)警告可能啟用 Javascript,因此刪除了包含“Javascript”詞匯的所有文本行。
 - 刪除了包含“l(fā)orem ipsum”占位符短語(yǔ)的網(wǎng)頁(yè)。
 - 刪除了包含大括號(hào)“{}”的網(wǎng)頁(yè)。
 - 刪除了重復(fù)出現(xiàn)的內(nèi)容。
 
中文數(shù)據(jù)集
盡管如此,目前仍有一些規(guī)模超過(guò) 100GB 的中文數(shù)據(jù)集已經(jīng)開(kāi)源,包括 MNBVC、SkyPile-150B、Wanjuan 1.0、WuDao 和 CLUECorpus2020。這些數(shù)據(jù)集的存在為中文 LLM 訓(xùn)練提供了資源。
MNBVC
MNBVC 數(shù)據(jù)集涵蓋了各種形式的純文本中文數(shù)據(jù),包括新聞、作文、小說(shuō)、書(shū)籍、雜志、論文、臺(tái)詞、帖子、Wiki、古詩(shī)、歌詞、商品介紹、笑話、糗事、聊天記錄等。所有的數(shù)據(jù)均收集自互聯(lián)網(wǎng)。
在 HuggingFace 上,MNBVC 數(shù)據(jù)集公布的數(shù)據(jù)類別包括公司年報(bào)、Wiki、問(wèn)答(含知乎最高點(diǎn)贊、Wikihow、Stackexchage、外交部答記者問(wèn))、新聞、法律(判決書(shū))、政府文章(如學(xué)習(xí)強(qiáng)國(guó),政府工作報(bào)告)和代碼,共 7 個(gè)類別。未經(jīng)壓縮的純中文數(shù)據(jù)總量達(dá)到了 5.4 TB。
圖片
圖片
MNBVC 數(shù)據(jù)集提供的文檔內(nèi)容是經(jīng)過(guò)初步清洗的版本,整體來(lái)說(shuō),數(shù)據(jù)質(zhì)量屬于中等水平。在數(shù)據(jù)集中,存在大量的亂碼、低質(zhì)量文本和重復(fù)性文本。這些問(wèn)題會(huì)影響 LLM 訓(xùn)練效果。因此在使用之前需要對(duì)數(shù)據(jù)進(jìn)行精細(xì)清洗。以下是 MNBVC 數(shù)據(jù)集的主要子集:
新聞:
圖片
知乎問(wèn)答(僅包含最高贊1個(gè)回答):
外交部問(wèn)答:
圖片
公司財(cái)報(bào):
圖片
中文 Wiki:
圖片
法律判決書(shū):
圖片
SkyPile-150B
SkyPile-150B 是昆侖萬(wàn)維專門(mén)為 LLM 預(yù)訓(xùn)練任務(wù)設(shè)計(jì)的中文數(shù)據(jù)集,數(shù)據(jù)源自可公開(kāi)訪問(wèn)的中文網(wǎng)頁(yè)。為了保證數(shù)據(jù)質(zhì)量,數(shù)據(jù)集經(jīng)過(guò)了初步的清洗處理,同時(shí)使用了 FastText 和 BERT 等工具來(lái)過(guò)濾低質(zhì)量的文本。SkyPile-150B 包含 1.66 億個(gè)中文網(wǎng)頁(yè),每個(gè)網(wǎng)頁(yè)平均包含 1,000 多個(gè)漢字,總的數(shù)據(jù)規(guī)模達(dá)到了 592 GB(150B Tokens)。
然而,值得注意的是,該數(shù)據(jù)集的清洗工作并未達(dá)到完全徹底的程度。在數(shù)據(jù)集中,仍存在一定數(shù)量的亂碼和不健康內(nèi)容,同時(shí)也包含了一些敏感信息,如電子郵件地址、電話號(hào)碼或IP地址等。以下是 SkyPile-150B 數(shù)據(jù)集的主要問(wèn)題:
- Unicode 亂碼:數(shù)據(jù)集中存在一些無(wú)法正確解碼的 Unicode 字符。
 
圖片
- 拼音漢字混搭。
 
圖片
Wuanjuan 1.0
Wanjuan 1.0 是由上海 AI 實(shí)驗(yàn)室構(gòu)建的混合數(shù)據(jù)集,包含三個(gè)主要部分:文本數(shù)據(jù)集、圖文數(shù)據(jù)集和視頻數(shù)據(jù)集。文本部分由各種來(lái)源的語(yǔ)料構(gòu)成,包括網(wǎng)頁(yè)、百科、書(shū)籍、專利、教材、考題等,中文規(guī)模達(dá)到了 552 GB。在 Wanjuan 1.0 的構(gòu)建過(guò)程中,Html、Text、PDF、Epub 等多種格式的數(shù)據(jù)都被統(tǒng)一處理為 Jsonl 格式。此外,數(shù)據(jù)集還經(jīng)過(guò)了細(xì)粒度的清洗、去重和價(jià)值對(duì)齊,從而形成了一份質(zhì)量較高的預(yù)訓(xùn)練語(yǔ)料。
然而,需要注意的是,Wanjuan 1.0 與 MNBVC 有很多相同的主要子集,因此兩者在內(nèi)容上存在較大的重疊。使用前需要在數(shù)據(jù)集之間進(jìn)行徹底去重。
圖片
WuDaoCorpora
WuDaoCorpora 是由北京智源人工智能研究院(智源研究院)構(gòu)建的復(fù)合數(shù)據(jù)集,由文本、對(duì)話、圖文對(duì)三部分組成。其中,可申請(qǐng)使用的文本數(shù)據(jù)規(guī)模達(dá)到了 200GB。
在構(gòu)建 WuDaoCorpora 數(shù)據(jù)集的過(guò)程中,該團(tuán)隊(duì)采用了 20 多種規(guī)則,從 100TB 的原始網(wǎng)頁(yè)數(shù)據(jù)中清洗出了最終的數(shù)據(jù)集。此外,該數(shù)據(jù)集包含了教育、科技等50+個(gè)行業(yè)的數(shù)據(jù)標(biāo)簽,這使得它能夠支持多領(lǐng)域預(yù)訓(xùn)練模型的訓(xùn)練。

CLUECorpus2020
CLUE 開(kāi)源社區(qū)采用自定義的清洗方法從 2019 年 7 月至 12 月的 Common Crawl(CC)原始數(shù)據(jù)中提取出了 100 GB 的中文語(yǔ)料。該數(shù)據(jù)集已經(jīng)通過(guò)了 CLUE Organization 團(tuán)隊(duì)的初步驗(yàn)證,以確認(rèn)其質(zhì)量和可用性。該數(shù)據(jù)集已被成功用于從零開(kāi)始訓(xùn)練 Bert-base 模型。訓(xùn)練后的模型展示了與使用同類高質(zhì)量數(shù)據(jù)集訓(xùn)練得到的模型相當(dāng)?shù)闹形奶幚砟芰Α?/p>
然而,需要注意的是,由于清洗過(guò)程的力度不夠,CLUECorpus2020 中仍然存在一些低質(zhì)量和不健康的文本。以下列出了一些需要進(jìn)一步改進(jìn)和完善的地方:
- 數(shù)據(jù)繁體轉(zhuǎn)簡(jiǎn)體:
 
圖片
- 精細(xì)化過(guò)濾,濾除廣告彈窗文本內(nèi)容:
 
圖片
- 網(wǎng)站警報(bào)信息:
 
圖片
- 編碼亂碼:
 
多語(yǔ)種
目前,已有多個(gè)開(kāi)源的多語(yǔ)種訓(xùn)練數(shù)據(jù)集可供研究者使用。其中包括 CC100(由Conneau 等人于 2019 年發(fā)布)、OSCAR(由Suárez等人于2019年發(fā)布)、ROOTS(由 Lauren?on 等人于 2022 年發(fā)布)、RedPajama-V2 等。
圖片
CC100
CC100 是一個(gè)包含 100 種語(yǔ)言的開(kāi)源數(shù)據(jù)集,總規(guī)模達(dá)到了 2.5TB。這份數(shù)據(jù)集是由 Meta AI 團(tuán)隊(duì)使用 CC-Net 框架清洗 2018 年 1 月-2018 年 12 月 的 CC Snapshot 得來(lái)。在 CC100 的數(shù)據(jù)格式中,每個(gè)文件都包含由雙換行符分隔的文檔以及同一文檔中由換行符分隔的段落。這樣的設(shè)計(jì)旨在方便數(shù)據(jù)的處理和使用。
CC100 數(shù)據(jù)集已被用于訓(xùn)練 XLM-R 模型,訓(xùn)練結(jié)果揭示了幾個(gè)重要的發(fā)現(xiàn):(1)擴(kuò)大數(shù)據(jù)規(guī)模能顯著提升下游任務(wù)的表現(xiàn);(2)增加語(yǔ)種數(shù)量、擴(kuò)大詞匯表、增大模型參數(shù)規(guī)模,這些都有利于提升模型的表現(xiàn),特別是對(duì)于小語(yǔ)種的遷移學(xué)習(xí)能力。
圖片
OSCAR
OSCAR(Open Super-large Crawled Aggregated coRpus)是一個(gè)開(kāi)源項(xiàng)目,其主要目標(biāo)是處理 Common Crawl 的 WET 文件,以便為詞嵌入模型和大型語(yǔ)言模型預(yù)訓(xùn)練提供基于網(wǎng)頁(yè)的多語(yǔ)言數(shù)據(jù)集。該項(xiàng)目成功地開(kāi)源了多語(yǔ)種的 OSCAR 數(shù)據(jù)集,總規(guī)模達(dá)到了 6.3TB。該數(shù)據(jù)集包含了 151 種不同的語(yǔ)言,最新版本為 OSCAR 23.01。通過(guò)基于 OSCAR 數(shù)據(jù)庫(kù)訓(xùn)練的上下文詞嵌入 ELMo 模型,研究人員發(fā)現(xiàn),清洗算法能顯著降低 Common Crawl 數(shù)據(jù)的噪聲,使其接近 Wikipedia 的質(zhì)量水平。
此外,OSCAR 項(xiàng)目還開(kāi)發(fā)了一套專門(mén)用于分類和過(guò)濾 Common Crawl 數(shù)據(jù)的高性能并行框架(包括 Goclassy 和 Ungoliant)。這個(gè)框架重用了 FastText 的線性分類器和預(yù)訓(xùn)練的 FastText 模型進(jìn)行語(yǔ)言識(shí)別。
ROOTS
ROOTS 是由 BigScience 團(tuán)隊(duì)構(gòu)建的多語(yǔ)言數(shù)據(jù)集,其規(guī)模達(dá)到了 1.6TB。這個(gè)數(shù)據(jù)集被用來(lái)訓(xùn)練了一款擁有超過(guò) 1700 億參數(shù)的大型模型,即 BLOOM 模型(Scao et al, 2022)。ROOTS 數(shù)據(jù)集涵蓋了 59 種語(yǔ)言,這其中包括 46 種自然語(yǔ)言和 13 種編程語(yǔ)言,提供了豐富的多語(yǔ)種和多模態(tài)資源。在其數(shù)據(jù)來(lái)源上,62% 的數(shù)據(jù)由社區(qū)進(jìn)行搜集和篩選;另外 38% 的數(shù)據(jù)則來(lái)自 OSCAR 數(shù)據(jù)集,并經(jīng)過(guò)了精細(xì)的過(guò)濾和校驗(yàn)流程。
圖片
為了確保數(shù)據(jù)集的質(zhì)量,ROOTS 數(shù)據(jù)集的清洗過(guò)程采取了一系列嚴(yán)格的措施。清洗流程包括:
- 去除重復(fù)內(nèi)容:通過(guò)識(shí)別和刪除相同或幾乎相同的文本,確保數(shù)據(jù)集中的每一份文檔都是唯一的。
 - 過(guò)濾頁(yè)面代碼和網(wǎng)頁(yè)組件:通過(guò)分析和識(shí)別 HTML 等頁(yè)面代碼,將這類非自然語(yǔ)言文本從數(shù)據(jù)集中移除。
 - 過(guò)濾 SEO 頁(yè)面:SEO 頁(yè)面通常包含了大量的關(guān)鍵詞和短語(yǔ),干擾模型訓(xùn)練。
 - 過(guò)濾不適當(dāng)?shù)膬?nèi)容:這包括色情、暴力等可能引起不適的內(nèi)容,這些內(nèi)容不應(yīng)被包含在數(shù)據(jù)集中。
 
此外,ROOTS 數(shù)據(jù)集也采用了 Simhash 算法對(duì)長(zhǎng)文本進(jìn)行去重,以進(jìn)一步確保數(shù)據(jù)的獨(dú)立性和多樣性。同時(shí),也對(duì)數(shù)據(jù)進(jìn)行了個(gè)人信息的去除,以遵守?cái)?shù)據(jù)隱私和保護(hù)的相關(guān)規(guī)定。
圖片
RedPajama-V2
繼 RedPajama-1T 之后,Together 開(kāi)源社區(qū)于 2023 年 10 月底發(fā)布了多語(yǔ)種數(shù)據(jù)集 RedPajama-V2。該數(shù)據(jù)集源自于 84 個(gè) CommonCrawl Dump 文件,包含英語(yǔ)(67%)、德語(yǔ)(10%)、法語(yǔ)(9%)、西班牙語(yǔ)(9%)和意大利語(yǔ)(5%)五種語(yǔ)言,文本規(guī)模達(dá)到 30T Tokens(約100TB),是迄今為止最完整的CommonCrawl 清洗數(shù)據(jù)。
RedPajama-V2 數(shù)據(jù)集采用了 CC-NET 清洗框架,主要包括 URL 過(guò)濾、敏感詞過(guò)濾、語(yǔ)種分類、模糊+精確去重、啟發(fā)式清洗、文本質(zhì)量分類。Together 團(tuán)隊(duì)融合了多種文本質(zhì)量評(píng)估方法,包括困惑度指標(biāo)、文本打分模型等,并提供了 40 多種文本質(zhì)量參考指標(biāo)。其清洗方法詳見(jiàn)(https://github.com/togethercomputer/RedPajama-Data)。
數(shù)據(jù)集對(duì)比和小結(jié)
- 英文語(yǔ)料所擁有的規(guī)模遠(yuǎn)超中文,其詳細(xì)清洗和處理方式也更為完善。與萬(wàn)億級(jí) Token 的英文開(kāi)源數(shù)據(jù)集相比,公開(kāi)的大型中文數(shù)據(jù)集規(guī)模尚小。
 - 多語(yǔ)種數(shù)據(jù)集越來(lái)越受到 LLM 社區(qū)的重視。
 - 目前并無(wú)開(kāi)源數(shù)據(jù)集能完全滿足中文語(yǔ)言模型的訓(xùn)練需求,存在的問(wèn)題包括清洗不徹底、規(guī)模不足、大量?jī)?nèi)容重復(fù)等。因此,構(gòu)建一個(gè)高質(zhì)量的大規(guī)模中文數(shù)據(jù)集,是當(dāng)前的迫切需求。
 
三、文本清洗框架
文本語(yǔ)料清洗(Text Corpus Cleaning)是自然語(yǔ)言處理中的一項(xiàng)核心任務(wù),該過(guò)程對(duì)確保數(shù)據(jù)質(zhì)量和提高模型效果至關(guān)重要。語(yǔ)料清洗的主要步驟包括文本提取、語(yǔ)種分類、去重和過(guò)濾等。目前,開(kāi)源語(yǔ)料清洗框架有 SlimPajama、MNBVC 和 CC-NET 等。
SlimPajama框架
SlimPajama 是由 Cerebras 團(tuán)隊(duì)推出的一個(gè)去重工具包,為清洗 RedPajama-1T 數(shù)據(jù)集而設(shè)計(jì)。它提供了一系列的功能,包括文本規(guī)范化、生成 Minhash、匹配重復(fù)數(shù)據(jù)、劃分?jǐn)?shù)據(jù)集和去重等。而且,通過(guò)采取分布式并行和內(nèi)存池優(yōu)化技術(shù),該工具可以支持萬(wàn)億級(jí) Tokens 的同步去重。
SlimPajama 的數(shù)據(jù)清洗流程如下:
- 通過(guò) Normalize_text 函數(shù)做文本規(guī)范化處理,包括小寫(xiě)化、去標(biāo)點(diǎn)等。
 - 通過(guò) Filter 函數(shù)過(guò)濾掉少于 200 字符數(shù)的短文檔。
 - 通過(guò) To_Hash 函數(shù)為每個(gè)文檔生成 Minhash 簽名。
 - 通過(guò) Generate_Duplicate_Pairs 函數(shù)基于 Minhash 簽名生成候選重復(fù)對(duì)。
 - 通過(guò) Generate_Connected_Components 函數(shù)將候選重復(fù)對(duì)連接成連通圖。
 - 通過(guò) Generate_Duplicates 函數(shù)從連通圖中提取重復(fù)文檔。
 - 通過(guò) Shuffle_Holdout 函數(shù)將數(shù)據(jù)集劃分為訓(xùn)練和驗(yàn)證集。
 - 通過(guò) Dedup_Train 函數(shù)去除訓(xùn)練集中與驗(yàn)證集重復(fù)的文檔。
 
MNBVC框架
MNBVC 是來(lái)自里屋社區(qū)的一款面向中文文本清洗的工具包,專門(mén)用于處理 MNBVC 數(shù)據(jù)。其核心功能包括文本提取、去重和質(zhì)量評(píng)分等。
MNBVC 的數(shù)據(jù)清洗流程如下:
- 對(duì)外部輸入的文件進(jìn)行文件 MD5 和文件大小的重復(fù)檢測(cè),刪除不同來(lái)源但實(shí)質(zhì)相同的文件。
 - 將大量文本文件(目前僅支持 txt 文件)轉(zhuǎn)換為格式化的、易于查詢的數(shù)據(jù)。
 - 對(duì)百萬(wàn)級(jí)別的文件進(jìn)行快速去重操作。
 - 文件格式重整和輸出。
 
格式化
功能
- 將大量文本txt轉(zhuǎn)化成格式化和易查詢 Jsonl 數(shù)據(jù)。
 - 在文本內(nèi)快速去重。
 
用法
運(yùn)行 convert.py 程序,并設(shè)置源文件路徑和目標(biāo)路徑,指定并發(fā)進(jìn)程數(shù)量(--n_process)和重復(fù)率閾值(-- threshold)
python convert.py --src_dir /path/to/source/directory --dst_dir /path/to/destination/directory --n_process 4 --threshold 0.7格式說(shuō)明
文本內(nèi)段落重復(fù)率高于閾值,被視為問(wèn)題內(nèi)容處理,全部保存在problem_*.jsonl,重復(fù)率低于閾值則保存在順序編號(hào) Jsonl 文件,例如1.jsonl。
每個(gè)正常文件大小為 500MB,可根據(jù)需要通過(guò)修改./utils.py 的 mas_size 值。
Jsonl 文件格式為:
{
    '文件名': '文件.txt',
    '是否待查文件': False,
    '是否重復(fù)文件': False,
    '文件大小': 1024,
    'simhash': 0,
    '最長(zhǎng)段落長(zhǎng)度': 0,
    '段落數(shù)': 0,
    '去重段落數(shù)': 0,
    '低質(zhì)量段落數(shù)': 0,
    '段落': []
}多進(jìn)程文件去重
功能
對(duì)百萬(wàn)量級(jí)文件并行處理,在文件間快速去重。
核心函數(shù)
- convert_jsonl_to_csv.py
 
將 Jsonl 文件轉(zhuǎn)化成對(duì)應(yīng) txt 元數(shù)據(jù)組成的 csv 文件,僅支持 Jsonl 格式輸入文件;
python convert_jsonl_to_csv.py --src_dir /path/to/source/directory --dst_dir /path/to/destination/directory- multiprocess_deduplication.py
 
依賴 convert_jsonl_to_csv.py 輸出的 csv 文件。支持多進(jìn)程并發(fā)處理,進(jìn)程數(shù)至少為 2。
python multiprocess_deduplication.py --src_dir /path/to/source/directory --n_process 10 --simhash_threshold 3 --jaccard_thresold 0.8參數(shù)說(shuō)明:--simhash_threshold 3:指定 Simhash 閾值,默認(rèn)為 3,出重效果較好且速度較快。值越大運(yùn)行速度越慢;
--jaccard_thresold 0.8:指定 jaccard 閾值;
--n_process 10:指定并行進(jìn)程數(shù)。
- reset_csv.py
 
清除 csv 文件去重失敗結(jié)果,multiprocess_deduplication.py 去重結(jié)果會(huì)寫(xiě)入 csv 文件,如果參數(shù)出錯(cuò),可以通過(guò) reset_csv.py 清除 csv 狀態(tài),從而再次進(jìn)行去重。
python reset_csv.py --src_dir /path/to/source/directory--src_dir 指定原始 csv 文件的路徑- write_output_to_jsonl.py
 
將 csv 去重后的結(jié)果再次保存到原始 Jsonl 文件中去。
python write_output_to_jsonl.py --csv_dir /path/to/source/csvdirectory --jsonl_dir /path/to/source/jsonldirectory--csv_dir:csv 源文件夾路徑;
--jsonl_dir:原始 Jsonl 的路徑。
示例
python convert_jsonl_to_csv.py --src_dir ./mnbvcfiles --dst_dir ./output_csv
# 假如simhash參數(shù)設(shè)置錯(cuò)誤,simhash_threshold設(shè)置成12,導(dǎo)致速度極慢
python multiprocess_deduplication.py --src_dir ./output_csv --n_process 15 --simhash_threshold 12 --jaccard_thresold 0.8
# 先強(qiáng)行結(jié)束,在運(yùn)行reset
python reset_csv.py --src_dir ./output_csv
# 正常跑一遍
python multiprocess_deduplication.py --src_dir ./output_csv --n_process 15 --simhash_threshold 3 --jaccard_thresold 0.8
python write_output_to_jsonl.py --csv_dir ./output_csv --jsonl_dir ./mnbvcfilesCC-NET框架
CC數(shù)據(jù)下載
CC 數(shù)據(jù)包含三種格式:
- WARC,網(wǎng)頁(yè)原始數(shù)據(jù),大約 70TB。
 - WAT,重要元數(shù)據(jù)和記錄,大約 17TB。
 - WET,純文本信息,超過(guò) 80000 個(gè) WET 文件,大約 8TB。
 
大部分用戶處理的是WET格式文本數(shù)據(jù),數(shù)據(jù)并發(fā)批量下載方式:
- 選擇 Screenshot。
 - 下載 WET File List,解壓。
 - 逐行讀取 WET File List 內(nèi)容,添加 https://data.commoncrawl.org/ ,獲得文件的完整 URL。
 - 啟動(dòng) WGET 命令下載文件。
 
#!/bin/bash
filename="wet.paths"  # 源文件名稱
prefix="https://data.commoncrawl.org/"  # 前綴
outputfile="new-text-$1.txt"  # 保存前綴添加后的數(shù)據(jù)的文件
let startline=$1*$2
let linenum=$2+2
tail -n +${startline} ${filename} | head -n ${linenum} | sed "s%^%${prefix}%" > $outputfile
# 下載數(shù)據(jù)
while read -r url; do
    wget -c $url -P wet-data
done < $outputfile
echo "Successfully downloaded"清洗流程和示例
CC-NET 的數(shù)據(jù)清洗流程主要包含以下三個(gè)步驟:
- 預(yù)處理:這一步主要從下載的數(shù)據(jù)中抽取段落,并計(jì)算每個(gè)段落的哈希值。
 - 去重、分類和打分:這一步根據(jù)段落的哈希值刪除重復(fù)的段落。接著,使用基于 Wikipedia 高質(zhì)量數(shù)據(jù)訓(xùn)練的分類模型對(duì)語(yǔ)料進(jìn)行語(yǔ)種分類,例如將語(yǔ)料分類為中文、英文、德文等。然后,利用語(yǔ)言模型對(duì)語(yǔ)料質(zhì)量進(jìn)行打分,并依據(jù)困惑度(Perplexity)值將語(yǔ)料劃分為 Head、Middle 和 Tail 三種質(zhì)量級(jí)別,其中 Head 級(jí)別的質(zhì)量最高,約占所有語(yǔ)料的 15%。
 - 重組:這一步將按語(yǔ)種和質(zhì)量分類的語(yǔ)料數(shù)據(jù)重組,并保存為 Json 文件。
 
圖片
清洗命令:
python -m cc_net --config ./config/segment.json
segment.json指定清洗文件數(shù)量、語(yǔ)種、清洗步驟和文件路徑
{
    "hash_in_mem": 2,
    "dump": "2019-09",
    "num_shards": 4,
    "num_segments_per_shard": 1,
    "mine_num_processes": 0,
    "lang_whitelist": ["en", "zh"],
    "pipeline": [
        "dedup",
        "lid",
        "keep_lang",
        "sp",
        "lm",
        "pp_bucket",
        "minify",
        "split_by_segment"
    ],
    "execution": "debug",
    "output_dir": "test_data_4shards",
    "mined_dir": "mined_by_segment",
    "target_size": "32M",
    "cache_dir": "test_data/wet_cache"
}文本清洗框架對(duì)比和小結(jié)
- SlimPajama 框架專注于大規(guī)模數(shù)據(jù)集的去重,整套方案支持并行和內(nèi)存優(yōu)化,可處理萬(wàn)億級(jí)數(shù)據(jù)。但目前僅針對(duì)英文數(shù)據(jù)。
 - MNBVC 框架面向中文語(yǔ)料清洗,支持文本提取、去重和質(zhì)量評(píng)分。但僅支持文檔級(jí)別的去重,去重粒度有待細(xì)化。
 - CC-NET 支持多語(yǔ)種清洗,實(shí)現(xiàn)了完整的文本清洗鏈路,包括語(yǔ)種分類、啟發(fā)式規(guī)則過(guò)濾、質(zhì)量評(píng)分和重組輸出。但安裝較復(fù)雜,也缺乏多粒度去重功能。
 - 當(dāng)前清洗框架多局限于特定語(yǔ)種或數(shù)據(jù)源,沒(méi)有通用的多語(yǔ)種清洗系統(tǒng)。理想的清洗框架應(yīng)支持多語(yǔ)種多格式輸入,具備大規(guī)模并行和可擴(kuò)展能力,針對(duì)不同類型數(shù)據(jù)提供自定義規(guī)則和功能,支持段落、章節(jié)、文檔等多粒度去重功能等。融合前人方法的優(yōu)勢(shì),建立一個(gè)模塊化、可配置、可擴(kuò)展的清洗框架,并提供豐富的規(guī)則庫(kù),是值得探索的方向。
 
四、總結(jié)和展望
本文從快速構(gòu)建大型語(yǔ)言模型(LLM)訓(xùn)練數(shù)據(jù)集的角度出發(fā),全面梳理了中文、英文和多語(yǔ)種數(shù)據(jù)集及其清洗規(guī)則,介紹了常用的數(shù)據(jù)清洗框架和主要流程,指出現(xiàn)有數(shù)據(jù)集存在的問(wèn)題及其初步解決方案。站在開(kāi)源數(shù)據(jù)集的肩膀上,通過(guò)數(shù)據(jù)整合和精細(xì)治理,我們能快速產(chǎn)出落地方案和結(jié)果,從而推動(dòng) LLM 的訓(xùn)練和優(yōu)化任務(wù)。
以下是已落地的數(shù)據(jù)集及其反思:
- 數(shù)據(jù)類別:已覆蓋了所有常見(jiàn)的類別,包括網(wǎng)頁(yè)、書(shū)籍、企業(yè)年報(bào)、法律文書(shū)、問(wèn)答、新聞、百科、考試、專利、評(píng)論、博客、歌詞、古詩(shī)文、中英平行語(yǔ)料等。
 - 訓(xùn)練語(yǔ)種:訓(xùn)練集包含中英雙語(yǔ)。大型語(yǔ)言模型如 GPT 系列、PaLM 2、QWEN、BaiChuan2 等,已經(jīng)從單語(yǔ)種(或雙語(yǔ)種)轉(zhuǎn)變?yōu)槎嗾Z(yǔ)種。多語(yǔ)種訓(xùn)練可以通過(guò)遷移學(xué)習(xí)和詞表擴(kuò)容來(lái)提升大型語(yǔ)言模型的性能,尤其是對(duì)于小語(yǔ)種。
 - 數(shù)據(jù)規(guī)模:現(xiàn)有中英高質(zhì)量文本規(guī)模和多樣性已初步對(duì)齊開(kāi)源模型。當(dāng)前全球的中英文高質(zhì)量語(yǔ)料上限約為 20T Tokens,而開(kāi)源模型的預(yù)訓(xùn)練語(yǔ)料通常在 1~5T Tokens 的規(guī)模之間。
 - 訓(xùn)練數(shù)據(jù)采樣方式:目前缺乏統(tǒng)一的標(biāo)準(zhǔn)。GPT、Gopher、T5 模型采用的是不均勻采樣方式,而 Llama 2、Falcon、PaLM、LaMDA、GLaM 采用的是均勻采樣方式(所有數(shù)據(jù) Epoch=1)。
 - 數(shù)據(jù)清洗:追求高質(zhì)量、低重復(fù)率已成為共識(shí)。我們優(yōu)先采用精確去重和模糊去重的結(jié)合策略。啟發(fā)式過(guò)濾方法存在主觀性、片面性和低效性等問(wèn)題。為改進(jìn)現(xiàn)有的啟發(fā)式方法,我們一方面收集和匯總現(xiàn)有的規(guī)則,提煉并吸收,以形成更全面的統(tǒng)一規(guī)則,提高命中率;另一方面,我們將啟發(fā)式規(guī)則的落地和實(shí)現(xiàn),通過(guò)工程化手段提升清洗效率。
 - 數(shù)據(jù)質(zhì)量評(píng)估和校驗(yàn):當(dāng)前缺乏統(tǒng)一的標(biāo)準(zhǔn)。常用的方法包括:(1)訓(xùn)練質(zhì)量分類器,通過(guò)閾值濾掉低質(zhì)量文本,并通過(guò)對(duì)比方法定量評(píng)估文本質(zhì)量;(2)利用文本困惑度(PPL)指標(biāo);(3)多輪人工校驗(yàn)。
 
參考資料:
- Anil R, Dai A M, Firat O, et al. Palm 2 technical report[J]. arXiv preprint arXiv:2305.10403, 2023.
 - Conneau A, Khandelwal K, Goyal N, et al. Unsupervised cross-lingual representation learning at scale[J]. arXiv preprint arXiv:1911.02116, 2019.
 - Dodge J, Sap M, Marasovi? A, et al. Documenting large webtext corpora: A case study on the colossal clean crawled corpus[J]. arXiv preprint arXiv:2104.08758, 2021.
 - Gao L, Biderman S, Black S, et al. The pile: An 800gb dataset of diverse text for language modeling[J]. arXiv preprint arXiv:2101.00027, 2020.
 - Lauren?on H, Saulnier L, Wang T, et al. The bigscience roots corpus: A 1.6 tb composite multilingual dataset[J]. Advances in Neural Information Processing Systems, 2022, 35: 31809-31826.
 - Suárez P J O, Sagot B, Romary L. Asynchronous pipeline for processing huge corpora on medium to low resource infrastructures[C]//7th Workshop on the Challenges in the Management of Large Corpora (CMLC-7). Leibniz-Institut für Deutsche Sprache, 2019.
 - Penedo G, Malartic Q, Hesslow D, et al. The RefinedWeb dataset for Falcon LLM: outperforming curated corpora with web data, and web data only[J]. arXiv preprint arXiv:2306.01116, 2023.
 - Rae J W, Borgeaud S, Cai T, et al. Scaling language models: Methods, analysis & insights from training gopher[J]. arXiv preprint arXiv:2112.11446, 2021.
 - Raffel C, Shazeer N, Roberts A, et al. Exploring the limits of transfer learning with a unified text-to-text transformer[J]. The Journal of Machine Learning Research, 2020, 21(1): 5485-5551.
 - Scao T L, Fan A, Akiki C, et al. Bloom: A 176b-parameter open-access multilingual language model[J]. arXiv preprint arXiv:2211.05100, 2022.
 - Shen Z, Tao T, Ma L, et al. SlimPajama-DC: Understanding Data Combinations for LLM Training[J]. arXiv preprint arXiv:2309.10818, 2023.
 - Touvron H, Martin L, Stone K, et al. Llama 2: Open foundation and fine-tuned chat models[J]. arXiv preprint arXiv:2307.09288, 2023.
 - https://huggingface.co/datasets/tiiuae/falcon-refinedweb.
 - https://huggingface.co/datasets/EleutherAI/pile.
 















 
 
 


















 
 
 
 