MindSpore Serving是一个轻量级、高性能的服务模块,旨在帮助MindSpore开发者在生产环境中高效部署在线推理服务。当用户使用MindSpore完成模型训练 后,导出MindSpore模型,即可使用MindSpore Serving创建该模型的推理服务。
MindSpore Serving架构:
MindSpore Serving分为客户端、服务器两个部分。在客户端中,用户通过gRPC或RESTful接口向服务器下发推理服务命令。服务器包括主(Main
)节点和
一个或多个工作(Worker
)节点,主节点管理所有的工作节点及其部署的模型信息,接受客户端的用户请求,并将请求分发给工作节点。每个工作节点部署了
一个可服务对象,即Servable
,这里的Servable
可以是单个模型,也可以是多个模型的组合,一个Servable
可以围绕相同的模型通过多种方法来提供
不同的服务。
对于服务端,当以MindSpore作为推理后端时,MindSpore Serving当前支持Ascend 910和Nvidia GPU环境。当以MindSpore Lite作为推理后端时,MindSpore Serving当前支持Ascend 310/310P、Nvidia GPU和CPU。客户端不依赖特定硬件平台。
MindSpore Serving提供以下功能:
- 支持客户端gRPC和RESTful接口。
- 支持组装模型的前处理和后处理。
- 支持batch功能,多实例请求会被拆分组合以满足模型
batch size
的需要。 - 提供客户端Python简易接口。
- 支持多模型组合,多模型组合和单模型场景使用相同的一套接口。
- 支持分布式模型推理功能。
MindSpore Serving安装和配置可以参考MindSpore Serving安装页面。
以一个简单的Add网络示例,演示MindSpore Serving如何使用。
- 基于gRPC接口访问MindSpore Serving服务
- 基于RESTful接口访问MindSpore Serving服务
- 配置模型提供服务
- 配置多模型组合的服务
- 基于MindSpore Serving部署分布式推理服务
有关安装指南、教程和API的更多详细信息,请参阅用户文档。
查看MindSpore如何进行开放治理。
- MindSpore Slack 开发者交流平台。
欢迎参与贡献。
版本说明请参阅RELEASE。