美团搜索粗排优化的探索与实践
总第528篇
2022年 第045篇
1. 前言
2. 粗排演进路线
3. 粗排优化实践
3.1 精排联动效果优化
3.2 效果性能联合优化
4. 总结
5. 附录
1. 前言
样本选择偏差:级联排序系统下,粗排离后的结果展示环节较远,导致粗排模型离线训练样本空间与待预测的样本空间存在较大的差异,存在严重的样本选择偏差。
粗排精排联动:粗排处于召回和精排之间,粗排需要更多获取和利用后续链路的信息来提升效果。
性能约束:线上粗排预测的候选集远远高于精排模型,然而实际整个搜索系统对性能有严格的要求,导致粗排需要重点关注预测性能。
2. 粗排演进路线
2016 年:基于相关性、质量度、转化率等信息进行线性加权,这种方法简单但是特征的表达能力较弱,权重人工确定,排序效果存在很大的提升空间。
2017 年:采用基于机器学习的简单 LR 模型进行 Pointwise 预估排序。
2018 年:采用基于向量内积的双塔模型,两侧分别输入查询词、用户以及上下文特征和商户特征,经过深度网络计算后,分别产出用户&查询词向量和商户向量,再通过内积计算得到预估分数进行排序。该方法可以提前把商户向量计算保存好,所以在线预测快,但是两侧信息的交叉能力有限。
2019 年:为了解决双塔模型无法很好地建模交叉特征的问题,将双塔模型的输出作为特征与其他交叉特征通过 GBDT 树模型进行融合。
2020 年至今:由于算力的提升,开始探索 NN 端到端粗排模型并且持续迭代 NN 模型。
3. 粗排优化实践
3.1 精排联动效果优化
3.1.1 精排结果列表蒸馏
3.1.2 精排预测分数蒸馏
3.1.3 特征表征蒸馏
3.2 效果性能联合优化
目前受限于线上性能而只使用了简单特征,未引入更加丰富的交叉特征,导致模型效果还有进一步提升的空间。 固定粗排模型结构的蒸馏会损失蒸馏效果,从而造成次优解[11]。
神经网络架构搜索:如上图7所示,我们采用基于 ProxylessNAS[12]的建模方式,整个模型训练除了网络参数外增加了特征 Masks 参数和网络架构参数,这些参数是可微分的,随着模型目标一起学习。在特征选择部分,我们给每一个特征引入一个基于伯努利分布的 Mask 参数 ,参见公式(4),其中伯努利分布的 θ 参数通过反向传播进行更新,终获得每个特征的重要度。在结构选择部分,采用了 L 层 Mixop 表示,每组 Mixop 包括 N 个可供选择的网络结构单元,在实验中,我们采用了不同隐层神经单元数的多层感知机,其中 N= {1024, 512, 256, 128, 64},同时我们还增加了隐藏单元数为 0 的结构单元,用于选择具有不同层数的神经网络。 效率建模:为了在模型目标中建模效率指标,我们需要采用一个可微分的学习目标来表示模型耗时,粗排模型的耗时主要分为特征耗时和模型结构耗时。
对于特征耗时来说,每个特征 fi 的延时期望可以被建模为如公式(5)所示,其中 是服务端打点记录的每个特征时延。 在实际情况中特征可以分为两大类,一部分是上游透传类特征 ,其延时主要来源于上游传输延时;另外一类特征 来自于本地获取(读取 KV 或者计算),那么每个特征组合的时延可以被建模为: 其中 和 表示对应特征集合的个数, 和 建模系统特征拉取并发度。
对于模型结构的延时建模可参见上图 7 右边部分,由于这些 Mixop 的执行是顺序进行的,因此我们可以采取递归的方式的计算模型结构延时,整个模型部分的耗时可以用后一层的 Mixop 来表达,示意图如下图 8 所示:
图8 左边是装配有网络架构选择的粗排网络,其中 表示第 层的第 个神经单元的权重。右边是网络延时计算示意图。因此整个模型预测部分耗时可以用后一层模型来表示,如公式(7)所示: 终我们把效率指标引入模型,终模型训练的 Loss 如下面公式(8)所示,其中, 表示精排网络, 表示平衡因子, 分别表示粗排和精排的打分输出。
通过神经网络架构搜索的建模来联合优化粗排模型的效果和预测性能,离线 Recall@150 +11PP, 终在线上延时不增加的情况下,线上指标 CTR +0.12%;详细工作可参考[13],已被 KDD 2022 接收。
4. 总结
粗排多目标建模:目前的粗排本质上还是一个单目标模型,目前我们正在尝试将精排层的多目标建模应用于粗排。
粗排联动的全系统动态算力分配:粗排可以控制召回的算力以及精排的算力,针对不同场景,模型需要的算力是不一样的,因此动态算力分配可以在不降低线上效果的情况下减小系统算力消耗,目前我们已经在这个方面取得了一定的线上效果。
5. 附录
传统的排序离线指标多以 NDCG、MAP、AUC 类指标为标准,对于粗排来说,其本质更偏向于以集合选择为目标的召回类任务,因此传统的排序指标不利于衡量粗排模型迭代效果好坏。我们借鉴[6]中 Recall 指标作为粗排离线效果的衡量指标,即以精排排序结果为 ground truth,衡量粗排和精排排序结果 TopK 的对齐程度。Recall 指标具体定义如下:
该公式的物理含义即为衡量粗排排序前 K 个和精排排序前 K 的重合度,该指标更加符合粗排集合选择的本质。
6. 作者简介
---------- END ----------
相关文章