3.9 KiB
3.9 KiB
模型部署
模型部署是指将大模型运行在专属的计算资源上,使模型在独立的运行环境中高效、可靠地运行,并为业务应用提供推理服务。
概述
openMind Library提供了模型部署的方法,支持用户快速方便地在本地部署推理服务。当前支持的推理引擎包括:
- MindIE
- LMDeploy
openMind Library提供命令行接口(command-line interface, CLI),支持用户在shell环境下交互式实现部署流程。
openMind Library命令行接口内置于openMind Library中,安装openMind Library即可使用,详细步骤参考openMind Library安装指南。
使用方法和参数配置
openmind-cli deploy model_name_or_path [--backend {mindie, lmdeploy}] [--port server_port] [--world_size world_size] [--npu_device_ids npu_device_ids]
或者
openmind-cli deploy stop
- model_name_or_path(
str
,必选,默认为None
):部署模型路径,支持魔乐社区模型ID或模型权重本地路径。当backend为mindie时,本地的模型来源必须为下载清单中的模型的本地路径。 - --backend (
str
,可选,默认为mindie
):推理引擎,可以选择mindie
或者lmdeploy
。 - --port(
int
,可选,默认为1025
):部署端口。 - --world_size(
int
,可选,默认为4
):部署使用的npu卡的world_size,在backend为mindie
时生效。world_size需要与npu_device_ids中指定的卡数目一致。 - --npu_device_ids(
str
,可选,默认为0,1,2,3
):部署使用的npu卡号,在backend为mindie
时生效。world_size需要与npu_device_ids中指定的卡数目一致。 - 使用
stop
命令可以停止MindIE的部署服务。
MindIE
部署MindIE服务示例
-
从魔乐社区上获取模型
MindIE/llama2_7b
在默认端口1025上进行部署。openmind-cli deploy MindIE/llama2_7b
-
使用本地
llama2_7b
模型在指定端口1025上进行部署,指定0,1号卡。openmind-cli deploy /path/to/your/llama2_7b --backend mindie --port 1025 --world_size 2 --npu_device_ids '0,1'
-
停止MindIE服务
openmind-cli deploy stop
交互示例
部署成功(执行npu-smi info
看到相关进程)后,可以在同服务器上使用curl进行交互。
-
查看模型列表
v1/models
curl http://127.0.0.1:{port}/v1/models
-
对话
v1/chat/completions
curl "http://127.0.0.1:{port}/v1/chat/completions" \ -H "Content-Type: application/json" \ -d '{ "model": "llama2_7b", "messages": [ { "role": "user", "content": "如何养生?" } ], "max_tokens": 128 }'
-
停止MindIE服务
openmind-cli deploy stop
LMDeploy
部署LMDeploy服务示例
-
从魔乐社区上获取模型
AI-Research/Qwen2-7B
在默认端口1025上进行部署。openmind-cli deploy AI-Research/Qwen2-7B --backend lmdeploy
-
使用本地
Qwen2-7B
模型在指定端口1025上进行部署。openmind-cli deploy /path/to/your/Qwen2-7B --backend lmdeploy --port 1025
交互示例
部署成功后,可以在同服务器上使用curl进行交互。
-
查看模型列表
v1/models
curl http://127.0.0.1:1025/v1/models
-
对话
v1/chat/completions
curl http://127.0.0.1:1025/v1/chat/completions \ -H 'Content-Type: application/json' \ -d '{ "model": "AI-Research/Qwen2-7B", "messages": "推荐一个海边度假的地方" }'
openmind-cli deploy
的全量参数可以参考openmind-cli deploy接口。