📌 项目日期:2026年9月 | 数据来源:GitHub官方仓库 | 星数:56,200+
MiniMind 是GitHub上最受欢迎的大模型从零训练教学项目之一,星数达5.6万。它把"训练一个属于自己的大语言模型"这件事变得触手可及:仅需2小时、单张消费级显卡,就能从零训练一个64M参数的MiniLLM,完整经历 tokenizer 训练、预训练、SFT微调、LoRA、DPO对齐的全流程。
与工业级开源模型动辄数十亿参数、数千卡时不同,MiniMind 的价值在于"教学完整性"——每一步都有清晰的代码和中文注释,是理解 LLM 工作原理的最佳实践项目。训练完成后可参考 FreeToken端侧推理框架教程 将模型部署到边缘设备。
| 阶段 | 内容 | 产出 |
|---|---|---|
| Tokenizer训练 | 从中文语料训练自己的分词器 | 自定义vocab分词器 |
| 预训练 | Next Token Prediction学习语言规律 | 会"说话"的基座模型 |
| SFT监督微调 | 指令数据对齐,学会对话 | 能问答的助手模型 |
| LoRA微调 | 低成本领域适配 | 定制化能力 |
| DPO对齐 | 偏好优化,输出更符合人类偏好 | 对齐后的最终模型 |
| 模型评测 | 多轮对话测试+基准评测 | 质量验证 |
# 环境要求:Python 3.10+, PyTorch 2.x, 单卡6GB+显存
git clone https://github.com/jingyaogong/minimind.git
cd minimind
pip install -r requirements.txt
# 步骤1: 训练Tokenizer(可选,也可用自带的)
python train_tokenizer.py
# 步骤2: 预训练(2小时,单卡RTX 3090)
python train_pretrain.py \
--epochs 1 \
--batch_size 32 \
--hidden_size 512 \
--num_layers 8
# 步骤3: SFT监督微调
python train_full_sft.py --epochs 2
# 步骤4: DPO对齐(可选)
python train_dpo.py --epochs 1
# 与训练好的模型对话
python eval_llm.py --model_mode pretrain
MiniMind-V2-small:
参数量: 26M
层数: 8层 Transformer
隐藏维度: 512
训练时长: ~1小时 (RTX 3090)
MiniMind-V2-medium:
参数量: 64M
层数: 8层 Transformer
隐藏维度: 768
训练时长: ~2小时 (RTX 3090)
训练数据: minimind_tokenizer 中文语料
+ OpenSource对话数据集
原生支持: PyTorch权重 + transformers加载
+ Ollama导出部署
| 项目 | 优势 | 劣势 |
|---|---|---|
| MiniMind | 全流程教学最完整,中文注释友好 | 模型小,仅用于学习 |
| nanoGPT | Karpathy出品,代码极简 | 无中文语料,无SFT/DPO |
| llm.c | C语言实现,性能极致 | 学习门槛高 |
| lit-gpt | 生产级代码质量 | 配置复杂,偏工程 |
推荐场景:
不推荐场景:
MiniMind 是GitHub上最受欢迎的大模型从零训练教学项目之一,星数达5.6万。它把"训练一个属于自己的大语言模型"这件事变得触手可及:仅需2小时、单张消费级显卡,就能从零训练一个64M参数的MiniLLM,完整经历 tokenizer 训练、预训练、SFT微调、LoRA、DPO对齐的全流程。