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

論文地址:https://arxiv.org/abs/2412.03398
倉庫連結:https://github.com/microsoft/RedStone
受限於公司的開源策略,RedStone僅開源了資料索引以及所有處理程式碼以供社群復現。不過隨著受社群關注度的逐漸提高,目前已有社群復現版本的RedStone,依據github中專案描述,該復現的資料集在規模和質量上與RedStone內部資料類似。

圖1 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所示。

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

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

圖4 RedStone-Web與開源預訓練資料集的比較

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

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

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


