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

前提条件

已获得训练好的模型。

背景信息

PAI-EAS支持以下两种界面部署方式:
  • 控制台上传部署

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

  • PAI-Designer一键部署
    如果您使用PAI-Designer训练模型,可以在实验画布的上方选择模型部署 > 模型在线服务EAS,将训练完成的模型一键部署为在线服务。
    说明 使用PAI-Designer训练获得的模型也支持使用命令行方式部署为在线服务,例如:使用EASCMD或DSW进行部署,详情请参见服务部署:EASCMD&DSW

对于已部署的服务,PAI-EAS支持通过控制台方式更新服务版本,详情请参见管理PAI-EAS模型在线服务

控制台上传部署

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

  1. 进入PAI EAS模型在线服务页面。
    1. 登录PAI控制台
    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
    3. 在工作空间页面的左侧导航栏选择模型部署 > 模型在线服务(EAS),进入EAS-模型在线服务页面。
  2. PAI EAS模型在线服务页面的服务列表页签,单击部署服务
  3. 部署服务页面,选择服务类型区域,选择服务类型。
    支持以下服务类型,您可以根据使用场景,选择一种类型。
    服务类型 描述
    新建服务 表示新部署一个服务。
    更新服务 为已有的运行中的服务更新服务版本,您可以通过切换版本功能自由切换线上版本。
    重要 目前暂不支持版本删除功能,请您谨慎增加。
    分组服务 表示新创建的服务归属于一个分组服务。如果没有分组服务,您可以新建一个分组服务,详情请参见服务分组与发布

    分组服务拥有统一的流量入口,您可以根据不同的使用场景分配子服务承载的流量。

    新增蓝绿部署 为已有运行中的服务新增一个关联服务,且两个服务完全独立。您可以对两个服务进行流量分配,待关联服务完全运行正常之后,您可以将当前服务的流量完全切换到关联服务,实现当前服务到关联服务的平滑切换。
  4. 模型服务信息区域,配置参数。
    参数 描述
    服务名称 仅上述步骤中选择了新建服务分组服务,才需要自定义服务名称。当选择了其他两种服务类型时仅需要选择已部署的模型服务。
    所属群组 仅上述步骤中选择了分组服务,才需要配置该参数。
    • 新建分组:创建服务时,新建服务群组。
    • 加入分组:创建服务时,选择已创建的服务群组,服务创建成功后,加入该服务群组中。
    部署方式 支持模型部署镜像部署,您可以选择任意一种部署方式。
    表 1. 模型部署
    参数 描述
    模型文件 您可以通过以下任何一种方式配置该参数:
    • OSS文件导入

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

    • 本地上传
      1. 单击本地上传
      2. 选择当前地域下的OSS路径。
      3. 单击查看本地文件拖拽上传文件,并根据提示上传本地模型文件。
    • 公网下载地址

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

    • 模型选择

      根据模型名称模型版本选择已注册的模型。关于如何查看已注册的模型,详情请参见注册及管理模型

    Processor种类 支持所有的预置官方Processor和自定义Processor,关于预置官方Processor的更多信息,详情请参见预置Processor使用说明
    当选择自定义processor时,支持配置以下参数。
    • Processor语言:支持选择cppjavapython
    • Processor包:您可以通过以下任何一种方式配置该参数:
      • 本地上传
        1. 单击本地上传
        2. 选择当前地域下的OSS路径。
        3. 单击查看本地文件拖拽上传文件,并根据提示上传已下载的Processor文件。

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

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

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

      • 公网下载地址

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

    • Processor主文件:自定义Processor包的主文件。

    当选择EasyVision(CPU)EasyVision(GPU)EasyNLP TF(CPU)EasyNLP TF(GPU)EasyNLP TORCH时,支持配置模型类型。上述每个Processor种类对应的模型类别不同,请根据业务使用场景选择。

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

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

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

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

  6. 高级配置区域,配置参数。
    参数 描述
    环境变量 配置NameValue
    • Name:镜像执行时的环境变量名称。
    • Value:镜像执行时的环境变量取值。
    模型预热文件地址 输入模型预热请求文件的OSS地址。关于如何构造模型预热请求文件,详情请参见模型预热
    推理优化(Blade) 打开推理优化(Blade)开关,可以对待部署的模型进行推理优化,从而使部署的模型服务达到最优的推理性能。关于推理优化(Blade)的更多内容,详情请参见概述
    高速直连 资源组种类选择公共资源组时,支持配置该参数。

    打开高速直连开关,在下方区域选择VPC安全组名称交换机。通过弹性网卡ENI(Elastic Network Interface)将部署在公共资源组的EAS服务与您在当前地域的专有网络连通。

    储存挂载 资源组种类选择专属资源组时,支持配置该参数。

    打开储存挂载开关,支持从OSS或NAS中读取服务部署过程依赖的数据,详情请参见服务存储挂载

    支持配置以下几种挂载方式:
    • OSS挂载
      您需要配置以下参数:
      • 本地目标路径:挂载服务实例中的目标路径,用来读取OSS路径中的文件。
      • OSS路径:配置OSS源地址路径,即选择OSS Bucket路径。
    • NAS挂载
      您需要配置以下参数:
      • 本地目标路径:挂载服务实例中的目标路径,用来读取NAS路径中的文件。
      • NAS源路径:需要挂载的NAS中的源路径。
      • 是否只读:是否以只读的方式进行挂载。
      • NAS挂载点:配置NAS挂载点地址,EAS服务通过挂载点来访问NAS文件系统。
  7. 对应配置编辑区域,显示服务配置的相关信息。您可以根据需要补充一些在界面不支持配置的配置项,详情请参见创建服务
    对应配置编辑区域
  8. 单击部署,等待一段时间即可完成模型部署。

PAI-Designer一键部署

PAI-Designer是PAI经典的可视化建模平台,训练完成的模型可以一键部署到PAI-EAS在线服务页面。

支持一键部署到PAI-EAS的算法

PAI-Designer中可以一键部署至PAI-EAS的算法包括GBDT二分类、线性支持向量机、逻辑回归二分类、逻辑回归多分类、随机森林、KMeans、线性回归、GBDT回归(因为GBDT回归算法不支持INT类型数据输入,所以部署前请确保GBDT算法的输入为DOUBLE类型)及TensorFlow等。

部署方法

  1. 登录PAI控制台,并进入Designer中已创建的工作流页面。
    以创建心脏病预测案例为例,创建及进入工作流页面的操作详情请参见心脏病预测
  2. 工作流运行成功后,单击画布上方的模型部署 > 模型在线服务EAS
  3. 模型部署对话框,选择要部署的模型,并单击部署
    部署
  4. 部署服务页面,模型文件Processor种类默认已配置完成,其他参数可根据实际需要参考界面提示修改配置。
    部署
  5. 单击部署,等待一段时间即可完成模型部署。

管理PAI-EAS模型在线服务

您可以在PAI EAS模型在线服务页面的服务列表页签,查看已部署的服务列表,并对目标服务进行停止、启动、删除等操作。管理服务
  • 查看服务详情
    单击目标服务名称,进入服务详情页面。您可以在基本信息区域,查看该服务的所属群组及归属该群组的服务信息。群组
    您也可以在该页面切换左侧功能页签,查看服务监控服务日志实例列表部署事件等内容。功能页签
  • 更新已有服务版本

    单击目标服务操作列下的更新服务,参考控制台上传部署配置方法,来更新服务版本。

    服务更新完成后,按照下图操作指引,查看版本信息或切换服务版本。切换版本
  • 扩缩容

    单击目标服务操作列下的扩缩容,配置指定机器资源指定机器型号等参数,来提高或减少指定模型服务占用的资源。

  • 弹性伸缩

    根据业务需求,自动调整PAI-EAS模型在线服务占用的资源,具体操作,请参见方式一:通过控制台管理水平自动扩缩容功能

  • 切换流量
    参照下图操作指引,为蓝绿部署服务切换流量。切换流量

后续步骤

服务部署成功后,您可以通过在线调试功能,来测试服务运行是否正常,详情请参见服务在线调试