带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(5) https://developer.aliyun.com/article/1246959?groupCode=taobaotech
实验分析
评测指标
对于预训练模型的效果,通常是用下游任务的指标来评测,而很少用单独的评测指标。但这样一来,预训练模型的迭代成本会比较高,因为每迭代一个版本的模型都需要训练对应的向量召回任务,再评测向量召回任务的指标,整个流程会很长。有没有单独评测预训练模型的有效指标?我们首先尝试了一些论文中的Rank@K,这个指标主要是用来评测图文匹配任务:先用预训练模型在人工构造的候选集中打分,再计算根据分数排序后的Top K结果命中图文匹配正样本的比例。我们直接将Rank@K套用在Query-item匹配任务上,发现结果不符合预期,一个Rank@K更好的预训练模型,在下游的向量召回模型中可能会获得更差的效果,无法指导预训练模型的迭代。基于此,我们将预训练模型的评测与向量召回模型的评测统一起来,采用相同的评测指标及流程,可以相对有效地指导预训练模型的迭代。
Recall@K:评测数据集由训练集的下一天数据构成,先将同一个Query下不同用户的点击、成交结果聚合成 ,再计算模型预测的Top K结果 命中 的比例:
在模型预测TopK结果的过程中,需要从预训练/向量召回模型中提取Query和Item向量,使用近邻检索得到一个Query下的Top K个Item。通过这个流程模拟线上引擎中的向量召回,来保持离线与在线的一致性。对于预训练模型来说,这个指标与Rank@K的区别是:在模型中提取Query和Item向量进行向量内积检索,而不是直接用模态融合后的模型来打分;另外,一个Query下不仅要召回与之匹配的Item,还要召回这个Query下不同用户的点击、成交Item。
对于向量召回模型,在Recall@K提高到一定程度后,也需要关注Query和Item之间的相关性。一个相关性差的模型,即使能提高搜索效率,也会面临Bad Case增加导致的用户体验变差和投诉舆情增多。我们采用与线上相关性模型一致的离线模型,评测Query和Item之间以及Query和Item类目之间的相关性。
带你读《2022技术人的百宝黑皮书》——多模态技术在淘宝主搜召回场景的探索(7) https://developer.aliyun.com/article/1246957?groupCode=taobaotech