获得训练好的模型后,您可以使用EAS的命令行方式快速将其部署为模型在线服务。本文为您介绍如何使用EASCMD或DSW方式部署服务。
背景信息
EAS支持以下两种命令行部署方式。
通过客户端工具EASCMD,您可以在自己的服务器上对模型服务进行管理,包括创建、查看、删除及更新服务。
由于DSW已预置EASCMD客户端,因此使用DSW训练的模型可以直接部署为在线服务。
前提条件
在开始执行操作前,请确认您已完成以下准备工作。
已获得训练好的模型。
已获取阿里云账户的AccessKey ID和AccessKey Secret,详情请参见创建AccessKey。
通过DSW部署服务时,您需要创建DSW实例,详情请参见创建DSW实例。
本地客户端(EASCMD)部署
通过客户端工具EASCMD,您可以在自己服务器上对模型服务进行管理,包括创建、查看、删除及更新服务。创建服务时支持配置多规格实例,详情请参见高级配置:多规格实例选择。以Windows64版本为例,说明如何使用EASCMD客户端部署服务,具体操作步骤如下。
下载EASCMD客户端并进行身份认证,详情请参见下载并认证客户端。
部署服务。
准备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:当使用公共资源组部署服务时,需要通过该参数来指定实例使用的机型。
在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部署
DSW是PAI针对深度学习推出的交互式云端开发环境,提供高性能GPU卡和开放的交互式编程环境。因为DSW已预置EASCMD客户端工具,所以DSW训练完成的模型可以直接部署至EAS,具体操作步骤如下。
进入DSW开发环境。
登录PAI控制台。
在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
在页面左上方,选择使用服务的地域。
在左侧导航栏,选择 。
可选:在交互式建模(DSW)页面的搜索框,输入实例名称或关键字,搜索实例。
单击需要打开的实例操作列下的打开。
您可以使用DSW预置的客户端工具,也可以下载最新的EASCMD客户端(Linux 64版本),并上传到Notebook的任意目录。
在DSW开发环境的顶部菜单栏,单击Terminal页签,即可打开Terminal。
在Terminal中,进入客户端工具上传后的当前目录。将客户端工具修改为可执行文件,并使用阿里云账号的AccessKey进行身份认证,详情请参见下载并认证客户端。
构造JSON文件,并上传到Notebook中客户端所在的目录。
关于如何构造JSON文件,详情请参见命令使用说明。
关于如何配置JSON文件中的服务部署参数,详情请参见服务模型所有相关参数说明。
关于如何上传JSON文件,详情请参见上传与下载数据文件。
在脚本上传后的当前目录执行如下命令部署服务。
eascmd64 create <service_desc_json>
其中:<service_desc_json>需要替换为实际的JSON文件名称。
等待一段时间即可完成模型部署。
相关文档
服务部署完成后,您可以到模型在线服务(EAS)页面查看模型部署情况,并管理模型服务,详情请参见管理EAS模型在线服务。
EAS在线服务支持多种部署方式,您可以根据不同的使用场景,选择合适的部署方式,详情请参见服务部署概述。
服务部署完成后,您可以通过自动压测工具,对部署的服务进行压测,从而了解EAS服务的使用性能。详情请参见服务自动压测。
如果EAS提供的官方通用Processor无法满足模型部署需求,则可以根据Processor的开发标准自定义Processor,详情请参见服务部署:自定义Processor。