昇腾社区首页
中文
注册

部署推理服务前准备

在使用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镜像章节准备好MindIE镜像,并使用以下命令更改名称为mindie:server。
    docker tag mindie:{TAG} mindie:server

脚本示例

分布式多机场景非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-8行为运行所需环境变量
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
unset http_proxy
unset https_proxy
cd /home/{用户名称}/Ascend/mindie/latest/mindie-service             #9-10行为运行启动命令
./bin/mindieservice_daemon
  • 用户需确保容器内有网络可访问程序的HTTP端口。
  • {用户名称}为《MindIE安装指南》的“容器化部署和镜像制作 > 制作MindIE镜像章节中非root用户镜像制作中的用户名称。