获得训练好的模型后,您可以使用PAI-EAS快速将其部署为RESTful API,实现模型在线服务。针对不同方式获取的训练模型,PAI-EAS支持不同的部署方式,且支持为已部署的服务更新服务版本。本文介绍如何使用多种方式进行服务部署、更新服务版本及管理PAI-EAS模型在线服务。

前提条件

已获得训练好的模型。

背景信息

PAI-EAS支持以下多种部署方式,以满足您部署通过各种方式获取的训练模型的需求:
  • 控制台上传部署

    如果训练好的模型存储在本地、OSS或公网地址,您可以在PAI EAS模型在线服务页面上传该模型,将其部署为在线服务。

  • 本地客户端部署

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

  • PAI-DSW部署

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

对于已经部署的服务,PAI-EAS支持通过以下方式对其增加服务版本:

控制台上传部署

PAI EAS模型在线服务页面,可以直接上传训练完成的模型,并将其部署为在线模型服务。

  1. 进入PAI EAS模型在线服务页面。
    1. 登录PAI控制台
    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
    3. 在工作空间页面的左侧导航栏选择模型部署 > 模型在线服务(EAS),进入EAS-模型在线服务页面。
  2. PAI EAS模型在线服务页面,单击部署服务
  3. 部署服务页面,选择服务类型区域,选择服务类型。
    PAI EAS模型在线服务支持的部署方式包括新建服务、更新服务、新增蓝绿部署,您可以根据使用场景,单击选择一种部署方式,适用场景说明如下:
    • 新建服务:表示新部署一个服务。
    • 新增蓝绿部署:为已有运行中的服务新增一个关联服务,且两个服务完全独立。您可以对两个服务进行流量分配,待关联服务完全运行正常之后,您可以将当前服务的流量完全切换到关联服务,实现当前服务到关联服务的平滑切换。
    • 更新服务:为已有的运行中的服务更新服务版本,您可以通过切换版本功能自由切换线上版本。
      注意 目前暂不支持版本删除功能,请您谨慎增加。
  4. 模型服务信息区域,配置参数。
    参数 描述
    服务名称 服务名称:仅上述步骤中选择了新建服务,才需要自定义服务名称。当选择了其他两种服务类型时仅需要选择已部署的模型服务。
    自定义服务名称规则如下:
    • 只能包含数字、小写字母或下划线(_)。
    • 以字母开头。
    部署方式 支持模型部署镜像部署,您可以选择任意一种部署方式。
    • 模型部署参数配置,详情请参见表 1
    • 镜像部署参数配置,详情请参见表 2
    表 1. 模型部署
    参数 描述
    Processor种类 支持所有的预置官方Processor和自定义Processor,关于预置官方Processor的更多信息,详情请参见预置Processor使用说明
    Processor语言 Processor种类自定义processor时,才需要配置该参数。支持选择cppjavapython
    Processor包 Processor种类自定义processor时,才需要配置该参数。您可以通过以下任何一种方式配置该参数:
    • 本地上传
      1. 单击本地上传
      2. 选择当前地域下的OSS路径。
      3. 单击查看本地文件拖拽上传文件,并根据提示上传已下载的Processor文件。

        系统会将文件上传至当前地域的官方OSS路径,并自动配置Processor包

        说明 通过本地上传的方式,可以使系统在模型部署时,快速加载Processor。
    • OSS文件导入

      单击OSS文件导入,并选择文件所在的OSS路径。

    • 公网下载地址

      单击公网下载地址,并在下方文本框中输入可以公开访问的URL地址。

    Processor主文件 Processor种类自定义processor时,才需要配置该参数。自定义Processor包的主文件。
    模型类别 Processor种类EasyVision(CPU)EasyVision(GPU)EasyNLP TF(CPU)EasyNLP TF(GPU)EasyNLP TORCH时,该参数生效。且上述每个Processor种类对应的模型类别不同,请根据业务使用场景选择。
    模型文件 您可以通过以下任何一种方式配置该参数:
    • 本地上传
      1. 单击本地上传
      2. 选择当前地域下的OSS路径。
      3. 单击查看本地文件拖拽上传文件,并根据提示上传本地模型文件。
    • OSS文件导入

      单击OSS文件导入,并选择模型文件所在的OSS路径。

    • 公网下载地址

      单击公网下载地址,并在下方文本框中输入可以公开访问的URL地址。

    表 2. 镜像部署
    参数 描述
    镜像地址 用于部署模型服务的镜像地址,例如registry.cn-shanghai.aliyuncs.com/xxx/image:tag。
    说明 由于PAI-EAS不开放公网访问权限,因此您需要使用VPC内网Registry地址进行部署。例如,registry-vpc.cn-shanghai.aliyuncs.com。
    运行命令 镜像的启动命令,例如python /run.py。
    端口号 镜像启动后监听的本地HTTP端口。
    注意 由于PAI-EAS引擎监听固定的8080端口,因此端口需要避开8080端口。
    认证信息 如果您使用私有仓库中的镜像,则需要输入镜像仓库用户名镜像仓库密码
  5. 资源部署信息区域,配置参数。
    参数 描述
    资源组种类
    支持选择公共资源组或已购买(创建)的专属资源组部署模型服务。
    说明 建议在任务量相对较少、对任务时效性要求不高的场景下使用公共资源组。
    模型部署占用资源 配置指定机器资源指定机器型号
    说明
    • 单实例内的CPU、GPU及内存需要位于同一台机器上。如果资源不够,则会导致部署失败。
    • 对于高稳定性要求的正式服务,建议使用包含多台机器的资源组,并部署多个服务实例。
    • 指定机器资源

      本页签支持配置以下参数:实例数(建议配置多个服务实例,以避免单点部署带来的风险。)、CPU内存

    • 指定机器型号
      说明资源组种类为已创建的专属资源组时,该页签置灰不允许设置。

      本页签支持配置以下参数:实例数单实例运行的机器资源

  6. 高级配置区域,配置参数。
    参数 描述
    环境变量 配置NameValue
    • Name:镜像执行时的环境变量名称。
    • Value:镜像执行时的环境变量取值。
    模型预热文件地址 模型预热文件的OSS地址。关于如何构造模型预热文件的更多信息,详情请参见模型预热
  7. 对应配置编辑区域,显示服务配置的相关信息。您可以根据需要修改该区域的配置信息。
    对应配置编辑区域
  8. 单击部署

本地客户端部署

通过客户端工具EASCMD,您可以在自己服务器上对模型服务进行管理,包括创建、查看、删除及修改服务。EASCMD客户端的下载及认证方式请参见下载并认证客户端,具体命令的使用方法详情请参见命令使用说明
说明 部署模型时,需要使用AccessKey授权,您可以登录用户信息管理控制台,查看AccessKey。

PAI-DSW部署

PAI-DSW是PAI针对深度学习推出的交互式云端开发环境,提供高性能GPU卡和开放的交互式编程环境。因为PAI-DSW已预置EASCMD客户端工具,所以PAI-DSW训练完成的模型可以直接部署至PAI-EAS,详细的命令使用方式请参见命令使用说明
说明 部署模型时,需要使用AccessKey授权,您可以登录用户信息管理控制台,查看AccessKey。

管理PAI-EAS模型在线服务

  • 更新已有服务版本
    1. PAI EAS 模型在线服务页面,单击目标服务操作列下的更新服务
    2. 部署服务页面,配置参数,具体配置方法请参见控制台上传部署
    3. 单击部署
    4. 部署完成后,从PAI EAS模型在线服务页面的当前版本列下的列表,选择需要切换的模型版本。切换模型版本
  • 在线调试PAI-EAS模型在线服务
    模型部署完成后,您可以在线调试服务。
    1. PAI EAS 模型在线服务页面,单击目标服务操作列下的在线调试
    2. 在调试页面的在线调试请求参数区域,配置参数。
      参数 描述
      接口地址调用文档链接 系统自动填入,无需手动配置。
      Token 系统自动填入,无需手动配置。
      Request Body 输入数据(特征)。以心脏病预测案例的逻辑回归模型为例,Request Body信息如下。
      [{"sex":0,"cp":0,"fbs":0,"restecg":0,"exang":0,"slop":0,"thal":0,"age":0,"trestbps":0,"chol":0,"thalach":0,"oldpeak":0,"ca":0}]
    3. 单击发送请求,即可在调试信息区域查看预测结果。调试信息
  • 扩缩容
    提高或减少指定模型服务占用的资源,具体操作如下:
    1. PAI EAS 模型在线服务页面,单击目标服务操作列下的扩缩容
    2. 扩缩容对话框,配置参数实例数CPU内存
    3. 单击确定
  • 弹性伸缩
    根据业务需求,自动调整PAI-EAS模型在线服务占用的资源。
    • PAI EAS 模型在线服务页面,单击目标服务操作列下的弹性伸缩
    • 自动弹性扩缩容设置对话框,配置参数:
      参数 描述
      最小实例数 自动弹性扩缩容的下界,支持设置的下限大于0。
      最大实例数 自动弹性扩缩容的上界,支持设置的上限为300。
      自动扩所容指标类型选择 默认值为QPS
      单实例的QPS伸缩阈值 当单实例的平均QPS大于伸缩阈值时,会触发伸缩。
    • 单击开启
  • 删除PAI-EAS模型在线服务
    注意 删除后的服务将无法恢复,请您谨慎操作。
    1. PAI EAS 模型在线服务页面,单击目标服务操作列下的删除
    2. 您确定要这么做吗对话框,单击确认