跳到主要内容

12.8 baichuan2-7b推理容器环境搭建

1.镜像获取 从昇腾社区的镜像仓库中获取ModelZoo PyTorch框架基础镜像 (地址:AscendHub (huawei.com)),下载23.0RC2.1.11.0 user web-1

登录账号后设置镜像下载凭证:鼠标移至账号位置点击设置镜像下载凭证(用于后续docker login的密码) user web-1

点击镜像后方的立即下载出现下载指导后登录服务器拉去镜像 user web-1

根据以上提示执行后确认镜像是否已获取 docker images | grep modelzoo user web-1

2.启动并进入容器 执行以下命令启动容器 其中请注意: --device=/dev/davinci{num-选择要用的卡号},多卡则多复制一行修改指定卡 --name请根据需求写名称 最后一个-v可以做一个与宿主机传输文件的缓存目录

docker run -itd -u root --ipc=host \
--device=/dev/davinci5 \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/Ascend/add-ons/:/usr/local/Ascend/add-ons/ \
-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
-v /usr/local/sbin/:/usr/local/sbin/ \
-v /var/log/npu/conf/slog/slog.conf:/var/log/npu/conf/slog/slog.conf \
-v /var/log/npu/slog/:/var/log/npu/slog \
-v /var/log/npu/profiling/:/var/log/npu/profiling \
-v /var/log/npu/dump/:/var/log/npu/dump \
-v /var/log/npu/:/usr/slog \
-v /home/temp/:/home/temp \
--name {容器名称} \
ascendhub.huawei.com/public-ascendhub/pytorch-modelzoo:23.0.RC2-1.11.0 \
/bin/bash

启动完成后登录容器

docker exec -it {容器名称或者ID} /bin/bash

3.安装容器内环境 下载并安装toolkit

cd /home/temp
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%207.0.RC1/Ascend-cann-toolkit_7.0.RC1_linux-aarch64.run
chmod +x Ascend-cann-toolkit_7.0.RC1_linux-aarch64.run --install

安装pip依赖

pip3 install --upgrade pip
pip3 install einops sympy regex decorator scipy setuptools-scm prompt-toolkit attrs accelerate sentencepiece transformers==4.28.1

安装deepspeed

pip3 install deepspeed==0.9.2 
git clone https://gitee.com/ascend/DeepSpeed.git
cd DeepSpeed
python setup.py develop

替换transformers库中相关文件,git拉下baichuan源码,(注意!请修改transformers path至transformers安装目录)

git clone https://gitee.com/ascend/ModelZoo-PyTorch.git
cd ModelZoo-PyTorch/PyTorch/built-in/foundation/Baichuan2/7Btransformers_modify
cp -f training_args.py  {transformers path}/transformers/training_args.py
cp -f trainer.py {transformers path}/transformers/trainer.py
cp -f versions.py {transformers path}/utils/versions.py

后续注意项 下载 Baichuan2-7B-Base 的模型权重文件后,用源码包根目录下的Baichuan2-7B/modeling_baichuan.py替换下载下来的模型权重文件夹中的modeling_baichuan.py文件。