SmolLM 發布:高效能小型語言模型
Hugging Face 已宣布 SmolLM,這是一個最先進的小型語言模型(SLM)系列,提供 135M、360M 與 1.7B 參數三種規模。這些模型設計用於在智慧手機與筆記型電腦等裝置上本地部署,透過高品質資料策展達成高效能,從而降低推論成本並提升使用者隱私。
資料策展與 SmolLM-Corpus
SmolLM 的效能由 SmolLM-Corpus 推動,這是一個由三個主要組成部分構成的專門訓練集:
- Cosmopedia v2: 一個包含 3900 萬合成文件(280 億 token)的集合,內容包括教科書、故事與文章。它由 Mixtral-8x7B-Instruct-v0.1 以基於 BISAC 書籍分類系統的 34,000 個主題的精緻提示策略產生。
- FineWeb-Edu (deduplicated): 220 億 token 的教育網路樣本,從 FineWeb 資料集過濾出教育品質分類器後取得。
- Python-Edu: 40 億 token 的教育 Python 樣本,來源於 The Stack,經由 Llama3 訓練的教育程式碼分類器過濾。
改善 Cosmopedia v2 合成資料
為了提升 Cosmopedia v2 相較於前代的表現,Hugging Face 專注於提示最佳化。他們沒有使用無監督聚類,而是利用 BISAC 書籍分類定義 34,000 個主題,並實作搜尋工具以取得最相關的網頁作為種子樣本。
對生成風格的研究顯示,針對國中學生的教科書在大多數基準測試(MMLU 除外)中提供最佳效能,而故事則提升常識推理。因此,v2 的最終混合比例為 40% 國中內容、30% 大學內容與 30% 混合風格。
模型架構與訓練
SmolLM 模型使用梯形學習率排程器,並在 20% 冷卻階段結束。訓練資料量依模型大小而異:
- 135M and 360M models: 訓練於 6000 億 token。
- 1.7B model: 訓練於 1 兆 token。
技術規格
| 模型大小 | 架構說明 | 上下文長度 | 詞彙表大小 |
|---|---|---|---|
| 135M | Grouped-Query Attention (GQA), Depth-prioritized | 2048 | 49,152 |
| 360M | Grouped-Query Attention (GQA), Depth-prioritized | 2048 | 49,152 |
| 1.7B | Traditional Architecture | 2048 | 49,152 |
所有模型皆使用嵌入 tying。135M 與 360M 模型採用類似 MobileLLM 的設計,以優化本地裝置限制。
效能評估
SmolLM 模型在常識推理與世界知識基準測試上超越多個競爭的小型語言模型:
- SmolLM-135M: 在訓練 token 較少(600B vs 1T)的情況下,仍優於 MobileLM-125M。
- SmolLM-360M: 在 5 億參數以下的所有模型中表現最佳,包含 Qwen2-500M 與 MobileLM-350M。
- SmolLM-1.7B: 在 20 億參數以下的模型中表現最佳,包含 Microsoft 的 Phi-1.5、Qwen2-1.5B 與 MobileLM-1.5B。
在程式碼任務上,SmolLM-1.7B 在 HumanEval 上取得 24 的 pass@1 分數。
指令微調與對齊
指令微調版本使用 WebInstructSub 資料集的寬鬆子集與 StarCoder2-Self-OSS-Instruct 建立。對齊進一步透過 Direct Preference Optimization (DPO) 與 HelpSteer(針對 135M 與 1.7B)以及 argilla/dpo-mix-7k(針對 360M)進行精煉。
本地部署與硬體需求
SmolLM 為低記憶體環境進行最佳化。模型相容於多種硬體,包括 iPhone(通常具備 6GB 至 8GB DRAM)。Hugging Face 已發布 transformers 檢查點、ONNX 檢查點,並計畫提供 GGUF 版本以支援 llama.cpp 相容性。