实战:手把手教你colossal-AI复现Chatgpt的流程

        相信很多人都看了使用colossal-AI复现Chatgpt的流程的文章,但实际上看过了,不免有人发出“说得贼明白,就是自己做不出来”的感叹吧。本人公开一下实战过程,给有兴趣复现chatgpt流程的朋友一个参考。

一、环境搭建:

1.腾讯云购买P40 GPU服务器(T4 GPU 16G跑不动哦,OOM),该服务器是24G GPU,软件环境是:ubutun18.04+torch1.9

2.使用git clone下载colossalAI的源代码,使用了https://ghproxy.com进行了加速。

git clone https://ghproxy.com/https://github.com/hpcaitech/ColossalAI

 3.搭建nvidia docker运行环境。

4. 使用nvidia的镜像(如:nvcr.io/nvidia/pytorch:22.05-py3),注意:hpcaitech/colossalai:0.2.5的镜像无法使用--gpus参数。

sudo docker pull nvcr.io/nvidia/pytorch:22.05-py3

5. 进入ColosaalAI,创建gpt容器

sudo docker run --name gpt --gpus=all --ipc=host --rm -it -v $PWD:/gpt -p 6006 -p 8888 --ulimit memlock=-1 -v /etc/localtime:/etc/localtime:ro -d nvcr.io/nvidia/pytorch:22.05-py3

6.进入gpt容器

sudo docker exec -it gpt /bin/bash

7. 在容器的/gpt/applications/ChatGPT下,安装chatgpt及依赖,使用豆瓣加速源。

pip install . -i https://pypi.douban.com/simple

二、开始训练prompt data

1.进入example目录,下载prompts.csv,可以开始运行prompts的训练了。

python train_prompts.py prompts.csv --strategy naive

2.训练完成后,生成了两个模型文件,GPU占用大概9个G左右。

 三、开始训练reward model

1.在宿主服务中(非docker环境)安装git-lfs,用于管理模型中的大文件。

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install

2.进入到宿主服务器的ColossalAI\applications\ChatGPT\examples目录,下载bloom-560m.

git clone https://huggingface.co/bigscience/bloom-560m

这个时间比较长,要下载3个多G的模型文件,耐心等待。

3. 在gpt容器中训练reward model

python train_reward_model.py --pretrain bloom-560m

四、运行benckmark

 请参考ReadMe.md进行。

五、说明

        其中带dummy后缀是随机生成的prompts,含prompts的则是使用了prompts.csv,微调训练使用的是gpt2模型,reward model训练使用的是bloom模型,benckmark使用的是opt模型,目前并没有完整的串联起来,可以根据自己的理解去实现一下。即先通过prompt方法使用大模型(如:gpt2/bloom/opt)去微调出一个actor model,然后使用带人类反馈的标注数据去训练一个reward model,再使用reward model去训练actor model,得到符合人类反馈评价的model。

猜你喜欢

转载自blog.csdn.net/wxl781227/article/details/129179414