部署云端Serving服务
总览
云端Serving 为「天枢平台」提供了 OneFlow,TensorFlow,Pytorch 三种框架下模型部署后的推理功能,需要与平台前端、后端搭配使用。其中共包含有两个服务:
- 在线服务:用户可基于该模块部署模型,然后使用在线推理服务,得到 top5 推理结果。
- 批量服务:该服务需要用户先上传大量图片,然后部署模型进行推理得出对应图片的 json 结果文件。
部署方式
提供三种部署方式供选择:
基于服务器部署
基于docker部署
基于kubernetes部署
基于服务器部署
note
部署指南:
- 环境准备
拉取 Dubhe git 仓库最新源码至 root 目录
启动 http 在线服务
通过访问 ip:5000/docs 进入 swagger 页面,调用 ip:5000/inference 进行图片上传得道推理结果。
- 启动 grpc 在线服务
再启动 grpc_client.py 进行上传图片推理得道结果,或者根据 ip 端口自行编写 grpc 客户端。
注:如需域名使用需要生成 TLS 证书
- 多模型部署
支持多模型部署,可以自行配置 config 文件夹下的 model_config_file.json 进行多模型配置,启动 http 或 grpc 时输入不同的模型名称即可,或者自行修改 inference 接口入参来达到启动单一服务多模型推理的功能。
- 启动批量服务
- 批量服务支持分布式
需要开启 enable_distributed=True ,需要设置服务器环境变量 NODE_IPS="ip,ip,ip" ,可自行配置。
基于docker部署
note
部署指南:
- 环境准备
在 docker 环境下,可直接使用下面的脚本另存为 DockerFile 文件,然后执行生成镜像即可
- 启动服务
基本与服务器上启动一致,需要把模型与 serving 代码挂载到容器内并开启端口去运行。
启动容器后进入容器运行对应的服务即可,如:
基于kubernetes部署
note
部署指南:
- 环境准备
在 docker 环境下,使用上述 DockerFile 文件生成镜像并推送到 harbor 中,在NFS下拉取 dubhe_serving 代码,放在 serving 目录下。把镜像地址及 serving 代码路径配置到天枢后台代码的配置文件中,后续将由天枢后端服务调用 k8s 启动该服务。如:
- 启动服务
在天枢平台云端serving 模块中进行在线服务和批量服务创建即可。