我們在 Mac mini 上從零訓練一個 63.9M 模型:MiniMind 實測,附作者完整版對照

✓ 最後驗證:2026-10-21我們實際跑過
作者:阿凱(AI 技術編輯)|監修:Jack Wang
我們在 Mac mini 上從零訓練一個 63.9M 模型:MiniMind 實測,附作者完整版對照
MiniMind發佈 2026-09-06更新 2026-10-212,804 字

30 秒版

我們在一台 Mac mini(M4 Pro、64GB)上,用開源專案 MiniMind 從零訓練出一個 63.9M 參數的中文模型:pretrain 約 7 小時、SFT 再 6 小時 18 分。先講清楚跟文件的差距:為了一天內看到結果,我們只用了 mini 資料集的 38.8%(pretrain)和 21.3%(SFT),只跑 1 個 epoch(作者預設 2 個)。這是刻意縮水的極簡版,不是專案正常水準——下面用作者發布的正式權重證明給你看。

MiniMind 是什麼

從零訓練語言模型的開源專案,核心演算法用原生 PyTorch 寫,不靠第三方框架封裝。作者定位:約 64M 參數,個人 GPU 就能完整復現,流程涵蓋 pretrain、SFT、LoRA、DPO、GRPO。作者數字:單張 3090 跑一輪 SFT 約 2 小時、成本約人民幣 3 元。我們 9/5 的 GitHub 深挖卡寫過它:58.8k 星、一週漲 3.6k(約 7%)。

我們照文件做了什麼、哪裡沒照做

項目 文件預設 我們的做法 影響品質
Pretrain 資料量(mini 資料集) 約 127 萬行 前約 49.3 萬行(38.8%) 會
SFT 資料量(mini 資料集) 約 90.6 萬行 前約 19.25 萬行(21.3%) 會
Epochs 2 1 會,收斂打折
Batch(pretrain/SFT) 32/16 128/32 不會
MPS 精度 mps 誤判成 cpu,未啟動混合精度 補 mps bf16 分支 不會
num_workers 預設(會 fork 死鎖) 改 0 不會

學習率、seq_len 皆同文件。真正拉低品質的是資料砍到三到四成、只跑 1 epoch——是一天跑完的取捨,不是專案限制。

Mac 跑得動嗎,多快

MPS 實測 4,700–7,200 tokens/s,比純 CPU 快 2.3 倍。完整 mini 資料集照文件跑,pretrain 一個 epoch 要 25.5 小時、SFT 要 38.9 小時,遠超一天目標,所以砍了資料量。

也修了上游一個 bug:MPS 被誤判成 CPU,混合精度全程沒啟動。補上分支後 pretrain 快了約 7%,SFT 反而慢了 24%(排除過熱降頻,確認 bf16 對長序列 768 token 確實比 float32 慢)——所以正式訓練 pretrain 用 bf16、SFT 改回 float32。批次拉到 128,記憶體吃掉 34.7GB。

另兩個坑:dataloader 多子程序讀資料卡死,num_workers 改 0 解決;終端機看不到進度就加 PYTHONUNBUFFERED。

覺得有用?每天 5 分鐘掌握 AI 新工具

免費訂閱,新工具搶先看,隨時可取消

結果對照:同一組問題,三個版本並排

版本一(我們的 pretrain 權重)問「天空為什麼是藍色的」:

天空是蓝色的原因是由于太阳光是蓝色的,而太阳光线穿过太阳光线在太阳光线照射到天空中。

會講中文,但鬼打牆、原地繞圈。

版本二(我們的 SFT 極簡版)問「解釋機器學習」:

机器学习(Blockchard Network)是一种使用算法和数据构建算法的模型。

問「推薦中國美食」:

宫保鸡丁是一种特殊的水生鱼,具有清蒸鱼的特点……

格式對了,事實卻錯得離譜。

版本三(作者發布的正式權重 minimind-3)同樣問機器學習。作者對 minimind-3 主線推薦的訓練組合,是完整版資料集 pretrain_t2t+sft_t2t,再加上強化學習階段:

机器学习是人工智能的一个分支,它使计算机能够在不进行明确编程的情况下从数据中学习并改进其性能。

同樣問美食,宮保雞丁被正確歸進川菜:

宫保鸡丁:是四川菜的代表性菜肴,以其麻辣鲜香、花椒、干辣椒的口感而闻名。

差距來自資料量、輪數與訓練階段,作者的正式權重才是完整訓練下的答案,我們的極簡版不是天花板。

對台灣讀者最重要的一點:資料集是簡體中文

繁體提問兩版都弱,是資料集特性。連完整版問「台北有什麼好玩」也答成北京景點:

台北作为中国的一部分……故宫(紫禁城):作为中国最大的古代宫殿建筑群……

問「1+1」也算錯:

计算1和1的和:2 + 3 = 5

我們的極簡版更慘,整段重複同一句:

台北有著著著《台北有什麼好玩的地方》、《台北有什麼好玩的地方》……

資料本身是簡體中文,作者從未宣稱支援繁體。想讓它認識繁體,得自己準備繁體資料重做 SFT。

所以這東西對我有什麼用

不會取代你在用的任何模型,63.9M 參數上限就是這樣,即使完整資料也一樣。價值是花一天看完 pretrain 到 SFT 一整條管線——loss 從 5.51 掉到 2.41 是什麼概念、SFT 學得會格式卻學不到事實,跑過一遍才有感覺,適合想搞懂 LLM 訓練的工程師、PM,或想拿腳本當範本微調的人。

想自己跑的話

  1. clone 原始碼,建 Python 環境裝 torch(我們用 Python 3.13,作者的測試環境是 3.10.16;MPS 用 PyPI 預設版本即可)
  2. 從 Hugging Face 下載兩個 mini 資料集:pretrain 約 1.2GB、SFT 約 1.6GB
  3. 跑 train_pretrain.py --device mps --num_workers 0(別用多子程序,會卡死)
  4. 照文件跑完整的 mini 資料集(作者說明這個組合可以較快復現 MiniMind Zero 對話模型):依我們實測速度推算,1 個 epoch pretrain 要 25.5 小時、SFT 要 38.9 小時,合計超過兩天;作者預設是 2 個 epoch,時間還要再乘一倍,不像我們只砍到三成、一天內跑完。想再往作者的正式權重靠近,得改用完整版資料集:pretrain_t2t 約 10GB、sft_t2t 約 14GB,分別是 mini 版的 8 倍以上。

常見問題 FAQ

需要 GPU 嗎?

不一定要獨立顯卡。Mac 的 MPS(Apple Silicon 內建 GPU 加速)就能用,實測比純 CPU 快 2.3 倍;沒有 Mac 用 CPU 也能跑,只是慢很多。

要花錢嗎?

MiniMind 以 Apache 2.0 授權開源,資料集也能免費下載。我們用自己原本就有的 Mac mini,沒有額外的雲端 GPU 租用費,只多花一天電費。作者公開的數字是在單張 3090 上跑完 SFT 一個 epoch 約 2 小時,對應的 GPU 租用成本約人民幣 3 元。

我們的結果能代表 MiniMind 的真正水準嗎?

不能。我們只用三到四成的 mini 資料、只跑 1 個 epoch,是為了在一天內看到結果刻意砍出來的極簡版。真正代表這個專案水準的,是作者正式發布的 minimind-3 權重——上面三版對照已證明差距,不要拿我們這篇當專案天花板。

資料來源

  • MiniMind GitHub:https://github.com/jingyaogong/minimind
  • Hugging Face:jingyaogong/minimind-3
  • 本站實測紀錄

常見問題 FAQ

需要 GPU 嗎?▼
不一定要獨立顯卡。Mac 的 MPS(Apple Silicon 內建 GPU 加速)就能用,實測比純 CPU 快 2.3 倍;沒有 Mac 用 CPU 也能跑,只是慢很多。
要花錢嗎?▼
MiniMind 以 Apache 2.0 授權開源,資料集也能免費下載。我們用自己原本就有的 Mac mini,沒有額外的雲端 GPU 租用費,只多花一天電費。作者公開的數字是在單張 3090 上跑完 SFT 一個 epoch 約 2 小時,對應的 GPU 租用成本約人民幣 3 元。
我們的結果能代表 MiniMind 的真正水準嗎?▼
不能。我們只用三到四成的 mini 資料、只跑 1 個 epoch,是為了在一天內看到結果刻意砍出來的極簡版。真正代表這個專案水準的,是作者正式發布的 minimind-3 權重——上面三版對照已證明差距,不要拿我們這篇當專案天花板。

相關日報

喜歡這篇?每天早晨還有更多。

訂閱 5min AI,讓 AI 替你追蹤整個 AI 世界。

延伸閱讀

🤖 本指南由 AI 整理,功能、價格與規格請以官方網站為準。如有疑慮,請參閱編輯政策。