©作者 | 一朵云
单位 | 浙江大学
研究方向 | 智能决策、强化学习
论文简介
工业级别的搜索推荐系统主要遵循召回、粗排、精排、重排的算法体系。为了满足粗排巨大的打分规模和严格的时延要求,双塔模型仍然被广泛使用。为了提高模型的效果,一些方案会额外使用精排的打分知识进行蒸馏。但仍有两大挑战亟待解决:
如果不把时延真正作为一个变量放到模型中进行联合优化,效果必然大打折扣;
如果把精排的打分知识蒸馏给一个手工设计的粗排结构,模型的表现也肯定不是最优。
本文使用了神经网络框架搜索(Neural Architecture Search)的方法,开创性地提出了 AutoFAS(Automatic Feature and Architecture Selection for Pre-Ranking System)的算法框架,统一解决了以上两个问题:在给定时延限制和精排打分知识指导的条件下,同时选出最优的粗排特征与结构组合方案,达到了 SOTA 的效果。本方案已经在美团主搜场景下全量使用,取得了明显的线上提升。
AutoFAS 是第一个在搜索、推荐和在线广告系统中同时学习特征和结构的算法。 在预排名阶段实现了有效性和效率之间的平衡。AutoFAS 是在神经结构搜索(NAS)的基础上,配备了美团的排名模型引导奖励,来搜索与后续排名 teacher 最一致的预排名 students。
AutoFAS: Automatic Feature and Architecture Selection for Pre-Ranking System
论文链接:
https://arxiv.org/abs/2205.09394
收录会议:
推荐系统链路&ranking model的发展
▲ copy from https://www.bilibili.com/video/BV1ne4y1v7mC/?spm_id_from=333.999.0.0&vd_source=d8947ac1780a72ae004cf0df7365d16b
经典的推荐系统链路主要包括四个部分: 匹配、预排名、排名和再排名 。匹配阶段将用户活动历史中的事件以及当前的查询(如果存在的话)作为输入,并从大型语料库(数百万)中检索出一个小的项目子集(数千)。这些候选项目的目的是与用户普遍相关,具有适度的精度。 然 后,预排序阶段提供广泛的个性化,并过滤出具有高精确度和召回率的前几百个项目。 一 些公司可能会选择结合匹配和预排名阶段,如 Youtube。
然后,复杂的排名网络根据所需的目标函数,使用描述项目和用户的丰富特征集,为每个项目分配一个分数。 得分最高的项目被呈现给用户, 如果没有重新排名,则按其得分排名。 一般来说,预排名与排名的功能相似。 最大的区别在于问题的规模。 在预排名系统中直接应用排名模型将面临计算能力成本的严峻挑战。 如何平衡模型性能和计算能力是设计预排位系统的核心部分。
当前有很多关于 ranking models 的工作,但是针对 pre-ranking 的模型很少。发展 pre-ranking 系统的最大障碍是计算的限制。以美团的搜索引擎为例。pre-ranking 系统需要打分的 candidate 规模达到数千,是后续排名模型的五倍。然而,对延迟的限制更加严格,例如最多只有 20 毫秒。具体来说,大约一半的延迟是由特征检索引起的,另一半是用于模型推理。因此,需要对特征和架构都进行优化,以达到最佳效果。
由于深度学习的成功,以表征为重点的架构替代逻辑回归成为 pre-ranking 系统中的主导。然而,这些以表征为重点的方法未能利用交互式特征,结果是计算效率较低,但对表达能力非常有效。
最近,COLD 首次将交互式特征引入预排位模型中。然而,COLD 中的计算成本不能以端到端的方式与模型性能共同优化。PFD 从一个不同的角度处理这个问题,从更精确的教师中提炼出互动特征。但是 PFD 没有考虑到计算成本。目前最先进的方法 FSCD 提出了一种基于特征复杂性和变异性放弃的可学习特征选择方法。
受到 NAS 的启发,作者通过设计一种新的 pre-ranking 方法来实现有效性和效率之间的更好权衡。
NAS (Neural Architecture Search)
神经结构搜索(Neural Architecture Search,简称 NAS)是一种自动设计神经网络的技术,可以通过算法根据样本集自动设计出高性能的网络结构,在某些任务上甚至可以媲美人类专家的水准,甚至发现某些人类之前未曾提出的网络结构,这可以有效的降低神经网络的使用和实现成本。更加详细的内容可以查看 (神经网络结构搜索)。
搜索和推荐系统中的 NAS 神经架构搜索(NAS)自 2017 年以来一直是一个活跃的研究领域。NIS 利用 NAS 来学习分类特征的最佳词汇量和嵌入维度。AutoFIS 利用 DARTS 技术将搜索有效特征交互的问题制定为一个连续搜索问题。AutoCTR 通过将有代表性的交互作用模块化为虚拟构件,并将其连接到直接无环图的空间中,搜索出最佳的 CTR 预测模型。
AMEIR 专注于自动行为建模、交互探索和多层感知器(MLP)调查。AutoIAS 统一了现有的基于交互的 CTR 预测模型架构,并提出了一个完整的 CTR 预测模型的综合搜索空间。然而,这些工作都没有关注预排序模型。搜索和推荐系统中的知识提炼 排名提炼首先采用了知识提炼的思想来处理大规模的排名问题,通过为学生模型生成额外的训练数据和未标记数据集的标签。
Rocket Launching 提出了一个相互学习式的框架来训练表现良好的轻型 CTR 模型。PFD 将知识从一个额外利用特权特征的教师模型转移到一个普通的学生模型。探讨了使用强大的教师集合来进行更准确的 CTR 学生模型训练。CTR-BERT 提出了一个用于 CTR 预测的轻量级缓存友好因子模型,该模型由使用跨架构知识提炼的双结构 BERT-like 编码器组成。
Pre-Ranking中的特征和架构选择
3.1 AutoFAS结构图
采用的是NAS中的可微分方法
▲ AutoFAS结构图
Motivation:共同建立 pre-ranking 模型和后续的 ranking 模型,这样排位模型的知识可以自动指导我们为 pre-ranking 模型找到最有价值的特征和架构。因此,我们不是单独训练预排位模型,而是与常规排位模型共同训练。
3.2 Search Space
如 AutoFAS 结构图中所示,左边是 ranking 的网络结构,右边是包含所有候选 pre-ranking 模型的 over- parameters 网络。这两部分共享相同的输入特征
。这里的特征主要包含了 {user features, item features, interactive features}。首先用所有的特征(M个)作为输入来训练一个标准的排名模型,然后将排名模型的大部分特征归零,以评估其重要性,选择最佳的特征组合。
在选择特征的同时,需要寻找最佳架构。
是一个包含不同候选操作的 building block。在本文中,O 包括“零算子”或具有各种隐藏单元的多层感知器(MLP)。这里,“零算子”是保持输入为输出的算子。一些参考文献也认为它是身份算子。(零算子允许减少层数)其他算子如 outer product 和 dot product 也可以类似地被抽象出来并整合到框架中,这有待于今后的探索。
为了构建包括每个候选架构的超参数化网络,我们不把每条边设置为明确的原始操作,而是把每条边设置为有 N 条平行路径的混合操作(Mixop), 表示为
。那么我们的超参数网络可以表示为
, 其中 L 为混合运算的总数。
3.3 Feature and Architecture Parameters
为了选择最有效的特征,我们引入了
实值掩码参数
,其中
是涉及的特征数量。与 [5] 对单个权重进行二值化不同,AutoFAS 对整个特征嵌入进行二值化。因此,特征
的独立掩码
被定义为以下 Bernoulli 分布。
这里 0s 和 1s 的 dimension 由特征
的 dimension 决定。独立的伯努利分布结果对每批实例进行采样。由于二进制掩码
参与计算图,特征参数
可以通过反向传播更新。
对于架构参数,将 Mixop i 的路径表示为:
,引入实值架构参数
。那么第 i+1 个 Mixop 的第 k 个输出为:
其中,多层感知机
与
有相同的计算单元, 可以被看作是 Mixop + 1 中的第 个运算符的长度。经过这种连续松弛,我们的目标是共同学习所有混合运算中的结构参数和权重参数。
除了准确性,在为现实世界的应用设计预排序系统时,延迟(不是 FLOPs 或嵌入维度)是另一个非常重要的目标。为了使延迟可分,我们将网络的延迟建模为神经网络架构的一个连续函数。
在我们的方案中,存在两个因素:特征相关的延迟和架构相关的延迟。从延迟的角度来看,特征可以进一步分为两类:从匹配阶段传递的特征和从内存数据集检索的特征,分别表示为 1 和 2。因此,我们有一个特定特征的期望延迟:
。
其中
是服务器可以记录的返回时间。那么
的梯度与架构参数的关系可以由此得到:
。那么网络的预期特征相关延迟可以计算如下:
这里
指的是
中的特征数量。
以及
反映了基础系统的不同并发性,可以根据经验来决定。
我们通过乘以一个比例系数 将这个预期的特征延迟纳入常规的损失函数中,这个比例系数控制着准确性和延迟之间的权衡。用于特征选择的最终损失函数由以下公式给出。
我们通过乘以一个比例系数 将这个预期的特征延迟纳入常规的损失函数中,这个比例系数控制着准确性和延迟之间的权衡。用于特征选择的最终损失函数由以下公式给出。
同样地,对于 Mixop + 1 的架构延迟,我们可以通过递归计算其预期延迟
。由于这些操作在推理过程中是按顺序执行的,因此预排序网络的预期延时可以表示为最后一个 Mixop 的预期延时。
知识提炼,即把教师模型的概括能力转移到学生身上的过程,最近受到研究界和工业界越来越多的关注。虽然传统的监督学习中的 hot 标签约束了 0/1 标签,但教师模型的软概率输出对学生模型的知识有贡献。请记住,目前的 Knowledge distillation 方法在预排序系统中的一个缺点是,它只将教师的知识转移给具有固定神经结构的学生。
受 AKD 的成功启发,我们建议在架构搜索过程中增加一个提炼损失。具体来说,我们采用排名模型产生的软目标作为监督信号来指导每个 Mixop 中的选择。因此,架构选择的最终损失函数被给出。
其中 是预排名网络,
表示已知硬标签 的预排名纯损失。() 和 () 分别是排名和预排名网络的最终 softmax 激活输出。
2 是控制精度和延迟之间权衡的比例因子。Loss1 和 Loss2 一起被优化,形成了最终的多任务损失函数:
。
Loss1 和 Loss2 之间没有平衡超参数的原因是 Loss1 只优化了特征掩码参数,而 Loss2 优化了预排序模型中的架构参数和权重。我们选择这种策略是因为从经验上看,它比没有梯度块的模型要好(特征参数和架构参数都可以由 Loss2 优化),如表 5 所示。
Loss1 和 Loss2 之间的关系是:Loss2 的输入是掩码嵌入,其中掩码参数在训练期间由 Loss1 不断优化。为了得出最终的预排序架构,我们保留每个 Mixop 中最强的特征和运算符,并从头开始重新训练。AutoFAS 的整个训练过程如算法 1 所示。
目前还没有公开的数据集用于预排序任务。此前在这个领域的部分工作提出了他们自己的数据集的结果。为了验证 AutoFAS 的有效性,作者在美团网的工业数据集上进行了实验。它是从手机美团应用的平台搜索系统中收集的。样本由印象记录构建,以“点击”或“不点击”作为标签。这个数据集包含了 2000 万用户的 100 多亿条展示/点击记录,以及 9 天内的 4 亿次 "点击"。
为了缓解预排名中的样本选择偏差,作者通过添加非显示的例子对这些印象样本进行预处理,这取决于后期排名模型中的样本顺序。训练集是由前 7 天的样本组成,验证集和测试集是由后2天的样本组成,这是工业建模的经典设置。
选择特征集的大小为 500,主要包括用户特征、物品特征和互动特征。为了建立架构空间,作者设置了 = 5 个 Mixops,包括多层感知器(MLP)的各种单元 {1024、512、256、128、64}。
为了能够在宽度和深度之间进行直接权衡,我们在其混合运算的候选集合中加入了零运算。这样,在有限的延迟预算下,网络既可以通过跳过更多的块并使用具有更多单元的 MLP 来选择更浅更宽,也可以通过保留更多的块并使用具有更少单元的 MLP 来选择更深更薄。特征和架构的联合搜索空间的大小可以近似为
。
我们首先在没有任何掩码的情况下训练我们的排名网络 = 600 万步,以获得输入特征的合理嵌入权重。然后,我们继续定期优化 Loss 与掩码参数 、架构参数 和预排名网络的权重。优化器是 Adagrad,学习率为 0.01,批次大小为 50。请注意,特征嵌入参数和排名网络中的权重在最初的 600 万步之后被固定。
在我们的设置中,像 COLD 这样的预排名模型的训练成本是 2 天,而 AutoFAS 则需要从头开始训练 3 天。在实践中,通过加载一个训练有素的排名模型,训练成本可以减少到 2 天,这也是工业界的常见情况。因此,与以前的 SOTA 方法相比,我们的 AutoFAS 方法不会增加很多训练开销。
在有效性测量方面,我们使用了三个流行的指标。AUC(曲线下面积)和召回率作为离线衡量标准,CTR(点击率)作为在线衡量标准。请注意,召回率的作用是衡量预排名模型和后续排名模型之间的一致程度。
对于系统性能的评估,我们使用的指标包括 RT(返回时间,衡量模型的延迟)和 CPU 消耗率指标。
本文报告的所有模型都运行在配备英特尔(R)至强(R)CPU E5-2650 v4 @ 2.20GHz(12核)和 256GB 内存的 CPU 机器上。
一般来说,较低的 RT 和 CPU 消耗意味着较低的计算成本。
5.3 BaseLines
5.4 实验结果
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读 ,也可以是学术热点剖析 、科研心得 或竞赛经验讲解 等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品 ,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬 ,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱: hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02 )快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」 也能找到我们了
进入知乎首页搜索「PaperWeekly」