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

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

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

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

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

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

  1. 基础语言能力训练(预训练)

  2. 对话能力训练(指令微调)

  3. 快速适应新任务(LoRA 微调)

  4. 优化回答质量(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-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 助手的企业

  • 对语言模型感兴趣的研究者

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

### 训练大型模型的方法与DeepSeek框架 为了理解如何利用DeepSeek框架来训练大型模型,重要的是先认识到该框架旨在简化大规模数据处理以及复杂机器学习工作流的设计。通过集成多种工具和技术,DeepSeek使得研究人员和开发者能够更高效地开发、测试并部署先进的AI解决方案。 #### DeepSeek框架概述 DeepSeek是一个专注于加速研究周期和支持高性能计算环境下的实验迭代过程的平台[^1]。它不仅提供了用于加载语料库的功能以便于模型训练准备阶段的操作,还集成了丰富的特性支持多模态数据分析任务,比如图像搜索能力展示所体现出来的功能[^2]。 #### 使用DeepSeek进行模型训练的关键要素 - **数据预处理**:有效的数据清洗和转换对于任何成功的ML项目都是至关重要的第一步。这通常涉及去除噪声、标准化输入特征以及其他形式的数据增强技术。 - **分布式训练架构**:当面对海量级的数据集时,单机难以满足需求;因此采用集群式的GPU/CPU资源分配策略变得尤为重要。DeepSeek内置了对这些硬件设施的支持,允许用户轻松配置跨节点的任务调度机制。 - **优化算法的选择**:针对不同类型的神经网络结构(如卷积层、循环单元),挑选合适的梯度下降变体可以显著提升收敛速度及最终性能指标。此外,在超参数调优方面也给予了充分考虑,提供了一系列自动化工具帮助寻找最佳设置组合。 ```python from deepseek import Trainer, DataLoader # 假设已经准备好了一个名为dataset的对象作为训练数据源 data_loader = DataLoader(dataset) trainer = Trainer(model=model_architecture, optimizer='adam', loss_function='cross_entropy') history = trainer.fit(data_loader=data_loader, epochs=50, batch_size=32) ``` #### 教程与资源链接 官方文档中包含了详细的安装指南、API参考手册以及一系列动手实践教程,这些都是初学者入门的好帮手。同时社区论坛也是一个不可忽视的知识宝库,里面汇聚了许多来自世界各地的经验分享贴子供查阅学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值