大語言模型涉及數(shù)據(jù)的通常有有多個階段(Aligning language models to follow instructions [1]):pre-train、sft(supervised finetune)、rlhf(optional). State of GPT:大神 Andrej 揭秘 OpenAI 大模型原理和訓練過程。
supervised finetune 一般在 base model 訓練完成后,使用 instruction 以及其他高質量的私域數(shù)據(jù)集來提升 LLM 在特定領域的性能;而 rlhf 是 openAI 用來讓model 對齊人類價值觀的一種強大技術;pre-training dataset 是大模型在訓練時真正喂給 model 的數(shù)據(jù),從很多 paper 能看到一些觀點比如:1. 提高預訓練數(shù)據(jù)的質量能讓大模型的性能表現(xiàn)更好;2. LLM 要想要更加強大,除了繼續(xù)加大模型參數(shù)量之外,給模型準備更多成比例的更大量的高質量數(shù)據(jù)也很關鍵。
經(jīng)過初步調(diào)研發(fā)現(xiàn)在英文世界的大模型,預訓練數(shù)據(jù)都來自互聯(lián)網(wǎng)爬取的全網(wǎng)數(shù)據(jù),在英文世界有 Common crawl 這樣的組織來維護這類全網(wǎng)爬蟲數(shù)據(jù)集;也有 huggingface 這種非常好的社區(qū),組織起 NLP 領域的模型 datasets 分享。
而在中文世界,似乎沒有特別公開的大規(guī)模語料數(shù)據(jù)集,huggingface、github 上也沒有找到特別多組織的很有體系的中文語料數(shù)據(jù)集。另一方面,近期中國國內(nèi)公布的一些大模型,也主要以評估分結果作為輸出,很少有針對 pre-training 數(shù)據(jù)展開詳細介紹的信息。
本文旨在總結一些開源的英文大模型的 pre-training dataset,通過分析 gpt3、llama、falcon 等開源 LLM 的 paper 上提到的 dataset 部分邏輯,以及深入調(diào)研一些比如 C4、The Pile、RefinedWeb 數(shù)據(jù)集,希望能總結一些規(guī)律,給期望了解 pre-train 數(shù)據(jù)集對 LLM 最終效果有何影響的人能有更加直觀的認知。
![wKgZomUKEIOAAAbVAAAl6LOgh3c783.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEIOAAAbVAAAl6LOgh3c783.png)
先來看看業(yè)界大模型的公開dataset資料
先分別簡單總結一下 GPT-3、llama、falcon 的 paper 里 dataset 部分的描述。然后我們重點展開 falcon 模型的 dataset refinedWeb,這是因為 falcon-40B 在 2023-07 這個時間點打榜到了 huggingface 的第一名,且 falcon 論文中著重提到了他們的 pre-train dataset:tiiuae/falcon-refinedweb。Datasets at Hugging Face [2],是公開的 paper 中講 pre-train 講的比較詳細的一篇,且 falcon 聲稱是數(shù)據(jù)讓他們的 model 效果這么好,那我們就展開了解一下。
![wKgZomUKEIOANMK2AAN5iYK3EQg520.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEIOANMK2AAN5iYK3EQg520.png)
1.1 先看openai的GPT系列
GPT3: Language Models are Few-Shot Learners [3] (GPT3 paper)
GPT4: (GPT-4 [4]) 就沒有再公開 pre-training 的 dataset 了
GPT3 的 paper 是 2020 年 5 月發(fā)布的,大概是 3 年前。使用的 pre-training dataset 在目前看來也比較簡單,主要來源就是 web 數(shù)據(jù)、書、維基百科這 3 個,不能算很豐富。尤其沒有包含很多垂直 industry 的數(shù)據(jù)。但在 3 年前用這些數(shù)據(jù)來驗證模型的性能隨模型大小變化的趨勢,以及做常識性評估邏輯是非常合適了。
很多人都說 openAI 的核心競爭力之一就在數(shù)據(jù),但很遺憾 GPT4 的 paper 中確實沒有再公開當前的數(shù)據(jù)細節(jié)了。這么看 elon musk 噴 openAI 變成了closeAI 好像也有點道理。哈哈哈 。。
這里引用一堆廢紙:GPT 模型成功的背后用到了哪些以數(shù)據(jù)為中心的人工智能(Data-centric AI)技術?[5] 文章總結的 openAI GPT 系列數(shù)據(jù)變化圖。
GPT3 的數(shù)據(jù)加工主要有 filter & deduplication:
![wKgZomUKEIWAdyAYAAjOQfQH7sw937.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEIWAdyAYAAjOQfQH7sw937.png)
filter:
用 WebText(Papers with Code - WebText Dataset [6]、openwebtext [7])作為高質量數(shù)據(jù)集訓練了一個分類器。使用分類器去過濾 Common crawl 的 documents。filter 時使用了一個公式,會使用 document_score。會有一個 α 參數(shù),他能把大部分不符合要求的數(shù)據(jù)過濾掉同時保留一部分質量不高的數(shù)據(jù)。文章里居然也說到這樣做能提高性能。
deduplication:
使用fuzzy deduplicate做去重。提到了使用spark的minHashLSH實現(xiàn)來做hash。
Question1:為什么 LLM 的 pre-training dataset 要這么關注 deduplication 呢?
Answer1:
“Deduplicating Training Data Makes Language Models Better”.Katherine Lee et al. ACL 2022.[8]
minHash:
是一個對比文檔相似度的技術。wikipedia 給出的 minhash 中 K 個 hash function 的錯誤率為:。這里關鍵注意 GPT3 使用了 10 hashes。錯誤率還是相對比較高的。后面也關注下其他 LLM 的這個取值。
![wKgZomUKEIWAZEzJAAZF6lamggI785.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEIWAZEzJAAZF6lamggI785.png)
▲ wikipedia 上 minHash 中 k 個 hash 帶來的錯誤率
數(shù)據(jù)量:
300Billion token.
1.2 facebook llama & llama2
###updated at 20230719###
facebook 發(fā)布了 llama2 版本:https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models/
![wKgZomUKEIaADeT8AATMbrlIcmA147.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEIaADeT8AATMbrlIcmA147.png)
pre-trainning 數(shù)據(jù)的主亮點:
-
使用了 2trillion tokens,相比 llama1 的 1.4T token 提高了 40%
-
llama2 并沒有使用 facebook 的自己產(chǎn)品的數(shù)據(jù)
- 在做 filter 時干掉了包含 private personal information 多的數(shù)據(jù)。
其他亮點:
提供了pre-train數(shù)據(jù)的一些insight分析,比如下圖,感興趣還是自己看paper吧。
###end of updated at 20230719###
LLaMA: Open and Efficient Foundation Language Models
https://arxiv.org/abs/2302.13971
llama 整體的 pre-training dataset與GPT3 相比,多的部分有:
1. 使用了更豐富的數(shù)據(jù)源。比如 Github,ArXiv ,StackExchange 等。總體占比有 10%。這些高質量的數(shù)據(jù)源里有核心代碼、高質量論文、高質量問答數(shù)據(jù)。這些高質量數(shù)據(jù)對 LLM suppose 是有很大的幫助。
Question2:不同數(shù)據(jù)源的比例對 LLM 的最終 performance 有影響么?
2.還是用了C4這個數(shù)據(jù)集。類似于WebText。
再看看 filter、deduplication 的細節(jié)
llama 針對 common crawl 的處理
-
在行級別做了 deduplication,llama paper 沒有講具體細節(jié),但在 ccnet paper 有講(CCNet: Extracting High Quality Monolingual Datasets from Web Crawl Data [9])后續(xù)專門展開講一下。
-
使用了 fastText 做文本語言分類,刪掉非英語。
-
使用了 ngram 做低質量 filter。
- 訓練了一個 model,把網(wǎng)頁分成被 wikipedia 引用和普通網(wǎng)頁,這里主要也是區(qū)分質量。
數(shù)據(jù)量:
1.4T token.
1.3 facebook CCNet pipeline分析
原始論文:
https://arxiv.org/abs/1911.00359
CCNet 是 facebook 開發(fā)的針對 common crawl 的一系列數(shù)據(jù) ETL pipeline。
![wKgZomUKEIiAb6LdAAY_x_pwEjU721.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEIiAb6LdAAY_x_pwEjU721.png)
▲ ccNet pipeline
deduplication:
![wKgZomUKEIiAMTG2AAEJTH4SFNk262.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEIiAMTG2AAEJTH4SFNk262.png)
ccnet 的亮點:
-
提出了針對 raw common crawl data,要先做 dedup 在做語言分類鑒別,最終效果更好,尤其對小語種。
-
在對 common crawl 做 filter 時,使用了數(shù)據(jù)分級,并沒有把 tail 數(shù)據(jù)全刪掉。他分了 head middle tail,分級是使用另外訓練的 model 來做的,比如head:先使用了 wikipedia 的數(shù)據(jù)來訓練出model,然后看每一個 paragraph 的數(shù)據(jù)過這個 model 算出來 perplexity score 高的就算 head。
- 有按照不同語種分類,包含了小語種數(shù)據(jù)。
ccnet 的待提升:
-
facebook 的 deduplication 并沒有使用 minhash,而是直接采用的 SHA-1 做傳統(tǒng)的 hash 去重。
- 沒有更多 line 級別的嚴格 filter。
![wKgZomUKEImABdpuAAAuhh9-KLM672.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEImABdpuAAAuhh9-KLM672.png)
來自迪拜的falcon以及其refinedweb數(shù)據(jù)集
本文下面重點調(diào)研下 falcon,falcon 是 dubai 的一家研究機構訓練的 LLM,他不但開源了自己的 7B,40B 版本的模型,還著重開源了他的 pre-training dataset [10]。本文詳細展開看一看。
論文原文:
https://arxiv.org/pdf/2306.01116.pdf
2.1 重要論點:只用web數(shù)據(jù)做預訓練,LLM效果也能很好
僅使用互聯(lián)網(wǎng)的 web 數(shù)據(jù),把filter 和 deduplicate做好,也能訓練處性能比使用精加工的數(shù)據(jù)集訓練出來的 state-of-the-art 模型。我覺得這個論點挺猛的,這給了很多 LLM 創(chuàng)業(yè)團隊打了很大的雞血,即使起步晚一點,沒有特別多的數(shù)據(jù)積累,似乎在大模型質量上也不一定會落后。
美中不足的是,完整版本的 refinedWeb 數(shù)據(jù)集有 5Trillion tokens,但 falcon 在 huggingface 開源的版本只有 600billion tokens,是用在訓練 1.3B/7B 參數(shù)的模型上的,而不是 40B 最大的模型。在開源的時候,也保留自己的一部分核心競爭力。重點看看他們的數(shù)據(jù)清洗邏輯,可能對從業(yè)者處理中文互聯(lián)網(wǎng)有幫助。
![wKgZomUKEIqAb58lAAPiT8hn4Kw652.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEIqAb58lAAPiT8hn4Kw652.png)
![wKgZomUKEIqAaE63AASZ6R84L6k811.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEIqAaE63AASZ6R84L6k811.png)
NSFW :Not Safe/Suitable For Work
2.2 RefinedWeb詳細加工過程
加工總原則
1. Scale first|規(guī)模第一
這個數(shù)據(jù)集是為了加工 40B~200B 參數(shù)的 LLM 設計的,因此需要 trillion 級別的 tokens。因此重點放在從 commoncrawl 的原始數(shù)據(jù)加工上準備數(shù)據(jù),而不是耗費大量人力去處理垂直領域的數(shù)據(jù)集。
2. Strict deduplication|嚴格去重。
同時使用了 exact 和 fuzzy 去重,比其他論文報告的刪除率更高。
3. Neutral filtering|中性過濾
也使用了基于模型的語言鑒定,使用了很多啟發(fā)式的規(guī)則,后面會詳細介紹。這一切都是為了避免 pre-training 數(shù)據(jù)當中包含 biased 數(shù)據(jù)。
總體流程
下圖為總體數(shù)據(jù)清晰 pipeline,包含了每一步刪除的文本數(shù)量,下面分步驟詳細展開講
2.3 URL filtering
在重度去重、過濾等任務之前,先對整體做了基于 URL 的過濾。主要目標是過濾掉一些欺詐、成人網(wǎng)站。這里有兩個基本規(guī)則:1)一個 4.6M 個域名的黑名單 2)URL 分,基于內(nèi)容中單詞的嚴格打分。falcon 發(fā)現(xiàn)單單基于一些 common 的黑名單還是會犯假陽性錯誤,比如過濾掉很多 popular 的博客平臺和好的的文化網(wǎng)站。然后很多基于單詞規(guī)則的規(guī)則數(shù)據(jù)集加工邏輯(比如 C4)會很容易把一些醫(yī)學、法律類的網(wǎng)頁給 block 了。
falcon 的 URL filtering 專注于找到可能對用戶有害的成人內(nèi)容相關的域名,或者包含了很多非結構化內(nèi)容的域名,比如類似百度網(wǎng)盤這種存文件的。首先,在 4.6M 個黑名單中的域名,直接顯示的 ban 了;然后,構建了一個 URL 打分體系,基于使用匹配一系列精選單詞。這些精選單詞列表是手工維護的,也是使用 ToxicBERT 標注出來的 toxicity 單詞。
url 打分部分提到的分級操作很精細:
Strict 級別:子單詞匹配
URL 包含的內(nèi)容中,單詞里哪怕 substring 里匹配上了也會被直接過濾。比如很多欺詐網(wǎng)站會用很多特殊表情放在很多命中黑名單的單詞中間來 hack 整個單詞級別的過濾。
Hard級別:整個單詞匹配
整個單詞命中才會被過濾
Soft級別:單詞匹配
至少 2 個單詞 match 才會過濾,這里的規(guī)則我覺得是可以調(diào)整的。soft 級別包含了一些單詞是受懷疑的單詞,單個單詞并不一定有足夠的理由是有害的,但是多個懷疑的詞同時出現(xiàn)才會有害。這讓我們能保留一些醫(yī)學、法律方面的內(nèi)容不會被過濾掉。比如(e.g., 但一個單詞 dick)。
2.4 Text extraction
只想抽取網(wǎng)頁的主要內(nèi)容,把 menu,header,footer,以及廣告都給去掉。其他論文發(fā)現(xiàn) trafilatura 是最好的非商用 library 去從做這件事。然后把 doc 內(nèi)容中的 url 都刪掉。
2.5 Language identification
使用了 CCNet 中使用到的 fastText 來做文本的語言分類,這個是 document 粒度的。他使用了字符 n-gram 模型,這個模型使用 Wikipedia 數(shù)據(jù)訓練出來,支持 176 中語言。我們把主語言低于 0.65 分的文檔直接刪掉了。
falcon 只 focus 在英語上,經(jīng)過這一步處理后的數(shù)據(jù)叫 RW-RAW。
整個 refinedweb 數(shù)據(jù)處理 pipeline 是可以應用在其他語言上的,但從 common crawl 的數(shù)據(jù)分布看,中文數(shù)據(jù)是明顯不符合中文的人口分布的。中國應該是世界第二大語言,但 common crawl 里中文的數(shù)據(jù)只排第 6.. 我覺得這就是說做中文的 LLM 以及相關的語料數(shù)據(jù)整理,做得好肯定還得靠我們中國人自己(吾輩加油)
![wKgZomUKEIyAQAbmAAcntzVaIQY981.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEIyAQAbmAAcntzVaIQY981.png)
2.6 Filtering: document-wise and line-wise
Repetition removal.
因為爬蟲的錯誤或者低質量的數(shù)據(jù)源存在,網(wǎng)頁包含重復內(nèi)容也很常見,這肯定對 LLM 不好。我們肯定可以在 deduplication 階段處理,但在更早的文檔級別去做些處理是更輕量級的。我們刪掉了大量的存在 line、paragraph、ngram能識別出來的重復的文檔。
Document-wise filtering.
及其生成的垃圾文檔占比也不低。他們往往使用了不少特殊關鍵字、無聊文檔等,這些都不適合用來訓練 LLM。
這里有個好玩的問題:幾年后當 LLM 產(chǎn)生的內(nèi)容充斥整個互聯(lián)網(wǎng)時,又該怎么去過濾取舍 LLM 的 pre-trainning 數(shù)據(jù)呢?可以關注下這個話題:如果以后全網(wǎng)都是 AI 生成的質量不高的內(nèi)容這些 AI 大模型再用這些數(shù)據(jù)訓練那么這些大模型會不會越來越差?[11]
主要參考了 Rae et al.(2021)paper 里的一些質量過濾啟發(fā)邏輯。他們主要 focus 在刪掉一些異常值比如:總體文本長度,符號和單詞比例,以及一些用于鑒定文檔是真正自然語言的一些標準。我們注意到這些過濾器應該是在語言級別去使用的,這些過濾器從英語直接遷移到其他語言,會有過擬合的現(xiàn)象。
這里值得詳細展開去看看 Rae et al.(2021)paper
Line-wise filter.
盡管在使用 trafilatura 庫后已經(jīng)有了不錯的效果提升,很多網(wǎng)頁文檔還是遺留下來了一些不太符合預期的 line,比如社交網(wǎng)絡的 likes 啊,點贊,反對按鈕之類的。鑒于此,我們開發(fā)了一個 line 級別的矯正 filter,目標就是去糾正這些不符合預期的 line。如果這些矯正器刪除了一個 doc 里大于 5% 的內(nèi)容,我們就把整個 doc 刪掉。
falcon 開發(fā)了一個 line 級別的 filter 策略,手工檢查行級別數(shù)據(jù):
-
如果主要由大寫字母組成(刪掉)
-
如果只有數(shù)字組成(刪掉)
-
如果是點贊、反對等這些東西(刪掉);
-
如果一行只有一個單詞(刪掉);
-
如果內(nèi)容很短(≤ 10 words),且匹配到一些 pattern(持續(xù)更新):
-
– 在這行的開始;
-
– 在這行的結束(e.g. 閱讀更多.....);
-
最終,如果被標記 line 的單詞量超過了整個文檔的 5%,整個 doc 都刪掉。我們是通過人工檢查數(shù)據(jù)發(fā)現(xiàn)的這些邏輯,在處理不同語言的預料時,也需要有個性化的做更多特殊處理。
在經(jīng)歷了 URL filter、text extraction、language identification、以及 doc/line級別的 filter 之后,common crawl 整體上只剩下了 23% 的數(shù)據(jù)。
整個 filter 過程后,common crawl 剩下 23% 的數(shù)據(jù)
2.7 Deduplication: fuzzy, exact, and across dumps
Fuzzy deduplication|模糊去重
falcon 做模糊去重也使用了 minhash,但 falcon 使用了 9000 個 hash function。這相比與 GPT3 的 10 個 hash function 會帶來巨大的精度提升,但也帶來了計算量的巨大消耗。文中說到如果使用不夠激進的設置,比如類似 The Pile 數(shù)據(jù)集使用的 10 個 hash function,會帶來很低的去重比率和更差的模型性能。falcon 使用 minhash 去在 web 語料中大范圍的找到近似的重復文檔。這項技術讓我們能鑒別出通過精確去重方法鑒別不出來的長度比較小的重復內(nèi)容(比如比 50 個 token 還要小的內(nèi)容)。
開始先從對內(nèi)容進行規(guī)范化處理做起:刪掉標點符號,把文本全部做小寫處理,NFD 正則化,口音都會被刪掉,空格都會被標準化處理。然后使用 GPT2 的 tokenizer 做了分詞,以及為每個 doc 獲取了單獨的 n-grams。然后就用標準的 minhash 做重復度檢查。最終在所有的 bucket 當中,如果 doc A and B 在一個 bucket 相似,B and C 在另一個 bucket 相似,則 A-B-C 就變成了一個 cluster。最后在 cluster 當中隨機挑一個保留下來。
Exact deduplication|精確去重
使用 substring 在句子級別,而不是文檔級別去,找到 token-by-token 的字符串匹配。如果連續(xù)超過 50 個 token 是相同的,就做刪除處理。這樣抽取子字符串去做 match 后的刪除內(nèi)容做會改變文檔內(nèi)容,因此還實驗了刪掉整個 doc 或者針對這些內(nèi)容做 loss-masking 處理,而不是直接刪掉他們,但這些嘗試似乎沒有給 LLM 的訓練帶來明顯的性能增長。
falcon 使用了 Lee et al.(2022)論文中的 EXACTSUBSTR 實現(xiàn)去做精確文本匹配。精確去重作用在 minhash 的模糊去重后的數(shù)據(jù)上,進一步減少了近 40% 的數(shù)據(jù)量。EXACTSUBSTR 會找到跨 doc 的長子字符串,是通過字符粒度逐個檢查實現(xiàn)的。這些子字符串可能比較小沒有占到 doc 的足夠大的部分,以至于沒有在 minhash 的模糊去重階段被去掉,或者因為 minhash 的相似度檢查就是沒有找出來。
在精確去重中,文中還提到了發(fā)現(xiàn) duplication span 后的幾種策略:
? EXACTSUBSTR-CUT|把 span 直接刪了:比如不到 20 個 token 的
? EXACTSUBSTR-MASK|給 span 加上 musk
? EXACTSUBSTR-DROPPARTIAL:如果重復部分超過 doc 的 20%,直接把 doc 刪了
? EXACTSUBSTR-DROPANY:只要發(fā)現(xiàn)有 duplicate 的 span,整個 doc 都刪了
EXACTSUBSTR-CUT 把中間的 span 刪了可能會導致 doc 內(nèi)語義的不連貫;EXACTSUBSTRMASK 不會有前者的問題;EXACTSUBSTR-DROP 在文檔很大時,可能還會保留 duplicate 的內(nèi)容,而 EXACTSUBSTR-DROPANY 就是更加激進的做法了。
URL deduplication|URL去重
因為計算量的限制,在整個 RW-Filtered 數(shù)據(jù)集粒度直接做全局去重是不可能的。因此,把 CommonCrawl 分成 100 份,在每一份數(shù)據(jù)中做去重。大部分的重復都其實是能在這些分片內(nèi)的去重完成的,但是我們也發(fā)現(xiàn)了在分片之間會有顯著的一些 overlap,這是因為爬蟲對部分 URL 訪問爬取了多次。因此,又保留了在分片內(nèi)發(fā)現(xiàn)過的做過去重操作的 URL 清單,在后續(xù)的每個分片上看到都直接做刪除處理。
![wKgZomUKEI2ADHZRAAAtJ0fTuoM208.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEI2ADHZRAAAtJ0fTuoM208.png)
精加工數(shù)據(jù)集調(diào)研:WebText、The Pile 、C4 的調(diào)研分析
3.1 WebText
WebTextDataset Replication:https://openwebtext2.readthedocs.io/en/latest/replication/
![wKgZomUKEI2AOos6AAIKoV05lhQ251.png](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEI2AOos6AAIKoV05lhQ251.png)
▲ WebText數(shù)據(jù)集的
數(shù)據(jù)集特殊點:
-
做 filter 時使用了 Reddit score
-
數(shù)據(jù)集和加工數(shù)據(jù)的代碼完全開源,目前 eleutherAI 也在實現(xiàn)openwebtext2
評價:
感覺 webText 比較局限,reddit 相關并不能 cover 很多內(nèi)容。目前(202307)&未來并不適合作為大模型的 common crawl 數(shù)據(jù)基礎。
3.2 The Pile
原論文:
https://arxiv.org/abs/2101.00027
The Pile 是 EleutherAI(EleutherAI)這個組織精加工的專門為 NLP 大模型訓練用的數(shù)據(jù)集。
EleutherAI is a non-profit AI research lab that focuses on interpretability and alignment of large models.
在處理 common crawl 的互聯(lián)網(wǎng)數(shù)據(jù)時,有提到使用 well-designed extraciton 和 filter。
More Effective Boilerplate Removal-the GoldMiner Algorithm [13] 用到了這篇論文的方法。
評價:
-
數(shù)據(jù)種類很豐富,涵蓋了非常多垂類的高質量數(shù)據(jù)。
-
但總體數(shù)據(jù) token 量比較小,尤其處理 common crawl 部分。
3.3 C4
C4 是 google 針對 common crawl 數(shù)據(jù)進行精加工數(shù)據(jù)集:
https://www.tensorflow.org/datasets/catalog/c4
數(shù)據(jù)集特殊點:
1. 最初只能使用 google cloud 的 beam 代碼做加工。
2. 而后有一些開源實現(xiàn)。比如:c4 · Datasets at Hugging Face [14],C4 Dataset Script[15]
評價:
個人沒有詳細看開源版本的 C4 加工邏輯,github repo 的文檔里加工邏輯寫的也不夠清晰。使用時相對比較黑盒子。
個人思考
falcon 的 refinedWeb paper [16] 是一篇把基于爬蟲爬取數(shù)據(jù)的處理講的這么詳細的 paper 之一,后續(xù)我會再精讀 The Pile,C4 等其他數(shù)據(jù)集,總結出更多的爬蟲爬取的網(wǎng)頁數(shù)據(jù)的 pre-training data 處理方法。
在對 LLM dataset 調(diào)研的過程中,我發(fā)現(xiàn)中文的 NLP 大型語料真的很少,除開沒有 common crawl 這樣大型公立的互聯(lián)網(wǎng)數(shù)據(jù)之外,也缺乏人工整理的高精 curated dataset,在 github 和 huggingface 都很少看到。
github 里搜索 chinese corpus 最高的兩個 repo,也都很久沒有更新了。https://github.com/brightmart/nlp_chinese_corpushttps://github.com/SophonPlus/ChineseNlpCorpus
不過隨著中國搞 LLM 的玩家越來越多,以及整個基于 LLM 的垂類應用越來越多,更多的人也在基于 base model 做 finetune,各個公司其實都會越來越重視整理自己的垂直語料庫,希望大家未來長期都能慢慢把一些沒有那么高壁壘的數(shù)據(jù)貢獻在 github、huggingface,或者參考 falcon 的方式,貢獻自己語料庫當中的一部分。
我也建議搞中文的 LLM 廠家不要只分享打榜結果,如果打榜效果好的話可以適當放出一些 insight,比如用了什么數(shù)據(jù),怎么處理數(shù)據(jù)的,尤其是高??蒲斜尘暗难芯繖C構可以更多的做公立性質的貢獻。
![wKgZomUKEI6ARvhkAAAC0jQz1zo163.jpg](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEI6ARvhkAAAC0jQz1zo163.jpg)
參考文獻
![wKgZomUKEI6ARvhkAAAC0jQz1zo163.jpg](https://file1.elecfans.com//web2/M00/A3/D6/wKgZomUKEI6ARvhkAAAC0jQz1zo163.jpg)
[1] https://openai.com/research/instruction-following
[2] https://huggingface.co/datasets/tiiuae/falcon-refinedweb
[3] https://arxiv.org/abs/2005.14165
[4] https://openai.com/research/gpt-4
[5] https://zhuanlan.zhihu.com/p/617057227
[6] https://paperswithcode.com/dataset/webtext
[7] https://huggingface.co/datasets/openwebtext
[8] https://arxiv.org/abs/2107.06499
[9] https://arxiv.org/abs/1911.00359
[10] https://huggingface.co/datasets/tiiuae/falcon-refinedweb
[11] https://www.zhihu.com/question/608053796
[12] https://github.com/EleutherAI/openwebtext2
[13] https://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S1870-90442013000200011
[14] https://huggingface.co/datasets/c4
[15] https://github.com/shjwudp/c4-dataset-script
[16] https://arxiv.org/pdf/2306.01116.pdf
原文標題:大語言模型(LLM)預訓練數(shù)據(jù)集調(diào)研分析
文章出處:【微信公眾號:智能感知與物聯(lián)網(wǎng)技術研究所】歡迎添加關注!文章轉載請注明出處。
-
物聯(lián)網(wǎng)
+關注
關注
2914文章
44955瀏覽量
377316
原文標題:大語言模型(LLM)預訓練數(shù)據(jù)集調(diào)研分析
文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯(lián)網(wǎng)技術研究所】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論