将模型部署为在线服务

模型训练完之后,当您想要在其他应用中访问时,可以使用PAI-EAS将模型部署为在线服务。

PAI-EAS

模型在线服务EAS(Elastic Algorithm Service)是PAI提供的模型在线服务平台,可支持您一键部署模型为在线推理服务或AI-Web应用。它提供了的弹性扩缩容、资源组管理、版本控制、资源监控等功能,可以支撑您以较低的资源成本获取高并发且稳定的在线算法模型服务。更多内容请参见EAS模型服务概述

计费说明

本文示例将使用公共资源创建EAS服务,计费方式为按量付费。当您不需要使用服务时请及时停止或删除服务,以免继续扣费

image

使用EAS部署模型

完整的在DSW开发模型到EAS部署案例您可以参考使用EAS将模型部署为在线服务
  1. 登录PAI控制台,在页面上方选择目标地域,并选择目标工作空间。然后左侧导航栏单击模型在线服务(EAS)> 部署服务 > 自定义部署

  2. 配置如下关键参数配置,其他参数默认即可。完整配置参数请参见控制台自定义部署参数说明

    • 部署方式:选择镜像部署

    • 镜像配置:镜像提供模型运行的环境,可以选择官方镜像、自定义镜像或输入镜像地址。

      如果您是在DSW开发的模型,可以选择镜像地址,然后复制DSW中使用的镜像。

      image

      或者也可以使用DSW的镜像制作功能,将镜像推送至容器服务ACR中供EAS使用。详情见制作DSW实例镜像

    • 直接挂载:您可以将应用的代码文件上传至OSS中并配置挂载地址。

      image

      本文使用如下简单示例进行测试,该代码文件已上传至上图所示的OSS中。

      示例应用代码 web.py

      from bottle import Bottle, run
      
      # 创建一个实例
      app = Bottle()
      
      # 定义一个路由,返回“Hello, World”
      @app.route('/hello', method=['GET', 'POST'])
      def hello():
          # 此处实际使用时替换为如参解析和模型调用
          
          return 'Hello, World!'
      
      # 运行服务器
      if __name__ == '__main__':
          run(app, host='0.0.0.0', port=9000)
      
    • 运行命令:填写启动命令,启动示例代码。

      image

    • 端口号:填写web.py中使用的端口9000

    • 三方库配置:在三方库配置处,您可以添加镜像中缺失的三方库,示例如下:

      image

    • 资源类型:选择公共资源资源规格选择ecs.gn7i-c16g1.4xlarge即可。

    单击部署。当服务状态为运行中时,代表部署成功。

服务调用测试

在模型部署成功后,可以使用EAS在线调试功能测试服务接口。操作如下:

  1. EAS实例列表页,单击实例名称进入实例信息页,然后再单击选择在线调试

  2. 以上文的web.py应用为例,输入请求地址 ,然后单击发送请求,如果返回“hello World!”则请求成功。

  3. 如果您想要使用公网地址调用,或者VPC地址调用,请参见服务调用方式

image

相关文档