![]()
對于技術小白而言,能否快速從零開始訓練一個世界級的大語言模型(LLM)呢?
答案或許是:可以的。
日前,Hugging Face在技術博客《The Smol Training Playbook: The Secrets to Building World-Class LLMs》中,以訓練 3B 參數(shù)大小的 SmoILM3 為主線,系統(tǒng)剖析了構建 SOTA 語言模型的全過程,包括預訓練、后訓練和 infra,足足 200 多頁內容,詳細記錄了哪些方法有效、哪些無效,以及如何確保其可靠運行。
無論你是初入人工智能(AI)領域的學生、希望了解全流程的工程師,還是正在規(guī)劃下一個大模型項目的團隊,這份手冊都提供了可參考的實戰(zhàn)經驗。
![]()
原文鏈接:https://huggingface.co/spaces/HuggingFaceTB/smol-training-playbook
訓練指南針——從“要不要做”開始
在過去幾年中,大量團隊在擁有算力后便直接開始訓練模型,但大多數(shù)項目無果而終。這些失敗的根源并非算法不足,而是動機不清。
Hugging Face 團隊用三個問題,把整個訓練過程變成一條清晰的思考鏈條:為什么要訓練(Why) → 訓練什么(What) → 怎么訓練(How)。這三個問題看似簡單,卻能區(qū)分“理性訓練”和“盲目燒算力”的差別。
Why —— 為什么要訓練
真正值得訓練的原因只有三種:一是科研探索,比如驗證新架構、新算法;二是生產需求,為特定場景或安全要求定制模型; 三是戰(zhàn)略性開源,為大模型領域補足空白。團隊要判斷已有模型是否能通過提示工程(Prompting Engineering)或微調(Fine-tuning)來解決問題;若不能,再進入下一階段。
What —— 要訓練什么
當訓練動機明確后,接下來要設計模型。這一階段包括模型架構、規(guī)模、數(shù)據(jù)來源、上下文長度、詞表設計等。例如,要在手機端部署,就得追求“小而高效”;要做多語言模型,就得有大型分詞器詞匯表(tokenizer vocab)。
How —— 怎么訓練
執(zhí)行階段永遠排在訓練動機和設計模型之后。如果前兩步沒有足夠的思考,任何“怎么做”的討論都是空談。 很多研究團隊往往先選擇訓練框架、確定超參數(shù),再回頭追問“為何要做”。而 Hugging Face 倡導的邏輯是反向的:只有在明確“Why”與“What”之后,討論“How”才具有方向性和可操作性。
![]()
預訓練——每個模型都始于一次小的消融實驗
很多人認為,用 arXiv 論文訓練模型,模型應該會更聰明。但這種數(shù)據(jù)過于專業(yè)化而缺少日常性、多樣性,反而會損害模型的通用性能。在 LLM 領域,那些人類認為“好”的輸入,不一定帶來“好”的輸出。
機器學習實際是一門實驗的科學。我們無法只靠推理或常識判斷“什么有效”,只能不斷進行實驗(即消融實驗)來對比和驗證。
Hugging Face 團隊認為,消融實驗設置包括以下三個流程:
1.選擇基線
模型訓練,需要站在巨人的肩膀上,只有從一個強大、成熟的基線開始,才能把有限時間和金錢集中在真正重要的創(chuàng)新和優(yōu)化上,而不是浪費在解決別人已經解決過的問題上。
選擇基線時要符合實際用例和部署環(huán)境;必須是經歷過大規(guī)模訓練(萬億 token 級別)的;有公開的、可復現(xiàn)的超參數(shù)和設置;主流的訓練和推理框架都支持它等。
2.選擇訓練框架
訓練 LLM 的核心是迭代速度。當模型和數(shù)據(jù)規(guī)模足夠大時,限制團隊迭代速度的往往不是想法,而是訓練框架。
一個好的 LLM 訓練框架應該提供以下功能:
高性能數(shù)據(jù)加載器:必須提供一個可以在多個節(jié)點上高效工作、并且不會成為瓶頸的數(shù)據(jù)加載器。
魯棒的分布式設置:框架應該能夠處理所有并行化方案(數(shù)據(jù)并行、張量并行、流水線并行)以及它們的組合。
可調試性和可擴展性:一個清晰的框架有助于調試,并允許添加新的功能。
支持最新的硬件:它應該支持最新的 GPU 架構,并利用特定的硬件功能(如 Hopper 架構上的 Transformer Engine 或 FP8 格式)。
成熟的生態(tài)系統(tǒng):活躍的社區(qū)、定期維護和大量現(xiàn)有代碼庫,可以更快地解決問題并利用現(xiàn)有的解決方案。
3.設置消融實驗框架
消融實驗的目的是在小規(guī)模上運行實驗,并獲得可以自信地外推到最終生產環(huán)境運行的結果。主要有兩種方法:
方法一:減少 token 數(shù)量。可以采用目標模型規(guī)模,但只用較少的 token 進行訓練。例如,Hugging Face 在 SmolLM3 的消融實驗中,訓練了完整的 3B 模型,但只用了 100B token,而非 11T token。
方法二:使用代理(Proxy)模型。如果目標模型太大,可以訓練一個更小的代理模型來進行消融實驗。
過程中——馬拉松式的長周期訓練
訓練 LLM 是一場長期的、充滿變數(shù)的“馬拉松”,而非短期的“沖刺”。許多問題只在長時間、大規(guī)模、高負荷的真實生產環(huán)境運行中才會暴露,這是小規(guī)模消融實驗無法完全模擬的。
Hugging Face 團隊解決了兩個主要問題:
1.消失的吞吐量
吞吐量(Tokens/秒)衡量著系統(tǒng)在訓練期間每秒處理的 token 數(shù)量,它直接影響訓練時間;吞吐量下降 50% 意味著原本一個月的運行將變成兩個月。訓練啟動后的幾小時內,吞吐量驟降。
最終通過檢查節(jié)點監(jiān)控指標,發(fā)現(xiàn)吞吐量驟降與磁盤讀取延遲尖峰相關。問題在于數(shù)據(jù)存儲, Hugging Face 團隊的 24TB 數(shù)據(jù)集存儲在 FSx (Weka) 上,由于存儲推到了極限,它在訓練中途開始驅逐(evicting)數(shù)據(jù)集分片,迫使團隊必須重新抓取它們,從而造成停頓,這解釋了吞吐量的巨大波動。
2.潛伏的并行化 Bug
訓練中還出現(xiàn)了其他意外挑戰(zhàn),例如一個隱蔽的張量并行(Tensor Parallelism,TP)Bug。團隊發(fā)現(xiàn),每個 TP 進程使用的隨機種子是相同的,這導致了結果與非 TP 運行不匹配。
由于之前通過消融實驗驗證了訓練中的每一個其他組件,所以團隊能很快地將 TP 識別為唯一可能的原因,并在發(fā)現(xiàn)性能差距的一天內修復了這個 Bug。
后訓練——打磨模型
![]()
圖|LLM 后訓練流程圖
隨著基礎模型的規(guī)模和質量不斷提升,后訓練——即對預訓練完成的模型進行的后續(xù)微調和對齊步驟——已成為 LLM 價值鏈中最大的差異化因素。
如果說預訓練是用蠻力把知識灌進模型的權重里,后訓練就是把這些原始能力雕琢成可靠、可控的形態(tài)。后訓練的具體做法為:
監(jiān)督微調(SFT):用于注入核心能力;
偏好優(yōu)化(PO):用于直接從人類或 AI 偏好中學習;
強化學習(RL):用于超越監(jiān)督數(shù)據(jù),提煉可靠性和推理能力;
數(shù)據(jù)整理(Data curation):用于在多樣性和質量之間取得正確的平衡;
評估(Evaluation):用于跟蹤進度,并及時發(fā)現(xiàn)能力退步現(xiàn)象。
Hugging Face 團隊提到,構建一個世界級 LLM 需要的不僅是蠻力,更是一套系統(tǒng)化的方法論。他們希望,這本工具書可以給每一個對大模型感興趣的人提供實用幫助。
更多訓練細節(jié),請查看原文。
整理:瀟瀟
如需轉載或投稿,請直接在本文章評論區(qū)內留言
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.