CPM-1-Generate服务器部署

CPM-Generate

项目提供了 CPM-LM (2.6B) 模型的文本生成代码,用于本地测试

详细原理请看论文

github源码链接

1 配置环境

两种安装方式,强烈推荐docker镜像安装,apex安装易出错

1.1 命令行安装

首先安装pytorch等基础依赖,再安装APEX以支持fp16:

pip install -r requirements.txt
git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

1.2 docker镜像安装

考虑apex的安装容易发生问题,我们构建了对应的Docker容器,可以进行快速环境搭建。安装方式如下:

docker pull dmye/cpm:v0

参考运行指令如下:

sudo docker run --gpus '"device=0,1"' -it -v <path>:/CPM  --name=cpm  cpm:v0

其中<path>为代码所在目录,-v进行文件目录挂载

此时环境所需要的package已完全满足

2 模型下载

模型下载后文件夹的目录结构需设置如下:

.
├── 80000
│   ├── mp_rank_00_model_states.pt
│   └── mp_rank_01_model_states.pt
└── latest_checkpointed_iteration.txt

可以采用如下两种方式获取模型文件:

2.1 linux命令行下载

sudo wget https://baai.org/l/QLtmx

2.2 链接下载

model-v2.tar.gz

下载后上传到服务器/CPM目录下即可

3 解压

下载完是一个tar.gz文件,解压到当前目录

sudo tar -xzvf model-v2.tar.gz

解压在./CPM-large文件夹内,接下来把这个目录里的文件复制到CPM根目录

sudo mv ./CPM-large/* ./ 

注意

如果服务器为单卡,还需要将下载的模型重新处理为单卡模型

默认的模型并行参数为2,如果需要修改,可以使用change_mp.py,并调整generate_text.sh中的MPSIZEchange_mp.py的使用示例如下:

python change_mp.py /CPM MPSIZE

这里的/CPM为模型路径,MPSIZE为一个整数,可以为1或者2的倍数,结果会生成一个新的模型,存储路径为/CPM_MPSIZE

本文中采用指令:

python change_mp.py ./CPM-large 1

最后同样需要把这个目录里的文件复制到CPM根目录

sudo mv ./CPM-large_MP1/* ./ 

处理后的目录结构如下图,其中CPM-large为解压后的模型,CPM-large_MP1为处理生成的单卡模型(此时为空),80000和latest_checkpointed_iteration.txt为在CPM-large_MP1中移出的模型文件。

4 运行

提供了命令行交互式生成:

sudo bash scripts/generate_text.sh ./

如不使用交互式输入,可增加第二个参数,告知输入文本的位置

sudo bash scripts/generate_text.sh ./ example.txt

注意

输入运行指令时,需要确保用户为deepspeed,否则会报错

命令行交互界面如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值