跳到主要內容

MiniMind:從零訓練一個真正的 LLM,3090 顯卡兩小時,不到三美元

jingyaogong/minimind on GitHub

大多數「從零開始學 LLM」的教程都有個問題:「從零」是假的。要嘛只是跑別人的 checkpoint,要嘛只是做推理,要嘛成本高到一般人根本訓不起來。MiniMind 是少數真的做到從頭訓練的開源項目——一個人、一張顯卡、兩個小時、不到三美元,完整走完預訓練到 RLHF 的全部流程。

47k stars、5.8k forks,社群反應說明這個需求確實存在。


架構選擇

MiniMind 採用標準 Decoder-only Transformer,細節上選了目前主流的穩健組合:

組件選擇理由
NormPre-Norm + RMSNorm訓練穩定,無需均值偏移
激活函數SwiGLU比 ReLU/GELU 有更好的梯度流
位置編碼RoPE + YaRN 外推原生支援長上下文外推
Tokenizer自製,6,400 詞彙針對中文 + 技術文本優化

詞彙量刻意壓小——6,400 vs GPT-2 的 50,257——這是教育導向的取捨:embedding 層參數少,訓練快,方便在有限資源上完成完整流程。

除了 Dense 版本(約 64M 參數),MiniMind 還提供 MoE(Mixture of Experts)版本:約 198M 參數,4 個 expert,top-1 routing。MoE 版的計算量不等比於參數量,適合想研究稀疏架構行為的人。


完整訓練流程

這是 MiniMind 最有價值的地方——不只教你預訓練,而是把整條 alignment pipeline 都包進來。

Loading diagram...

從左到右每個階段都有對應的訓練腳本,可以單獨跑也可以依序執行。GRPO 是 DeepSeek-R1 帶起來的方法,MiniMind 把它納入教育流程,讓你能親手驗證它的行為差異。


訓練成本細分

各訓練階段估計耗時(RTX 3090,單位:小時)

預訓練佔最大比重,後續 alignment 階段每個都在半小時以內。以 RTX 3090 的雲端租用價格約 0.4–0.6 美元/小時換算,整條流程下來確實壓在三美元以內。這個數字在業界幾乎是不可能的——因為它不是要你訓出 GPT-4,而是讓你理解每個步驟在幹嘛。


生態系相容性

MiniMind 訓出來的 checkpoint 不是孤立格式,它直接相容幾個主流推理工具:

  • Hugging Face transformers:用標準 API 載入推理
  • llama.cpp:量化後在 CPU 跑
  • vLLM:高吞吐量 batched 推理
  • Ollama:本地 GUI 體驗

訓練基礎設施方面支援 DDP(DistributedDataParallel)DeepSpeed,雖然教育場景通常用不到,但這讓 MiniMind 的工程實踐和業界同步。


關於 C-Eval 25% 這個數字

項目說明 MiniMind 在 C-Eval 上大約拿到 25%,比隨機(20%)好一點點。這不是問題,是設計結果。

MiniMind 不是在比分,它是在教你訓練流程。64M 參數 + 6,400 詞彙量的模型,能做的事就這些。把它和 Qwen、Llama 比是錯誤的使用方式,正確用法是:跑通流程、讀懂每個腳本、改動超參數觀察行為、理解 loss 曲線為什麼是那個形狀。

這個定位讓 MiniMind 在「教育用 LLM 項目」這個類別裡其實沒什麼競爭者——大多數類似項目要嘛只做到 pretraining,要嘛需要 A100 才跑得動。


誰應該用 MiniMind

適合:想深入理解 LLM 訓練流程的工程師、做 LLM 研究的學生、想在受控環境裡實驗 alignment 技術的人。

不適合:找一個可以直接部署的 chatbot、或者想要 SOTA 性能的人。

項目由個人開發者 Jingyao Gong 維護,Apache 2.0 授權,可以自由 fork 和修改。文檔用中文寫,對中文開發者是額外優勢。


結語

LLM 訓練這件事長期被「你需要千億 token 和 A100 叢集」的印象包圍,MiniMind 直接戳破這個神話的教育部分——你不需要工業規模,就能走完完整流程,理解每個組件在做什麼

對業界有影響力的論文和模型,往往需要一個「能讓人親手重現最小版本」的對應物,才能真正被理解和傳播。MiniMind 填的就是這個位置。