作者:一元
公众号:炼丹笔记  

背景

推荐系统(RS)已经成为大多数web应用程序的关键模块。最近,大多数RSs都是基于云到边缘框架的瀑布式的,其中推荐的结果通过在云服务器中预先计算传送到edge(例如用户移动)。尽管有效,但云服务器和边缘之间的网络带宽和延迟可能会导致系统反馈和用户感知的延迟。因此,edge上的实时计算可以帮助更精确地捕捉用户的偏好,从而提出更令人满意的建议。本文首次尝试设计和实现边缘推荐系统(EdgeRec),它实现了实时的用户感知和实时的系统反馈。此外,本文还提出了基于行为注意网络的异构用户行为序列建模和上下文感知重排序,以捕捉用户的不同兴趣并相应地调整推荐结果。在淘宝主页feeds的离线评测和在线性能测试结果表明了EdgeRec的有效性。

之前框架

如上图所示,手机端先向云端服务器初始化一个页面请求,matching和ranking模型对应页面请求生成一个排序商品集合,而这套框架有诸多问题:

  • 系统反馈延迟,在相邻的两个页面请求,云端的RS无法实时调整推荐结果,所以较难满足用变化的需求。
  • 用户感知延迟,RS模型部署在云端,往往会因为网络延迟导致1min种左右的延迟,很难抓住用户的实时需求。网络的带宽会进一步限制当前RS捕捉端上用户的大量的和详细的行为细节。

基于上述的情况,我们采用边缘计算来满足实时的性能要求。EdgeRec可以获得实时用户感知和实时的系统反馈。

系统

系统概览

  • Client Native (CN):初始化页面请求并且将从RS服务器中返回的对应候选商品的特征进行缓存,从RS返回的商品个数被设置为100,然后CN收集用户对曝光商品的行为并且除法模型服务模块,在接收到候选商品的rank之后,CN就会调整商品的UI展示。
  • Model Serving(MS):当由CN触发时,MS对从CN处接收到的用户行为和候选商品进行特征工程,然后基于神经网络的模型,其目的是通过用户行为建模来及时捕捉用户行为,并对上下文感知的Reranking以及时响应用户,MS向云发送日志,并将候选商品的排名结果返回给CN;
  • Recommender System(RS): 响应来自CN的页面请求,并为候选项提供初始排序。此外,它还可以在响应CN之前从云上的key-value存储中查找MS模块中的模型需要的商品特征和嵌入;
  • Offline Training(OT): 在模型训练之前,模块首先从MS中收集日志并构造样本。然后,将训练后的模型分为三个部分:(1).用户行为建模子模型;(2).上下文感知重排子模型;(3).嵌入矩阵(如类别和品牌)。最后,将前两个子模型部署在MS模块上,嵌入矩阵作为key-value形式保存在云上

算法模块

问题定义

给定云端现有RS得到的初始排序商品列表Sr,对于在模型服务模块的reranking请求r∈R,我们的目标是寻找到一个得分函数:

  • 商品i的特征是xi;
  • 从初始模型得到的局部排序s;
  • 当前推荐环境下的实时用户行为上下文C;

Reranking模型考虑在局部排序上下文,局部排序上下文表示为初始排序候选项之间的列表式交互,可以用RNN或Transformer来建模。在这里,我们认为实时的用户行为上下文对于重排序问题也很重要,特别是在瀑布式推荐场景中,而以前很少有人考虑过这一点。

特征系统

1. Insight

之前很多模型:

  • 只考虑用户的直接正反馈,而忽略间接的负反馈,例如skipping或者删除操作等。
  • 只考虑与用户交互的商品的特性(例如类别和品牌等),用户的行为则被忽略了。

此外,虽然用户没有点击某个项目,但对该项目曝光的操作(如滚动速度和曝光)可以代表该项目被视为“负面反馈”的程度。有时,如果用户长时间关注某个项目而不单击它,它不能绝对表明他/她不喜欢它。特别是在目前的瀑布流RS中,商品的显示信息越来越丰富,比如大图片、各种关键词甚至自动播放的视频,点击已经成为一些用户非常“奢侈”的正面反馈。

基于我们提出的EdgeRec系统,所有的用户行为特征都是在边缘(即用户的移动设备)上收集、提取和消费的,与目前基于云到端的RS系统相比,这可以突破网络延迟和带宽的限制。因此,可以结合大量详细的行为来更实时地推断用户偏好。另外,用户的原始行为在自己的移动设备上进行处理和利用,在一定程度上缓解了用户的数据隐私问题。

基于上面的讨论,我们发现这项工作的意义是非常重大的,新的特征工程:

  • 从“只依赖正反馈交互”到“同时关注正反馈和负反馈交互作用”;
  • 从“只关注交互项”到“同时考虑交互项及其对应的动作”;
  • 从“准实时”到“超实时”。

关于端上的实时特征:

2. 商品曝光用户行为特征

商品曝光用户行为特征分为四块:

  • 商品曝光统计特征;
  • 用户滑动统计特征;
  • 用户删减反馈;
  • 时间延迟。

3. 商品页面浏览用户行为特征

商品页面浏览(ipv)特征分为三类:

  • 商品页面浏览的统计特征;
  • 在每个block是否有点击;
  • 时间延迟;

4. 商品特征

商品特征可以分为:

  • embedding学习的离散特征;
  • 从base排序模型学习得到的原始特征;

异质用户行为序列建模

这边我们有两个异质,第一个是:

  • 商品曝光行为和商品页面浏览行为:

因为商品的点击相较于商品的曝光是更加稀疏的,所以一旦一起编码,那么page-view的行为将会主导这一切。所以我们选择分开建模(商品曝光行为序列+商品浏览行为序列建模);

第二个是:

  • 用户行为操作以及对应的用户交互的商品;

我们首先对他们进行编码,然后进行在下面的上下文感知的重排模型中对行为注意机制进行融合;

我们使用多层GRU网络定义序列编码函数:

1. 商品曝光行为序列建模

2. 商品页面浏览行为序列建模

3. 行为Attention网络的上下文感知重排

我们使用GRU网络对初始排序模型排序的候选项序列进行编码,并将最终状态作为局部排序上下文,借助Attention技术,我们的重排序模型可以自动(软)搜索与目标项目排序相关的部分用户行为上下文。

4. 候选商品序列编码

5. 行为Attention

6. 模型训练

实验

  • CRBAN+HUBSM(IE&IPV)取得了巨大的提升;

Heterogeneous User Behavior Sequence Modeling (HUBSM)+Contextaware Reranking with Behavior Attention Networks (CRBAN);

2. 线上效果&性能

2.1 线上效果

采用完整型号CRBAN+HUBSM(IE&IPV)的EdgeRec平均为PV贡献1.57%,CTR为7.18%,CLICK为8.87%,GMV为10.92%,带来了巨大的提升;

2.2 线上性能

  • 用户行为的延迟时间大大降低,系统的响应时间大大降低,系统反馈数大大变多;

结论

本文设计并实现了EdgeRec来解决瀑布式RS中用户感知和系统反馈的延迟问题,这是RS与边缘计算相结合的首次尝试。具体地说,本文提出了异构用户行为序列建模和基于行为注意网络的上下文感知重排序方法来对用户丰富的行为进行建模。大量的线下和在线评估验证了EdgeRec在工业RS中的有效性。

参考文献

  1. EdgeRec: Recommender System on Edge in Mobile Taobao:arxiv.org/pdf/2005.0841

weixin.qq.com/r/XSjP1zr (二维码自动识别)

推荐系统炼丹笔记:EdgeRec阿里边缘计算推荐系统相关推荐

  1. 推荐系统炼丹笔记:阿里边缘计算+奉送20个推荐系统强特

    作者:一元 公众号:炼丹笔记 背景 推荐系统(RS)已经成为大多数web应用程序的关键模块.最近,大多数RSs都是基于云到边缘框架的瀑布式的,其中推荐的结果通过在云服务器中预先计算传送到edge(例如 ...

  2. 推荐系统炼丹笔记:阿里推荐算法特征交叉新方式CAN

    作 者:一元 公众号:炼丹笔记 昨天看非常多的群友在讨论该篇文章,很是好奇,今天就读了一下,个人感觉本文的co-action操作还是第一次碰到,但该方案在amazu等数据集上对比的方案还是较为弱的,所 ...

  3. 推荐系统炼丹笔记:阿里DMIN多重兴趣网络

    作 者:一元 公众号:炼丹笔记 背景 许多现有的建模开始基于用户的历史行为序列进行建模并且取得了相当不错的效果,为了捕获用户动态和变化的兴趣, 我们观测到用户经常在某个时间点拥有大量的兴趣, 与此同时 ...

  4. EdgeRec - 揭秘边缘计算在淘宝猜你喜欢的大规模应用

    1.推荐系统中的痛点 在全面进入无线的时代,为了解决信息负载的问题,越来越多的推荐场景得到兴起,尤其是以列表推荐形式为主的信息流推荐.以手淘信息流为例,进入猜你喜欢场景的用户,兴趣常常是不明确的,用户 ...

  5. 推荐系统炼丹笔记:边缘计算+奉送20个推荐系统强特

    作者:一元 公众号:炼丹笔记 背景 推荐系统(RS)已经成为大多数web应用程序的关键模块.最近,大多数RSs都是基于云到边缘框架的瀑布式的,其中推荐的结果通过在云服务器中预先计算传送到edge(例如 ...

  6. 推荐系统炼丹笔记:大规模推荐Deep Retrieval

    作 者:十方 公众号:炼丹笔记 (1)Why Deep Retrieval? 一个规模较大的推荐系统,需要解决的核心问题就是如何从百万甚至亿级别的候选集中快速找到最相关的top-k个候选.以前的解决方 ...

  7. 推荐系统炼丹笔记:Embedding在内存问题上的一种解法

    作 者:一元 公众号:炼丹笔记 很多朋友都会发现,修改embedding的大小能对深度模型带来非常大的影响,往往越大的embedding能带来更佳的效果,但是却因为Embedding内存的问题,没法直 ...

  8. 推荐系统炼丹笔记:好想哭,我居然输在了内存问题上!

    作 者:一元 公众号:炼丹笔记 很多朋友都会发现,修改embedding的大小能对深度模型带来非常大的影响,往往越大的embedding能带来更佳的效果,但是却因为Embedding内存的问题,没法直 ...

  9. 推荐系统炼丹笔记:Deep Retrieval

    作 者:十方 公众号:炼丹笔记 (1)Why Deep Retrieval? 一个规模较大的推荐系统,需要解决的核心问题就是如何从百万甚至亿级别的候选集中快速找到最相关的top-k个候选.以前的解决方 ...

最新文章

  1. qtcreator cannot find -lts
  2. 用html标记语言,HTML标记语言——引用
  3. 原生html5时间组件,JFinal遇到了原生Html5时间组件格式转换问题怎么处理?
  4. GitHub student pack
  5. 第二周冲刺第一天个人博客
  6. Layer/jquery获取父窗口的元素
  7. JSON Viewer丨Json格式查看器
  8. CRON 定时任务 在线解析
  9. 推荐十款现今最受欢迎的数据可视化工具,供你参考
  10. 汇编---串传送指令MOVS
  11. 软文写作是什么?如何写软文?软文标题怎样拟定?
  12. 编码解码--url编码解码
  13. React 超详细入门教程
  14. 国内首家电子废物回收超市开业
  15. 建议收藏 | 应用程序无法安装MAC系统或解决的办法
  16. PDFBox学习总结
  17. 麻将通用胡牌算法详解(拆解法)
  18. 系统常见声卡驱动故障解决方法(转)
  19. 修改element UI的select下拉框组件右边的小箭头(使用自定义图片)
  20. EE308 lab3-2

热门文章

  1. WordPress个性页面制作教程
  2. leetcode 18 -- 4Sum
  3. 今天 学习用到的一些知识(properties 读取,js 删除元素)
  4. CentOS 6.3 升级软件 gcc等,并安装部署DNN环境 (未完成,不完整)
  5. CSS 设计模式一 元素
  6. mysql性能测试工具msyqlslap_mysqlslap工具测试mysql DB的性能
  7. linux解压后缀为.xz,xz后缀名文件解压方法
  8. java 输出脉冲信号_一种使用SOC精确控制脉冲的方法
  9. ab plc软件_回收拆机拆厂二手机械设备回收PLC自动化物资回收【研发吧】
  10. 北斗导航 | 卫星导航系统时间转换:闰年(附C源代码)