服务部署:EASCMD或DSW

获得训练好的模型后,您可以使用EAS的命令行方式快速将其部署为模型在线服务。本文为您介绍如何使用EASCMDDSW方式部署服务。

背景信息

EAS支持以下两种命令行部署方式。

  • 本地客户端(EASCMD)部署

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

  • DSW部署

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

前提条件

在开始执行操作前,请确认您已完成以下准备工作。

  • 已获得训练好的模型。

  • 已获取阿里云账户的AccessKey IDAccessKey Secret,详情请参见创建AccessKey

  • 通过DSW部署服务时,您需要创建DSW实例,详情请参见创建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": {
                "instance_type":"ecs.gn6i-c24g1.6xlarge"
              }
          },*/
          "name": "test_eascmd",
          "processor": "tensorflow_cpu_1.12",
          "model_path": "oss://examplebucket/linshi/pslr/"
      }

      其中:

      • model_path参数值需要替换为实际模型文件在OSS Bucket的路径;该文件中的其他参数说明,详情请参见服务模型所有相关参数说明

      • cloud.computing:当使用公共资源组部署服务时,需要通过该参数来指定实例使用的机型。

    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

      等待一段时间即可完成模型部署,您可以到模型在线服务(EAS)页面查看模型部署情况,详情请参见服务部署:控制台

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

DSW部署

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

  1. 进入DSW开发环境。

    1. 登录PAI控制台

    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。

    3. 在页面左上方,选择使用服务的地域。

    4. 在左侧导航栏,选择模型开发与训练 > 交互式建模(DSW)

    5. 可选:交互式建模(DSW)页面的搜索框,输入实例名称或关键字,搜索实例。

    6. 单击需要打开的实例操作列下的打开

  2. 您可以使用DSW预置的客户端工具,也可以下载最新的EASCMD客户端(Linux 64版本),并上传到Notebook的任意目录。

  3. DSW开发环境的顶部菜单栏,单击Terminal页签,即可打开Terminal

  4. Terminal中,进入客户端工具上传后的当前目录。将客户端工具修改为可执行文件,并使用阿里云账号的AccessKey进行身份认证,详情请参见下载并认证客户端

  5. 构造JSON文件,并上传到Notebook中客户端所在的目录。

  6. 在脚本上传后的当前目录执行如下命令部署服务。

    eascmd64 create <service_desc_json>

    其中:<service_desc_json>需要替换为实际的JSON文件名称。

    等待一段时间即可完成模型部署。

相关文档

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

  • EAS在线服务支持多种部署方式,您可以根据不同的使用场景,选择合适的部署方式,详情请参见服务部署概述

  • 服务部署完成后,您可以通过自动压测工具,对部署的服务进行压测,从而了解EAS服务的使用性能。详情请参见服务自动压测

  • 如果EAS提供的官方通用Processor无法满足模型部署需求,则可以根据Processor的开发标准自定义Processor,详情请参见服务部署:自定义Processor