推荐系统之实时性

本文探讨了推荐系统中特征实时性和模型实时性的不同层次,从秒级的客户端实时特征到小时级的分布式批处理平台。特征实时性涉及客户端计算、流处理平台和批处理平台,而模型实时性涵盖在线学习、增量更新、全量更新和局部更新策略。作者强调,推荐算法工程师应注重理解用户需求并构建相应模型,而非过度关注技术细节。

推荐系统的实时性,包括
1. 更快捕获/更新用户特征 -- 特征实时性
2. 更快发现数据趋势 -- 模型实时性

特征实时性(实时性由强到弱)
1. 客户端实时特征(秒级,实时)
发生在客户端session,实时计算用户特征,可达秒级


2. 流处理平台(分钟级,近实时)
典型的流处理平台像flink、spark streaming,均具备处理某个时间窗口内的数据流的能力,能够统计用户点击行为等特征,并写入redis,可达分钟级


3. 分布式批处理平台(小时/天级,非实时)
分布式批处理平台(spark, hadoop等)一般处理全量的数据,这个过程中,可能需要准备好并且join多张表,耗费几个小时到天不等。计算得到的特征一般有两个用途:1. 模型训练和离线评估 2. 特征保存到特征数据库,供模型在线推理

模型实时性(实时性由强到弱)
1. 在线学习
获得一个样本的同时,更新模型。经典的方案:FTRL


2. 增量更新
将新加入的样本喂给模型,进行训练,往往无法找到全局最优点,所以通常的做法是 n轮增量更新+1轮全量更新


3. 全量更新
在某个时间段,使用落盘的全量样本对模型进行训练。最常用的模型训练方式


4. 局部更新
将模型分为两部分,以较快频率更新需要快速迭代的部分,反之则以较慢频率更新。常见的方案为:预训练Embedding+神经网络,其中,预训练Embedding部分无需快速迭代,而上层神经网络部分更新需要较高的实时性。

书中提到,推荐算法工程师,应该:从用户的角度思考问题,构建模型,而不是仅专注于是否需要dropout,是否需要加BN层。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值