总第548篇
2022年 第065篇
美团外卖推荐服务了数亿用户,通过持续优化用户体验和流量分发精准性,为用户提供品质生活,“帮大家吃得更好,生活更好”。对于“用户”,大家可能会有不同的理解,通常的理解是用户即是自然人。业界主要的推荐场景,如淘宝首页猜你喜欢、抖音快手 Feeds 流推荐等大部分也是这么认为的,在这些电商、短视频等业务中,用户无论何时何地使用推荐服务,他们的需求是大体统一的,商品、信息、视频等供给也是一致的。
面对以上这种三维模式,模型设计是非常棘手的。以往的模型设计,比如用户兴趣建模,或者朴素的多层神经网络无法应对这些复杂的用户、时间和地理环境纠缠在一起的情况。用户兴趣建模通常采用连续建模方法,通过注意力机制提取重要行为偏好信息。但是在用户行为丰富的情况下,模型很难对所有行为进行学习,并且在外卖场景只有一部分历史行为与用户的当次访问高度相关,连续的行为建模会削弱相关部分的信号。
此外,朴素的多层神经网络基于全部情境下的数据和标签进行训练,只能学习到整体的数据分布表现,在每个情境下很难达到最佳效果。针对这一问题,阿里 SIM4首先考虑了把行为中的重要相关信息搜索出来进行建模的方式,但他们所要解决的问题在于降低用户超长序列建模的离在线资源消耗,并没有在模型中引入情境特点;蚂蚁 ASEM216、腾讯 CSRec17等通过模型自动化选择不同场景专家网络进行共享或独立学习提升全场景或者多任务模型表现,但是这些工作都只专注于单一维度情境,并没有做更广泛的拓展。
针对无限细分的用户情境以及情境的不断拓展和演化,为解决以上挑战,我们提出“情境细分+统一模型”(Segmented and Unified Model)的建模思路。情境细分针对用户特定情境进行针对性建模提升推荐精准度,统一模型将多个相近用户情境进行知识共享和迁移解决情境拓展和演化的问题。
具体来说,依据 Cube 中的每个情境,可以从用户历史行为中检索出与当次访问最相关的行为,精确刻画当前情境下的用户偏好。此外,我们设计多个专家网络,让各个专家专注于学习细分情境下的数据分布,然后基于用户、城市、时段、是否周末等情境强相关特征来进行专家的挑选,不同情境可以学习到是否共享某个专家或者学习到与众不同的专家选择分布。对于新用户或者行为不够丰富的用户,借鉴 Cube 的概念,可以考虑从 Cube 中检索出近似情境,并根据近似情境检索出的行为作为用户在当前情境下的兴趣补充,同时对于情境化专家网络,通过模型设计让不同专家专注于自己情境的同时,针对本情境,利用其他情境知识进行知识迁移,这样缓解了新用户冷启动问题以及可能存在的数据稀疏问题。
该模型通过 Cube 检索出特定细分情境下的用户行为进行序列建模,并且通过专家网络模型自动化对不同情境参数进行学习,保持了模型统一,既能刻画情境的独特性,也能实现不同情境间的知识共享和迁移。具体的,在用户行为序列建模上,首先仔细考虑了细粒度行为特征对于外卖商家推荐的重要作用,并以此为基础,根据时间、空间场景对用户序列进行长序列多路情境检索;对于专家网络结构,则先针对不同入口情境建立基于 Attention 机制的多入口情境建模,随后探索了情境化稠密 MMOE 和稀疏 MMOE 模型,发现在外卖场景中,专家网络可以学习到不同情境、不同任务的差别,进而提升模型精度。
基于深度学习的方法在 CTR 预估任务中取得了巨大成功。早期,大多数工作使用深度神经网络来捕获来自不同领域的特征之间的交互,以便工程师可以摆脱枯燥的特征工程工作。最近,我们称之为用户兴趣模型的一系列工作,专注于从历史行为中学习潜在用户兴趣的表示,使用不同的神经网络架构,如 CNN、RNN、Transformer 和 Capsule 等。DIN1强调用户兴趣是多样的,并引入了注意力机制来捕捉用户对不同目标商品的不同兴趣。DIEN2指出,历史行为之间的时间关系对于建模用户的兴趣漂移很重要,并设计了一个带有辅助损失的 GRU 兴趣提取层。
但是,对于美团外卖,基于以上连续建模的方法,难以从用户历史行为中提取出与用户的当次访问情境高度相关的有效信息。MIMN3表明在用户兴趣模型中考虑长期历史行为序列可以显着提高模型的性能。但是较长的用户行为序列包含大量噪声,同时极大地增加了在线服务系统的延迟和存储负担。针对上述问题,SIM4提出把行为中的重要相关信息搜索出来。具体来说,在拿到需要被预估的商品信息后,可以像信息检索一样,对用户行为商品构建一个快速查询的索引。待预估商品的信息可以当做是一个 Query,从用户的所有行为中,查询与其相关的行为子序列。
不同于电商中的商品推荐形式,美团外卖推荐是以商家为主体,用户从进入商家到最终下单过程中具有更加丰富的细粒度行为,通过捕捉用户在商家中的细粒度行为,可以精细感知到用户差异化偏好,如注重品质商家的用户会更多查看商家/商品描述和评论,而折扣敏感度高的用户则会查看折扣信息、领取优惠券等。
工业实践中,用户行为序列特征往往包含商家/商品 ID、品类、价格等商家/商品表示特征,而在行为表示上除了用户到商家的点击之外,用户通过什么页面进入到商家点菜页、用户在商家点菜页中的细粒度行为,同样可以反映用户的偏好。因此,可以对用户从浏览商家到最终下单整个流程进行归纳分析,捕捉用户最细腻的行为并纳入模型,充分学习用户在外卖场景中重要的、最细粒度的行为及其所代表的意图偏好。
我们将用户从浏览商家到成单商品的全流程抽取出 70 种不同的 Micro-Behavior,总结归纳出四大步骤:定位商家、考察商家、挑选商品、结算提单。在归纳不同意图的 Micro-Behavior 时,综合考虑了该意图下 Micro-Behavior 的日均 PV、当日转化率、行为跳转路径以及页面展示信息,并剔除了日均 PV 覆盖率小于 1%的 Micro-Behavior,将相同意图的行为聚合到一起作为特征表示(比如评价 Tab 点击、评价标签点击和用户评价缩略图点击聚合成“查看评论”意图表示),最终抽象出 12 种不同意图的 Micro-Behavior,用来捕捉用户更深层次、更细粒度的兴趣。基于用户 Micro-Behavior 提炼出从进入商家到最终下单流程如下图 4 所示:
分别在用户实时(短周期行为)、历史(长周期行为)商家序列中引入 Micro-Behavior 信息。如下表所示,离线实验数据表明,引入的 Micro-Behavior 信息取得了比较明显的提升。最终,细粒度行为特征在线取得了 UV_RPM+1.77%,PV_CTR+1.05%的收益。
美团外卖上线至今,已经积累了丰富的用户行为数据。将如此丰富的行为信息引入到模型中,是近期工业界和学术界的热门方向,我们在该方向上也进行了一系列探索。
最初,我们直接将近三年的点击行为直接引入到模型中来,发现离线效果提升显著,但是带来的训练和推理的压力不可承受。在此基础上,借鉴了 SIM4,将候选商家的品类 ID 当作 Query,先从用户的行为序列中检索出相同品类的商家,再进行兴趣建模,离线取得了不错的收益。
具体的,尝试过使用二级品类和叶子品类来分别做检索,在检索后根据分位点进行最大长度截断的情况下,二级品类检索出来的序列平均长度大约为 X,而叶子品类因为品类划分过细,检索出来的序列平均长度大幅减少。根据离线实验评估,最终选择了使用二级品类进行检索,在离线取得了 CXR GAUC+0.30pp 的效果。对于检索条件中,像二级品类和叶子品类这种泛化性与精确性之间的 trade off,我们目前正在进行更进一步的探索。
为了进一步提升模型的效果,考虑到用户兴趣建模从 DIN 发展到 SIM,都是根据候选商家、商品的属性,从用户的行为历史中提取对该候选商家、商品的兴趣,这在传统电商场景下是行的通的,因为用户对某一商家、商品的兴趣基本不会随着他所处位置、所处时段改变(用户要买手机壳,不会因为他在家还是在公司有改变,也不会因为他的购物时段是在早上还是晚上而改变)。但是餐饮外卖相较于传统电商,正如前面的问题与挑战中提到的,其鲜明的 LBS 和餐饮文化特色构成多种多样的情境,用户在不同的情境下对于不同的商家、商品的偏好是不一样的,是会变化的。因此,除了建模品类偏好外,还要进一步建模用户的地理位置偏好和时段偏好。
对于时段偏好的建模尝试了两种检索方式:从用户的历史行为中,将与当前请求的 meal_time(根据业务将一天划分为早餐、午餐、下午茶、晚餐和夜宵)或 hour_of_day(行为小时时段)相同的商家检索出来。meal_time 划分的粒度更粗,检索出来的商家更多,从下表中也可以看到其离线结果更好,成为了建模时段偏好的最终选择。很明显,meal_time 检索和 hour_of_day 检索也存在泛化性与精确性之间的 trade off 问题。
最终,在离线取得了 CTR GAUC+0.30pp,CXR GAUC+0.52pp 的收益,在线上取得了 UV_CXR+0.87%,UV_RPM+0.70%,PV_CTR+0.70%,首购订单占比+1.29%的收益。可以注意到上述长序列的引入,不仅带来了效率的提升,还带来了新颖性的提升,分析发现通过建模用户更长期的兴趣,扩展了模型的视野,不再集中于用户的短期兴趣,能更好地满足用户口味“短聚集,长多样”的特性。
在后续的数据探查中,基于样本维度统计了二级品类 ID 检索序列、meal_time 检索序列和 distance<C km 检索序列的重合度情况。从下表可以看到,三者各自检索出的商家重合度确实非常的低,符合建模不同偏好的预期,也解释了为何三个序列叠加后,效果还是有增长的原因。
然而,当前三路检索合并的版本,虽然可以对用户的品类偏好、地理位置偏好和时段偏好进行有效的建模,但还是存在两个比较明显的缺陷。首先,各路检索序列中还是存在冗余信息,并且需要分别建模三个序列,带来的性能压力较大。其次,将情境割裂成一个个单独的维度进行建模,无法建模他们之间的联系,更真实准确的情况应该是对用户所处情境的不同维度进行统一建模。针对这两个问题,我们正在情境 Cube 的概念下,开展通过一个序列统一建模用户所处情境偏好的探索工作。
下文继续介绍长序列工程优化实践。长序列模型会为线上服务带来一系列工程挑战,序列长度变长极大增加了服务时数据传输成本与模型推理成本,需要针对这两个方面做专门优化。
数据传输优化:重复检索信息压缩。以 tag_id 检索为例,由于方案中采用的是较为粗的品类划分,tag_id 本身数量是非常有限,一次请求 batch 内候选商家所对应的 tag_id 具有非常多的重复。基于以上分析,在同一请求内检索时,只保留不重复的 tag_id 子序列特征,最终将整体传输数据压缩为之前的 1/7 左右,优化效果十分明显。
模型推理优化:
大部分工业界的 CTR 预估模型遵循传统 Embedding&MLP 范式,将用户兴趣向量、商家/商品表征和其他特征作为输入,通过朴素的多层神经网络学习特征、样本、标签之间的关系。另有学术界一些熟知的工作如 PNN5、DeepFM6、xDeepFM7、DCN8等方法,都在努力建模特征间共现关系、特征的特异性、特征的层次结构关系、样本之间的关系等信息,并且在公开数据集和部分特定工业场景下取得显著效果。而在 NLP 领域,2018 年 10 月,Google 发布 BERT9模型,刷新了 11 个 NLP 任务的最好水平,由此开启了 NLP“大炼模型”时代,引爆了业界的研究热潮。
专家混合(Mixture of Experts, MOE)模型被证明是通往容量更大、性能更强大的机器学习模型的有效途径。MOE 是基于分而治之的原则建立的,其中问题空间在几个神经网络专家之间划分,由门控网络进行监督。在 MOE 基础上,MMOE10提出一种新颖的多任务学习方法,在所有任务中共享专家子模型,使 MOE 结构适应多任务学习,在 Google 的大规模内容推荐系统取得显著收益。
美团外卖涵盖多个推荐入口,包括首页 Feed(主要流量入口),以及美食“金刚”、甜点“金刚”、夜宵“金刚”、下午茶等子频道。对于不同入口情境建模存在以下挑战:
离线实验上,我们采用全入口数据混合训练+入口 ID 特征的模型作为基线,尝试了 Multi-Task(为各个入口分别设置一个预估任务)、MMOE、STAR11等方法。由于用户在外卖各入口的消费行为存在互斥关系,且小入口的行为样本较为稀疏,因此直接采用多任务的方式效果较差,而引入 MMOE 会有一定的提升。与此同时,对比阿里的 STAR,该方法中各个入口拥有自己的独立网络参数,但未能捕获各个入口间的关系,在外卖推荐场景中提升有限。相比之下,AutoAdapt 在主入口和小的入口上都实现了较大的提升。
3.2.2 情境化稠密 MMOE
专家网络是情境化建模的主要手段之一,模型可以根据不同情境自动选择需要激活的参数参与推理达到整体更高的精度水平。我们发现在 Share-Bottom CTR/CXR 多目标结构基础上,引入 MMOE 结构可以带来显著的离线 CTR/CXR AUC 收益(如下表所示),可以发现当 Experts 数量达到 64 时,CTR GAUC 和 CXR GAUC 分别有 0.3pp 与 0.4pp 左右的提升。
引入大数量级 Experts 的 MMOE 结构可带来较显著的离线收益,但同时也会相应带来离线训练以及线上服务成本的增加,需要做效果与效率之间的权衡。我们在保持一定离线训练时长与在线 Latency 约束下,选择了 4Experts MMOE 版本作为新的基线模型,并做详细的探索,进行较为细致的优化,包括:
最终,情境化稠密 MMOE 在线取得了 UV_RPM+0.75%,PV_CTR+0.89%,曝光新颖性+1.51%的收益。
在探索得到稠密 MMOE 最优版本之后,我们开始对稀疏 MMOE 模型进行探索。借鉴 Google 提出的 Sparse Expert Model,如 Switch Transformer 等,我们采用 Top K MMOE 方法进行尝试。其核心思想在于,每条样本根据 Gate 的计算结果,从所有 N 个 Experts 的输出中只选取 K 个(K<<N)进行后续计算。下表实验结果表明,采用 32Experts 对比 4Experts 在不同入口离线指标均有明显提升,同时 Top K MMOE(32Experts 选 4)与 FLOPs 相同 MMOE 4Experts 相比在不同入口都具有明显的优势,效果接近 MMOE 32experts。
得益于 Cube 概念,我们可以持续探索更多情境,以及优化该情境下的冷启动问题。例如用户处于异地时,可以通过比较情景 Cube 的相似性,找到近似情景下有较成熟行为的用户,并将其兴趣偏好及其行为迁移过来(实现中为每个情景建立一个活跃用户池),达到缓解冷启动阶段用户体验差的问题。
[3] Pi Q, Bian W, Zhou G, et al. Practice on long sequential user behavior modeling for click-through rate prediction. SIGKDD 2019.
[4] Pi Q, Zhou G, Zhang Y, et al. Search-based user interest modeling with lifelong sequential behavior data for click-through rate prediction. CIKM 2020.
[5] Qu Y, Cai H, Ren K, et al. Product-based neural networks for user response prediction. ICDM 2016.
[6] Guo H, Tang R, Ye Y, et al. DeepFM: a factorization-machine based neural network for CTR prediction. arXiv:1703.04247, 2017.
[7] Jianxun Lian, et al. xdeepfm: Combining explicit and implicit feature interactions for recommender systems. KDD 2018.
[8] Wang R, Shivanna R, Cheng D, et al. Dcn v2: Improved deep & cross network and practical lessons for web-scale learning to rank systems. WWW 2021.
[9] Devlin J, Chang M W, Lee K, et al. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv:1810.04805, 2018.
[10] Ma J, Zhao Z, Yi X, et al. Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-experts. KDD 2018.
[11] Sheng X R, Zhao L, Zhou G, et al. One model to serve all: Star topology adaptive recommender for multi-domain ctr prediction. CIKM 2021.
[12] Fedus W, Zoph B, Shazeer N. Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity. arXiv:2101.03961, 2021.
[13] Zoph B, Bello I, Kumar S, et al. Designing effective sparse expert models. arXiv 2202.08906, 2022.
[14] Chen Z, Deng H Wu Y, Gu Q. Towards Understanding Mixture of Experts in Deep Learning. arXiv:2208.02813, 2022.
[15] Zhou M, Ding Z, Tang J, et al. Micro behaviors: A new perspective in e-commerce recommender systems. WSDM 2018.
[16] Zou X, Hu Z, Zhao Y, et al. Automatic Expert Selection for Multi-Scenario and Multi-Task Search. SIGIR 2022.
---------- END ----------
发展大规模深度学习、图学习等技术,利用注意力机制、记忆网络、关系网络等模块,从跨多个时空场景的海量数据中理解用户需求、发掘用户兴趣,优化点击率、转化率模型,为用户展示更合适、更感兴趣的美食和商品;
| TensorFlow在美团外卖推荐场景的GPU训练优化实践
阅读更多