Cosmopedia:大規模合成資料用於 LLM 預訓練
Hugging Face 已發布 Cosmopedia,一個大規模合成資料集,旨在模仿微軟 Phi 模型的訓練方法。該資料集包含超過 3000 萬個檔案與 250 億個 token,成為目前可用於從頭預訓練大型語言模型(LLM)的最大開放式合成資料集。
擴展合成資料以進行預訓練
雖然合成資料常用於指令微調,Cosmopedia 專注於將樣本規模從數千提升至數百萬高品質樣本以供預訓練的挑戰。此舉受到 Phi 系列表現的啟發,該系列顯示以合成「教科書式」資料為主訓練的模型,能超越在一般網路資料集上訓練的更大型模型。
資料集生成方法論
Cosmopedia 是使用 Mixtral-8x7B-Instruct-v0.1 生成的。核心挑戰在於維持多樣性並減少 3000 萬個提示中的重複內容。Hugging Face 採用了三項主要策略來策劃提示:
1. 精選來源
來自斯坦福課程、可汗學院、OpenStax 與 WikiHow 的教育資源被用來提取大綱與主題。為了最大化這些有限來源的效用,團隊利用受眾與風格的多樣性。單一主題會針對不同目標受眾(幼兒、高中生、大學生、研究人員)以及不同形式(教科書、部落格文章、WikiHow 文章)重新使用。
2. 網路資料
網路資料佔超過 80% 的提示。團隊將來自 RefinedWeb 等資料集的數百萬網路樣本聚類成 145 個群組。接著使用 Mixtral 辨識每個群組的共同主題。低教育價值的內容,如名人八卦與成人素材,會被過濾,留下 112 個保留主題。之後透過指示模型根據這些主題內的網路樣本生成教科書,來構建提示。
3. 指令資料集與故事
為了解決初始模型缺乏常識與基礎小學知識的問題,團隊使用 UltraChat 與 OpenHermes2.5 作為種子資料,生成結合日常知識的故事。
技術堆疊與實作
產生 250 億個 token 需要超過 10,000 小時的 H100 GPU 計算。技術實作包括:
- 文字聚類: 使用
text-clustering倉庫來整理網路資料。 - 大規模生成: 使用
llm-swarm函式庫在本機部署 Mixtral-8x7B,搭配 TGI(文字生成推論)與 vLLM。 - 去污染: 為防止基準測試洩漏,實作了一條使用 10-gram 重疊與
difflib.SequenceMatcher的管線。若樣本與基準樣本的匹配比例超過 0.5,則會被丟棄。 - 訓練與評估: 使用
nanotron函式庫以 Llama2 架構訓練一個 1B 參數的模型(cosmo-1b),並透過lighteval進行評估。
Cosmo-1B 的效能
對 cosmo-1b 模型的評估顯示,其在 ARC-easy、ARC-challenge、OpenBookQA 與 MMLU 上的表現優於 TinyLlama 1.1B。於 ARC-challenge 與 OpenBookQA 上則與 Qwen-1.5-1B 相當,然而相較於 Phi-1.5 仍有表現差距。
未來方向
Hugging Face 將歷史事實與數學推理的幻覺問題視為主要改進領域。提出的解決方案包括在生成過程中使用檢索增強生成(RAG)結合來自 Wikipedia 等來源的外部資訊,並實作幻覺測量方法以辨識問題領域。