模型配置
在精排阶段,一般会调用 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 | 是 | 模型类型,枚举值:
|
Timeout | int | 否 | 请求模型超时时间 |
ResponseFuncName | string | 是 | 需要哪个 function 解析返回的数据,这里与 Processor 类型相匹配。
|
Url | string | 是 | 模型地址 |
EndpointType | string | 否 | 枚举值:DOCKER/DIRECT 如果引擎和模型都部署在 EAS 上,可以设置为 DIRECT,通过直连的方式请求模型,性能更高 |
Auth | string | 是 | 模型的 Token |
如果模型部署在 EAS shang , Url 和 Auth 都可以在 EAS 控制台查到。
算法配置
算法配置对应配置总览中的 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)