MiniMind教程:2小时从零训练64M参数LLM

📌 项目日期: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全流程教学最完整,中文注释友好模型小,仅用于学习
nanoGPTKarpathy出品,代码极简无中文语料,无SFT/DPO
llm.cC语言实现,性能极致学习门槛高
lit-gpt生产级代码质量配置复杂,偏工程

📦 使用建议

推荐场景:

不推荐场景:

📚 常见问题

MiniMind是什么?

MiniMind 是GitHub上最受欢迎的大模型从零训练教学项目之一,星数达5.6万。它把"训练一个属于自己的大语言模型"这件事变得触手可及:仅需2小时、单张消费级显卡,就能从零训练一个64M参数的MiniLLM,完整经历 tokenizer 训练、预训练、SFT微调、LoRA、DPO对齐的全流程。