為大模型惡補數學,上交開源MathPile語料庫,95億tokens,還可商用
在當前智能對話模型的發展中,強大的底層模型起著至關重要的作用。這些先進模型的預訓練往往依賴于高質量且多樣化的語料庫,而如何構建這樣的語料庫,已成為行業中的一大挑戰。
在備受矚目的 AI for Math 領域,由于高質量的數學語料相對稀缺,這限制了生成式人工智能在數學應用方面的潛力。
為了應對這一挑戰,上海交通大學生成式人工智能實驗室推出了「MathPile」。這是一套專門針對數學領域的高質量、多樣化預訓練語料庫,其中包含約 95 億 tokens,旨在提升大型模型在數學推理方面的能力。
此外,實驗室還推出了 MathPile 的商業版 ——「MathPile_Commercial」,進一步拓寬其應用范圍和商業潛力。
- 論文地址:https://huggingface.co/papers/2312.17120
- 項目地址:https://gair-nlp.github.io/MathPile/
- 代碼地址:https://github.com/GAIR-NLP/MathPile
數據集地址:
- 研究使用:https://huggingface.co/datasets/GAIR/MathPile
- 商用版本:https://huggingface.co/datasets/GAIR/MathPile_Commercial
簡介
MathPile 具備以下幾個特點:
1. 以數學為中心:不同于過去專注于通用領域的語料,如 Pile, RedPajama, 或者多語言語料 ROOTS 等等,MathPile 專注于數學領域。盡管目前已經有一些專門的數學語料,但要么沒有開源(比如 Google 用來訓練 Minerva 的語料,OpenAI 的 MathMix),要么不夠豐富多樣(比如 ProofPile 和最近的 OpenWebMath)。
2. 多樣性:MathPile 的數據來源廣泛,比如公開開源的數學教科書,課堂筆記,合成的教科書,arXiv 上的數學相關的論文,Wikipedia 上關于數學相關的條目,ProofWiki 上的引理證明和定義,StackExchange(社區問答網站)上的高質量數學問題和答案,以及來自 Common Crawl 上的數學網頁。以上內容涵蓋了適合中小學,大學,研究生以及數學競賽等內容。MathPile 首次涵蓋了 0.19B tokens 的高質量數學教科書。
3. 高質量:研究團隊在收集過程中遵循 「less is more」(少即是多) 的理念,堅信數據質量優于數量,即使在預訓練階段也是如此。他們從~520B tokens(大約 2.2TB)的數據源中,經過一套嚴謹復雜的預處理,預過濾,語言識別,清潔,過濾和去重等步驟,來確保語料庫的高質量。值得一提的是,OpenAI 所用的 MathMix 也只有 1.5B tokens。
4. 數據文檔化:為了增加透明度,研究團隊對 MathPile 進行了文檔記錄,提供了 dataset sheet。在數據處理過程中,研究團隊還對來自 Web 的文檔進行了「質量標注」。例如,語言識別的分數,文檔中符號與單詞的比例,方便研究者根據自身需要進一步過濾文檔。他們還對語料進行了下游測試集的污染檢測,來消除像來自 MATH,MMLU-STEM 這樣的基準測試集中的樣本。同時,研究團隊還發現了 OpenWebMath 中也存在大量的下游測試樣本,這說明在制作預訓練語料時應該格外小心,避免下游的評測失效。
MathPile 的數據收集和處理過程。
數據處理細節
在大模型領域競爭愈演愈烈的今天,很多科技公司都不再公開他們的數據,還有他們的數據來源,配比,更不用說詳細的預處理細節。相反,MathPile 在前人探索的基礎上總結了一套適用 Math 領域的數據處理方法。
在數據的清洗和過濾部分,研究團隊采用的具體步驟是:
- 檢測包含 「lorem ipsum」的行,如果將行中「lorem ipsum」替換掉少于 5 個字符,便移除掉該行;
- 檢測包含「javescript」并且同時包含「enable」,「disable」或者「browser」 的行,并且該行的字符數量小于 200 字符,便過濾掉該行;
- 過濾掉少于 10 個單詞并且包含「Login」, 「sign-in」, 「read more...」, 或者 「items in cart」 的行;
- 過濾掉大寫單詞占比超過 40% 的文檔;
- 過濾掉以省略號結尾的行占比整個文檔超過 30% 的文檔;
- 過濾掉非字母單詞的比例超過 80% 的文檔;
- 過濾掉文檔平均英文單詞字符長度介于(3,10)區間以外的文檔;
- 過濾掉不包含至少兩個停用詞(比如 the, be, to, of, and, that, have 等)的文檔;
- 過濾掉省略號與單詞比例超過 50% 的文檔;
- 過濾掉項目符號開始的行占比超過 90% 的文檔;
- 過濾掉移除掉空格和標點符號后少于 200 個字符的文檔;
- ...
更多處理細節可以參見論文。
此外,研究團隊還提供了很多清洗過程中的數據樣例。下圖為通過 MinHash LSH 算法去重檢測出來的 Common Crawl 中的近似重復的文檔(如粉紅色高亮處所示)。
如下圖所示,研究團隊在進行數據泄露檢測過程中發現了來自 MATH 測試集的問題(如黃色高亮處所示)。
數據集統計與樣例
下表展示了 MathPile 各個組成部分的統計信息,可以發現 arXiv 論文,教科書通常文檔長度較長,wiki 上的文檔相對偏短。
下圖是 MathPile 語料中一個教科書的樣例文檔,可以看出其中的文檔結構較為清晰,質量較高。
實驗結果
研究團隊還披露了一些初步的實驗結果。他們在目前頗受歡迎的 Mistral-7B 模型的基礎上進行了進一步的預訓練。接著通過少量樣本提示(few-shot prompting)方法,在一些常見的數學推理基準數據集上進行了評估。目前已獲得的初步實驗數據如下:
這些測試基準覆蓋了各個層次的數學知識,包括小學數學(例如 GSM8K、TAL-SCQ5K-EN 和 MMLU-Math),高中數學(如 MATH、SAT-Math、MMLU-Math、AQuA 和 MathQA),以及大學數學(例如 MMLU-Math)。研究團隊初步公布的實驗結果顯示,通過在 MathPile 中的教科書和維基百科子集上進行繼續預訓練,語言模型在不同難度級別的數學推理能力上均實現了比較可觀的提升。
研究團隊也強調,相關實驗仍在繼續進行中。
結語
MathPile 自發布之日起便受到了廣泛關注,并被多方轉載,目前更是榮登 Huggingface Datasets 趨勢榜單。研究團隊表示,他們將持續對數據集進行優化和升級,進一步提升數據質量。
MathPile 登 Huggingface Datasets 趨勢榜單。
MathPile 被知名 AI 博主 AK 轉發,圖源:https://twitter.com/_akhaliq/status/1740571256234057798。
目前,MathPile 已更新至第二版,旨在為開源社區的研究發展貢獻力量。同時,其商業版數據集也已向公眾開放。