本案例使用经典的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预测,最终得到如下预测结果。