AI开发平台ModelArts-在推理生产环境中部署推理服务:Step1 准备模型文件和权重文件

时间:2025-02-12 15:14:08

Step1 准备模型文件和权重文件

在OBS桶中,创建文件夹,准备ascend_vllm代码包、模型权重文件、推理启动脚本run_vllm.sh及SSL证书。此处以chatglm3-6b为例。

  • ascend_vllm代码包在Step9 构建推理代码已生成。
  • 模型权重文件获取地址请参见表1
  • 推理启动脚本run_vllm.sh制作请参见•创建推理脚本文件run_vllm.sh
  • SSL证书制作包含cert.pem和key.pem,需自行生成。生成方式请参见•通过openssl创建SSLpem证书
图1 准备模型文件和权重文件
  • 创建推理脚本文件run_vllm.sh
    run_vllm.sh脚本内容如下。
    source /home/ma-user/.bashrcexport ASCEND_RT_VISIBLE_DEVI CES =${ASCEND_RT_VISIBLE_DEVICES}export PYTHONPATH=$PYTHONPATH:/home/mind/model/ascend_vllmcd /home/mind/model/ascend_vllm/python /home/mind/model/ascend_vllm/vllm/entrypoints/api_server.py --model="${model_path}" --ssl-keyfile="/home/mind/model/key.pem" --ssl-certfile="/home/mind/model/cert.pem" --tensor-parallel-size 1 --gpu-memory-utilization 0.95 --max-model-len=4096 --trust-remote-code --dtype="float16"  --host=0.0.0.0 --port=8080

    参数说明:

    • ${ASCEND_RT_VISIBLE_DEVICES}:使用的NPU卡,单卡设为0即可,4卡可设为0,1,2,3。
    • ${model_path}:模型路径,填写为/home/mind/model/权重文件夹名称,如:home/mind/model/chatglm3-6b。
    • --tensor-parallel-size:并行卡数。
    • --hostname:服务部署的IP,使用本机IP 0.0.0.0。
    • --port:服务部署的端口8080。
    • --max-model-len:最大数据输入+输出长度,不能超过模型配置文件config.json里面定义的“max_position_embeddings”和“seq_length”;如果设置过大,会占用过多显存,影响kvcache的空间。不同模型推理支持的max-model-len长度不同,具体差异请参见附录:基于vLLM(v0.3.2)不同模型推理支持的max-model-len长度说明
    • --gpu-memory-utilization:NPU使用的显存比例,复用原vLLM的入参名称,默认为0.9。
    • --trust-remote-code:是否相信远程代码。
    • --dtype:模型推理的数据类型。仅支持FP16和BF16数据类型推理。float16表示FP16,bfloat16表示BF16。
    • 其他参数可以根据实际情况进行配置,也可使用openai接口启动服务。
    • 推理启动脚本必须名为run_vllm.sh,不可修改其他名称。
    • hostname和port也必须分别是0.0.0.0和8080不可更改。
support.huaweicloud.com/bestpractice-modelarts/modelarts_10_1970.html