浅谈流式模型训练体系-阿里云开发者社区

开发者社区> 人工智能> 正文

浅谈流式模型训练体系

简介: 本文从流式数据产生,离线增量模型训练,在线模型更新方面简要介绍了流式模型的训练体系。

云栖号:https://yqh.aliyun.com
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

1、前言

训练数据流式生成,模型增量训练,及时捕获用户不断变化的实时兴趣是提升推荐系统性能和效果的重要方式。

image

2、流式训练数据生产

曝光topic、scorer stream topic和各类行为数据实时接入,流式关联特征数据,生成训练样本。

image

2.1 数据来源说明

scorer stream包含的是scorer关联好实时特征后下发的形如的日志,保证实时特征,例如用户浏览过的item ID list,不会因为延迟等待而不准确。

impression stream、click stream等各类行为数据形如

各类topic通过[ uid, mid ] >关联,生成训练样本。

因此,需要保证各类topic的trace_id有效。

2.2 样本关联的延迟等待问题

现象: 线上环境复杂,某些数据源可能迟到,导致某段时间内正负样本比例失真。

解决: pair-wise sampling。曝光缓存在N分钟池和2N分钟池,等待各种正样本。正样本到来后关联N分钟缓存池的曝光,并从2N分钟缓存池负采样。

2.3 流式特征关联

根据uid/mid/aid关联各类特征。

2.4 特征编码

tensorflow不支持kv形式的参数,需要对特征进行0-max feature_size的连续编码。

一种可行的特征编码方案是给每个field维护一份特征编码映射表。举例:

「20190211」 0900 user field的特征个数是1,000,000,则给user_field维护一个特征映射编码表,形如:

image

「20190211」 0930时,user field有一个user新点击了一个feed:「USER@1005001#6496196953679594497」 , 此时替换特征编码映射表中最远不被命中的feature_id,「USER@1003001#7487, 为USER@1005001#6496196953679594497。」

如此,user field的feature_index大小仍然是1,000,000。

3、离线增量模型训练

历史7天数据pretrain, 再接入mini-batch数据fine-tune。初期不考虑parameter server。

image

4、在线模型更新

tf-serving自动检测新模型,天然支持模型文件增量更新。特征文件的更新方式同现有方式。

云栖号:https://yqh.aliyun.com
第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策!

原文发布时间:2020-03-02
本文作者:陈文强
本文来自:“AI派公众号”,了解相关信息可以关注“AI派

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
人工智能
使用钉钉扫一扫加入圈子
+ 订阅

了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

其他文章