浏覽器裏直接能跑的 SOTA 小模型來了,分别在 2 億、5 億和 20 億級别獲勝,抱抱臉出品。
秘訣隻有兩個:
狠狠地過濾數據
在高度過濾的數據集上狠狠地訓練
抱抱臉首席科學家Thomas Wolf,總結團隊在開發小模型時的經驗,抛出新觀點,引起業界關注:
合成數據目前隻在特定領域有用,網絡是如此之大和多樣化,真實數據的潛力還沒完全發揮。
目前 360M 模型版本已發布 Demo,在線可玩(注意流量)。
在浏覽器裏調用本地 GPU 運行,連模型權重帶網頁前端 UI,400MB 搞定。
嚴格過濾網絡數據,性能直線上升
針對微軟 Phi 系列小模型,聲稱使用了一半合成數據,效果很好,但不公開數據。
開源界扛把子抱抱臉看不下去了:
造一個對标的大型合成數據集,開源它。
而且,團隊隐隐暗示了,此舉也有檢驗微軟在測試集上刷榜的傳聞,到底有沒有這回事的考慮。
抱抱臉使用當時最好的開源模型 Mixtral-8-7B 構造了25B合成數據。
訓練出來的模型效果還不錯,但仍然在某種程度上低于 Phi-1 和 Phi-1.5 的水平。
他們嘗試了讓大模型在中學水平上解釋各種主題,最終隻有在 MMLU 測試上表現不好,因爲 MMLU 是博士水平的題目。
真正的性能突破,反而來自一項支線任務:
除了用大模型從頭生成合成數據,也試試用大模型篩選過濾網絡數據。
具體來說是使用 Llama3-70B-Struct 生成的标注開發了一個分類器,僅保留 FineWeb 數據集中最具教育意義的網頁。
使用經過嚴格過濾的網絡數據後,性能直線上升,并在大多數基準測試中超過了所有其他類似大小的模型,包括 Phi-1.5。
抱抱臉團隊稱這項實驗結果是" 苦樂參半 "的:雖然模型性能前所未有的高,但也顯示出了合成數據還是比不過真實數據。
後來他們用同樣的思路從自然語言擴展到代碼,過濾的代碼數據集也被證明是非常強大的。
将 HumanEval 基準測試成績從 13% 左右直接提高到 20% 以上。
最終他們構造的混合數據集中,去重的過濾數據集占絕大部分,純合成數據 Cosmopedia v2 隻占 15%。
所以總得來說,合成數據還有用嗎?
團隊認爲,可能隻對确實缺少真實數據的領域更有意義了,比如推理和數學。
即使小模型也要訓練數萬億 tokens
就在他們對這些新發現和結果感到興奮時,一位新實習生 Elie Bakouch 加入了。
雖然他當時隻是實習生,但确是一位精通各類訓練技巧的專家。
在 Elie 的幫助下,團隊将模型尺寸從 1.7B 開始下降到 360M 甚至 170M,也就是對标經典模型 GPT-1、GPT-2 和 BERT。
在這個過程中有了第二個重要發現:與過去的共識不同,即使是小模型也要在數萬億 token 上訓練,時間越長越好。
此外數據退火(Anneal the data)也被證明是有效的,也就是在訓練的最後一部分保留一組特殊的高質量數據。
最終發布的系列模型适合部署在從智能手機到筆記本電腦的各種設備上,最大的 1.7B 模型 BF16 精度隻占 3G 内存。
作爲參考,iPhone 15 入門版也有 6G,安卓手機就更多了。
雖然這次訓練出來的基礎模型足夠好,但團隊也還是發現一個問題。
過去的對齊和微調技術,如 SFT、DPO、PPO 等都是針對大模型非常有效,但對小模型效果并不理想。
團隊分析,對齊數據集中包含許多對小模型來說過于複雜的概念,并且缺乏精心設計的簡單任務。
下一個新坑也挖好了,有興趣的團隊可以開始搞起,沒準就成了小模型大救星。
在線試玩:
https://huggingface.co/spaces/HuggingFaceTB/instant-smollm
參考鏈接:
[ 1 ] https://huggingface.co/blog/smollm
[ 2 ] https://x.com/Thom_Wolf/status/1825094850686906857