推理部署

AI模型开发完成后,在ModelArts服务中可以将AI模型创建为AI应用,将AI应用快速部署为推理服务,您可以通过调用API的方式把AI推理能力集成到自己的IT平台。

1、开发模型:模型开发可以在ModelArts服务中进行,也可以在您的本地开发环境进行,本地开发的模型需要上传到华为云OBS服务。制作模型包可参见模型包规范介绍

2、创建AI应用:把模型文件和推理文件导入到ModelArts的模型仓库中,进行版本化管理,并构建为可运行的AI应用。

3、部署服务:把AI应用在资源池中部署为容器实例,注册外部可访问的推理API。

4、推理:在您的应用中增加对推理API的调用,在业务流程中集成AI推理能力。


创建AI应用

创建AI应用的几种场景

ModelArts AI应用支持如下几种场景的导入方式:

  • 从训练中选择:在ModelArts中创建训练作业,并完成模型训练,在得到满意的模型后,可以将训练后得到的模型创建为AI应用,用于部署服务。获取数据的问题。
  • 从OBS中选择:如果您使用常用框架在本地完成模型开发和训练,可以将本地的模型按照模型包规范上传至OBS桶中,从OBS将模型导入至ModelArts中,创建为AI应用,直接用于部署服务。
  • 从容器镜像中选择:针对ModelArts目前不支持的AI引擎,可以通过自定义镜像的方式将编写的模型镜像导入ModelArts,创建为AI应用,用于部署服务。
  • 从模板中选择:相同功能的模型配置信息重复率高,将相同功能的配置整合成一个通用的模板,通过使用该模板,可以方便快捷的导入模型,创建为AI应用,而不用编写config.json配置文件。

四种来源的区别

从训练中选择元模型

如果您在ModelArts中创建训练作业,并完成模型训练。在得到满意的模型后,可以将训练后得到的模型创建为AI应用,用于部署上线。

从OBS中选择元模型

如果您使用常用引擎在本地完成模型开发和训练,可以将您的模型上传至OBS中,直接用于部署上线。ModelArts预置镜像支持的AI引擎及其Runtime请参见推理支持的AI引擎

从容器镜像中选择

针对ModelArts目前不支持的AI引擎,可以通过模型镜像的方式将本地的模型导入ModelArts。通过配置健康检查,支持在线服务进行无损滚动升级。

从模板中选择元模型

因为相同功能的模型配置信息重复率高,ModelArts提供模型模板方便您快捷地导入模型,创建AI应用,而不用编写配置文件。

您需要根据模型格式、模型AI引擎、模型运行环境选择对应的模板。ModelArts支持的模板详情请参见模板介绍

部署服务

部署类型

在完成AI应用的创建后,可在“部署上线”页面对AI应用进行部署。ModelArts当前支持如下几种部署类型:

  • 在线服务:将AI应用部署为一个Web Service,并且提供在线预测与监控功能。
  • 批量服务:批量服务可对批量数据进行推理,完成数据处理后自动停止。
  • 边缘服务:通过智能边缘平台,在边缘节点将AI应用部署为一个Web Service。

部署为在线服务

AI应用准备完成后,您可以将AI应用部署为在线服务,对在线服务进行预测和调用。ModelArts支持可以把服务部署到公共资源池或者专属资源池,专属资源池不与其他用户共享,更加高效。

部署为批量服务

AI应用准备完成后,您可以将AI应用部署为批量服务。选择您上传数据的OBS目录,ModelArts批量服务输入数据支持图片和csv格式文件,单张图片建议小于10MB,输入数据格式为csv时,建议文件大小不超过12MB。

部署为边缘服务

AI应用准备完成后,您可以将AI应用部署为边缘服务。边缘服务依赖智能边缘平台(IEF),部署前需要有IEF的委托权限。ModelArts当前支持节点、节点组部署边缘服务。

推理

服务预测

AI应用部署为在线服务成功后,您可以在“预测”页签进行代码调试或添加文件测试。根据AI应用定义的输入请求不同(JSON文本或文件),ModelArts测试服务包括如下两种方式:

  • JSON文本预测:如当前部署服务的AI应用,其输入类型指定的为JSON文本类,即不含有文件类型的输入,可以在“预测”页签输入JSON代码进行服务预测。
  • 文件预测:如当前部署服务的AI应用,其输入类型指定为文件类,可包含图片、音频或视频等场景,可以在“预测”页签添加图片进行服务预测。

JSON文本预测

ModelArts支持文本预测,如果您的输入类型为文本,请注意测试服务文本应小于12MB。

图片预测

ModelArts支持图片预测,如果您的输入类型为图片,请注意测试服务单张图片输入应小于8MB。图片支持以下类型:“png”、“psd”、“jpg”、“jpeg”、“bmp”、“gif”、“webp”、“psd”、“svg”、“tiff”。


推理部署常见问题

推理部署常见问题

  • 创建AI应用失败,如何定位和处理问题?

    ModelArts创建AI应用失败有两种场景:创建AI应用时直接报错或者是调用API报错和创建AI应用任务下发成功,但最终AI应用创建失败。

    1、创建AI应用时直接报错或者是调用API报错。一般都是输入参数不合法导致的。您可以根据提示信息进行排查修改即可。

    2、创建AI应用任务下发成功,但最终AI应用创建失败。需要从以下几个方面进行排查:

    •在AI应用详情页面,查看“事件”页签中的事件信息。根据事件信息分析AI应用失败原因,进行处理。

    •如果AI用状态为“构建失败”,可以在AI应用详情页面,查看“事件”页签中的“查看构建日志”。构建日志中有对应的构建镜像失败的详细原因,根据构建失败的原因进行排查处理。

    查看FAQ详情。


  • 服务启动失败

    ModelArts服务启动失败的原因比较多样,可能有如下几种情况:

    •AI应用本身问题,无法启动

    •镜像中配置的端口错误

    •健康检查配置有问题

    •模型推理代码customize_service.py编写有问题

    查看FAQ详情。


  • 服务预测失败

    ModelArts服务预测需要经过客户端、外部网络、APIG、Dispatch、模型服务多个环节。每个环节出现都会导致服务预测失败。

    图1 推理服务流程图

    •出现APIG.XXXX类型的报错,表示请求在APIG(API网关)出现问题而被拦截。

    •出现Modelart.XXXX类型的报错,表示请求在Dispatcher出现问题而被拦截。

    •当使用推理的镜像并且出现MR.XXXX类型的错误时,表示已进入模型服务,一般是模型推理代码编写有问题。请根据构建日志报错信息,定位服务预测失败原因,修改模型推理代码后,重新导入模型进行预测。

    •出现其他情况,优先检查客户端和外部网络是否有问题。

    查看FAQ详情。