微軟開放3.1T token高質量數據!通用/代碼/數學/問答,全領域超越開源

新智元報導
編輯:LRST
【新智元導讀】RedStone是一個高效構建大規模指定領域數據的處理管道,通過優化數據處理流程,從Common Crawl中提取了RedStone-Web、RedStone-Code、RedStone-Math和RedStone-QA等數據集,在多項任務中超越了現有開源數據集,顯著提升了模型性能。
過去幾年,大型語言模型(LLMs)已經成為人工智能研究的一個關鍵領域,從大規模的自然語言數據中學習,使其能夠以極高的準確率執行各種與語言相關的任務。
得益於模型擴展性方面的進展,研究人員能夠創建具有前所未有複雜度的模型。
當前的研究趨勢是致力於構建更大、更複雜的模型,具有數百/數千億個參數,但大型語言模型的訓練需要海量的訓練數據,尤其隨著模型參數量的上升,對於優質數據數量的要求也將進一步加大,優質數據量的缺乏極大限制了模型能力的進一步增長。
RedStone是一個高效構建大規模指定領域數據的處理管道,結合了目前主流的數據處理工具以及自定義的處理模塊,進一步優化發展而來。
通過RedStone,研究人員構建了包括RedStone-Web、RedStone-Code、RedStone-Math以及RedStone-QA等多個數據集,均在各類任務中超越了目前開源的數據集,能夠為大模型的預訓練以及後訓練提供堅實的數據支撐。

倉庫鏈接:https://github.com/microsoft/RedStone
受限於公司的開源策略,RedStone僅開源了數據索引以及所有處理代碼以供社區複現。不過隨著受社區關注度的逐漸提高,目前已有社區複現版本的RedStone,依據github中項目描述,該複現的數據集在規模和質量上與RedStone內部數據類似。

如圖1所示,RedStone以Common Crawl為原始數據源,旨在使用同一的數據處理框架清洗各類目標數據。
RedStone-Web為大規模通用的預訓練數據,為模型注入全世界通用知識。
RedStone-Code和RedStone-Math為網絡中的各類代碼/數學相關數據,與其他開源的code、math類型數據不同的是,網頁中的code/math天然具有純文本和code/math交錯的形式,例如代碼教程、題目講解等等。
因此模型可以像人類一樣借助code/math上下文中的純文本來進一步深刻理解code/math。此外RedStone還構建了RedStone-QA,這是一個大規模的QA數據集,最簡單直接的方式為模型注入各類知識。
對於RedStone-Web,RedStone認為對於高質量數據的定義至關重要,早期社區認為文本的流暢度等指標代表了數據的質量,近期越來越多研究人員認為含有教育意義的數據代表了高質量數據。
RedStone則是在其中找了一個平衡點,包含知識且文本流暢的,被定義為高質量數據。其中知識可以是任何形式的,只要其中包含的內容可以讓模型對世界的認識得到進一步發展。
因此在RedStone-web的構建上,主要處理框架參考了refinedweb和redpajama,但刪除了原有的過濾模塊,使用新構建的過濾系統,最終獲得了總共3.1T token的高質量通用預訓練數據。各個其各個步驟以及對應的數據量如圖2所示。

除了RedStone-Web這一通用領域的高質量數據集以外,RedStone認為網絡是一個蘊含豐富寶藏的礦藏之地,足以挖掘各類在通用領域之外被遺漏的各類數據(例如對於RedStone-Web而言有些頁面整體質量不高,但其中的某個片段在特定領域屬於高質量),隨後構建了RedStone-Code、RedStone-Math以及RedStone-QA等專有數據。
其核心仍然是過濾,RedStone提出了多層過濾系統,分別對應不同的數據規模。例如採用fasftext對所有網頁進行統一快速過濾,隨後使用更高性能模型精細過濾以及片段抽取。論文指出RedStone支持構建其他類型的專有數據,只需自定義好過濾器即可。通用領域和特定領域的數據構建代碼都已開源。
圖3展示了最終各個數據集的規模。

為了驗證各個數據集的質量,作者分別使用這些數據對模型進行訓練,並與開源數據集比較。如圖4所示。RedStone-Web在大部分任務中都顯著高於其他所有開源數據集,並且在平均分指標上得到了第一的成績。這說明RedStone-Web可以顯著提升模型性能,並且使得模型的訓練更為高效。


考慮到RedStone-Code是來源於網頁,數據是文本與代碼交錯的形式,目前社區中並無此類數據集開源,因此在RedStone-Web基礎上增加RedStone-Code進行了實驗。
可以看到在並沒有顯示添加例如github等純代碼的數據情況下,所有數據均只來自網頁,RedStone-Code同樣可以顯著提升模型在代碼方面的能力,說明RedStone-Code能夠給模型注入足夠的代碼知識,對於代碼數據已經被耗盡的社區來說,這是一個能顯著進一步擴展代碼領域數據的數據集。

圖6展示了RedStone-Math與社區開源數據OpenWebMath的比較,結果顯示在同樣的設置和步數下,RedStone-Math在得分上高於OpenWebMath,儘管OpenWebMath同樣來源於網絡,但得益於構建了更好的過濾器,最終能夠得到更高的數據質量。

在沒有依賴更多的QA數據下,只從網絡中爬取QA對,RedStone-QA就可以讓模型相對與其他開源QA數據集得到顯著的提升(例如MMLU提升了大約10個點),這更說明了網絡是一個蘊含豐富寶藏的礦藏之地。
除了以上這些領域外,RedStone的使用幾乎不受領域的限制,任何人都可以使用開源代碼對特定領域進行爬取。
通過圖4至圖7的結果可以看到,RedStone構建的數據在LLM預訓練以及後訓練中展現了有前景的能力,使其成為構建LLM各類訓練數據的多功能、實用pipeline。
參考資料:
https://arxiv.org/abs/2412.03398