DeepSeek爆了,普通人如何3小时完全从0训练自己的大模型
今天为大家介绍一个特别实用的开源项目 - MiniMind。它让我们可以用普通电脑,在短短 3 小时内训练出一个迷你版的 ChatGPT!
为防止误读,「最快 3 小时」是指您需要具备>作者本人硬件配置的机器,具体规格的详细信息将在下文提供。
为什么这个项目这么特别?
目前市面上的大语言模型动辄上百亿参数,训练成本高昂。就算是自己想学习和研究,也会被巨大的硬件门槛挡在门外。而 MiniMind 通过精妙的设计,把模型参数压缩到了最小,让个人开发者也能亲手训练 AI 模型!
最小版本仅有 26M 大小(约为 GPT-3 的 1/7000),一张普通的游戏显卡就能运行。项目提供了完整的训练流程:
基础语言能力训练(预训练) 对话能力训练(指令微调) 快速适应新任务(LoRA 微调) 优化回答质量(DPO 偏好对齐)
环境需要
CPU: Intel(R) Core(TM) i9-10980XE CPU @ 3.00GHz
内存:128 GB
显卡:NVIDIA GeForce RTX 3090(24GB) * 2
环境:python 3.9 + Torch 2.1.2 + DDP单机多卡训练
Ubuntu == 20.04 Python == 3.9 Pytorch == 2.1.2 CUDA == 12.2 requirements.txt(本项目环境依赖)
实际应用场景
1. 个性化助手开发
你可以训练一个针对特定领域的 AI 助手,比如:
客服机器人:根据公司产品知识库训练 教育辅导:针对特定学科的习题讲解 行业助手:为特定行业提供专业建议
2. 技术学习与研究
了解大语言模型的工作原理 实践各种训练方法 尝试模型优化和改进
3. 产品原型验证
快速验证 AI 产品创意 测试不同场景下的效果 收集用户反馈进行迭代
技术亮点解析
轻量级架构
采用 Transformer 的 Decoder-Only 结构 使用 RMSNorm 预标准化提升性能 引入旋转位置编码处理长文本
创新的专家模型版本(MoE)
提供 4×26M 的混合专家模型 通过专家分工提升模型能力 保持较低的计算资源需求
灵活的部署选项
支持单卡/多卡训练 兼容主流深度学习框架 提供网页交互界面
上手有多简单?
只需几步就能开始:
# 1. 克隆项目
git clone https://github.com/jingyaogong/minimind.git
# 2. 安装依赖
pip install -r requirements.txt
# 3. 开始对话测试
python 2-eval.py
如果想要可视化界面,还可以使用内置的网页版:
streamlit run fast_inference.py
定制大模型
1. 克隆项目代码
git clone https://github.com/jingyaogong/minimind.git
cd minimind
2. 环境安装
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 测试torch是否可用cuda
import torch
print(torch.cuda.is_available())
如果不可用,请自行去 torch_stable 下载 whl 文件安装。参考链接,
https://blog.csdn.net/weixin_45456738/article/details/141029610
3. 自己训练数据集
下载数据集放到 ./dataset目录下python data_process.py命令处理数据集,例如 pretrain 数据提前进行 token-encoder、sft 数据集抽离 qa 到 csv 文件在 ./model/LMConfig.py中调整 model 的参数配置这里仅需调整 dim 和 n_layers 和 use_moe 参数,分别是
(512+8)或(768+16),对应于minimind-v1-small和minimind-v1python 1-pretrain.py执行预训练,得到pretrain_*.pth作为预训练的输出权重python 3-full_sft.py执行指令微调,得到full_sft_*.pth作为指令微调的输出权重python 4-lora_sft.py执行 lora 微调(非必须)python 5-dpo_train.py执行 DPO 人类偏好强化学习对齐(非必须)
持续进化中
项目正在快速发展,目前已支持:
文本对话:流畅的中英文交互 视觉理解:可以理解和描述图像 知识更新:持续优化训练数据 性能提升:不断改进模型结构
最后
MiniMind 降低了 AI 开发的门槛,让更多人能够参与到大语言模型的探索中来。无论你是:
想入门 AI 的开发者 需要定制化 AI 助手的企业 对语言模型感兴趣的研究者
这个项目都能帮你快速起步,并在实践中不断成长。项目完全开源,想要了解更多 MiniMind 项目信息的读者可以查看项目地址:
https://github.com/jingyaogong/minimind
👨💻欢迎关注我的公众号「程序员wayn」,技术成长社群正招募热爱coding的你,加入我们,一起深入探讨技术、分享经验、共同成长!
作者原创技术好文推荐: