AI

MiniMind:花三塊人民幣、兩小時,從零訓練一個 64M 參數的 LLM

本內容僅供參考,詳細使用規則與工具安全性與否,建議要進行相關安全性測試與評估

上週介紹的 tiny-llm 教你從頭寫出 LLM 的「推論」系統;但模型本身是怎麼訓練出來的?預訓練、SFT、DPO、GRPO 這些名詞每天都在論文裡出現,真正動手跑過完整流程的人卻不多——因為通常需要大量 GPU 與資料。MiniMind(jingyaogong/minimind)把門檻降到幾乎為零:標語是「僅需 2 小時,從零訓練一個 64M 參數的 LLM」,README 估算的成本約 3 塊人民幣。專案約 64.7k stars,出現在 10 月 30 日的 AI 開源趨勢報告中。11 月的第一篇,就從「理解模型怎麼來的」開始。


1. 專案背景與定位

MiniMind 採 Apache-2.0 授權,核心演算法以原生 PyTorch 從零實作,刻意不依賴高階封裝(例如 LoRA 不使用 peft)。它的目標很明確:學習與重現,而不是做出一個可以和大模型競爭的產品。

專案從 2024 年 8 月首次開源,經歷 minimind2 系列,2026 年 4 月釋出目前的主線 minimind-3(64M 參數 dense 模型)與 minimind-3-moe(198M 總參數、啟用 64M,4 個 expert、top-1 路由),架構也改為與 Qwen3 對齊。另有視覺擴充版 MiniMind-V(獨立 repo)。

2. 技術架構與核心設計

  • 模型架構(minimind-3):8 層、d_model 768、8 個 query head 與 4 個 KV head(GQA)、RMSNorm、SwiGLU、RoPE 搭配 YaRN 長度外推,最大位置 32,768。
  • 自訓 tokenizer:6,400 詞彙的 BPE + ByteLevel;README 坦言對中文的壓縮效率不如 Qwen2 或 GLM——這是為了讓模型夠小而做的取捨。
  • 完整訓練流程:
    • 預訓練、全參數 SFT、LoRA、DPO
    • RLAIF:PPO、GRPO 與 CISPO(GRPO 的 loss 變體)
    • Agentic RL(train_agent.py):多輪工具呼叫的強化學習,rollout 可用 torch 或 SGLang
    • 工具呼叫與可開關的「思考模式」(<think> 模板)
    • 蒸餾:黑箱(以教師模型輸出做 SFT)與白箱(CE + KL)
  • 訓練基礎建設:支援 DDP、DeepSpeed 與斷點續訓。
  • 資料集:精簡版預訓練資料 1.2GB、SFT 資料 1.6GB、RLAIF 24MB、DPO 53MB、Agent RL 資料約 100MB;工具呼叫資料約 10 萬筆,由 qwen3-4b 合成。
  • 部署相容性:Transformers 格式、llama.cpp(GGUF)、vLLM、SGLang、Ollama(ollama run jingyaogong/minimind-3)、MNN,以及 OpenAI 相容 API 與 Streamlit WebUI。

3. 社群熱度與生態採用

約 64.7k stars、8.5k forks、421 commits。README 列出的單張 RTX 3090 估算(約每小時 1.3 元人民幣):

  • minimind-3:預訓練約 1.21 小時、SFT 約 1.10 小時、工具呼叫約 0.9 小時、RLAIF 約 1.1 小時
  • 完成一個基本可對話的模型:minimind-3 約 2.31 小時、約 3.0 元;MoE 版約 3.23 小時、約 4.2 元

評測(lm-evaluation-harness zero-shot)中,minimind-3 的 C-Eval 為 24.89、CMMLU 25.38、ARC 28.49、PIQA 50.65。作者很誠實地指出:這些選擇題分數接近隨機猜測(約 25%),且標準誤差很大,小差距沒有意義。

4. 局限性與潛在風險

  • 能力非常有限:64M 參數的模型知識與泛化能力都很弱,範例輸出經常出現事實錯誤與重複,特別是在長篇生成時。這是教學模型,不是可用的助理。
  • 評測分數接近隨機:作者將部分原因歸於中英文資料比例與缺乏答案格式調整;另一個「exam」變體透過 LoRA 對齊格式後平均提升約 2.9 分,但這也提醒我們 benchmark 分數有多容易受格式影響。
  • 小模型的 RL 難題:獎勵稀疏、PPO 獎勵上升緩慢、GRPO 可能出現退化的群組;目前 rollout 是同步而非完全非同步。
  • Agent 微調的副作用:作者觀察到經 Agent 訓練的權重在開放式問題上幻覺更多;工具呼叫與思考模式同時開啟時,也不一定能穩定產生推理。
  • MoE 的速度代價:在作者的設定下,MoE 版本比 dense 模型慢約 50%。
  • 「兩小時、三塊錢」的前提:這是單一 SFT epoch 在 3090 上的時間與租用成本,完整流程與更大的資料集需要更多時間;作者自己的機器是 8 張 RTX 3090。
  • 合成資料的授權與品質:部分訓練資料由其他模型合成,使用前應確認來源授權,並理解它可能帶有原模型的偏誤。

5. 應用價值與適用場景

最適合想親手理解 LLM 訓練全流程的人:學生、研究者、轉進 AI 領域的工程師,或想在團隊內部辦「從零訓練 LLM」工作坊的技術主管。因為模型夠小,每一個階段——預訓練的 loss 曲線、SFT 前後的差異、DPO 與 GRPO 的效果——都能在幾小時內觀察到。它也很適合用來快速驗證新的訓練想法,再決定是否值得在大模型上投入資源。

Monday 的觀點與架構建議

  • MiniMind 與上週的 tiny-llm 是很好的一組:一個教你模型怎麼練出來,一個教你模型怎麼跑起來。兩個都在一般硬體上完成,把原本只屬於大型實驗室的知識變成個人可以實作的經驗。
  • 從零實作(不依賴 peft、不依賴高階框架)是它最大的教育價值:讀完 LoRA、DPO、GRPO 的實作,你對這些技術的理解會比讀十篇論文更扎實。
  • 實驗時建議一次只改變一個變數(資料量、學習率、RL 演算法),並記錄完整的 loss 與評測結果——小模型的雜訊很大,沒有對照組的結論很容易誤判。
  • 這個專案也提醒了一件事:benchmark 分數對格式極度敏感。在評估任何模型(包括大模型)時,都要問「這個分數提升,是能力變強,還是只是更會答題?」

參考來源