部署推理服务前准备
在使用MindIE MS服务端API或者MindIE MS客户端命令行工具创建一个新的推理服务之前,需要完成以下的集群环境配置:
- MindIE MS部署一个服务时会挂载以下宿主机路径至Pod容器内,主机路径和容器挂载路径一致,并确保每个计算节点都包含以下文件。为了避免挂载软链接带来容器逃逸风险,用户需要保证以下宿主机路径不是软链接:
- /mnt/mindie-service/ms/config/config.json:MindIE Server的config.json配置文件路径,文件权限设置为640,文件属主设置为MindIE镜像容器内用户群组。配置文件详情请参见配置参数说明。
- /mnt/mindie-service/ms/model:模型文件目录,MindIE Server的config.json配置文件中的modelWeightPath参数需要配置为该目录下的权重路径。(例如:/mnt/mindie-service/ms/model/atb_testdata/weights/llama1-65b-safetensors)
如果用户已在其他路径(如:/data)存放模型文件数据,可通过mount --bind /data/ /mnt/mindie-service/ms/model命令创建一个挂载点。重启服务器后会失效,需要重新创建挂载点。该目录权限需要设置为750,目录内文件权限设置为640,属主设置为MindIE镜像容器内用户群组。
- /mnt/mindie-service/ms/writable-data:可写目录,容器内程序可将日志写入该目录下。目录权限需要设置为750,属主设置为MindIE镜像容器内用户群组。
- /mnt/mindie-service/ms/run/run.sh:启动脚本文件路径,需要修改文件权限为容器内用户可执行的权限。启动Pod容器时会调用该脚本启动MindIE推理服务进程,单机样例参考单机场景非root用户镜像启动脚本样例。该文件权限需要设置为550,属主设置为MindIE镜像容器内用户群组。
- 当前服务部署的namespace以mindie为例,用户使用MindIE MS部署服务之前需保证已经通过kubectl创建该命名空间。
- 已在计算节点上参照准备MindIE Server镜像章节准备好MindIE Server镜像,并使用以下命令更改名称为mindie-server:RC3,当前部署的镜像名和镜像版本只能为mindie-server:RC3。
docker tag mindie:{镜像名} mindie-server:RC3
脚本示例
单机场景非root用户镜像启动脚本样例如下所示:
LD_LIBRARY_PATH=/usr/local/python3.10.2/lib:/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver: PATH=/usr/local/python3.10.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin: export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 #3-7行为运行所需环境变量 source /home/{用户名称}/Ascend/ascend-toolkit/set_env.sh source /home/{用户名称}/Ascend/mindie/set_env.sh source /home/{用户名称}/Ascend/nnal/atb/set_env.sh source /home/{用户名称}/Ascend/llm_model/set_env.sh cd /home/{用户名称}/Ascend/mindie/latest/mindie-service #8-9行为运行启动命令/ ./bin/mindieservice_daemon
父主题: 部署MindIE Server