Karpathy 點(diǎn)贊,這份報告教你如何用 LLaMa 3 創(chuàng)建高質(zhì)量網(wǎng)絡(luò)數(shù)據(jù)集
眾所周知,對于 Llama3、GPT-4 或 Mixtral 等高性能大語言模型來說,構(gòu)建高質(zhì)量的網(wǎng)絡(luò)規(guī)模數(shù)據(jù)集是非常重要的。然而,即使是最先進(jìn)的開源 LLM 的預(yù)訓(xùn)練數(shù)據(jù)集也不公開,人們對其創(chuàng)建過程知之甚少。
最近,AI 大牛 Andrej Karpathy 推薦了一項(xiàng)名為 FineWeb-Edu 的工作。
這項(xiàng)工作將原始 15 萬億個 FineWeb token,經(jīng) Llama 3 70B 評判,過濾為 1.3 萬億個高質(zhì)量(教科級)token。
事實(shí)證明,LLM 從教育內(nèi)容中學(xué)習(xí)會更好更快。部分原因是普通的互聯(lián)網(wǎng)爬取文章的價值不是很高,并且會分散訓(xùn)練的注意力,包含太多不相關(guān)的信息。
互聯(lián)網(wǎng)上的網(wǎng)頁是如此隨機(jī)和糟糕,這些奇怪的數(shù)據(jù)轉(zhuǎn)儲、廣告垃圾郵件、數(shù)兆字節(jié)的股票行情更新等等,里面混雜著「鉆石」(重要內(nèi)容),那么挑戰(zhàn)就是把「鉆石」挑出來。
預(yù)訓(xùn)練數(shù)據(jù)集對于微調(diào)可能非常有用,因?yàn)楫?dāng)你將模型微調(diào)到特定領(lǐng)域時,就會慢慢失去一般能力。模型開始慢慢忘記目標(biāo)域之外的事物。并且這不僅限于知識,模型還會失去原始數(shù)據(jù)所需的一般「思維」技能。也就是說,除了廣泛的知識消失之外,計算電路也會慢慢退化。
FineWeb 是什么?
FineWeb 是一個用于 LLM 預(yù)訓(xùn)練的全新大規(guī)模數(shù)據(jù)集(15 萬億 token,44TB 磁盤空間)。該數(shù)據(jù)集源自 96 個 CommonCrawl 快照,與其他開放的預(yù)訓(xùn)練數(shù)據(jù)集相比,它能生成性能更好的 LLM。為了提高機(jī)器學(xué)習(xí)的清晰度,推進(jìn)對如何訓(xùn)練高質(zhì)量大型語言模型的公開理解,團(tuán)隊記錄并刪除了 FineWeb 中使用的所有設(shè)計選擇,包括對重復(fù)數(shù)據(jù)刪除和過濾策略的深入研究。
數(shù)據(jù)集獲取地址:https://huggingface.co/datasets/HuggingFaceFW/fineweb
在上述數(shù)據(jù)集的基礎(chǔ)上,團(tuán)隊推出了 FineWeb-Edu,它是 FineWeb 的一個子集,利用可擴(kuò)展的自動化高質(zhì)量注釋來實(shí)現(xiàn)教育價值。在一些教育基準(zhǔn)(如 MMLU、ARC 和 OpenBookQA)上,F(xiàn)ineWeb-Edu 優(yōu)于所有可公開訪問的網(wǎng)絡(luò)數(shù)據(jù)集。FineWeb-Edu 有兩種大小 / 過濾級別:1.3 萬億(特高級教育內(nèi)容)和 5.4 萬億(高級教育內(nèi)容)token(所有 token 均使用 GPT2 tokenizer)。
數(shù)據(jù)集獲取地址:https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu
這兩個數(shù)據(jù)集均根據(jù)許可的 ODC-By 1.0 協(xié)議發(fā)布。
在對應(yīng)的長篇報告中,團(tuán)隊深入探討了如何創(chuàng)建一個用于 LLM 預(yù)訓(xùn)練的大型高質(zhì)量網(wǎng)絡(luò)規(guī)模數(shù)據(jù)集,并討論了大規(guī)模數(shù)據(jù)質(zhì)量的處理和評估、FineWeb 配方(列出并解釋了所有的設(shè)計選擇)以及創(chuàng)建 FineWeb-Edu 子集的過程。
大規(guī)模數(shù)據(jù)質(zhì)量的處理和評估
關(guān)于用于訓(xùn)練 LLM 的網(wǎng)絡(luò)數(shù)據(jù)集,一個常見問題是:他們從哪里獲得這些數(shù)據(jù)?
通常有兩種選擇:
- 自己抓取,如 OpenAI 或 Anthropic 等公司;
- 使用抓取網(wǎng)頁的公共資源庫,如非營利組織 CommonCrawl 維護(hù)的資源庫。
為了構(gòu)建 FineWeb,團(tuán)隊沿用了一些 LLM 訓(xùn)練團(tuán)隊過去的做法,比如將 CommonCrawl(CC)作為起點(diǎn)。Common Crawl 非營利組織自 2007 年以來一直在抓取網(wǎng)頁,通常每 1 到 2 個月發(fā)布一次新的抓取,包含 200 到 400 TiB 通過自動網(wǎng)絡(luò)抓取獲得的文本內(nèi)容。
例如,最新的 CC 抓取(2024 年 4 月)包含 27 億個網(wǎng)頁,總計 386 TiB 的未壓縮 HTML 文本內(nèi)容。自 2013 年以來已發(fā)布了 96 次抓取,2008 年至 2012 年發(fā)布了 3 次抓取,采用的是不同(較舊)的格式。
接下來是評估問題。在大多數(shù)情況下,尤其是在大語言模型預(yù)訓(xùn)練的情況下,「高質(zhì)量」并不是一個定義明確的術(shù)語,甚至不是一個僅通過人類直接觀察就能清楚感知的文檔屬性。
在一個被認(rèn)為「干凈」的特定語料庫(通常是維基百科)上訓(xùn)練一個模型,并用它來檢查試圖整理的數(shù)據(jù)集的易錯性,這仍然是很常見的做法。遺憾的是,這并不總能提高下游相關(guān)任務(wù)的性能,因此,另一種常用的方法是在數(shù)據(jù)集的代表性子集上訓(xùn)練小型模型,并在一組評估任務(wù)上對其進(jìn)行評估。之所以使用小型模型,是因?yàn)橛?xùn)練成本和時間是模型大小的函數(shù)。在第二種方法中,重要的是要選擇一組多樣化且具有代表性的數(shù)據(jù)集 - 評估任務(wù),盡量不要過度擬合任何一個單獨(dú)的基準(zhǔn),因?yàn)檫@有可能損害預(yù)訓(xùn)練后獲得的 LLM 的通用性。
在這項(xiàng)工作中,團(tuán)隊采用了訓(xùn)練小模型并在一組「early-signal」基準(zhǔn)任務(wù)上對其進(jìn)行評估的方法。考慮到上述關(guān)于評估基準(zhǔn)過度擬合的注意事項(xiàng),這可以合理地代表用于訓(xùn)練這些模型的數(shù)據(jù)的質(zhì)量。
最終,團(tuán)隊選擇了以下幾個基準(zhǔn):
- CommonSense QA
- HellaSwag
- OpenBook QA
- PIQA
- SIQA
- WinoGrande
- ARC
- MMLU
FineWeb 數(shù)據(jù)處理
CommonCrawl 數(shù)據(jù)有兩種主要格式:WARC 和 WET。WARC(Web ARChive 格式)文件包含爬取網(wǎng)頁的原始數(shù)據(jù),包括完整頁面 HTML 和請求元數(shù)據(jù)。WET(WARC 封裝文本)文件提供這些網(wǎng)站的純文本版本。
大量數(shù)據(jù)集以 WET 文件為起點(diǎn)。但作者認(rèn)為:Common Crawl 創(chuàng)建這些 WET 文件的默認(rèn)文本提取對于 LLM 預(yù)訓(xùn)練來說并不是最佳選擇,有多種開源庫可以提供更好的文本提取。作者團(tuán)隊使用 trafilatura 庫從 WARC 文件中提取文本內(nèi)容,從結(jié)果來看,它提供了良好的提取質(zhì)量。
基礎(chǔ)過濾
過濾是數(shù)據(jù)審編(curation)過程的重要組成部分。它包括刪除部分?jǐn)?shù)據(jù)(單詞、文本行,甚至完整文檔),這些數(shù)據(jù)會降低模型的性能,因此在作者團(tuán)隊評估驅(qū)動的數(shù)據(jù)集制作過程中被視為「質(zhì)量較低」的數(shù)據(jù)。
作為過濾的基礎(chǔ),作者使用了 RefinedWeb 的部分設(shè)置,包括:
- 應(yīng)用 URL 過濾;
- 應(yīng)用 fastText 語言分類器,僅保留分?jǐn)?shù)≥0.65 的英文文本;
- 應(yīng)用來自 MassiveText 的質(zhì)量和重復(fù)過濾器(使用默認(rèn)閾值)。
作者團(tuán)隊將這種過濾應(yīng)用于每個文本提取的轉(zhuǎn)儲(目前有 96 個轉(zhuǎn)儲)后,獲得了大約 36 萬億個 token 的數(shù)據(jù)。
重復(fù)數(shù)據(jù)刪除
重復(fù)數(shù)據(jù)刪除是為 LLM 預(yù)訓(xùn)練創(chuàng)建大型 Web 數(shù)據(jù)集的最重要步驟之一,旨在從數(shù)據(jù)集中識別并刪除冗余 / 重復(fù)的數(shù)據(jù)。
重復(fù)數(shù)據(jù)刪除能夠改進(jìn)模型性能,并使模型更好地泛化。通過重復(fù)數(shù)據(jù)刪除獲得的性能提升可以等同于訓(xùn)練效率的提升,因?yàn)橥ㄟ^刪除重復(fù)的內(nèi)容,模型可以通過更少的訓(xùn)練迭代達(dá)到相同的性能水平,或者等效地,對于給定數(shù)量的訓(xùn)練 token,模型將看到更加多樣化的數(shù)據(jù)。
經(jīng)過上述幾個步驟,作者團(tuán)隊已經(jīng)實(shí)現(xiàn)了類似于 RefinedWeb 的數(shù)據(jù)性能,但是與 C4(Colossal Clean Crawled Corpus)數(shù)據(jù)集相比還是遜色一些。
因此,作者團(tuán)隊從 C4 數(shù)據(jù)集本身的處理過程開始,探索了更多過濾步驟,旨在達(dá)到并超越 C4 的性能。
最終的 FineWeb 數(shù)據(jù)集包含 15T token,主要按順序經(jīng)歷如下步驟:
- 基礎(chǔ)過濾
- 每個轉(zhuǎn)儲獨(dú)立的 MinHash 重復(fù)數(shù)據(jù)刪除
- 精選 C4 過濾器
- 自定義過濾器
FineWeb-Edu 子集
FineWeb-Edu 子集基于最近出現(xiàn)的一種過濾 LLM 訓(xùn)練數(shù)據(jù)集的新方法:使用合成數(shù)據(jù)來開發(fā)識別教育內(nèi)容的分類器。
這項(xiàng)技術(shù)在 Llama 3 和 Phi3 的訓(xùn)練中得到了顯著應(yīng)用,但它對網(wǎng)絡(luò)數(shù)據(jù)過濾的大規(guī)模影響迄今為止尚未得到充分的公開發(fā)掘。
Phi3 模型分別在 3.3 萬億和 4.8 萬億個 token 上進(jìn)行了訓(xùn)練,論文中指出:
我們的訓(xùn)練數(shù)據(jù)包括經(jīng)過嚴(yán)格過濾的公開網(wǎng)絡(luò)數(shù)據(jù)(根據(jù)「教育程度」),這些數(shù)據(jù)來自各種開放的互聯(lián)網(wǎng)資源,以及 LLM 生成的合成數(shù)據(jù)。
同樣,Llama 3 博客文章也指出:
我們發(fā)現(xiàn),前幾代 Llama 擅長識別高質(zhì)量數(shù)據(jù),因此我們使用 Llama 2 來幫助構(gòu)建文本質(zhì)量分類器,為 Llama 3 提供動力。
然而,這些分類器和過濾后的數(shù)據(jù)集并未公開。團(tuán)隊為了進(jìn)一步提高 FineWeb 的質(zhì)量,利用 Llama-3-70B-Instruct 生成的注釋開發(fā)了一個教育質(zhì)量分類器,創(chuàng)建了 FineWeb-Edu。
團(tuán)隊使用 Llama-3-70B-Instruct 對來自 FineWeb 的 500k 個樣本進(jìn)行了注釋,按照 0 到 5 的評分標(biāo)準(zhǔn)對每個樣本的教育質(zhì)量進(jìn)行評分。
用于 Llama-3 教育分?jǐn)?shù)注釋的提示。
關(guān)于用于標(biāo)注數(shù)據(jù)的開放權(quán)重模型,團(tuán)隊嘗試了多種模型,包括 Mixtral-8x7B-Instruct 和 Mixtral-8x22B-Instruct、Llama-3-70B-Instruct 以及一個收集了這三種模型分?jǐn)?shù)的評審團(tuán)。在實(shí)驗(yàn)中,他們發(fā)現(xiàn)僅使用 Llama3 得出的結(jié)果最為可靠。
為了將注釋擴(kuò)展到 FineWeb 中的數(shù)萬億詞條,團(tuán)隊使用 Llama3-70B 注釋來訓(xùn)練一個小型分類器。他們使用了「Snowflake-arctic-embed」模型,該模型帶有一個分類頭,上面有一個回歸輸出,然后在 450000 個 Llama 3 注釋上對該模型進(jìn)行了 20 次訓(xùn)練,凍結(jié)嵌入層和編碼器層。此處將 「Llama 3」注釋視為 ground-truth,保存了在 45k 個樣本的保留驗(yàn)證集上 F1 分?jǐn)?shù)最高的檢查點(diǎn)。訓(xùn)練結(jié)束后,將分?jǐn)?shù)四舍五入為 0 至 5 的整數(shù)。
然后,團(tuán)隊將問題轉(zhuǎn)換為二元分類任務(wù),使用固定閾值來確定文件是否具有教育意義。閾值為 3 時,模型在驗(yàn)證集上的 F1 得分為 82%,這表明它在區(qū)分高質(zhì)量教育內(nèi)容方面表現(xiàn)出色。
最后,團(tuán)隊進(jìn)行了消融研究。以下是主要亮點(diǎn):
- FineWeb-Edu 超越了 FineWeb 和所有其他開放網(wǎng)絡(luò)數(shù)據(jù)集,在教育基準(zhǔn)(如 MMLU、ARC 和 OpenBookQA)方面取得了顯著改進(jìn)。
- 與 C4 和 Dolma 相比,它需要的 token 數(shù)量減少了 10 倍,才能與 MMLU 的結(jié)果相媲美。
- 這證明了使用在 LLM 注釋上訓(xùn)練的分類器進(jìn)行大規(guī)模數(shù)據(jù)過濾的有效性。