MiniMind 新手教程

第 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-364M当前主线 Dense,优先学这个
minimind-3-moe198M-A64M4 专家 / top-1,激活量仍约 64M
minimind2 / small / moe26M–145M2025 年历史版本
minimind-v1 系列26M–108M已停止维护

4同系列项目

  • MiniMind-V:视觉多模态
  • MiniMind-O:Omni 多模态
  • 仓库 Discussion 里还有实验性的扩散语言模型(dLM)和线性注意力模型
本教程只覆盖主线文本模型 MiniMind。扩展项目有兴趣再单独看。

5对效果要有预期

64M 大约是 GPT-3 的 1/2700。它能聊天、能写简单代码、能走工具调用流程,但事实知识浅、幻觉多,客观选择题成绩经常贴近随机。

作者自己也写得很诚实:Zero 模型会把杭州美食答成「鸡肉串、鳗鱼头」,英文能力不稳定。这不是失败,而是「小模型从 0 训出来」的真实样子。

衡量成功的标准:你能讲清每一阶段在干什么,并且自己复现出一条能对话的权重。不是追上 Qwen / GPT。