本案例使用经典的CTR点击率预估数据集Avazu进行一体化模型训练,并将离线调试完成的归一化预测->独热编码预测->向量聚合->FM预测流程完整部署到EAS。您在线上环境进行模型预测时,也可以使用离线训练时的数据预处理和特征工程逻辑,以保障线上线下处理流程的一致性。
前提条件
数据集
Avazu是经典的CTR点击率预估数据集,PAI使用了Avazu的一个子集(包括20万条样本数据:训练集16万条;预测集4万条)构建点击率预估流程。数据详情请查看Avazu,具体的字段如下。
|
列名 |
类型 |
描述 |
|
id |
STRING |
广告ID |
|
click |
DOUBLE |
是否点击 |
|
dt_year |
INT |
点击的年份 |
|
dt_month |
INT |
点击的月份 |
|
dt_day |
INT |
点击的时间(天) |
|
dt_hour |
INT |
点击的时间(小时) |
|
c1 |
STRING |
匿名的离散变量 |
|
banner_pos |
INT |
标题的位置 |
|
site_id |
STRING |
地点ID |
|
site_domain |
STRING |
地点Domain |
|
site_category |
STRING |
地点类别 |
|
app_id |
STRING |
应用ID |
|
app_domain |
STRING |
应用Domain |
|
app_category |
STRING |
应用类别 |
|
device_id |
STRING |
设备ID |
|
device_ip |
STRING |
设备IP |
|
device_model |
STRING |
设备模型 |
|
device_type |
STRING |
设备类型 |
|
device_conn_type |
STRING |
设备连接类型 |
|
c14 - c21 |
DOUBLE |
匿名离散变量(共8列) |
操作步骤
进入Designer页面。
登录PAI控制台。
在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应的工作空间。
在工作空间页面的左侧导航栏选择,进入Designer页面。
-
构建工作流。
在Designer页面,单击预置模板页签。
-
在模板列表的保障离在线一致性的CTR预估方案区域,单击创建。
-
在新建工作流对话框配置以下关键参数,其他参数可以使用默认配置。
其中:工作流数据存储配置为OSS Bucket路径,用于存储工作流运行中产出的临时数据和模型。
单击确定。
您需要等待大约十秒钟,工作流可以创建成功。
-
在工作流列表,双击保障离在线一致性的CTR预估方案工作流,进入工作流。
-
通过模板创建的工作流,如下图所示。

在该工作流中,PAI将特征分为以下两类:
-
数值型特征:PAI使用归一化算法,将特征做归一化处理。
-
离散型特征:PAI使用独热编码组件处理。最后将两类特征融合成一个向量,并使用FM算法训练模型并推理。
-
-
运行工作流并查看输出结果。
单击画布上方的
。-
工作流运行结束后,右键单击画布中的二分类评估-1,在快捷菜单,单击可视化分析,或直接单击画布上方的
。 -
在二分类评估-1对话框指标数据页签,查看预估准确率。

-
如果指标满足要求,您可以将数据预处理、特征工程、模型预测的完整流程打包,并部署至EAS。
-
在画布上方,单击制作Pipeline模型。
-
手动选中归一化批预测-2节点后(会自动选中右侧的完整链路),单击下一步。会把选中需要部署的数据处理链路和用到的模型打包成一个Pipeline模型。

-
在制作Pipeline模型对话框,确认模型打包信息,并单击下一步,启动Pipeline模型打包任务。
打包任务大概需要3~5分钟即可完成。 -
部署模型服务。
-
方式一:在制作Pipeline模型对话框,当运行状态为成功时,单击部署至EAS,会跳转到EAS控制台。配置服务名称和资源部署信息后,单击部署,即可完成模型部署,更多详细内容,请参见Pipeline部署在线服务。
-
方式二:如果制作Pipeline模型对话框已关闭,您可以在画布右上方单击全部任务查看,在历史任务对话框,查看制作任务运行状态。当状态为成功时:
-
您可以单击操作列下的模型>部署,并按照控制台操作指引部署模型服务。
-
您也可以单击画布上方的模型列表,在模型列表中选中打包的模型,单击部署至EAS并按照控制台操作指引部署模型服务。
-
-
-
-
在EAS控制台,单击已部署好的服务操作列下的在线调试,对服务进行在线调试,更多详细内容,请参见服务在线调试。
其中:Body区域的请求数据可以输入和数据集相同结构的测试数据,例如:
[{"id":"10000169349117863715","click":0.0,"dt_year":14,"dt_month":10,"dt_day":21,"dt_hour":0,"C1":"1005","banner_pos":0,"site_id":"1fbe01fe","site_domain":"f3845767","site_category":"28905ebd","app_id":"ecad2386","app_domain":"7801e8d9","app_category":"07d7df22","device_id":"a99f214a","device_ip":"96809ac8","device_model":"711ee120","device_type":"1","device_conn_type":"0","c14":15704.0,"c15":320.0,"c16":50.0,"c17":1722.0,"c18":0,"c19":35.0,"c20":100084.0,"c21":79.0}]该数据在服务中会顺序进行归一化预测->独热编码预测->向量聚合->FM预测,最终得到如下预测结果。

打包任务大概需要3~5分钟即可完成。