工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM

Posted PaperWeekly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM相关的知识,希望对你有一定的参考价值。


作者丨纪厚业

单位丨北京邮电大学博士生

研究方向丨异质图神经网络及其应用


引言


推荐系统尤其是深度推荐系统已经在工业界得到了广泛应用,尤其是在电商场景下(如淘宝和京东的商品推荐)。一个好的工业级推荐系统可以推动业务增长带来大量的经济效益。那么,工业级推荐系统的最佳实践是怎样的呢?Facebook 的推荐团队在本文给出了他们的答案。


本文详细介绍了 Facebook 最新的推荐系统实践包括特征处理、算法建模、代码实现和平台介绍。如此详细清楚的论文,可以说是工业界推荐系统的必读论文之一。作者也开源了代码和最优超参数供大家学习:


https://github.com/facebookresearch/dlrm

工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM


工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM


模型架构

本文所设计的推荐系统架构如 Fig 1 所示。整个模型主要包含:特征工程(包含 spare 和 dense 特征),用于特征建模 Embedding 和 Embedding Lookup,用于特征转换的 NNs,用于特征交互的 Interactions 以及最后的预测 NNs。


工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM


特征表示 Embedding


在实际的推荐场景中,用户和商品通常都有丰富的特征信息。用户的特征通常用性别,年龄,居住地等。如何将这些类别特征转为模型可以处理的向量呢。本文的做法是将这些类别特征编码为 one-hot 的向量,然后通过 embedding lookup 来得到其表示。


工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM


以用户的性别为例,性别男的 one-hot 编码为 [1, 0] 性别女的 one-hot 编码为 [0,1]。然后,我们针对性别初始化一个关于性别的 embedding matrix,该矩阵大小为 2*d,2 代表性别的可能取值,d 代表 embedding 的维度。那么通过 embedding lookup,性别男的 embedding 其实就是 embedding matrix的第一行,性别女的 embedding 就是 embedding matrix 的第二行。通过上述操作,我们就将难以处理的类别特征转化为了神经网络方便处理的向量。


上述过程得到是类别特征的初始 embedding,我们可以通过 MLP 对其进行非线性转换。初始的特征 embedding 会在模型优化过程中学习到具有区分度的特征表示。


特征交互 Interaction


在得到特征的表示后,我们通过内积等简单操作实现模型的预测:


工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM


但是,如果我们能够抓住的描述特征关联性,那么模型的预测能力可能会进一步提升。例如,经典的 FM:


工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM


特征交叉的好处到底在哪呢?这里给一个形象的例子:经度和纬度分开看并不能精准定位某个地区,但是当经纬度结合起来就可以精准定位地区,该地区的每一部分拥有的类似的特性。


模型预测 NNs


有了特征的表示及其交互之后,我们可以将其送入到 MLP 中,并利用 Sigmoid 函数预测最终的点击概率。


工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM


可以看出,本文所提出的 DLRM 模型其实并没有很复杂,但是却将工业界的一些实践方法给出了清晰的介绍。


模型实现


DLRM 实现所需要的相关接口在 PyTorch 和 Caffe2 中都有实现,见 Table 1。


工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM


模型并行


在工业界的大规模数据下,模型并行是必不可少的一个步骤。DLRM 模型的主要参数来自于特征的 embedding,后面特征交互和模型预测部分的参数其实很少。假设我们有一亿个用户,如果对其 ID 进行 embedding,那么 embedding matrix 就会有一亿行,这是一个非常大的参数矩阵。


对于特征 embedding 部分,这里采用的是模型并行,将一个大的embedding 矩阵放到多个设备上,然后更新相应的特征 embedding。


对于特征交互和模型预测部分,这里的参数量相对较少而且用户/商品的数量无关,本文采用的是数据并行的方式。在多个设备上计算梯度,然后将梯度合并来更新模型。


实验


本文在随机数据,合成数据和公开数据上进行了实验。对比算法主要是Deep cross network。整个实验运行在 Facebook 的 Big Basin platform 上。


工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM


具体实验结果如下:


工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM


可以看出,本文所提出的 DLRM 算法明显超越谷歌的 DCN。


总结


本文提出了一种工业级推荐系统 DLRM 并实验验证了其优越性。同时,作者也给出了工业界推荐系统的最佳实践,相关代码和超参数设置也进行了开源。可以说,本文是在工业界做推荐系统的必读论文之一。


工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM



点击以下标题查看更多往期内容: 











#投 稿 通 道#

 让你的论文被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。


以上是关于工业界推荐系统必读论文:基于深度学习的推荐模型——DLRM的主要内容,如果未能解决你的问题,请参考以下文章

最近几年-基于深度学习自然语言处理的推荐系统-必读论文整理分享

深度学习推荐系统CTR预估工业界实战论文整理分享

600页!分享《推荐系统学习手册》(附下载及入门经验)

TDM: 基于树的深度学习模型在阿里推荐系统中的应用

三年四大顶会,深度推荐系统18篇论文只有7个可以复现

推荐系统中的深度匹配模型