带你读《2022技术人的百宝黑皮书》——基于特征全埋点的精排ODL实践总结(6) https://developer.aliyun.com/article/1246861?groupCode=taobaotech
实时数据源和参数更新
需要user_params.json修改数据源配置,并添加一个发送参数至RTP的hook。相比于批模型的训练方式read_-mode从odps_single变更为了swift_single,含义为从一份swift样本中读取训练数据,若为多份样本可以使用swift。
在source配置中,swift_topic为PyPorsche的ODL样本生成节点中配置的swift名称,通常sample_name和swift_topic保持一致即可。
最后需要在customized_functions中添加一个odl_model_updatehook,我们使用PS直发的方式将实时训练的模型参数定期发送至RTP,其中dense参数以5分钟的间隔发送,sparse参数以15分钟的间隔发送。除了添加hook外,还需要在代码中打开optimizer 的open_auto_record开关,并对RTP进行设置调整,详细步骤可参阅AOP和RTP相关文档。
下面是一个ODL模型的配置例子:
"customized_functions": { "odl_model_update": { "open": true, "is_sync": true, "rtp_table_name": "ihome_rank_demo_mmoe_odl", "rtp_table_topic": "ihome_rank_demo_mmoe_odl_swift_${today}", "swift_partition_count": 32, "swift_partition_max_buffer_size": 5120, "reuse_topic" : false, "interval_time": 300, "dense_send_interval_time": 300, "sparse_send_interval_time": 900, "first_trigger_time": 600, "global_auc_threshold": "0.68", "current_auc_threshold": "0.68", "part_strategy": "div", "check_numerics": false } }
带你读《2022技术人的百宝黑皮书》——基于特征全埋点的精排ODL实践总结(8) https://developer.aliyun.com/article/1246856?groupCode=taobaotech