第 1 章:什么是 MiniMind
先建立正确预期:它很小、可复现、代码从 0 写;它不是 ChatGPT 平替。
1为什么要从 0 训练
打开大模型的黑盒子,本应是一件令人兴奋的事。但绝大多数人最后只停在「用 LoRA 给现成大模型加点私有知识」——这更像教牛顿用智能手机,有趣,却偏离了理解物理本质。
transformers / trl / peft 十几行就能跑通「加载 + 训练 + 推理」。方便的代价是:你和底层实现被隔开了。MiniMind 的核心算法都用 PyTorch 原生实现,不依赖这些高层封装。
本教程教你「亲手造一台能跑的小发动机」,不是「开一辆成品轿车去兜风」。
2项目里有什么
结构:Dense + MoE
主线对齐 Qwen3 / Qwen3-MoE。Dense 约 64M,MoE 约 198M-A64M。
自己的 Tokenizer
6400 词表,带 tool_call、思考标记。也提供训练词表的示例脚本。
完整训练链
Pretrain、SFT、LoRA、DPO、PPO / GRPO / CISPO、Tool Use、Agentic RL、蒸馏。
开源数据
收集、蒸馏、清洗后的 jsonl,放到 ./dataset 就能训。
推理与部署
CLI、Streamlit WebUI、OpenAI 兼容 API,以及 llama.cpp / vLLM / Ollama。
评测与外推
C-Eval、CMMLU 等;YaRN 做 RoPE 长文本外推。
3已发布模型
新手先认 minimind-3。更早的 v1 / v2 主要用于对照,仓库已不再作为主线维护。
| 模型 | 参数量 | 说明 |
|---|---|---|
| minimind-3 | 64M | 当前主线 Dense,优先学这个 |
| minimind-3-moe | 198M-A64M | 4 专家 / top-1,激活量仍约 64M |
| minimind2 / small / moe | 26M–145M | 2025 年历史版本 |
| minimind-v1 系列 | 26M–108M | 已停止维护 |
4同系列项目
- MiniMind-V:视觉多模态
- MiniMind-O:Omni 多模态
- 仓库 Discussion 里还有实验性的扩散语言模型(dLM)和线性注意力模型
本教程只覆盖主线文本模型 MiniMind。扩展项目有兴趣再单独看。
5对效果要有预期
64M 大约是 GPT-3 的 1/2700。它能聊天、能写简单代码、能走工具调用流程,但事实知识浅、幻觉多,客观选择题成绩经常贴近随机。
作者自己也写得很诚实:Zero 模型会把杭州美食答成「鸡肉串、鳗鱼头」,英文能力不稳定。这不是失败,而是「小模型从 0 训出来」的真实样子。
衡量成功的标准:你能讲清每一阶段在干什么,并且自己复现出一条能对话的权重。不是追上 Qwen / GPT。