带你读《2022技术人的百宝黑皮书》——基于特征全埋点的精排ODL实践总结(6)

简介: 带你读《2022技术人的百宝黑皮书》——基于特征全埋点的精排ODL实践总结(6)

带你读《2022技术人的百宝黑皮书》——基于特征全埋点的精排ODL实践总结(5) https://developer.aliyun.com/article/1246863?groupCode=taobaotech



模型实时训练


模型的训练环节使用xDeepCTR框架在AOP平台上进行。


对比使用批样本训练模型,使用流样本训练模型在配置文件上需要做以下两处改动:


1. 在主入口类文件main_op_aop.py中指定ODL模型从哪个全量训练的模型版本进行参数初始化

2. 在训练配置user_params.json中指定使用流样本数据源,并配置实时参数推送的hook


下面以xDeepCTR中内置的MMOE模型为例说明从离线学习切换为在线学习的主要改动:


模型参数初始化


实时训练的模型数据源为swift样本,在入口文件中将source配置为空串即可,AOP会加载user_params.json中指定的数据源进行训练。


通过train_from_model和train_from_version参数可以指定ODL模型初始化时的参数来自于哪个模型和对应的版本。


from aop import odps_table, tf_train, AOPClient
if __name__ == '__main__':
 fg_path = './ihome_rank_model_fg.json'
 user_params_path = "./user_params.json"
 algo_conf_path = './algo_conf.json'
 running_config_path = "./running_config.json"
 repo_name = 'xDeepCTR'
 zip_name = './' + repo_name + '.zip'
 model_path = repo_name + '/xdeepctr/models/multitask/mmoe.py'
 model_name = "ihome_rank_demo_mmoe_odl"
 ACCESS_ID = 'XXXX'
 ACCESS_KEY = 'YYYY'
 source = ""#source为空串即可
 train = tf_train(source,
 fg_config=fg_path,
 model_path=model_path,
 model_name=model_name,
 user_params=user_params_path,
 train_from_model='ihome_rank_demo_mmoe',#使用ihome_rank_demo_mmoe模型的最新版
本来初始化
 train_from_version='NEWEST', # NEW NEWEST
 ps_num=2,
 worker_num=3,
 )
 with AOPClient(model_name) as client:
 client.add_code(zip_name)
 client.add_resource(algo_conf_path)
 client.add_debug_version("aop_version_tf112")
 client.add_runconf(running_config_path)
 client.run(train)



带你读《2022技术人的百宝黑皮书》——基于特征全埋点的精排ODL实践总结(7) https://developer.aliyun.com/article/1246860?groupCode=taobaotech

相关文章
|
数据库 应用服务中间件 Dubbo
|
存储 机器学习/深度学习 分布式计算
【DSW Gallery】COMMON_IO使用指南
COMMON_IO模块提供了TableReader和TableWriter两个接口,使用TableReader可以读取ODPS Table中的数据,使用TableWriter可以将数据写入ODPS Table。
【DSW Gallery】COMMON_IO使用指南
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
AI Compass前沿速览:Claude Opus 4.1、MiniMax-Speech 2.5、Qwen-Flash
AI Compass前沿速览:Claude Opus 4.1、MiniMax-Speech 2.5、Qwen-Flash
AI Compass前沿速览:Claude Opus 4.1、MiniMax-Speech 2.5、Qwen-Flash
|
监控 安全 Java
【开发者必备】Spring Boot中自定义注解与处理器的神奇魔力:一键解锁代码新高度!
【8月更文挑战第29天】本文介绍如何在Spring Boot中利用自定义注解与处理器增强应用功能。通过定义如`@CustomProcessor`注解并结合`BeanPostProcessor`实现特定逻辑处理,如业务逻辑封装、配置管理及元数据分析等,从而提升代码整洁度与可维护性。文章详细展示了从注解定义、处理器编写到实际应用的具体步骤,并提供了实战案例,帮助开发者更好地理解和运用这一强大特性,以实现代码的高效组织与优化。
785 0
|
搜索推荐 测试技术 流计算
承上启下:基于全域漏斗分析的主搜深度统一粗排
文章首先介绍了淘宝搜索的多阶段检索系统,包括召回、粗排和精排阶段。粗排模型的目标是优化商品的排序,以提高在召回集合中选择优质商品的能力。文章提到,粗排模型与精排模型的目标有所不同,粗排更注重腰部商品的排序,而精排更注重头部商品的排序。 此外,文章还探讨了模型的损失函数形式,发现原始的softmax损失函数在处理多正样本时存在问题,提出了改进的损失函数,使得模型在粗排阶段的表现更佳。最后,作者们总结了优化工作的进展,以及优化样本对齐,以实现更好的整体效果。
|
存储 机器学习/深度学习 缓存
阿里云PAIx达摩院GraphScope开源基于PyTorch的GPU加速分布式GNN框架
阿里云机器学习平台 PAI 团队和达摩院 GraphScope 团队联合推出了面向 PyTorch 的 GPU 加速分布式 GNN 框架 GraphLearn-for-PyTorch(GLT) 。
阿里云PAIx达摩院GraphScope开源基于PyTorch的GPU加速分布式GNN框架
|
数据处理 数据库
SOH (Start of Header) - ASCII值1 (0x01)
SOH (Start of Header) - ASCII值1 (0x01)
2836 2
|
分布式计算 监控 NoSQL
图数据库 Nebula Graph 是什么
图数据库 Nebula Graph 是什么?本文将带你了解它的特性和功能,并提前揭秘部分 Nebula Graph 1.0 功能
3950 0
|
算法 安全 NoSQL
详解高性能无锁队列的实现-2
详解高性能无锁队列的实现
462 0

热门文章

最新文章