该文章主要记录复刻minimind项目过程,训练一个自己的小参数GPT。开源项目地址:https://github.com/jingyaogong/minimind

一、硬件配置(仅供参考)

CPU:英特尔11代酷睿i7-11800H@2.30Ghz

GPU:NVIDIA GeForce RTX 3050 Ti Laptop(4G)

系统:Windows 11 Pro for Workstations

CUDA:12.9

二、环境准备

1.创建conda环境

创建conda环境,用于python环境管理。安装多个版本的软件包及其依赖关并且可以轻松切换。

conda create --name minimind python=3.10

创建一个python版本为3.10,名字为minimind的工作空间。其中,通过 -n--name 来自定义的环境名称,如:minimind;同时,指定Python的版本。

可以通过conda env list查看创建的python环境。

2.下载mininmid项目

创建文件夹,并转到文件夹目录,使用git将minimind项目下载到文件夹

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

在windous终端直接使用git命令有可能会出现如下报错:

针对该报错有两种解决方法:

(1)安装git
在管理员权限的终端使用如下命令下载git,或者直接下载软件进行安装。

winget install --id Git.Git -e --source winget

(2)使用项目网站下载的压缩文件

也可以下载上传的资源:【免费】minimind项目压缩文件资源-CSDN下载,下面步骤按照下载的压缩文件进行。

三、开始训练模型

先激活创建的环境

activate minimind

激活环境后前面会出现环境的名称。

1.安装依赖

(1)安装requirements.txt中的依赖

pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple

等待下载完成,安装依赖结束。

(2)测试Torch是否能使用cuda

在终端输入python进入python,再输入下面两段代码进行测试。注:可以输入exit()退出python。

import torch
print(torch.cuda.is_available())

若输出结果为True,则代表Torch可以使用cuda,那么继续进行下一步。

若输出结果为False,则代表Torch不能使用cuda,那么需要安装能运行cuda的pytorch。具体安装步骤参考最后面内容。

2.数据下载

项目推荐下载pretrain_hq.jsonl + sft_mini_512.jsonl最快速度复现Zero聊天模型。

根据项目推荐下载需要的数据文件(创建./dataset目录)并放到./dataset下,数据集下载地址为:minimind_dataset · 数据集

3.开始训练

移到trainer目录

(1)预训练(学知识)

在终端输入

python train_pretrain.py

由于GPU性能较差,等待了一段时间才开始进行训练,出现上面图片的最后两行内容,就证明已经开始训练了,最后面是预估的训练时间,现在需要做的就是等待训练完成。

训练完成后自动停止,预训练完成。执行预训练,得到 pretrain_*.pth 作为预训练的输出权重(其中*为模型的dimension,默认为512),输出文件在out文件夹下,接下来进行监督微调。

(2)监督微调(学对话方式)

在终端输入

python train_full_sft.py

出现上面图片的最后三行内容,就证明已经开始训练了,最后面是预估的训练时间,现在需要做的依旧是等待训练完成。

训练完成后自动停止,监督微调训练完成。执行监督微调,得到 full_sft_*.pth 作为指令微调的输出权重(其中full即为全参数微调),输出文件在out文件夹下,所有训练过程默认每隔100步保存1次参数到文件./out/***.pth(每次会覆盖掉旧权重文件)。

4.测试训练的模型效果

确保需要测试的模型*.pth文件位于./out/目录下。 转到上级目录,并在终端输入下面指令。

python eval_llm.py --weight full_sft # 或 pretrain/dpo/ppo/grpo...

输入0可以自动测试预设的几个问题,输出结果如下图。

输入1可以手动输入问题测试,输出结果如下图。

附:能运行cuda的pytorch步骤

1.问题分析

在requirements.txt文件中指定的pytorch版本为2.6.0,使用requirements.txt安装依赖时会自动安装使用CPU的torch导致用不了CUDA。

从输出的版本号看,是 CPU-only 版本。PyTorch 2.6.0 的 GPU 版本通常会有 +cuXXX 的后缀(如 2.6.0+cu121)。

2.解决方法

(1)先卸载之前安装好的pytorch

使用下面命令卸载pytorch

pip uninstall torch torchvision torchaudio

卸载完成后查找不到pytorch

(2)重新安装CUDA版本的pytorch

打开pytorch网站:PyTorch

在网站下拉找到如下图片的部分

根据自己的电脑配置进行选择,电脑CUDA版本为12.9所以选择低于该版本的Compute Platfrom,本次选择CUDA12.8进行安装。

选择复制最下面部分,在然后在终端安装能运行cuda的pytorch。

pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu128

等待安装完成后再次查看pytorch版本并测试Torch是否能使用cuda

输出为True证明CUDA版的pytorch安装成功,可以使用GPU进行训练了。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐