DeepSpeed实战系列篇1:RTX 3090服务器部署及训练过程详解

服务器环境:

Ubuntu 20.04, RTX 3090 24G, CUDA 11.7

本文为系列篇:

第一篇:step1 部署及有监督微调(SFT)

DeepSpeed实战系列篇1:RTX 3090服务器部署及训练过程详解_seaside2003的博客-CSDN博客

 第二篇:step2 Reward模型微调

DeepSpeed实战系列篇2:RTX 3090服务器Reward模型微调_seaside2003的博客-CSDN博客

1、建立虚拟环境

conda create -n dsnew python=3.10

2、安装pytorch

conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

3、安装deepspeed

pip install deepspeed

4、下载DeepSpeedExamples并安装依赖

https://github.com/microsoft/DeepSpeedExamples

​git clone https://github.com/microsoft/DeepSpeedExamples.git

进入到目录:

cd /home/train/mycharm/dsnew/DeepSpeedExamples/applications/DeepSpeed-Chat

执行:

pip install -r requirements.txt

最好开代理(能访问谷歌等),会从Hugging Face下载包

5、修改batch,否则24G显存不够用

编辑run1.3b.sh文件:

cd /home/train/mycharm/dsnew/DeepSpeedExamples/applications/DeepSpeed-Chat/training/step1_supervised_finetuning/training_scripts/single_gpu/
vim run1.3b.sh

添加以下内容:

--per_device_train_batch_size 4 \
--per_device_eval_batch_size 4 \

Epoch改为1

--num_train_epochs 1

6、开始训练

python3 train.py --step 1 --deployment-type single_gpu

首次执行该命令需要下载facebook-OPT模型,还有需要的数据,会比较慢,最好开代理,否则容易挂,很多是从Hugging Face下载数据和模型。

新开一个窗口,查看Log:

cd /home/train/mycharm/ds/DeepSpeedExamples20230415/applications/DeepSpeed-Chat
less output/actor-models/1.3b/training.log

Batch为4时,显存基本占满了,~20G,占比:82%

1个Epoch结束后,如下图所示:

如果想查看Log看详细情况:

切换到DeepSpeed-Chat目录下,执行:

cd /home/train/mycharm/dsnew/DeepSpeedExamples/applications/DeepSpeed-Chat

查看运行日志:

less output/actor-models/1.3b/training.log

生成的模型在output目录下:

7、评价与测试

打开文件 run_prompt.sh 添加 baseline 模型,和 finetune 后的模型:

python prompt_eval.py \
    --model_name_or_path_baseline facebook/opt-1.3b \
    --model_name_or_path_finetune ../../output/actor-models/1.3b

评价程序会调用 prompt_eval.py 来分别输出 baseline 和 finetune 后模型的结果。

要执行此代码,需要切换到 step1_supervised_finetuning 目录下:

cd training/step1_supervised_finetuning
bash evaluation_scripts/run_prompt.sh

但会出现一个错误:

evaluation_scripts/run_prompt.sh: line 4: $'\r': command not found

文件格式问题,只需转换格式即可:

dos2unix evaluation_scripts/run_prompt.sh

再次执行:

bash evaluation_scripts/run_prompt.sh

运行成功:

……

执行chat.py,可以对话方式进行交互:

python chat.py --path output/actor-models/1.3b

猜你喜欢

转载自blog.csdn.net/qq_18256855/article/details/131798412