更新时间:2025-07-29 GMT+08:00
分享

部署准备

步骤一:检查环境

  1. SSH登录机器后,检查NPU设备状态。运行如下命令,返回NPU设备信息。
    npu-smi info                    # 在每个实例节点上运行此命令可以看到NPU卡状态
    npu-smi info -l | grep Total    # 在每个实例节点上运行此命令可以看到总卡数,用来确认对应卡数已经挂载
    npu-smi info -t board -i 1 | egrep -i "software|firmware"   #查看驱动和固件版本

    如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装固件和驱动,或释放被挂载的NPU。

    驱动版本要求看部署依赖包版本说明。如果不符合要求请参考安装固件和驱动章节升级驱动。

  2. 检查docker是否安装。
    docker -v   #检查docker是否安装

    如尚未安装,运行以下命令安装docker。

    yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64
  3. 配置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

步骤二:上传模型权重文件、启动vllm相关脚本、代码包

  1. 上传安装依赖软件推理代码AscendCloud-LLM-xxx.zip和算子包AscendCloud-OPP-xxx.zip到主机中,包获取路径请参见表1
  2. 将权重文件上传至算力节点,以Qwen3-8B权重为例,建议采用以下目录结构:

    模型

    目录结构

    Qwen3-8B

    /mnt/deepseek/model/Qwen3-8B

  3. 将以下文件(附录中可获取)上传至算力节点,建议采用以下目录结构:

    样例

    目录结构

    run_vllm_single_node.sh

    run_vllm_multi_node.sh

    vllm_single_node.yaml

    vllm_multi_node.yaml

    /mnt/deepseek/scripts/

    ├──run_vllm_single_node.sh

    ├──run_vllm_multi_node.sh

    ├──vllm_single_node.yaml

    ├──vllm_multi_node.yaml

    执行如下命令给予脚本执行权限。
    cd /mnt/deepseek/scripts
    chmod 750 *.sh

    需要保证每个节点的相关目录均存在,且内容一致。在使用SFS Turbo存储时,需要每个节点使用相同的配置挂载;使用EVS存储或算力节点本地存储时,需要每个节点单独上传文件。

步骤三:制作推理镜像

解压AscendCloud压缩包及该目录下的推理代码AscendCloud-LLM-xxx.zip和算子包AscendCloud-OPP-xxx.zip,并执行docker命令制作推理镜像。安装过程需要连接互联网git clone,请确保机器环境可以访问公网。

unzip AscendCloud-*.zip -d ./AscendCloud && cd ./AscendCloud && unzip AscendCloud-OPP-*.zip && unzip AscendCloud-OPP-*-torch-*-py*.zip -d ./AscendCloud-OPP && cd .. && unzip ./AscendCloud/AscendCloud-LLM-*.zip -d ./AscendCloud/AscendCloud-LLM && cp AscendCloud/AscendCloud-LLM/llm_inference/ascend_vllm/Dockerfile ./ && docker build -t ${image_name} --build-arg BASE_IMAGE=${base_image} .

参数说明:

  • ${base_image}为表2基础镜像地址。
  • ${image_name}为推理镜像名称,可自行指定。

运行完后,会生成推理所需镜像。

Cluster提供两种部署推理服务的方式:基于K8s Deployment、基于Kubeinfer,这两种方式都属于在线推理。

相关文档