TDM到二向箔:阿里妈妈展示广告Match底层技术架构演进

▐ 1. 背景

随着整个互联网行业的发展,各大互联网公司作为服务提供商,积累了越来越多能够服务用户的优质内容,如电商领域的各类商品、视频领域丰富的视频、直播等。而随着信息量的爆炸,算法技术作为连接内容和用户的桥梁,在服务质量的提升上发挥着至关重要的作用。随着业界在搜索、推荐、广告技术上多年的迭代积累,逐步形成了较为稳定的召回(匹配)、粗排、精排这一多阶段的系统架构,而召回模块及其相关的算法,在各类业务中处于链路最前端,其决定着整体服务质量的天花板。

就召回技术而言,其核心问题是如何从大规模的候选集中,找到一个足够优质且大小有限的子集供后链路做进一步处理。因此,召回阶段与其他模块的本质差异,在于其面对的是极大的全量候选集。业界在解决这一问题的过程中,经历了启发式规则类召回、协同过滤类召回、模型类召回等多个阶段。近年来,随着机器学习,尤其是深度学习技术的发展,学术界及工业界已经全面进入到了 model-based 召回算法的研究与应用阶段。目前,业界存在两种主流的模型召回解决思路:两段式解决方案和一段式解决方案。其中以向量检索为代表的两段式解决方案将模型结构限定为双塔结构,然后通过高效的大规模内积近邻检索来完成 Topk 查询。其主要问题是模型能力受到了较强的限制,因此模型能力天花板受限。为了突破模型结构的束缚,一些同时建模索引结构与模型的一段式召回方案被提出,其中以我们阿里妈妈展示广告团队此前提出的 TDM 系列算法为代表,通过显式建模索引结构来提供高效的剪枝能力,减少在线打分量进而承载复杂模型,打开了召回精度的天花板。

在持续的大规模召回算法探索与迭代过程中,我们逐渐发现,类似 TDM 的一段式解决方案,在具备高精度召回能力的同时,由于索引结构与模型训练的强耦合,导致离在线链路过于厚重,对维护、迭代以及快速的业务支持带来了比较大的挑战。因此在2021年,我们一直在思考的一个主题是:有没有一种更进一步的召回解决方案,能在支持复杂模型的同时,实现对模型训练与索引结构学习的解耦。基于这一理念,我们研发了二向箔算法体系,在保留复杂模型召回能力的同时,将索引学习和模型训练解耦,提供了轻量化的任意复杂模型召回解决方案。二向箔算法体系已在阿里妈妈展示广告业务中全量上线应用,成功支持了双十一大促,相关算法升级带来了信息流核心商业化场景 RPM+3.1%/CTR+2.4% 的业务效果提升。

▐ 2. 模型召回的形式化目标及主流解法

2.1 模型召回的形式化目标

召回模型技术由于其应用模式,天生具备“集合属性”,即在单纯的“预估”概念之上,还需要更进一步地基于预估结果从全量候选集中拿到优质子集。首先给召回模型技术的目标做一个简单的形式化定义:假定函数 为一个针对用户 和候选项 的价值度量函数,则召回目标可以定义为

其中 为全量候选集。总的来说,这一目标可以概括为:对于每一次请求,从候选集中找到给定价值度量下价值最高的一个子集。当然,在实际的召回系统与算法迭代中,也还存在一些启发式的召回模式如 i2i 召回,以及对于集合的多样性等指标要求等,本文暂不进行探讨。从上述的召回目标定义中不难发现,召回阶段的模型技术迭代,需要考虑两个重要的问题:1)对于召回模型而言,如何通过更好的网络结构、训练样本或loss设计,使得模型能更好地拟合或者反映真实的价值度量函数,即如何让模型预估 更接近 ground truth 的 ;2)当训练好的预估模型 给定时,如何得到更精准的 集合,即常规意义上的检索问题。

业界的召回模型技术发展,在根据上述召回目标进行优化时,迭代出了两种主流的解决思路。可将其概括为两段式的解决方案和一段式的解决方案,接下来会进行一个简单的介绍。

2.2 两段式解决方案

所谓两段式的解决方案,是将目标中的 部分和 训练部分完全分开来考虑,其代表做法是向量检索的模式,即通过特定的模型结构设计,将价值度量函数表达成用户表征向量与候选 item 向量内积计算的模式,然后通过高效的大规模内积近邻检索来完成 Topk 查询。针对向量内积的 KNN 检索,有不少通用高效且成熟的解决方案,如开源的 Faiss[1] 和阿里内部的 Proxima[2]。因此,对于两段式的召回方案,大家迭代的重点一般都聚焦在模型结构、训练样本、损失函数的迭代上,比如:MIND[3]、ComiRec[4]、CurvLearn[5] 等优秀的工作,都是在这一框架下往不同的方向做了一些尝试和突破,如用户多兴趣表征、内积之外的相似度量空间等。

这类两段式的召回解决方案,由于其对召回问题分阶段的建模思路非常清晰,且各阶段都有相对成熟的工具和方法来支持迭代,因此在实际系统中被广泛使用。但是对于这一类建模方式,在原理上存在两个不足:

1)第一阶段向量形式的 模型训练过程中,一般不会考虑第二阶段检索过程的精度损失,因此可能会导致近似近邻检索(ANN)的误差较大,这也是通常所说的两阶段目标不一致的问题。针对这一问题,业界有一些工作已经尝试解决,例如在模型训练阶段就把检索误差纳入考虑[6]等。但是在实际应用中,即使训练阶段不考虑检索误差,一些ANN检索工具如 Proxima[2] 一般都能将精度做到 95% 甚至更高。所以在实际应用中两个阶段目标不一致并不算是一个严重的问题;

2)由于 ANN 检索的需求, 模型结构最终需要被设计成用户向量与 item 向量之间直接计算的模式,而这一要求对模型能力造成了较大的限制。事实上,如果不考虑检索模式对模型结构的要求,召回模型结构设计与后链路的一些模型如点击率、转化率预估模型等,可能并没有太本质的差异,但正是由于向量结构限制的存在,使得召回模型能力的天花板受到了较大限制。虽然目前还没有发现严格的证明与推导,能够论证向量结构到底在多大程度上影响了模型能力,但很多的实践结果都表明了这一限制切实存在且影响很大。下图中,我们给了一个简单的实验数据验证,来说明模型结构限制对模型能力的影响程度。不难发现,当结构从内积升级成带 target attention 的 DIN 结构后,模型精度有了一个大的提升。

844558b0be23940a44f99c95bf3b8e60.png

2.3 一段式解决方案

鉴于两段式解法存在的目标不一致、模型结构受限的问题,业界在技术迭代的过程中,也发展出了一段式的召回解决方案,其中代表性的工作为我们团队之前提出的 TDM 系列算法[7-9]和字节跳动提出的 Deep Retrieval 算法[10]。所谓的“一段式”,是相较两段式的价值度量模型训练、Topk 检索分开考虑而言,直接面向检索目标来同时学习索引结构和检索模型。这类方法一个比较大的特点是需要定义“参数化的索引结构”,并在训练中和模型进行同步优化。像 TDM 中的树结构、DR 中的多层编码结构,以及索引结构中虚拟节点的 embedding,都属于索引结构参数的一部分。此外,在 TDM、DR 中,item 与树的叶节点、与最底层编码节点之间的挂载关系映射函数,同样属于索引结构参数的一部分,是需要通过训练过程来优化的。正是由于索引结构与模型联合优化的模式存

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值