minimind Skill: 2 小时训练 64M 参数 GPT 小模型的开源教科书

总结

minimind 是当前 GitHub 上最火的「可亲手训练」小语言模型开源项目:60,647 Star、7,868 Fork,主线版本仅 64M 参数(约 GPT-3 的 1/2700),声称可在单张 RTX 3090 上用 2 小时、约 3 元 GPU 成本从 0 完成一次完整训练。截至 2026-09-11,它在 github-trending.today 长期占据 Python 榜头部位置,TrendShift 收录为趋势项目,terminalskills.io、lobehub.com、sofarbot、skillsllm 等多个 Skills 市场都把它当作「教学型 Agent Skill」收录。它火的核心不是参数大小,而是把 LLM 训练拆成了「单机 + 单卡 + 2 小时 + 3 块钱」四件可控事。

功能与原则

minimind 提供从数据到部署的完整训练链路:

  • 结构层:Dense(64M)与 MoE(198M-A64M)两套主线,结构对齐 Qwen3 / Qwen3-MoE 生态
  • 数据层:Tokenizer 训练、Pretrain、SFT、RLHF-DPO、RLAIF(PPO / GRPO / CISPO)、Tool Use、Agentic RL、自适应思考、模型蒸馏
  • 生态兼容:可与 transformers / trl / peft、llama.cpp / vllm / ollama、Llama-Factory 互通
  • 服务端:自带兼容 OpenAI API 协议的最小服务(支持 reasoning_content / tool_calls / open_thinking),可挂 FastGPT、Open-WebUI
  • 可视化:Streamlit 极简聊天 WebUI,支持思考展示、工具选择与多轮 Tool Call
  • 多模态拓展:MiniMind-V(视觉)、MiniMind-O(Omni)、MiniMind-dLM(扩散)、MiniMind-Linear(线性注意力)

设计原则只有一个:大道至简。核心算法全部用 PyTorch 原生实现,不依赖任何高层抽象封装,每一行代码都可以被学习者读到、改到、训到。

认可度

  • GitHub Star:60,647,截至 2026-09-11
  • Fork:7,868
  • Open Issue:66
  • License:Apache-2.0
  • Trending 经历:长期占据 github-trending.today Python 榜前列;TrendShift badge 已挂出(repositories/12586);本期日均涨 Star 约 2,614
  • Skills 市场覆盖:被 terminalskills.io、lobehub.com、sofarbot、skillsllm、skillsMP 同时收录,给出 Trust Score 93/100、2.93× Impact 评分
  • 社媒讨论:B 站视频教程播放量数十万级;ModelScope / HuggingFace 同步发布权重;中文社区把它列入「2026 年必看 LLM 教学项目」清单

链接

GitHub:https://github.com/jingyaogong/minimind

配套站点:https://jingyaogong.github.io/minimind

模型集合(HuggingFace):https://huggingface.co/collections/jingyaogong/minimind

在线体验(ModelScope):https://www.modelscope.cn/studios/gongjy/MiniMind

视频介绍(B 站):https://www.bilibili.com/video/BV12dHPeqE72

原作者

jingyaogong(GitHub: @jingyaogong),ModelScope / HuggingFace 用户名 gongjy。中文 AI 社区活跃开发者,专注「把大模型拆小、把训练链路拆开」这条路线;后续又衍生出 MiniMind-V、MiniMind-O、MiniMind-dLM、MiniMind-Linear 等多模态与新架构实验分支。他在 README 里写:「用乐高自己拼出一架飞机,远比坐在头等舱里飞行更让人兴奋」。

介绍

项目起源于一个朴素观察:市面上绝大多数 LLM 教程要么收费昂贵、要么停留在「加载模型 + 推理」的表面,让学习者与底层实现完全隔离。minimind 把这件事反过来做。它把 GPT 风格的 Transformer 拆到 PyTorch 原生算子级别,再让它小到能在普通消费级显卡上跑完全流程。

主线 minimind-3 体积只有 64M 参数,比 GPT-3 小约 2700 倍,却完整覆盖 Tokenizer 训练 → Pretrain → SFT → DPO/PPO/GRPO → Tool Use → 蒸馏的全链路。结构与 Qwen3 / Qwen3-MoE 保持一致,因此学到的「手筋」可以直接迁移到百亿级模型。MoE 版本 minimind-3-moe 约 198M-A64M,适合想体验稀疏激活路径的人。

对工程师而言,minimind 的隐藏价值是「可改的训练底座」:所有训练脚本、数据管线、奖励函数都开放,想换数据集、换 Loss、换采样策略,直接 fork 就能跑;对学生与教师而言,它是一本「可运行的 LLM 教科书」,每节课都有代码可读、可改、可跑。

特点

  • 全栈开源:从 Tokenizer 到 Server API 一站到底,没有黑盒模块
  • 零依赖抽象:核心代码全部 PyTorch 原生,可逐行阅读
  • 单卡即可:单卡 RTX 3090 / 4090 即可完成 SFT 全 epoch;多卡支持 DDP / DeepSpeed
  • 极低门槛:单机 2 小时 + 约 3 元 GPU 成本即可完成一次端到端训练
  • 多模态拓展:自带视觉、Omni、扩散、线性注意力四条实验支线
  • 生态互通:权重可丢进 llama.cpp / vllm / ollama,推理 API 与 OpenAI 协议一致

使用方法

  1. 克隆与安装

bash
git clone https://github.com/jingyaogong/minimind.git
cd minimind
pip install -r requirements.txt
python download_data.py

  1. 预训练(~1 小时)

bash
python train_pretrain.py
--data_path ./data/pretrain_data.jsonl
--model_config ./config/minimind-3.yaml
--epochs 2 --batch_size 32 --learning_rate 5e-4

  1. 监督微调 SFT(~30 分钟)

bash
python train_sft.py
--pretrained_model ./checkpoints/pretrain/best.pt
--data_path ./data/sft_data.jsonl
--epochs 3 --batch_size 16 --learning_rate 1e-5

  1. RLHF 对齐(可选,约 20 分钟):内置 DPO / PPO / GRPO 三种实现,按需切换
  2. 推理 / 起服

bash
python inference.py --model_path ./checkpoints/sft/best.pt
# 或启动 OpenAI 兼容 API:
python api_server.py --model_path ./checkpoints/sft/best.pt --port 8000

使用场景与人群

  • AI 教育者:想做 LLM 课程配套实验的人;课程单学期可带学生跑完全链路
  • 求职面试者:想对 Transformer / RLHF / Tool Use 真正「动手」的人
  • 个人开发者:希望本地拥有一个 64M–198M 可控小模型做边缘 / 嵌入式部署的人
  • 企业内部训练:需要做高频、低延迟自动化工作流(如字幕时间戳抽取、命令归一化)时,可在 64M 模型上做 LoRA 微调替代云端 API
  • 浏览器 / 端侧研究:64M 体量足够小,可编译成 WebAssembly 在浏览器内运行

输入与输出案例

案例 1:单卡完整训练(RTX 3090)

  • 输入:data/pretrain_data.jsonl + data/sft_data.jsonl + data/dpo_pairs.jsonl(项目内自带)
  • 脚本

bash
python train_pretrain.py # ~1h 学语言模式
python train_sft.py # ~30min 学指令跟随
python train_dpo.py # ~20min 人类偏好对齐
python inference.py --model_path ./checkpoints/dpo/best.pt

  • 输出

“`text

What is machine learning?
Machine learning is a subset of artificial intelligence where systems
learn patterns from data rather than being explicitly programmed…
“`

  • 总成本:~2 小时 + ~3 元 GPU 租赁费

案例 2:医疗问答 LoRA 微调

  • 输入:自备 medical_qa.jsonl(conversations 格式)
  • 脚本

bash
python train_lora.py
--base_model ./checkpoints/sft/best.pt
--data_path ./data/medical_qa.jsonl
--lora_rank 8 --lora_alpha 16

  • 输出:在医疗问答场景下,对「Type 2 diabetes 的症状是什么?」这类问题能给出比基座更聚焦、更少幻觉的回答;模型体积仍然保持在 64M,可直接在本地或浏览器内推理,无需任何外部 API Key。

GitHub: https://github.com/jingyaogong/minimind

评论区

0 条评论

登录后可评论。

Skill超级捕获手 10 阅读