文档

精排配置

模型配置

在精排阶段,一般会调用 EAS 上面的算法模型服务来获取得分,EAS 支持多种类型模型的部署,PAI-REC也支持不同模型的调用,包括 pmml、ps、alink、tensorflow、easyrec等,模型的信息配置对应配置总览中的 AlgoConfs。

配置示例

{
  "AlgoConfs": [
    {
      "Name": "ps_smart",
      "Type": "EAS",
      "EasConf": {
        "Processor": "PMML",
        "ResponseFuncName": "pssmartResponseFunc",
        "Url": "http:xxx.pai-eas.aliyuncs.com/api/predict/xxx",
        "Auth": ""
      }
    },
    {
      "Name": "fm",
      "Type": "EAS",
      "EasConf": {
        "Processor": "ALINK_FM",
        "ResponseFuncName": "alinkFMResponseFunc",
        "Url": "http:xxx.pai-eas.aliyuncs.com/api/predict/xxx",
        "Auth": ""
      }
    },
    {
      "Name": "tf",
      "Type": "EAS",
      "EasConf": {
        "Processor": "TensorFlow",
        "ResponseFuncName": "tfMutValResponseFunc",
        "Url": "http:xxx.pai-eas.aliyuncs.com/api/predict/xxx",
        "Auth": ""
      }
    },
    {
      "Name": "easyrec",
      "Type": "EAS",
      "EasConf": {
        "Processor": "EasyRec",
        "Timeout": 300,
        "ResponseFuncName": "easyrecMutValResponseFunc",
        "Url": "http:xxx.pai-eas.aliyuncs.com/api/predict/xxx",
        "EndpointType": "DIRECT",
        "Auth": ""
      }
    }
  ]
}

字段名

类型

是否必填

描述

Name

string

自定义模型信息名称,在 RankConf 中引用

Type

string

模型部署类型

EasConf

字段名

类型

是否必填

描述

Processor

string

模型类型,枚举值:

  • ALINK_FM

  • PMML

  • TensorFlow

  • TFServing

  • EasyRec

  • Linucb

Timeout

int

请求模型超时时间

ResponseFuncName

string

需要哪个 function 解析返回的数据,这里与 Processor 类型相匹配。

  • ALINK_FM 对应 alinkFMResponseFunc

  • PMML 对应 pssmartResponseFunc

  • TensorFlow 对应 tfMutValResponseFunc

  • TFServing 对应 tfServingResponseFunc

  • EasyRec 对应 easyrecMutValResponseFunc

  • Linucb 对应 。。。

Url

string

模型地址

EndpointType

string

枚举值:DOCKER/DIRECT

如果引擎和模型都部署在 EAS 上,可以设置为 DIRECT,通过直连的方式请求模型,性能更高

Auth

string

模型的 Token

如果模型部署在 EAS shang , Url 和 Auth 都可以在 EAS 控制台查到。

image.png

算法配置

算法配置对应配置总览中的 RankConf,RankConf 是一个Map[string]object 结构,其中 key 为场景,可以根据不同场景选用不同的模型,这里需要用到在模型配置中配置好的模型的自定义名称。

配置示例

{
  "RankConf": {
    "scene_name1": {
      "RankAlgoList": [
        "fm"
      ],
      "RankScore": "${fm}"
    },
    "scene_name2": {
      "RankAlgoList": [
        "room3_mt_v2"
      ],
      "RankScore": "${room3_mt_v2_probs_ctr} * (${room3_mt_v2_probs_view} + ${room3_mt_v2_y_view_time} + 0.5 * ${room3_mt_v2_probs_on_wheat} + 0.5 * ${room3_mt_v2_y_on_wheat_time} + 0.25 * ${room3_mt_v2_y_gift} + 0.25 * ${room3_mt_v2_probs_add_friend} + 0.1)"
    }
}

字段名

类型

是否必填

描述

RankAlgoList

[]string

在 AlgoConfs 中定义的模型,表示这个场景使用哪个模型进行打分

RankScore

string

模型的融合表达式

Processor

string

当 AlgoConfs 中的 processor 为 EasyRec 时,必填,也取值为 EasyRec

BatchCount

int

批量请求模型的数据量大小,默认为 100

ContextFeatures

[]string

当 AlgoConfs 中的 processor 为 EasyRec 时, 传递的上下文特征。 如果不需要传特征,可以配置成 "ContextFeatures": [ "none"]

  • 本页导读 (0)
文档反馈