获得训练好的模型后,您可以使用PAI-EAS的命令行方式快速将其部署为RESTful API,实现模型在线服务。本文为您介绍如何使用EASCMD和DSW方式部署服务。

前提条件

在开始执行操作前,请确认您已完成以下准备工作。
  • 已获得训练好的模型。
  • 已创建DSW实例,具体操作,请参见创建及管理DSW实例
  • 已获取阿里云账户的AccessKey ID和AccessKey Secret,具体操作,请参见创建AccessKey

背景信息

PAI-EAS支持以下两种命令行部署方式:
  • 本地客户端(EASCMD)部署

    通过客户端工具EASCMD,您可以在自己服务器上对模型服务进行管理,包括创建、查看、删除及更新服务。

  • PAI-DSW部署

    由于PAI-DSW已预置EASCMD客户端,因此使用PAI-DSW训练的模型可以直接部署为在线服务。

本地客户端(EASCMD)部署

通过客户端工具EASCMD,您可以在自己服务器上对模型服务进行管理,包括创建、查看、删除及更新服务。创建服务时支持配置多规格实例,具体操作,请参见高级配置:多规格实例选择。以Windows64版本为例,说明如何使用EASCMD客户端部署服务,具体操作步骤如下。

  1. 下载EASCMD客户端并进行身份认证,详情请参见下载并认证客户端
  2. 部署服务。
    1. 准备JSON文件test.json,文件示例如下。
      {
          "metadata": {
              //resource字段表示使用专属资源组部署服务。
              "resource": "eas-r-9lkbl2jvdm0puv****",
              "instance": 1,
              "gpu": 0,
              "cpu": 1,
              "memory": 2000
          },
          //当使用公共资源组部署服务时,支持通过cloud.computing配置指定机器型号。
          /*"cloud": {
              "computing": {}
          },*/
          "name": "test_eascmd",
          "processor": "tensorflow_cpu_1.12",
          "model_path": "oss://cri-ldbuutu1acd51ryd-registry/linshi/pslr/"
      }
      其中:model_path参数值需要替换为实际模型文件在OSS Bucket的路径;该文件中的其他参数说明,详情请参见服务模型所有相关参数说明
    2. 在JSON文件所在目录,执行以下命令部署服务。
      eascmdwin64.exe create <test.json>
      其中:<test.json>需要替换为实际的JSON文件名称。
      系统返回如下类似结果。
      [RequestId]: 1651567F-8F8D-4A2B-933D-F8D3E2DD****
      +-------------------+----------------------------------------------------------------------------+
      | Intranet Endpoint | http://166233998075****.cn-shanghai.pai-eas.aliyuncs.com/api/predict/test_eascmd |
      |             Token | YjhjOWQ2ZjNkYzdiYjEzMDZjOGEyNGY5MDIxMzczZWUzNGEyMzhi****                   |
      +-------------------+--------------------------------------------------------------------------+
      [OK] Creating api gateway
      [OK] Building image [registry-vpc.cn-shanghai.aliyuncs.com/eas/test_eascmd_cn-shanghai:v0.0.1-20221122114614]
      [OK] Pushing image [registry-vpc.cn-shanghai.aliyuncs.com/eas/test_eascmd_cn-shanghai:v0.0.1-20221122114614]
      [OK] Waiting [Total: 1, Pending: 1, Running: 0]
      [OK] Waiting [Total: 1, Pending: 1, Running: 0]
      [OK] Service is running
      等待一段时间即可完成模型部署,您可以到PAI EAS模型在线服务页面查看模型部署情况,详情请参见服务部署:控制台&Designer

后续您也可以使用EASCMD客户端命令来管理模型服务,详情请参见命令使用说明

PAI-DSW部署

PAI-DSW是PAI针对深度学习推出的交互式云端开发环境,提供高性能GPU卡和开放的交互式编程环境。因为PAI-DSW已预置EASCMD客户端工具,所以PAI-DSW训练完成的模型可以直接部署至PAI-EAS,具体操作步骤如下。

  1. 进入PAI-DSW开发环境。
    1. 登录PAI控制台
    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
    3. 在左侧导航栏,选择模型开发和训练 > 交互式建模(DSW)
    4. 在页面左上方,选择使用服务的地域。
    5. 可选:交互式建模(DSW)页面的搜索框,输入实例名称或关键字,搜索实例。
    6. 单击需要打开的实例操作列下的打开
  2. 您可以使用DSW预置的客户端工具,也可以下载最新的EASCMD客户端(Linux 64版本),并上传到JupyterLab页面的任意目录。
    关于如何下载客户端,详情请参见下载并认证客户端;关于如何上传文件,详情请参见上传下载数据文件
  3. 在PAI-DSW开发环境,单击Other区域下的Terminal,即可打开Terminal。
  4. Terminal中,进入客户端工具上传后的当前目录。将客户端工具修改为可执行文件,并使用阿里云账号的AccessKey进行身份认证,详情请参见下载并认证客户端
  5. 构造JSON文件,并上传到JupyterLab页面客户端所在目录。
  6. 在脚本上传后的当前目录执行如下命令部署服务。
    ./eascmd64 create <service_desc_json>
    其中:<service_desc_json>需要替换为实际的JSON文件名称。
    等待一段时间即可完成模型部署。

后续步骤

服务部署完成后,您可以到PAI EAS模型在线服务页面查看模型部署情况,并管理模型服务,详情请参见管理PAI-EAS模型在线服务