当前位置: 首页 > news >正文

Minimind 使用笔记

Minimind 是一个“小”语言模型,总共只有 2500 万个参数,最小版本体积只有 GPT-3 的七千分之一,作者称只需要3块钱+2小时就可以完成训练,项目地址为:https://github.com/jingyaogong/minimind。

为防止误解,“2小时” 基于NVIDIA 3090硬件设备(单卡)测试,“3块钱” 指GPU服务器租用成本,具体规格详情见下文。

Minimind 完全从0开始,对大语言模型实现了全阶段开源复现,是入门 LLM 的绝佳教程。 本文将根据项目文档完成两阶段训练(预训练和有监督微调),初步感受一下“大”模型的训练过程:

环境准备

Minimind 作者的软硬件配置(仅供参考):

  • CPU: Intel(R) Core(TM) i9-10980XE CPU @ 3.00GHz

  • RAM: 128 GB

  • GPU: NVIDIA GeForce RTX 3090(24GB) * 8

  • Ubuntu 20.04

  • CUDA 12.2

  • Python 3.10.16

  • requirements.txt

我的软硬件配置(我的个人电脑GPU只有500M显存,所以使用了云主机):

  • ModelScope 免费提供的阿里云PAI-DSW实例(36个小时,完成本文训练共花费4小时左右)

  • 8核CPU + 32GB内存

  • NIVDIA A10,24G显存

  • Ubuntu 22.04

  • CUDA 12.1

  • Python 3.10.16(Miniconda虚拟环境)

获取代码

# 从 github 下载代码并进入项目目录

git clone <https://github.com/jingyaogong/minimind.git

cd minimind

# 创建虚拟环境并激活

conda create --name minimind python=3.10.16

conda init

conda activate minimind

# 安装需要的依赖

pip install -r requirements.txt

下载数据

# 还是在 minimind 目录

pip install modelscope

modelscope download --dataset gongjy/minimind_dataset --local_dir ./dataset

总共下载了 20 多 G 的数据,都是 jsonl 格式:

预训练

预训练需要执行一个 python 文件:

python train_pretrain.py

预训练过程其实是有一些参数可以调整的,但为了快速完成训练,我们先全部使用默认参数。

预训练所使用的数据:

在我的这个云主机里,训练一个 epoch大概需要两个小时:

有监督微调

有监督微调也只需要执行一个 python 文件:

python train_full_sft.py

微调使用的数据格式和预训练不同,对对话的双方做了区分:

从肉眼上看,微调的速度比预训练略快:

模型评估

经过上面的训练,我们得到了两个模型,一个是预训练模型,一个是微调模型,都在 out 目录下:

可以看到两个模型的大小一模一样,说明两个模型的结构应该是相同的。 下面我们使用 python eval_model.py 来比较两个模型的表现,eval_model.py 这个文件接收两个参数:

  • -load 参数,用来指示加载我们自己训练的模型(在 out 目录),还是加载从Huggingface下载下来的模型(在 MiniMind2 目录);

  • model_mode 参数,用来指示加载哪个阶段的模型,0表示预训练模型,1表示微调模型,2表示RLHF模型等;

首先是项目自带的评测:

可以看出,虽然都只训练了一个epoch,微调后的模型比预训练模型明显强了很多,即使存在信息不准确或者错误,但是对话的语气和意图是很明显的,而预训练模型就差了很多,而且看起来似乎有时没办法终止对话。

再来看看人工评测,我问了两个模型三个相同问题:

  • 豆腐脑甜的好吃还是咸的好吃?

  • 大模型是什么东西?

  • 邓紫棋哪首歌好听?

下面是它们的回答:

和自动评测的结果差不多,微调模型“知道”自己在对话,而预训练模型的回答非常发散。

项目也提供了 Web 页面和模型交互的方法,通过 streamlit 实现:

cd scripts

streamlit run web_demo.py

对话界面长这样:

后续

以上就是我的 Minimind 初体验,由于时间和成本问题,预训练模型和微调模型都只训练了一个 epoch,模型表现不是很给力,但是这不影响我们了解大模型的训练过程,后续我会进一步深入研究 Minimind 项目,包括复现其它的训练阶段,研究训练代码,以及过程中发现的其他问题。如果你也对此感兴趣,或者有学习大模型的建议,欢迎指点和交流!

Minimind 项目实践总结

项目概述

Minimind 是一个仅 2500 万参数的小型语言模型,体积为 GPT-3 的 1/7000,具有低成本(3 元 + 2 小时训练)、全阶段开源的特点,适合作为 LLM 入门实践教程。

实践过程

  1. 环境与数据准备

    • 使用云主机(16GB 显存)替代本地低配 GPU

    • 克隆代码、创建虚拟环境、安装依赖

    • 通过 ModelScope 下载 20GB+ 的 JSONL 格式数据集

  2. 两阶段训练

    • 预训练:使用默认参数,在通用文本数据上训练约 2 小时/epoch

    • 有监督微调:使用对话格式数据,训练速度比预训练略快

    • 得到结构相同、大小一致的两个模型(预训练 & 微调)

  3. 模型评估

    • 自动评测:微调模型在对话意图、语气连贯性上显著优于预训练模型

    • 人工测试:微调模型能理解对话上下文,预训练模型回答发散且难以终止

    • Web 交互:通过 Streamlit 实现可视化对话界面

关键发现

  • 即使仅训练 1 个 epoch,有监督微调仍能大幅提升模型的对话能力

  • 预训练模型缺乏对话逻辑,微调后能初步掌握对话结构与意图理解

  • 项目完整复现了 LLM 核心训练流程,具有较好的学习参考价值

后续计划

作者将继续深入研究:

  • 复现其他训练阶段(如 RLHF)

  • 分析训练代码实现细节

  • 探索训练过程中的问题与优化方向

项目价值

Minimind 以极低的硬件门槛和清晰的代码实现,为初学者提供了完整的 LLM 训练实践路径,帮助理解从预训练到微调的全流程,是入门大模型技术的优质实践项目。

Minimind 是一个仅 2500 万参数的开源小语言模型,旨在以极低成本复现大模型全流程。笔者通过云主机完成了其预训练与有监督微调两阶段实践。结果显示,即使仅训练一个周期,微调后的模型在对话意图与连贯性上也显著优于原始预训练模型。该项目代码清晰、资源要求低,为初学者理解与动手训练大模型提供了绝佳的入门路径。

http://www.jsqmd.com/news/374010/

相关文章:

  • 2026年辽中评价高的汽车贴膜门店价格,太阳膜/车衣改色/贴太阳膜/隐形车衣/贴隐形车衣/汽车车衣,汽车贴膜定制哪个好 - 品牌推荐师
  • 2026年热门的通信抢险车/抢险车生产厂家 - 品牌宣传支持者
  • 2026年靠谱的特软硅胶电线/聚氯乙烯绝缘电线厂家推荐及采购参考 - 品牌宣传支持者
  • 我的X和Github链接
  • 跨境知识产权诉讼中的“管辖权”之争
  • 2026年口碑好的湖北移动电源车/防汛电源车销售厂家 - 品牌宣传支持者
  • 扫描仪重复性测试怎么操作?标准测试三维扫描仪推荐指南 - 匠言榜单
  • 细聊分度器正规供应商,年度排名中哪家更靠谱 - 工业品牌热点
  • 2026周边这些口碑好的比锡纳米隔热防腐板源头厂家值得关注,印花彩钢/耐指纹彩钢/彩铝/彩钢,纳米隔热防腐板品牌口碑推荐 - 品牌推荐师
  • 机械CAD软件如何用CKEditor控件处理DWG图纸公式Word截图?
  • 【计算机基础】-23-RT-Thread-如何保障调度器能执行?
  • 四元数散度和旋度 - 26
  • 2026年知名的硬岩钻裂一体机/挖改钻裂一体机可靠供应商参考推荐几家 - 品牌宣传支持者
  • 信创OA系统如何解决CKEditor粘贴Word公式路径映射问题?
  • 盘点2026年热门门窗品牌,唐潮门窗口碑如何,哪家更值得选? - 工业推荐榜
  • Nodejs+vue+ElementUI框架的网咖网吧会员计费管理系统
  • 汽车制造行业,JAVA如何实现大文件上传?
  • Nodejs+vue+ElementUI框架的数字乡村旅游景点预约平台的设计与实现
  • 关注运行静音:这些磁力泵品牌表现如何?不锈钢螺杆泵/柱塞式计量泵/工业循环水离心泵/液压隔膜计量泵,磁力泵企业哪家靠谱 - 品牌推荐师
  • Nodejs+vue+ElementUI框架的网上交易平台设计与实现
  • JAVA环境下JSP如何实现文件夹上传功能?
  • 聊聊国际本科2+2项目,苏州南昌等地哪家品牌更值得选择 - myqiye
  • Nodejs+vue+ElementUI框架的网上家庭烹饪学习系统的设计与实现
  • 聊聊2026年哈尔滨四轮定位服务,哪家性价比高值得选择 - myqiye
  • 2026年知名的车载点烟器充电线/车载点烟器转换器高评分品牌推荐(畅销) - 品牌宣传支持者
  • Nodejs+vue+ElementUI框架的校园自习室预约管理系统设计与实现
  • 教育行业里,JAVA如何处理大文件上传需求?
  • 2026年热门的大连考公机构/大连考公综合推荐 - 品牌宣传支持者
  • 政务CMS如何用CKEditor实现PDF表单公式到Word的映射?
  • VibeLand正在补上vibe coding的“最后一公里”