部署PAI-Rec引擎服务

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

本文介绍如何基于PAI-Rec平台把引擎服务部署到PAI-EAS平台上。

前提条件

已获取阿里云账号的鉴权AccessKey ID和AccessKey Secret,为避免安全风险,建议您使用RAM账号的AccessKey。详情请参见获取AccessKey

创建引擎配置单

在启动PAI-Rec引擎前,需先创建并成功发布配置单至预发和生产环境。引擎将依据配置单中的设置进行初始化。若后续对配置进行了调整,可直接发布更新后的配置,引擎能够实时读取新配置并实现热更新,无需重启服务。

  1. 登录PAI-Rec管理控制台,在左侧导航栏选择系统配置>引擎配置

  2. 预发环境,单击创建配置单,系统会提供默认设置,可直接创建。

    image

  3. 单击克隆,可从预发环境的配置克隆生成生产环境的配置单。

    image

    image

  4. 生产环境,单击目标配置单右侧的详情,进行发布。

    image

创建服务

  1. 登录PAI-Rec管理控制台,在左侧导航栏选择系统配置>服务管理

  2. 单击创建服务,按照如下说明配置相关参数。

    1. 基础配置

      参数

      描述

      服务名称

      部署到PAI-EAS上的服务名称。

      服务描述

      服务描述信息。

      地域

      部署到PAI-EAS的服务地域。

      镜像名称

      如果无需自定义开发代码,选择官方镜像;如果需要自定义开发代码,选择用户自定义镜像,可参考快速创建项目打包镜像。

      镜像密钥

      PAI-EAS通过此处设置的镜像密钥拉取镜像。

      推荐引擎配置

      引擎服务用到的引擎配置名称。需要先发布预发和生产环境的引擎配置。

    2. EAS配置

      1. 配置EAS参数。

        参数

        描述

        EAS资源组

        如果没有私有资源组,默认使用公共资源组即可。

        EAS配置文件

        包括预发环境配置正式环境配置,通过该配置,在PAI-EAS分别创建预发服务和生产服务。

      2. 预发环境配置页签,单击复制配置,然后单击前往EAS控制台

        image

      3. 选择对应工作空间后,单击进入EAS,在模型在线服务(EAS)页面,单击部署服务

      4. 选择JSON独立部署,将已复制的PAI-Rec预发环境配置粘贴在此处。

        说明

        AccessKeyAccessSecret对应的值需要替换为您的阿里云账号AccessKey ID和AccessKey Secret。为了安全,请务必使用阿里云子账号的AccessKey。

      5. 单击部署

        等待服务状态变为运行中时,代表预发服务部署成功。您可以单击服务名称,查看服务日志等信息。

      6. 部署生产服务,操作和预发服务同理。

      7. 待预发服务和生产服务部署完成后,单击下一步

        系统会检查预发和生产服务是否正常运行。检查成功后,进入下一步。

    3. 预发发布/生产发布

      如果使用官方镜像部署,可跳过此步骤,直接创建。

测试服务

部署服务后,可以测试该服务。具体操作,请参见接口测试

EAS控制台测试

  1. 登录PAI-EAS控制台,单击服务名称,在在线调试页签,测试服务。接口路径需要加上/api/rec/feed,请求的body设置参数即可。image

  2. 服务请求后,可以根据接口返回的request_id查看日志详情。

    image

PAI-Rec控制台测试

登录PAI-Rec管理控制台,在左侧导航栏选择排查工具>推荐结果诊断,根据服务、环境和接口等进行测试。

image

引擎配置概览

从上述接口中可知,返回了等于入参size大小的item数量,并且召回源名称是mock_recall

RecallConfs定义了一路模拟的召回mock_recall,在SceneConfs中,场景home_feed下引用了这一路召回。

详细的引擎配置,请参见引擎配置单

   "RecallConfs": [
        {
            "Name": "mock_recall",
            "RecallType": "MockRecall",
            "RecallCount": 200
        }
    ],
    "SceneConfs": {
        "home_feed": {
            "default": {
                "RecallNames": [
                    "mock_recall"
                ]
            }
        }
    }
警告

服务正式上线时,RecallNames需要删除mock_recall

引擎配置热加载

服务部署后,可以按照实际需求调整引擎配置。例如,将上面的mock_recall的召回数量从200调整到500。

  1. 登录PAI-Rec管理控制台,在左侧导航栏选择系统配置>引擎配置

  2. 生产页签,单击目标引擎右侧的查看

    image

  3. 单击创建变更单内容,可以基于已发布的配置,创建变更内容,也可以对未发布的配置进行多次编辑修改。

    image

  4. 编辑完成后,单击发布

  5. 发布成功后,PAI-Rec引擎服务会读取到相应的配置,进行热加载,无需重启服务。

    可以在EAS服务日志页面搜索reload,查看是否成功加载。

    image

    加载的版本会和已发布的版本对应起来。

    image

    使用上面的方式进行测试,可以看到召回数量已经变化。

    image