MMoE 算法在淘宝躺平推荐系统中的应用实践

淘宝躺平频道是手机淘宝内主推家居类商品的内容场景化导购平台(以下简称躺平)。频道中的内容主要以场景搭配为主,内容内挂载了多个商品锚点,点击商品锚点可以跳转到商品详情页。躺平强调算法大数据搭配及 D 端设计师理念,内容以多种形态迎合消费者的家居类需求。

图片

用户可以通过以下 3 种方式进入淘宝躺平频道:

1)关注躺平家居,然后在手淘顶部 ICON 区域主动访问;

2)搜索躺平关键词访问;

3)点击手机淘宝首页猜你喜欢的躺平内容卡片。

多目标优化&MMoE

用户进入躺平频道页后,浏览和点击内容卡片进入内容详情页,点击内容详情页的商品锚点进入商品详情页,进而进行收藏加购等行为。业务最终的目标是 GMV 的提升,因此,业务模型涉及的优化目标包含了一跳点击,二跳点击,以及进入商品详情页后的收藏加购下单。我们当前的精排模型主要考虑了用户在场景内的一跳点击,缺乏对二跳以及后续相关行为的建模,与我们最终的优化目标是有 gap 的。因此,实现躺平频道的家多目标优化是模型深度优化和完成业务目标的必要途径。

▐ 多目标优化方法

已有的多目标优化方式包括:

  • 通过 sample weight 进行多目标优化[1];
  • 多个模型 stacking;
  • Shared bottom NN model[2,3,4];
  • MMoE 多目标模型[5]等。

方式 1 本质上并不是对多目标进行建模,而是把不同的目标折算成一个目标,并且相关的折算可能需要多次 AB 测试才能确定;方法 2 需要更多的模型参数,模型规模变大,线上 serving 需要更多的时间开销;方式 3 在基于深度学习的推荐模型中引入 shared bottom layer 来加强参数共享,通过多个目标的模型联合训练,减小模型的参数规模,同时防止模型过拟合,但是 Shared bottom NN model 能够成功的前提,是预测的目标之间的相关性比较高,对于差异性比较大的目标,简单粗暴的共享 bottom layer 反而容易造成不同任务之间的相互干扰。

MMoE 是方法 3 的一个改进版本,其思想是所有目标共享多个 experts,但是考虑到不同任务之间的特异性,为每一个目标设置一个 gate,用来控制不同目标选择每个 expert 的信号占比,类似于 weighted sum pooling 操作。MMoE 通过共享 experts 学习到不同任务的联系和差异,提高了每个任务的学习效率和质量,同时通过 gates 来平衡多个任务对 experts 信号的选择,不要求目标之间必须是高相关性的。

▐ MMoE 模型介绍

MMoE 模型的结构(下图 c)基于广泛使用的 Shared-Bottom 结构(下图 a)和 MoE 结构,其中图(b)是图(c)的一种特殊情况。

图片

  • Shared-Bottom Multi-task Model

如上图 a 所示,shared-bottom 网络位于底部,多个任务共用这一层,我们将其表示为函数 f。往上,K 个子任务分别对应一个 tower network,表示为图片,每个子任务的输出图片

  • Mixture-of-Experts

MoE 模型可以形式化表示为图片,其中图片图片是 n 个 expert network(expert network 可认为是一个神经网络)。g 是组合 experts 结果的 gating network,其输出是对不同 experts 的权重。

  • MMoE 模型: Multi-gate Mixture-of-Experts

MMoE 模型的思想是用 MoE 结构替换 shared-bottom 网络中的函数 f ,如上图 c 所示,可形式化表达为:图片, 其中 图片,输入是 input feature,输出是不同任务在所有 experts 上的权重。

MMoE 在躺平多目标优化实践

基于 MMoE 的灵活性及高可扩展性,我们选择 MMoE 作为躺平多目标优化模型,并对其进行了 4 个维度的优化和实验。

▐ 底层特征处理,引入局部激活单元

图片



在传统的 Embedding + MLP 模型中,首先将大规模稀疏输入特征映射到低维 Embedding 向量中,然后通过 pooling 转换为固定长度向量,最后再把它们连接在一起输入到 MLP 以学习特征之间的非线性关系。这样存在的问题是:将多个特征向量压缩到一个固定长度的表示向量来学习特定用户所有的兴趣表示,限制了模型的能力,使得模型很难从历史行为中提取用户变化的兴趣。参考 Deep Interest Network 模型[6],我们在 MMOE 底层特征向量处理中引入局部激活单元,提取用户跟当前内容相关的向量表示。

▐ 加入线性特征&线性结构

在深度模型中,主要通过学习到的低维度稠密向量实现模型的泛化能力,从而实现对未见过的内容进行泛化推荐。 在躺平多目标优化中,我们不仅需要模型具备泛化能力,同时也希望模型能够通过线性逻辑对模型泛化的规则进行修正。在如何引入线性逻辑对 MMoE 进行优化方面,我们实现了 5 个版本优化方案,其中第 4 种方案的实验效果最优:

  1. 线性模型输出 + MMoE 网络输出作为最终预测结果;
  2. 将线性特征输入到 MMoE 各任务 Tower 网络全连接层;
  3. 将线性特征输入到 MMoE 专家网络和门控网络;
  4. 在 3)的基础上,同时结合 1);
  5. 在 2)的基础上,同时结合 1)。

图片

▐ 多目标 Loss 权重调参

在多目标学习中,每一组 loss 之间的数量级和学习难度不一样,如何平衡多个 loss 得到较优的效果也是一个值得研究的课题。在比较简单的多目标组合中,一般通过调超参就可以;对于比较复杂的多任务 loss 之间的平衡,可以参考其他 loss 权重优化的方法[7],这也是我们的多目标模型后续优化和探索的方向。

在躺平多目标前期实践中,只有一跳点击和二跳点击两个目标,目标组合相对简单,做法是直接看这几个 loss 输出的值,将他们调整到几个 loss 平衡的状态,然后开始根据训练验证的曲线,调整一下相对的权重。在实验了多组相对权重后,发现对于目前躺平一跳点击率和二跳点击率多目标优化而言,相对权重是 1:1 的效果最优,ctr 和 cvr 预测的离线 AUC 分别提升 0.24% 和 6.01%;

▐ 三目标优化&结构瘦身

除了对用户的一跳和二跳点击行为进行建模,我们还把用户通过躺平频道进入商品详情页后的收藏加购等行为视作第 3 跳目标进行建模,引入了三跳相关的样本和特征,使用 MMoE 进行三目标优化。并且考虑到目前设计的 MMoE 模型实际上包含了 5 层深度神经网络,线上打分消耗时间较长,我们对模型进行合理减层减参的“瘦身”试验,最终将模型调整至 3 层深度,取得了较好的效果;

▐ 效果

我们将训练得到的多目标模型用于躺平频道的内容推荐和躺平内容外投场景的精排阶段,上线完整 AB7 天,线上 A/B Test 结果如下:

图片

MMoE 模型的引入及我们所做的相关优化实践使躺平频道的二跳点击率得到了较大提升,前期优化中一跳点击率稍微负向,主要是因为目前的 baseline 是只基于 ctr 优化的,引入 MMoE 多目标优化后模型的优化变成了对场景多个目标的综合优化,对比 ctr 的特化模型的效果略差,但是整体的多跳目标有大幅提升,这是符合预期的。

总结与展望

本文对 MMoE 模型在躺平多目标优化的实践进行了介绍和讨论。在综合考虑场景特点以及其他相关多目标优化方法的优缺点后,选择了 MMoE 模型对躺平频道场景用户行为和内容特点进行精排建模,并不断优化。线上 AB 结论证明了 MMoE 在躺平频道多目标建模的可行性以及相关优化的有效性。目前的 MMoE 模型主要应用于多跳点击率的优化,在后续的优化中,我们将考虑引入 GMV 相关特征和信息,进一步深入优化模型和提升场景最终 GMV,同时,正如上面提到的,后续我们也将考虑尝试其他的 Loss 权重优化方法,不断优化模型使其在场景落地的收益最大化。

参考文献

[1] Covington P, Adams J, Sargin E. Deep neural networks for YouTube recommendations[C]//

Proceedings of the 10th ACM conference on recommender systems. 2016: 191-198.

[2] https://arxiv.org/pdf/1706.05098.pdf

[3] Caruana R. Multitask Learning: A Knowledge-Based Source of Inductive Bias ICML[J]. Google Scholar Google Scholar Digital Library Digital Library, 1993.

[4] https://lumingdong.cn/multi-task-learning-in-recommendation-system.html

[5] Ma J, Zhao Z, Yi X, et al. Modeling task relationships in multi-task learning with multi-gate mixture-of-experts[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. ACM, 2018: 1930-1939.

[6] Zhou G, Zhu X, Song C, et al. Deep interest network for click-through rate prediction[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018: 1059-1068.

[7] Alex Kendall, Yarin Gal, Roberto Cipolla. Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics. CVPR, 2018.


本文地址:https://www.6aiq.com/article/1614731402021
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出