云服务器内容精选

  • Step1 检查环境 SSH登录机器后,检查NPU设备检查。运行如下命令,返回NPU设备信息。 npu-smi info 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装NPU设备和驱动,或释放被挂载的NPU。 检查docker是否安装。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64
  • Step5 启动推理服务 配置推理服务需要的环境变量。 export ATB_LAYER_INTERNAL_TENSOR_REUSE=1 配置需要使用的NPU卡,例如:实际使用的是第1张和第2张卡,此处填写为0,1,以此类推。 export ASCEND_RT_VISIBLE_DEVI CES =0,1 NPU卡编号可以通过命令npu-smi info查询。 配置使用的显存,376T配置56,280T配置26。 export MAX_MEMORY_GB=56 启动推理服务,本服务使用的开源服务框架是TGI,具体命令参考https://huggingface.co/docs/text-generation-inference/main/en/basic_tutorials/launcher。该版本不支持https和身份认证机制。 可以根据官网说明修改参数。推荐参数配置如下。 表1 推理服务启动参数表 参数配置 推荐值 参数说明 --max-input-length 1024 推理时最大输入的tokens数量,默认值为1024,可以根据实际修改。该参数会影响推理性能。 --max-total-tokens 2048 推理时最大输入+最大输出的tokens数量,默认值为2048,可以根据实际修改。该参数会影响推理性能。 --max-batch-prefill-tokens 4096 在prefill阶段,最多会使用多少token,一般为--max-input-length的整数倍。该参数会影响推理性能。 --trust-remote-code 无 是否相信远程代码。 --max-waiting-tokens 1 推理进行时,新到达的请求需要等待多少增量推理后,切换成全量推理。 --max-concurrent-requests 1000 最大同时处理的请求数,超过后拒绝访问。 --waiting-served-ratio 0.2 当等待的请求数量达到增量推理的多少比例后,切换成全量推理。 TGI服务需要safetensor的权重格式,如果权重格式不是safetensor,首次启动时,需要先将权重转换成safetensor格式(自动进行)。首次启动耗时在5~10分钟。 如果权重格式包含safetensor,启动时间在1~3分钟。服务启动后,会打印如下信息。 2024-01-22T03:27:22.252926Z INFO text_generation_router: router/src/main.rs:239: Setting max batch total tokens to 970242024-01-22T03:27:22.252952Z INFO text_generation_router: router/src/main.rs:240: Connected
  • Step3 启动容器镜像 启动容器镜像前请先按照参数说明修改${}中的参数。 docker run -itd \ -p 8085:8085 \ --device=/dev/davinci0 \ --device=/dev/davinci1 \ --device=/dev/davinci2 \ --device=/dev/davinci3 \ --device=/dev/davinci4 \ --device=/dev/davinci5 \ --device=/dev/davinci6 \ --device=/dev/davinci7 \ -v /etc/localtime:/etc/localtime \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ -v /etc/ascend_install.info:/etc/ascend_install.info \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /var/log/npu/:/usr/slog \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ -v ${dir}:${container_dir} \ --name ${container_name} \ ${image_id} \ /bin/bash 参数说明: -e ASCEND_VISIBLE_DEVICES=0-7,挂载机器上的0-7卡。 -p 8085:8085代表需要在宿主机和容器中绑定的端口。示例中,http server使用了8085端口,根据实际需要修改。 -v ${dir}:${container_dir} 代表需要在容器中挂载宿主机的目录。宿主机和容器使用不同大的文件系统,dir为宿主机中权重文件目录,container_dir为要挂载到的容器中的目录。为方便两个地址可以相同。请确保在容器中有weight_dir的权限。可以在宿主机中执行chmod 777 -R ${weight_dir}来放开权限 --name ${container_name} 容器名称,进入容器时会用到 {image_id} 为docker镜像的id,在宿主机上可通过docker images查询得到。