jingyaogong/minimind

从 0 训练超小语言模型的开源项目与教程,用极低成本跑通 LLM 全阶段训练链路。

从 0 训练超小语言模型的开源项目与教程,用极低成本跑通 LLM 全阶段训练链路。

产品定位

MiniMind 的定位差异在于把 LLM 训练的每个阶段都拆成可读、可改的 PyTorch 原生代码,不依赖第三方库的高层抽象,便于学习者逐行理解训练细节。minimind-3 Dense 使用 Transformer Decoder-Only 结构,整体配置向 Qwen3 生态对齐;minimind-3-moe 在相同结构上扩展 MoE 前馈层,兼容 Qwen3-MoE 风格配置(4 experts / top-1 routing)。选型时需注意:Tool Call 训练数据仅覆盖约 10 个模拟自定义工具,模型更适合作为从 0 训练路线可行性的参考,而非生产级模型。

适合用户

  • 希望从 0 理解并亲手训练 LLM 的个人开发者与学习者

功能亮点

  • 从 0 到 1 的完整 LLM 训练链路

    提供预训练(Pretrain)、监督微调(SFT)、LoRA、DPO、RLAIF(PPO/GRPO/CISPO)、蒸馏、工具使用(Tool Use)与智能体强化学习(Agentic RL)等全阶段训练代码,全部基于 PyTorch 原生实现。

  • 基础 Tool Call 能力

    默认 full_sft 权重已混入 Tool Call 数据,具备基础工具调用能力,支持 OpenAI 风格多轮消息格式。

  • 自适应显式思考开关

    通过 chat_template 与 open_thinking 开关在推理时动态切换是否输出显式思考过程,CLI、API、WebUI 均支持。

  • OpenAI 兼容服务端与 WebUI

    提供兼容 OpenAI API 协议的服务端与基于 Streamlit 的聊天 WebUI,支持 reasoning_content、tool_calls 等字段。

  • Dense 与 MoE 双结构

    minimind-3 提供 Dense 结构,minimind-3-moe 在相同结构上扩展 MoE 前馈层(4 experts / top-1 routing),配置对齐 Qwen3 生态。

使用步骤

预训练 + SFT 训练流程

  1. 从 ModelScope 或 HuggingFace 下载 pretrain_t2t_mini.l 与 sft_t2t_mini.l 数据集并放入 ./dataset 目录
  2. 执行 python train_pretrain.py 进行预训练,得到 out/pretrain_*.pth 权重
  3. 执行 python train_full_sft.py 进行 SFT,得到 full_sft_*.pth 权重
  4. 使用 python eval_llm.py --weight full_sft 测试模型效果

LoRA 垂域微调

  1. 准备多轮对话格式的 lora_xxx.l 垂域数据
  2. 执行 cd trainer && python train_lora.py 训练 LoRA 权重
  3. 通过 python eval_llm.py --weight full_sft --lora_weight lora_xxx 测试,或用 scripts/convert_model.py 将 LoRA 权重合并导出

推理与部署

  1. 下载已训练权重或使用自训权重放入 ./out 目录
  2. 通过 python eval_llm.py、serve_openai_api.py 或 streamlit run web_demo.py 进行推理
  3. 也可通过 ollama run jingyaogong/minimind-3 或 vllm serve 部署

适用场景

LLM 入门与实践教程

LLM 初学者与个人开发者

作为大语言模型全阶段开源复现项目与教程,帮助学习者从理解每一行代码开始从 0 训练极小语言模型。

低成本快速复现 LLM 训练

算力有限的个人开发者

README 估算单张 3090 使用 mini 数据集完成 pretrain+SFT 约 2.31 小时、成本约 3 元,适合快速复现与实验迭代。

垂域适配与私有数据微调

需要领域模型的开发者

通过 LoRA 或全参微调将模型适配到医疗等垂直场景或私有数据集。

访问与价格

可用状态: 当前可用

价格信息: 开源

价格说明: 项目基于 Apache 2.0 协议开源,完全免费;训练成本仅为 GPU 租用费用(README 估算单卡 3090 约 1.3 元/小时)。

官方入口

常见问题

训练 MiniMind 需要多少成本?

README 注明项目基于 Apache 2.0 协议开源、完全免费;"2 小时" 指 SFT 阶段在单张 NVIDIA 3090 上跑完 1 epoch 的实测耗时,"3 块钱" 指 mini 数据集 pretrain+SFT 对应时段的 GPU 租用成本。

需要什么硬件?

README 给出的参考配置为 Intel i9-10980XE、128GB RAM、NVIDIA RTX 3090 (24GB);若 CUDA 不可用也可选择 CPU 或 MPS 运行,但训练速度与兼容性会有很大差异。

模型支持工具调用吗?

toolcall 能力已并入 SFT 主线数据,默认 full_sft 权重即具备基础 Tool Call 能力,但训练数据仅覆盖约 10 个模拟自定义工具,泛化能力有限。

使用什么分词器?

当前主线统一使用自定义 minimind_tokenizer,词表大小为 6400,可显著压缩 embedding 层参数占比。

来源核验

资料核验于 2026-09-28