准备镜像
准备大模型推理适用的容器镜像,包括获取镜像地址,了解镜像中包含的各类固件版本,配置Standard物理机环境操作。
镜像版本
本教程中用到基础镜像地址和配套版本关系如下表所示,请提前了解。
镜像用途 |
镜像地址 |
配套版本 |
---|---|---|
基础镜像 |
swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.0.rc2-py_3.9-hce_2.0.2312-aarch64-snt9b-20240606190017-b881580 |
CANN:cann_8.0.rc2 PyTorch:2.1.0 |
Step1 创建ECS
下文中介绍如何在ECS中构建一个推理镜像,请参考ECS文档购买一个Linux弹性云服务器。完成网络配置、高级配置等步骤,可根据默认选择,或进行自定义。创建完成后,单击“远程登录”,后续安装Docker等操作均在该ECS上进行。
注意:CPU架构必须选择鲲鹏计算,镜像推荐选择EulerOS。
Step2 安装Docker
- 检查docker是否安装。
docker -v #检查docker是否安装
如尚未安装,运行以下命令安装docker。
yum install -y docker
- 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。
sysctl -p | grep net.ipv4.ip_forward
如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward
Step3 创建镜像组织
在SWR服务页面创建镜像组织。
Step4 获取推理基础镜像
建议使用官方提供的镜像部署服务。镜像地址{image_url}参考镜像版本。
docker pull {image_url}
Step5 构建ModelArts Standard推理镜像
获取模型软件包和依赖包,并上传到ECS的目录下(可自定义路径),获取地址参考表1。
在ModelArts官方提供的基础镜像上,构建一个用于ModelArts Standard推理部署的镜像。
在模型软件包和依赖包的同层目录下,创建并编辑Dockerfile。
vim Dockerfile
Dockerfile内容如下:
FROM swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.0.rc2-py_3.9-hce_2.0.2312-aarch64-snt9b-20240606190017-b881580 USER ma-user COPY AscendCloud-*.zip /home/ma-user/ RUN unzip -o /home/ma-user/AscendCloud-*.zip RUN unzip -o /home/ma-user/AscendCloud-LLM-*.zip RUN unzip -o /home/ma-user/AscendCloud-OPP-*.zip RUN pip install /home/ma-user/ascend_cloud_ops-1.0.0-py3-none-any.whl RUN pip install /home/ma-user/cann_ops-1.0.0-py3-none-any.whl RUN cd /home/ma-user/llm_inference/ascend_vllm && bash /home/ma-user/llm_inference/ascend_vllm/build.sh ENTRYPOINT sh /home/mind/model/run_vllm.sh
构建镜像。
docker build -t swr.cn-southwest-2.myhuaweicloud.com/<组织名称>/<镜像名称>:<tag> .
参数说明:
- <组织名称>:前面步骤中创建的组织名称。
- <镜像名称>:<tag>:定义镜像名称。示例:llama_ascend_pytorch_2_1:0.5.3
打印如下信息,表示构建镜像成功。
注:若构建镜像时报错pip超时,可在Dockerfile中添加如下命令设置pip源
RUN pip config set global.index-url https://xxx/simple RUN pip config set install.trusted-host xxx
如下图所示:
Step6 在ECS中Docker登录
在SWR中单击右上角的“登录指令”,然后在跳出的登录指定窗口,单击复制临时登录指令。在创建的ECS中粘贴临时登录指令,即可完成登录。
Step7 上传镜像
在ECS服务器中输入登录指令后,使用下列示例命令将Standard镜像上传至SWR。
docker push swr.cn-southwest-2.myhuaweicloud.com/<组织名称>/<镜像名称>:<tag>
参数说明:
- <组织名称>:前面步骤中创建的组织名称。
- <镜像名称>:<tag>:定义镜像名称。示例:llama_ascend_pytorch_2_1:0.5.3
打印如下信息,表示上传镜像成功。