[TOC]
DeepSpeed-Chat是微软最新公布的一套工具,用于训练类ChatGPT模型。该工具基于微软的大模型训练工具DeepSpeed,使用它可以非常简单高效地训练自己的ChatGPT。该工具具有以下特点:
推荐设置:Linux操作系统,GPU 24G以上显存,CUDA版本11.7
$ export CUDA_HOME=/usr/local/cuda-11.7
$ export PATH=$CUDA_HOME/bin:$PATH
export $ LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
$ conda create -n Test01 python=3.10 anaconda
$ conda activate Test01
# 将conda环境加入PATH和LD_LIBRARY_PATH中,从而可以优先利用conda安装的程序
$ export LD_LIBRARY_PATH=~/anaconda3/envs/Test01/lib/:$LD_LIBRARY_PATH
$ export PATH=~/anaconda3/envs/Test01/bin:$PATH
$ conda install git
$ git clone <https://github.com/microsoft/DeepSpeedExamples.git>
$ cd DeepSpeedExamples/applications/DeepSpeed-Chat/
# 安装依赖
$ pip install -r requirements.txt
$ 重新安装 pytorch(GPU版)
$ conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
python
>>> import torch
>>> torch.cuda.is_available()
True
>>> torch.cuda.device_count()
1
>>> torch.cuda.current_device()
0
>>> torch.cuda.device(0)
<torch.cuda.device at 0x7efce0b03be0>
>>> torch.cuda.get_device_name(0)
'GeForce GTX 950M'
ChatGPT 的训练过程共分为四个步骤:
a) 训练预训练模型,如 GPT-3.5 或 GPT-4; b) 监督微调(SFT:supervised finetuning)(对应 DS-Chat 中的 Step1); c) 奖励模型微调(RM:Reward model finetuning)(对应 DS-Chat 中的 Step2); d) 基于人类反馈的强化学习(RLHF:Reinforcement learning with human feedback)(对应 DS-Chat 中的 Step3)。