可解释集成模型改进商品检索
机器学习领域正飞速发展,新模型层出不穷,均承诺超越前代。然而,为特定用例评估新模型是一个耗时且消耗资源的过程。这对于像某中心的商店这样承诺为客户提供最先进技术、同时又全天候高负载运营的在线服务而言,构成了一个难题。
在今年的Web会议上发表的一篇论文中,我们提出了一个解决此难题的方案。我们建议不再使用单一模型——或一对模型(一个语言模型和一个图神经网络)——来处理客户查询,而是使用一个模型集成,其输出由梯度提升决策树进行聚合。
通过使用沙普利值来确定每个模型对GBDT最终决策的贡献程度,我们可以根据效用对模型进行排序。然后,根据可用的计算资源,我们仅保留那些在实际并行运行时最有用的模型。
一个尚未针对特定用例进行充分评估的新模型,可以在任何可用的数据上进行训练,然后添加到集成中,在那里它与现有模型一同接受检验。沙普利值分析可能会将其从集成中移除,也可能会确定新模型使某个现有模型过时。无论哪种方式,客户都能享受到当前最佳技术带来的益处。
我们使用内部的“购物查询数据集”测试了我们的方法,这是一个公开数据集。该数据集包含三种语言的数百万个查询-商品对,其中查询与商品之间的关系已按照ESCI方案(精确匹配、替代品、互补品或不相关)进行了标注。我们在数据集上训练了三个大语言模型和三个图神经网络,然后使用三个不同的指标(准确率、宏观F1和加权F1)将它们与采用基于GBDT方法的六模型集成进行比较。在所有指标上,集成模型的表现都优于单个模型,且优势通常非常显著。
ESCI分类
历史上,信息检索模型是根据其返回结果的相关性来评估的;内部开发的ESCI方案是一种更细粒度的替代方案。给定一个查询,一个商品可以被分类为:精确匹配(查询中指定的品牌和/或型号)、替代品(同一产品类别但来自不同制造商的产品)、互补品(互补产品,例如查询手机时的手机壳)或不相关(一个重要的分类,因为它适用于给定查询中的绝大多数产品)。
执行ESCI分类主要有两种方法:一种是微调语言模型,其输出完全基于产品描述和查询的文本;另一种是使用图神经网络,它可以考虑产品和查询之间已观察到的关系。
例如,在内部商店中,会构建图谱来捕获不同类别的产品倾向于一起购买、哪些产品在单个搜索会话中倾向于一起被查看、哪些产品最常与特定查询词相关联等信息。
GNNs以迭代过程将图谱信息映射到表示空间,首先嵌入每个节点的关联数据;然后创建结合节点、其邻居以及它们之间关系嵌入的新嵌入;依此类推,通常跨越一到四跳的距离。因此,在ESCI任务上微调的GNNs会考虑查询和产品描述语义内容之外的信息。
模型集成
研究发现,结合微调后的LLMs和GNNs的输出通常在ESCI任务上能获得最佳性能。在WebConf论文中,描述了一种扩展集成中模型数量的通用方法。
各独立模型的输出由GBDTs进行聚合。决策树是一种做出一系列二元决策的模型——通常是判断特定数据特征的值是否超过某个阈值。树的叶节点与特定的数据分类相关联。
为了计算集成中每个模型对最终输出的贡献度,使用了基于博弈论中沙普利值概念的沙普利加性解释方法。通过沙普利值,可以系统地改变GBDT模型的输入,并跟踪每次变化如何通过决策树传播;沙普利值形式化提供了一种利用该数据来估算所有可能输入下聚合效应的方法。
这反过来又允许计算集成中每个模型对GBDT模型输出的贡献程度。在此基础上,可以选择仅将最有用的模型纳入集成——数量上限取决于我们认为计算上可行的阈值。
当然,运行一个模型集成比运行单个模型(或一对模型,一个语言模型和一个GNN)在计算上更昂贵。但在论文中,描述了几种提高集成模型效率的技术,例如缓存先前见过的查询-商品对的标签以供后续重用,以及为频繁检索商品周围的邻居预计算GNN嵌入。实验表明,集成模型对于实时部署应该是可行的。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)