带你读《2022技术人的百宝黑皮书》——基于特征全埋点的精排ODL实践总结(4) https://developer.aliyun.com/article/1246864?groupCode=taobaotech
ODL swift 样本构建
ODL模型训练样本构建环节需要将backbone中的相关字段进行提取并转化为模型训练要求的格式。另外,为了方便复用原来的批模型(基于xDeepCTR的单source多label形式),我们采取的是在单数据源中包含多目标样本的方式,所以还需要在这个环节将多个目标的label字段拼接到features字段中,使得模型能够识别。
在最后的sink环节定义的swift name就是ODL模型训练任务中数据源swift_topic。为了便于验证样本的正确性,可以将一定比例的样本写入TT回流到ODPS中进行离线数据分析。
下面是对backbone进行LG并产生swift样本的代码片段:
backbone = session.get_table(BACKBONE_NAME) # lg wide_table = backbone.select('*, event_'+EVENT_NAME_FULL_TRACK+'_features as features') wide_table = wide_table.join_lateral(Lg('*', lgClass='com.alibaba.pyporsche.ihome.IhomeLappClickLG')) wide_table = wide_table.filter("features IS NOT NULL") wide_table = wide_table.with_column(AddLabelToFeatures('features,label', label_name="click_label").as_('features')) # fg wide_table = wide_table.select('event_id as uniqueId, features, label, type') # sink tt tt_sink = TTSink(TT(topic='ihome_lapp_rank_sample_tt', access_key=''), line_separator='\n', field_separator='\t') tt_sink = session.register_table(tt_sink) wide_table.filter('rand() < 0.1').insert(tt_sink) # swift sink swift_sink = session.register_table(SwiftSink(Swift('ihome_lapp_rank_sample_event'))) wide_table.insert(swift_sink)
样本质量监控
AMC算法质量监控中心提供了流样本的监控功能,在这里可以观测到样本的产出延迟,消费延迟和样本比例以及特征的取值统计等信息。
带你读《2022技术人的百宝黑皮书》——基于特征全埋点的精排ODL实践总结(6) https://developer.aliyun.com/article/1246861?groupCode=taobaotech