部署DeepSeek模型,进群交流最in玩法!
立即加群
发布
社区首页 >专栏 >DeepSeek爆了,普通人如何3小时完全从0训练自己的大模型

DeepSeek爆了,普通人如何3小时完全从0训练自己的大模型

作者头像
wayn
发布2025-02-06 19:17:44
发布2025-02-06 19:17:44
18800
代码可运行
举报
文章被收录于专栏:wayn的程序开发wayn的程序开发
运行总次数:0
代码可运行

今天为大家介绍一个特别实用的开源项目 - MiniMind。它让我们可以用普通电脑,在短短 3 小时内训练出一个迷你版的 ChatGPT!

为防止误读,「最快 3 小时」是指您需要具备>作者本人硬件配置的机器,具体规格的详细信息将在下文提供。

为什么这个项目这么特别?

目前市面上的大语言模型动辄上百亿参数,训练成本高昂。就算是自己想学习和研究,也会被巨大的硬件门槛挡在门外。而 MiniMind 通过精妙的设计,把模型参数压缩到了最小,让个人开发者也能亲手训练 AI 模型!

最小版本仅有 26M 大小(约为 GPT-3 的 1/7000),一张普通的游戏显卡就能运行。项目提供了完整的训练流程:

  1. 基础语言能力训练(预训练)
  2. 对话能力训练(指令微调)
  3. 快速适应新任务(LoRA 微调)
  4. 优化回答质量(DPO 偏好对齐)

环境需要

代码语言:javascript
代码运行次数:0
复制
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 的混合专家模型
  • 通过专家分工提升模型能力
  • 保持较低的计算资源需求

灵活的部署选项

  • 支持单卡/多卡训练
  • 兼容主流深度学习框架
  • 提供网页交互界面

上手有多简单?

只需几步就能开始:

代码语言:javascript
代码运行次数:0
复制
# 1. 克隆项目
git clone https://github.com/jingyaogong/minimind.git

# 2. 安装依赖
pip install -r requirements.txt

# 3. 开始对话测试
python 2-eval.py

如果想要可视化界面,还可以使用内置的网页版:

代码语言:javascript
代码运行次数:0
复制
streamlit run fast_inference.py

定制大模型

1. 克隆项目代码

代码语言:javascript
代码运行次数:0
复制
git clone https://github.com/jingyaogong/minimind.git
cd minimind

2. 环境安装

代码语言:javascript
代码运行次数:0
复制
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-smallminimind-v1
  • python 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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 waynblog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么这个项目这么特别?
    • 环境需要
  • 实际应用场景
    • 1. 个性化助手开发
    • 2. 技术学习与研究
    • 3. 产品原型验证
  • 技术亮点解析
    • 轻量级架构
    • 创新的专家模型版本(MoE)
    • 灵活的部署选项
  • 上手有多简单?
  • 定制大模型
    • 1. 克隆项目代码
    • 2. 环境安装
    • 3. 自己训练数据集
  • 持续进化中
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档