facebook在2020年《Understanding Capacity-Driven Scale-Out Neural Recommendation Inference》提供了它们的可扩展inference方案。看下它的实现:

摘要

深度学习推荐模型已经发展到TB级别传统的服务方案——将整个模型加载到单个服务器上——无法支持这种规模。支持这种规模的一种方法是采用分布式服务,即分布式推理,它将单个大模型的内存需求分散到多个服务器上。

这项工作为系统研究社区开发新型模型服务解决方案迈出了第一步,鉴于巨大的系统设计空间。大规模深度推荐系统是一种新颖的工作负载,并且至关重要,因为它们在数据中心中消耗了高达79%的推理周期。为此,这项工作描述并刻画了使用数据中心服务基础设施进行扩展的深度学习推荐推理。这项工作特别探讨了延迟受限的推理系统,与最近其他工作中以吞吐量为导向的训练系统进行了比较。我们发现,分布式推理的延迟和计算开销,主要是由于模型的静态嵌入表分布输入推理请求的稀疏性造成的。我们进一步评估了三个类似DLRM模型的嵌入表映射策略,并详细说明了在端到端延迟、计算开销和资源效率方面具有挑战性的设计权衡。总体而言,我们观察到在数据中心规模的推荐模型以分布式推理方式提供服务时,延迟开销仅为边际——在最佳配置情况下,P99延迟仅增加了1%。延迟开销主要是由于所使用的商用基础设施和嵌入表的稀疏性造成的。更令人鼓舞的是,我们还展示了分布式推理如何能够提高数据中心规模推荐服务的效率。

I. 引言

深度学习推荐模型在提供高质量互联网服务方面发挥着重要作用,并且最近开始受到系统社区的关注 [1]–[8]。推荐工作负载已被证明在2019年占Facebook数据中心所有AI推理周期的79% [1],并被纳入MLPerf基准测试工作 [9]–[11]。这一数据中心工作负载的重要性值得对其性能、吞吐量和可扩展性给予更多关注。这类独特的深度学习工作负载面临的一个主要挑战是其规模的不断增长。图1展示了Facebook推荐模型的增长率。此外,百度(Baidu)和谷歌(Google)也部署了规模为1-10TB的模型 [12]–[14]。这种增长是由对更高准确性的需求推动的。众所周知,增加模型参数数量可以提高泛化能力和准确性,并且在更大的训练数据集下是实现最佳结果的必要条件 [15]–[20]。这一现象在多种深度学习应用中普遍存在,包括具有大嵌入表的语言模型——类似于深度推荐系统。本文不探讨增加模型规模对准确性的影响,而是专注于支持生产环境中大规模深度推荐模型的系统和性能影响。

图片名称

图1

深度推荐模型的规模(以及内存容量)主要由嵌入表(embedding tables)决定,嵌入表表示学习到的稀疏参数。每个稀疏输入通过哈希函数映射到其对应嵌入表中的一个或多个索引,每个索引映射到一个向量。索引到的嵌入向量随后通过池化操作(如向量求和)进行组合。增加哈希桶大小和嵌入表数量可以提高嵌入捕获的信息量,从而直接提升推荐模型的准确性,但这也会导致内存占用的相应增加 [21]。减少哈希桶大小可以限制模型规模,但必须谨慎操作以保持模型准确性。

随着大型推荐模型的内存需求超过单个服务器的内存容量,需要解决方案来限制模型规模或增加有效内存容量。模型压缩技术可以用于限制模型规模,但可能会降低模型准确性 [22]。增加DRAM容量也是一种方法,但在超过个位数TB范围后无法扩展。即使如此,支持大容量内存也需要更大的服务器机箱。另一种解决方案是从更高容量的存储设备(如固态硬盘SSD)中按需分页加载模型,但这需要快速的SSD来满足延迟要求。

在数据中心中,额外的硬件需求是不可取的,因为这会增加管理异构资源的复杂性。例如,具有特殊配置的集群在高活动期间无法轻松扩展资源,或在低活动期间无法高效缩减资源。这对于受昼夜流量模式影响的工作负载尤其明显 [23]。与上述方法相比,分布式服务范式可以在现有基础设施上实现,通过将模型拆分为独立子网络并在通用CPU平台上运行。当然,这种方法并非没有权衡。额外的网络延迟、网络负载以及对额外计算节点的需求都会随之而来。然而,在大型同构数据中心中,与定制化、非常规硬件平台相比,部署和扩展这些资源更为容易。

因此,我们为研究社区提供了深度学习推荐系统分布式推理的详细描述和特征分析。这是应对模型规模增长挑战的首个可扩展解决方案,并为进一步优化提供了基线系统。值得注意的是,它与最近以吞吐量为导向的训练系统不同,后者没有推理服务中的延迟限制 [12], [15]。该实现基于真实输入和缩放的深度学习推荐模型进行了特征分析。在此服务范式中探索了三种模型并行化策略。这一具有挑战性的新颖工作负载为系统研究社区在数据中心规模的机器学习领域提供了新的机会。

本文的贡献如下:

  • 据我们所知,这是首个描述大规模神经推荐推理分布式服务基础设施的工作。
  • 我们深入分析了分布式推理对端到端推荐服务延迟、尾部延迟和算子计算开销的影响。我们进一步研究了通过模型分片(sharding)进行嵌入表放置的影响,并将研究结果置于数据中心服务环境的背景下。
  • 最后,我们设计了一个跨层的分布式检测框架,用于性能调试和优化分析,以量化远程过程调用(RPC)服务和机器学习框架的性能开销。

本文的结构如下:第二部分简要介绍深度学习推荐系统。第三部分描述分布式推理的应用和实现,特别关注用于生成分布式模型的分片策略。第四部分描述了用于收集工作负载测量的自定义跟踪框架。第五部分提供了我们特征分析中使用的模型、平台和输入的详细信息。第六和第七部分展示了我们的特征分析结果,并将其置于数据中心服务环境的背景下。我们为系统设计者提供了指导和建议。第八部分讨论了相关工作。最后,第九和第十部分总结了我们的结论。

II. 大规模推荐推理

推荐任务是从一组产品或内容中为用户推荐或建议可能感兴趣的项目。例如,服务可以根据用户明确喜欢的内容和隐式消费的内容推荐新的视频片段、电影或音乐。模型的准确性是衡量用户对推荐结果的兴趣和满意度的抽象指标。传统上,基于邻域的技术(如矩阵分解)通过提供基于与其他用户的相似性或偏好项目的相似性的推荐,取得了良好效果 [24], [25]。然而,最近的推荐系统使用深度神经网络将各种稠密(dense)和稀疏(sparse)输入特征组合成一个更通用的预测模型 [1], [3], [26]–[29]。稠密特征的一个例子是用户的年龄;稀疏或分类特征的一个例子是用户喜欢的网页,模型的输出是候选项目输入的排名。图2a展示了这种深度学习推荐模型架构的简化概述。

图片名称

图2

目前,推荐推理主要在CPU上执行,与其他深度学习工作负载中流行的异构系统不同 [1], [2]。这是因为,与其他推理任务中使用的GPU和其他AI加速器相比,推荐模型中的(1)稀疏性,(2)推荐算法的不断演变,以及(3)延迟限制的吞吐量约束,使得推荐推理在大规模上难以高效地在AI加速器上运行。吞吐量(每秒查询数,QPS)是推理的关键目标,但延迟约束同样重要。为了提供令人满意的用户体验,推荐结果需要在规定的时间窗口内返回。这种严格的延迟约束定义了服务级别协议(SLA)[1]。如果无法满足SLA目标,推理请求将被丢弃,转而使用可能质量较低的推荐结果,这可能会恶化用户体验。为了在相应的SLA约束内最大化吞吐量,采用了各种技术,例如批量大小调整和模型超参数调优。

1) 稀疏特征操作

稠密特征通过全连接(FC)层进行处理,而稀疏特征(如图2a所示)在进一步特征交互之前会经过一次转换。稀疏输入被转换为访问ID列表或哈希索引,这些索引指向嵌入表。嵌入表的大小(桶的数量和向量维度)是一个可调的超参数。通常,每个稀疏特征有一个嵌入表,但为了节省内存资源,特征可以共享表。例如,在一个N × M的表中,嵌入维度为M,具有K个索引的稀疏特征输入将生成K个长度为M的嵌入向量。池化操作(如求和或拼接)将沿第一维度折叠矩阵,生成1 × M或1 × (MK)的结果,用于特征交互。在本工作使用的Caffe2框架中,嵌入表操作符称为SparseLengthsSum(SLS)。通常也将相关操作符家族称为SLS。由于可能的输入数量巨大,嵌入表的大小受到限制,可能会发生哈希冲突。例如,一个维度为32的FP32嵌入表,用于30亿唯一用户,将消耗超过347GB的内存。为了在单个服务器上可行地使用,需要减小表的大小。

2) 模型规模的显著增长与大嵌入表

为了提高模型准确性并利用稀疏特征中丰富的潜在信息,深度学习推荐模型的规模迅速增长,如图1和最近的研究所示 [12], [14]。嵌入表主导了推荐模型的大小,并推动了模型规模的显著增长。尽管这种增长迅速,但它仍然受到内存容量需求相应增加的限制。为了进一步提高推荐模型的准确性,嵌入表的总容量已经增长到无法在单个服务器节点上支持的程度,这促使了分布式服务范式的需求。

III. 分布式推理

这是首个详细描述分布式神经网络推理的工作,针对深度推荐系统的独特目标和特性。由于这一初始实现更注重可部署性和可扩展性,而非性能与效率,因此在系统设计空间中存在许多优化机会,包括算法、软件、微架构、系统配置和任务映射等方面。因此,在本节中,我们为研究社区提供了通用系统设计和结构的概述。至少,神经推荐系统的分布式推理解决方案必须实现以下目标:(1)支持更多种类和更大数量的稀疏特征;(2)支持更大的嵌入表,即更大的嵌入维度、更少的哈希冲突和/或更少的压缩。

A. 分布式模型执行

假设深度学习模型可以表示为有向控制和数据流图。分布式模型简单地将神经网络划分为多个子网,每个子网可以独立运行。将每个子网独立对待提供了部署中的灵活性,因为用于服务模型的基础设施已经存在。图2b展示了这种划分的示例。传统上,这被称为模型或层并行。

1) 模型分片

我们将每个独立的子网称为一个分片(shard),而创建分片的过程称为分片化(sharding)。分片化在训练之前和之后都会进行。在训练之前,生成参数服务器分片以保存分布式训练的模型参数。在训练之后,模型发布期间,参数会根据预先的划分阶段从参数服务器重新分片并序列化到相应的推理分片。在此阶段,还会执行其他模型转换(例如量化),并且所有训练元数据都已可用于分片决策。训练后直接重新分片避免了重新加载和重新分片TB级模型所需的额外存储、计算和复杂性。

在图2b中,主分片执行所有稠密层,而任何划分的子网都被自定义的远程过程调用(RPC)操作符取代,这些操作符调用远程分片。只有稀疏操作符(如SLS)及其嵌入表被放置在远程分片上。这种启发式方法直接解决了嵌入表带来的内存限制,并保留了主分片上的计算密度。因此,远程分片也被称为稀疏分片。图3展示了这种方案的示例分布式跟踪,其中主分片(位于顶部)在每个网络中执行大部分计算。

图片名称

图3

由于嵌入表的巨大规模,单个表也可以被划分到多个分片上,如图2b所示。在这种情况下,稀疏特征ID会根据哈希函数拆分并发送到相应的RPC操作符。这是通过使用简单的模运算符将嵌入表行划分到多个分片上实现的。服务基础设施限制了分片之间不能存在图循环,因此每个分片都是无状态的,以避免进一步的复杂性。这一限制还在服务环境中提供了更大的灵活性,因为分片可能会失败并需要重启,或者可能需要添加副本。

2) 服务分片

分布式推理需要一个额外的特殊远程过程调用(RPC)操作符,它取代主分片中的子网并调用其相应的稀疏分片,如图2b所示。这种方案为大规模模型提供了直接的横向扩展支持。推理请求被发送到加载了主分片的服务器,当遇到RPC操作符时,会向相应的稀疏分片发出后续请求。所有分片上的推理服务由RPC服务处理程序(如Thrift或gRPC)和机器学习框架(如Caffe2、PyTorch或TensorFlow)组成 [30]–[32]。每个分片运行一个完整的服务处理程序和ML框架实例。

这种分布式架构支持与非分布式推理相同的复制基础设施。分片根据其负载和大规模部署的资源需求进行复制。例如,需要更多计算资源以满足QPS要求的分片将通过集群级管理程序在其集群上复制和部署副本。主分片和稀疏分片都运行完整服务堆栈的优势在于它们可以独立复制。每个单独的请求可以由与之前请求不同的机器组合处理,这进一步推动了无状态分片的需求。在我们的实验中未启用复制基础设施,因为使用了一组独立的服务器进行深入的每请求开销特征分析和分析。关于分布式推理对复制的预期影响和交互的讨论包含在第七节中。

B. 容量驱动的模型分片

最优的模型分片是一个具有挑战性的系统问题,因为配置数量众多且优化目标各异。虽然这一问题在训练背景下已被研究,但在推理背景下却带来了新的挑战。训练必须应对小批量大小和参数同步对准确性的影响,并旨在最大化单个实例上的吞吐量,该实例被输入大量数据 [33]。相比之下,数据中心推理必须在严格的延迟约束下应对不同的请求速率和大小,以及模型复制以满足这些需求的影响。此外,在推荐系统中,内存占用主要由计算稀疏的嵌入表主导。深度学习推荐推理的模型分片是为了支持大规模模型,因此我们将这一新挑战称为容量驱动的分片。

由于分片配置的数量众多,穷举搜索最优分片方案是不可行的。因此,我们使用启发式方法,这些方法依赖于模型架构,并包括对模型容量、计算资源和通信成本的测量或估计。简单来说,启发式方法应旨在最小化分片数量,因为更多的分片会消耗额外的计算和网络资源。我们在第六节中研究了这一假设的影响。启发式方法基于以下观察:
1) 稀疏层中使用的嵌入表占模型大小的绝大部分(> 97%)。
2) 稀疏层受内存和通信限制,而稠密层受计算限制。
3) 现有服务器基础设施无法支持稀疏层的内存需求,但可以支持稠密层的计算和延迟需求。
4) 深度推荐模型架构(如图2所示)可以并行执行稀疏操作符,这些操作符为后续的稠密层提供输入。

由于稠密层无法从分布式推理提供的额外计算或并行性中受益,因此我们的分片策略仅限于将稀疏层移动到远程分片。这是针对深度推荐模型架构的特定设计。图2显示,在嵌入表查找和池化之后,所有生成的嵌入向量和稠密特征在一系列特征交互层中组合。将交互层单独放置在自己的分片上会导致通信增加和计算密度降低。将该层与现有的稀疏分片放置在一起也会增加通信并违反无状态分片的约束。其他架构可能会从分片交互层中受益。例如,考虑一种模型架构,它为特定的嵌入表集提供了专用的特征交互层。这种架构可以将这些特征交互层与其相应的稀疏层分片,从而获得性能提升。尽管这是一种有趣的模型架构,但我们仅限于当前可用的模型,因此本工作选择专注于图2a中更传统的模型。

因此,分片稀疏层(1)直接解决了最大参数的容量问题,(2)有效地并行化了原本顺序执行的稀疏操作符,(3)通过隔离推理中受通信和计算限制的部分,实现了更好的资源分配。需要注意的是,推理传统上不是操作符并行的,因为操作符通常无法产生足够的工作量来抵消调度开销。额外的计算核心通过增加批处理级并行性来利用。

本工作评估了三种基于上述启发式的分片策略(表I)。这些策略应对了大规模深度学习推荐模型的新挑战:嵌入表的数量和大小各异、稀疏性的不均匀性以及实时服务环境的挑战。表I还展示了两种简单情况:(1)非分布式推理(单一分片)和(2)包含所有嵌入表的单一分片。

1) 容量均衡分片

一种直观的策略是将嵌入表均匀地分布在多个分片上。容量均衡分片确保每个稀疏分片具有相同的内存需求。这旨在最小化分片数量,目标是为单个服务模型实现最少的计算资源开销。

2) 负载均衡分片

每个稀疏特征表示为多热编码向量,该向量转换为嵌入表中的多索引查找和最终的池化操作。由于每个表的预期查找次数取决于特定特征及其在请求输入中出现的频率,容量均衡分片可能导致分片负载不均衡,从而执行显著不同的工作量。此外,查找次数与用于发送表索引的网络带宽成正比。这种总体不均衡可能导致某些分片成为关键路径瓶颈,与负载均衡分片配置相比,延迟会降低。

图3中展示的分布式跟踪示例说明了尽管网络延迟的不可预测变化也必须考虑,但一个稀疏分片可能会成为关键路径上的瓶颈。远程分片1和2是异步并行查询的。由于远程分片1执行了显著更多的工作,因此产生了更多的延迟开销。为了减少一个分片持续增加延迟的可能性,负载均衡策略根据嵌入表的池化因子(即预期查找次数)来放置嵌入表。池化因子通过从评估数据集中采样1000个请求并观察每个表的查找次数来估计。

3) 网络特定的装箱策略

推荐模型通常将用户特征和内容/产品特征分离到不同的网络中,以更有效地将用户-内容对批量处理 [1]。在本工作选择的模型中,用户网络的输出被输入到内容/产品网络中,因此它们必须顺序执行。图3展示了这一点,其中网络2依赖于网络1。当每个网络执行时,会调用单独的RPC操作符以访问其相应的嵌入表。如果表未按网络分组,则每个批次中可能会多次访问同一分片,以处理每个网络。这是不理想的,因为:1)在图3中,调用了三个RPC操作符,而如果按分片分组则只需调用两个(每个分片一个RPC);2)在数据中心环境中,服务器被复制以处理增加的请求时,无论哪个网络接收更多输入,两个网络的表都会被复制。

如果图3中远程分片1的服务器复制是由网络1的池化操作的高计算特性触发的,那么这种情况尤其不理想。网络2的所有嵌入表(可能被分片为数十GB)将消耗额外的、未充分利用的内存资源。为了解决这一问题并实现更高效的资源利用,我们评估了一种网络特定的装箱策略(NSBP),该策略首先按网络对表进行分组,然后根据给定的大小约束将它们装入“箱子”中。为了减少分片过程中消耗的数据中心资源,每个“箱子”最初是训练期间使用的现有稀疏参数服务器。如果参数服务器的“箱子”已满,则将其视为一个完整的分片。这减少了分片所需的网络带宽和计算编排。

C. 分布式推理实现

我们详细介绍了本工作中使用的定制开源框架。这为读者提供了一个具体的实现框架,以便理解我们的结果,并为使用其他框架实现提供指导。在本工作中,分布式推理构建在高度定制的Thrift和Caffe2变体之上,但该方法可推广到任何RPC或ML框架 [30], [31]。尽管PyTorch已经吸收并取代了Caffe2作为未来的最先进框架,但本工作中使用的Caffe2基础设施在两者之间是共享的。Thrift通过加载模型并将接收到的请求适当地拆分为推理批次来处理排名请求。我们使用了一个修改版的Caffe2,其中包含了发出Thrift请求的RPC操作符。对稀疏分片的中间请求通过通用服务发现协议进行路由。所有服务器间的通信通过以太网上的标准TCP/IP协议栈进行。模型在训练后被转换为分布式推理格式。一个自定义的分区工具使用用户提供的配置来分组嵌入表及其操作符,插入RPC操作符,生成新的Caffe2网络,然后将模型序列化到存储中。

IV. 跨层ML操作符和通信感知的特征分析

分布式推理的性能由系统多个层次的选择决定,特别是数据中心服务层(调度、发现和网络)、机器学习框架层以及机器学习操作符本身。跨这些层次测量工作负载对于理解开销、归因成本、优化目标组件以及做出高层系统设计决策非常重要。由于没有现成的分析工具可以执行这种跨层特征分析,我们构建了一个自定义的跨层分布式跟踪框架来测量分布式推理工作负载。

A. 通过分布式跟踪捕获工作负载

分布式跟踪是一种经过验证的技术,用于调试和调查跨依赖服务的性能问题 [34], [35]。我们利用这种技术来研究分布式推理基础设施的性能影响。在生产服务堆栈的多个层次中添加了自定义检测,以提供请求/响应序列化、RPC服务样板设置以及每个请求的模型执行的完整成本视图。

Thrift 和 Caffe2 都提供了检测钩子(instrumentation hooks)来捕获执行中的关键点,而服务处理程序则需要更侵入式的修改,尽管仍然保持轻量级。我们选择了源代码检测而非其他二进制检测方法,因为它的开销更小,并且可以与 Thrift 的

1
RequestContext
抽象接口结合,以传播分布式跟踪的上下文数据。在每个跟踪点,特定于层的元数据和挂钟时间戳(wall-clock timestamp)会被记录到一个无锁缓冲区中,然后异步刷新到磁盘。挂钟时间是首选,因为它的顺序有助于实现有用的跟踪可视化。此外,大多数时间跨度(span)较小且是顺序的,这使得挂钟时间可以作为 CPU 时间的代理。每个请求的每个分片的 CPU 时间也会被记录下来,以验证这一说法。跟踪点随后会被收集并在离线状态下进行后处理,用于开销分析并重建事件的可视化,类似于图3。

图3展示了一个分布式跟踪的示例。分片通过水平切片分隔,主分片位于顶部处理请求。该示例跟踪表示单个批次的执行,但根据排名请求的数量和可配置的批次大小,通常会并行执行多个批次。此外,操作符的执行顺序是本工作中研究的推荐模型的典型顺序。操作符被调度为顺序执行——除非像 RPC 操作符那样明确是异步的——因为其他核心通过请求级和批次级并行性来利用。首先执行初始的稠密层,然后是稀疏查找,接着是后续的特征交互层和顶部的稠密层。

如第III-A节所述,每个稀疏分片都是一个完整的RPC服务,以实现部署的灵活性,因此与本地内联计算相比,会带来与服务相关的开销。图3展示了每个稀疏分片中未用于执行SLS操作符的时间即为延迟开销。在非分布式情况下,SLS操作符直接在主分片中执行。额外的延迟归因于网络链路、输入和输出的额外(反)序列化,以及准备和调度Caffe2网络所花费的时间。尽管存在这些开销,我们也看到分布式计算的异步特性使得稀疏操作符能够实现更多的并行化。这一特征分析的一个重要启示是,在增加并行化以减少延迟开销和减少并行化以降低计算和数据中心资源开销之间存在权衡。此外,这种权衡是特定于每个模型的。

B. 跨层归因

与简单的基于操作符的计算或端到端(E2E)延迟计数器相比,捕获跨层跟踪提供了计算和延迟的整体视图。图3中的示例流程展示了RPC序列化和反序列化以及软件基础设施的请求/响应处理带来的计算开销。每个线程在调度和记录异步RPC操作符时也会产生额外的计算。简单的端到端延迟开销可以轻松地在主分片中测量。然而,由于每个稀疏分片是并行执行的,延迟开销的归因更为复杂,涉及稀疏分片请求之间的重叠。为了简化分析,每个主分片请求中最慢的异步稀疏分片请求被用于延迟分解。使用相关稀疏分片中的网络、序列化和RPC服务延迟。由于不同服务器上的时钟可能存在偏差,网络延迟通过主分片中测量的未完成请求与稀疏分片中测量的端到端服务延迟之间的差异来计算。

V. 实验方法与工作负载

我们评估了生产级的分布式服务软件基础设施,以量化其对计算需求、延迟和分片效果的影响。本研究的目的是评估分布式推理作为支持大规模深度推荐模型的一种手段的实用性,并为这一新颖工作负载的进一步系统探索提供基础。在本节中,我们描述了为本研究选择的数据中心深度学习推荐模型以及底层硬件平台。

A. 推荐模型

本研究使用了三个类似DLRM的模型,分别称为DRM1、DRM2和DRM3,这些模型涵盖了一系列大型模型属性,例如不同的输入特征和嵌入表特性。前缀“D”用于区分这些分布式模型与最近深度学习推荐工作中讨论的特定模型 [1]–[3]。DRM*模型是众多可能的、不断演变的模型的一个子集,并因其稀疏特征特性而被选为分布式推理的早期候选。研究这些模型的目的是通过我们的跨层分布式跟踪分析为评估分布式推理的开销提供基础,它们不应被解释为像MLPerf基准测试套件 [9] 中包含的典型基准模型。

图4、图5和表II展示了大型神经推荐模型中的多样性。DRM1和DRM2有两个网络,每个网络都有其各自的稀疏特征,而DRM3只有一个网络。由于使用了每个模型的真实采样请求,推理请求的大小以及相应的计算和延迟在模型之间也有所不同。所有参数均以单精度浮点数形式存储,未进行压缩。第VII-D节讨论了压缩的影响。图4展示了每个模型的每操作符组归因,这是非分布式模型所有采样请求的简单平均值。DRM1和DRM2是最相似的架构,这反映在图4中。与DRM3相比,DRM1和DRM2具有更复杂的结构,这体现在额外的张量变换成本上。与本工作更相关的是,稀疏操作符在所有操作符中所占的比例远高于DRM3。具体而言,稀疏操作符在DRM1、DRM2和DRM3中分别占所有操作符时间的9.7%、9.6%和3.1%。尽管它们的计算比例较低,但稀疏操作符在DRM1和DRM2中占模型容量的>97%,在DRM3中占>99.9%。

图片名称

图4

为了将所有模型适配到单个256GB服务器上,大于给定阈值的嵌入表按比例缩小。这为表I中列出的所有分片策略(包括单一分片)提供了计算和延迟开销的直接比较。原始数据中心规模的模型要大得多。

图5展示了每个模型中嵌入表大小的分布。DRM1的大小为200GB,包含257个嵌入表,最大的表为3.6GB。DRM2的大小为138GB,包含133个嵌入表,最大的表为6.7GB。最后,DRM3的大小为200GB,包含39个嵌入表,最大的表为178.8GB。与DRM3相比,DRM1和DRM2展示了嵌入表大小的长尾分布,这解释了图4中显示的额外稀疏操作符成本。相比之下,DRM3由一个单一的大表主导。这些嵌入表是先前深度学习推荐工作中讨论的表的代表性版本 [1], [3], [9]。

图片名称

图5

对于DRM1和DRM2,评估了十种分片配置。表II描述了DRM1的分片策略结果。在负载均衡配置中,每个分片的容量差异高达50%,而在容量均衡配置中,每个分片的总容量相同。在容量均衡配置中,每个分片的估计负载差异高达371%(在8个分片的情况下,分片4和分片3之间),而在负载均衡配置中,每个分片的总池化因子相同。最后,网络特定的装箱策略(NSBP)将每个分片的表限制为单一网络。这在2分片配置中最为明显,其中每个网络被放置在自己的分片上。分片2消耗的内存容量是分片1的4.75倍,但估计仅执行分片1计算工作的6.3%。

由于分片超大表的技术挑战,DRM3仅使用NSBP策略进行分片,而未采用容量均衡或负载均衡策略。由于它由一个单一的大表主导,每增加一个分片,最大的表会进一步拆分,而较小的表则分组为一个分片。主导表的池化因子为1,因此只有跨越该表的一个分片会被访问。例如,给定四个稀疏分片,最大的表被划分为三个分片,其余的表分组为一个分片。每次推理仅会访问两个分片:一个用于分片的大表,另一个用于较小的表。

B. 测试平台

为了进行特征分析,我们使用了代表数据中心环境的两类服务器。SC-Large代表数据中心中的典型大型服务器,配备256GB DRAM和两个20核Intel CPU。SC-Small代表典型的更高效的Web服务器,配备64GB DRAM和两个时钟频率较低的18核Intel CPU,并且网络带宽低于SC-Large。由于SC-Small的DRAM容量有限,只能在该平台上测试部分配置。第六节中讨论的大部分结果是在SC-Large平台上收集的,以便与非分布式模型进行公平比较。关于服务器平台影响的讨论见第七节。

所有推理实验均在CPU平台上运行,如第二节所述。预留的裸金属服务器与生产推荐排名服务器位于同一数据中心,并使用相同的内部网络。它们在数据中心内的位置代表了典型的推理服务层。分片被分配到独立的服务器上,而不是共置。分片到服务器的映射在重复试验中随机分配。推荐排名请求从生产服务器中采样,并在测试基础设施上重放;去标识化的请求数据库在五天时间内均匀采样,以捕获请求中的昼夜行为。生产重放器在将请求发送到推理服务器之前对其进行预处理和缓存,使用与在线生产排名相同的网络基础设施。

在大多数实验运行中,推理的批次大小设置为生产默认值,其中每个批次代表要排名的推荐项目数量,并并行执行。在第六节中,请求被串行发送,以隔离固有开销。在第七节A部分中,请求被异步发送,以模拟更接近生产环境的更高QPS率。

VI. 分布式推理分片分析

在本节中,我们讨论了跨层分布式跟踪分析的结果。我们发现,在严格的延迟目标和数据中心环境的计算规模下,设计空间比简单地最小化分片数量更为复杂。我们的主要结论如下:

  • 增加分片数量可以通过有效增加模型并行性来管理RPC操作符带来的延迟开销。
  • 然而,增加分片也会因服务样板和调度而带来额外的计算成本。
  • 串行发送的阻塞请求在分布式推理中的P50、P90和P99延迟表现总是更差,这是由于简单的Amdahl定律限制。深度推荐系统的嵌入查找在端到端延迟中占比不够大,无法从增加的并行性中受益。
  • 与容量均衡策略相比,负载均衡策略对端到端延迟的影响不显著。网络特定的装箱策略(NSBP)在延迟方面表现最差,但在计算方面表现最佳。
  • 某些模型的工作量不足以并行化,因此无法从额外的分片中减少开销。

研究结果表明,分布式推理是服务大规模深度学习推荐模型的实用解决方案,而现有的服务范式无法支持这些模型。研究结果还暴露了对分片之间网络链路和支持通信管理的软件基础设施进行针对性分析的需求,因为稀疏分片上执行的工作量较少。结果表明,自动分片方法是可行的,但需要足够的分析数据,因为嵌入表行为的多样性和分片策略的复杂权衡。

A. 分布式推理开销

图6和图7展示了所有模型在串行阻塞请求下,所有分片策略的P50、P90和P99端到端(E2E)延迟和总计算时间开销。每种分片策略的描述见表I。请注意,单一分片是非分布式情况,而1分片是所有嵌入表位于一个稀疏分片上的最坏情况。P90和P99延迟是推理服务的典型指标,因为如果推理请求未在SLA目标内处理完成,则会返回准确性较低的备用推荐结果。为了完整性,P50也被展示出来,以显示中位情况,而不是平均值,因为先前的工作中讨论了长尾延迟 [1]。

图片名称

图6

图片名称

图7

B. 延迟开销

1) 增加分片可以减少延迟开销:所有模型的分布式推理配置均出现了端到端延迟增加,如图6和图7所示。稀疏操作符的并行化与异步RPC操作符的结合不足以抵消增加的网络延迟和软件层开销。对于DRM1和DRM2,延迟表现最差的配置是一个稀疏分片,这是不切实际的最坏情况,所有嵌入表都放置在一个分片上,没有并行化工作。令人鼓舞的是,在2分片负载均衡配置下,DRM1的P99延迟开销仅为7.3%。在8分片负载均衡配置下,这一开销降至P99的1%,P50中位情况的11%。这表明,通过简单的分片策略可以实现最小且实用的延迟开销。出乎意料的是,2分片NSBP策略在DRM1的P99延迟中表现最差,在DRM2中几乎表现最差。回顾表II,大部分工作(池化因子)被分配到一个分片上,因此在P99情况下,2分片NSBP配置实际上类似于1分片配置的边界情况。

2) 恒定开销最终占据主导地位:随着分片数量的增加,每个分片的工作量减少,网络延迟和额外的软件层开销占据主导地位,如图8所示。网络延迟通过主分片的未完成请求时间与稀疏分片的总端到端时间之间的差异来测量。这个时间包括内核数据包处理和转发时间。对于所有分布式推理配置,网络延迟均大于操作符延迟。分布式推理总是会损害这些模型的延迟。换句话说,如果稀疏操作符平均产生足够的工作量,那么模型将适合分布式推理。并且,在稀疏操作符工作量足够的情况下,延迟可以得到改善。这为系统架构师、模型架构师和特征工程师提供了一个多学科合作的机会,以平衡模型资源消耗、性能和准确性。

3) 分片影响取决于模型架构:对于DRM3,分片数量没有显著影响。DRM3由一个单一的大表主导,如图5所示,该表在分片之间拆分。即使在8分片的情况下,每个推理请求也只访问2个分片——一个分片包含较小的表,另一个分片包含分片后的最大表的条目,如图11a所示。

4) 深入的延迟层归因:图8展示了跨跟踪层的P50(中位数)延迟的细分。图8a显示,只有工作负载的嵌入部分在不同分片策略下显著受到影响,这是意料之中的,因为这部分工作负载被卸载到稀疏分片上。Dense Ops是指所有非嵌入表查找和池化操作的ML操作符;Embedded Portion是指所有嵌入表查找和池化操作符。对于单一分片配置,这是操作符本身的时间,而对于分布式推理配置,这是等待稀疏分片响应的时间,如图8a所示。RPC Serde指所有序列化和反序列化请求时间,而RPC Service是指严格未花费在Caffe2网络或序列化/反序列化上的其他时间。最后,Net Overhead是指网络中未用于执行操作符的时间,例如异步操作符的调度。对于分布式推理配置,嵌入部分延迟的影响反映了图6和图7中显示的开销。

图片名称

图8

在DRM1的单一分片配置中,嵌入部分仅占延迟的约10%,而在单分片配置中,这一比例为32%。在8分片负载均衡的最佳分布式推理情况下,嵌入部分占总延迟的15.6%。相比之下,DRM3的嵌入部分在分片增加时没有显著变化,因为只有主导的大表被进一步分区。DRM3的延迟和计算变化归因于缓存效应和与更多服务器节点通信的网络变异性。图8b进一步归因了嵌入部分内的延迟——每个条形堆栈代表图8a中的嵌入部分。对于P99,嵌入部分的重要性降低,而主分片上的稠密操作符和RPC反序列化开始占据主导地位,这是由于非常大的推理请求大小。这就是为什么P99延迟开销比P50更有利的原因。

C. 计算开销

理解计算开销对于最小化数据中心规模的额外资源需求至关重要。分片策略是系统设计者平衡延迟约束(如前一节所述)和影响资源需求的计算开销的一种方法。

1) 增加计算开销是减少延迟开销的权衡:高计算开销是灵活、易于部署系统的代价。如前一节所述,增加稀疏分片可以减少分布式推理的延迟开销。然而,计算开销也会增加,因为每个分片都会调用完整的Thrift服务。图9显示,对于所有模型,分布式推理总是会增加计算开销,因为需要额外的RPC操作。更重要的是,图9表明计算开销与RPC操作的数量成正比。NSBP策略的计算开销最小,因为它执行的RPC操作最少。回想一下,NSBP策略限制每个分片不混合来自不同网络的嵌入表,因此每个分片在每次推理中仅被调用一次。对于多个网络,每个网络的并行化程度较低。相比之下,其他分片策略可能会更多地并行化每个网络,从而调用更多的RPC操作,导致整体计算开销增加。

图片名称

图9

2) 计算开销影响数据中心资源:当计算开销发生在主分片上时,问题尤其严重,因为它会增加计算驱动的复制和资源需求,以处理相同的QPS。当主分片上发出RPC操作所需的计算开销超过通过卸载嵌入部分节省的计算时,就会发生这种情况。对于具有许多大嵌入表和低池化因子的模型架构,这种情况更有可能发生。研究结果为探索这些拐点提供了动力,这些拐点应作为未来自动分片方法的输入,并依赖于模型属性和软件基础设施。这一点在第七节中进一步讨论。

D. 分片策略效果

前一节中已经确定了由于分片数量增加而导致的延迟增加或计算开销增加之间的权衡。分片数量是系统设计者平衡计算开销与延迟约束的一个直接调节手段。本节讨论的分片策略为设计者提供了另一个调节手段,但其对延迟和计算的影响更为微妙。

1) NSBP是最具可扩展性的策略:负载均衡和容量均衡配置之间的延迟开销没有显著差异。然而,网络特定的装箱策略(NSBP)因受额外分片影响较小而表现出不同。这一观察的最重要结论是,NSBP是评估中最具可扩展性的策略,因为它调用的RPC操作较少。

NSBP展示了最不平衡的每分片延迟。回想一下,在这种策略中,嵌入表首先按网络分组,然后根据网络和大小分配到分片。来自不同网络的表永远不会分配到同一分片。图10通过负载均衡和NSBP策略的每网络操作符延迟更清楚地展示了这一点。分片1和分片2包含执行最多工作但表大小最小的第一个网络,如图10b和表II所示。对于NSBP,这对延迟产生了负面影响,因为并行化的工作较少,但计算开销由于较少的并行化而受到较小的影响,因此调度和服务开销也较少。请注意,Net1和Net2是顺序执行的,因此它们对端到端延迟的累积影响是相加的。NSBP策略在资源利用率方面的优势将在第七节进一步讨论。

图片名称

图10

2) 负载均衡和容量均衡策略之间的开销差异很小:图12展示了DRM1在所有请求下的8分片配置的每分片操作符延迟;DRM2显示出类似的趋势,为简洁起见省略。回想一下第III-B节,负载均衡策略预计通过消除任何分片成为关键路径来降低延迟开销。然而,与端到端延迟相比,两种策略的每分片操作符延迟都微不足道。此外,负载均衡和容量均衡策略之间的延迟差异并不显著,正如表II中估计的池化因子所暗示的那样。在这种规模下,池化因子太小,无法显示出明显的效果。对于DRM1和DRM2,负载均衡和容量均衡分片策略之间的最大影响来自分片数量的增加。

E. 模型多样性

模型属性也会影响分布式推理性能。网络数量、嵌入表数量、大小分布和相应的池化因子是最相关的模型属性,并在第V-A节中对评估模型进行了描述。与DRM1和DRM2中的长尾嵌入表相比,DRM3的稀疏操作符总计算量较少,并且由一个单一的大嵌入表主导。DRM1和DRM2的延迟受益于增加分片,但DRM3没有显示出这种优势,如图7和图8所示。

1) 分片效果取决于模型架构:图11单独展示了DRM3的每分片操作符延迟和嵌入部分细分,以显示增加分片不会改善延迟。主要原因有两个。(1) 增加分片只会分区一个容量主导的嵌入表,这不会并行化任何显著的计算。图11a显示分片1执行了大部分计算,因为它包含除最大表之外的所有嵌入表,而最大表在其他分片之间分区。(2) 即使较小的表被分区,相对较低的计算量仍然无法实现实际的延迟改进,因为网络延迟在端到端延迟开销中占据主导地位。因此,我们得出结论,只有像DRM1和DRM2这样具有长尾嵌入表和较高池化因子的模型才能从分片中受益。

图片名称

图11

F. 批处理效果

推理的批处理大小将请求拆分为并行任务,是在满足SLA和QPS目标的前提下平衡吞吐量和延迟的关键。为了展示其与分布式推理的交互,我们将批处理大小人为设置为每个请求一个批次。较小的批处理大小增加了每个请求的任务级并行性,可以减少延迟,但会增加任务级开销并减少数据并行性,从而可能降低吞吐量。相比之下,较大的批次增加了稀疏操作符的工作量,并受益于分布式推理的并行化。深度学习推荐推理的批处理大小是一个正在进行的研究课题 [2]。

1) 分布式推理在足够大的批处理大小时可以改善延迟:图13显示,在使用8分片容量均衡或负载均衡配置时,分布式推理可以在DRM1单批次情况下改善延迟。这是因为稀疏操作符执行了足够的工作,从而充分受益于并行化,如图13b所示。DRM2显示出类似的趋势,但由于请求较小,影响不那么显著。在这种情况下,较大的批次可以被视为具有较大池化因子的嵌入表的代理,其显著特征是通过RPC发送的额外查找索引增加了稀疏操作符的工作量和网络需求。DRM3未显示,因为其请求通常足够小,默认批处理大小下每个请求只有一个批次。

图片名称

图13

2) 批处理大小可以管理分布式推理的计算开销:图14强调了计算开销的倍增效应——每个额外的批次都会发出相应的RPC操作,从而增加计算需求。例如,由于DRM1的NSBP策略每个分片发出一个RPC,其计算开销随着分片的增加而增加的速度比负载均衡策略慢。在每请求一个批次的情况下,分片带来的计算开销的边际增加不那么严重。因此,在探索分布式推理计算开销时,必须考虑批处理大小。

图片名称

图14

VII. 数据中心环境中的影响

在本节中,我们讨论了分布式推理对深度推荐系统在数据中心中的影响。分析延迟和计算开销对于理解分布式推理对SLA目标和额外计算资源的影响非常重要。然而,第六节中的分析集中于一个简化的场景,以归因每个请求的开销,其中(1)每个请求被串行处理,(2)服务器具有相同的SC-Large硬件配置,这些配置是过度供应的。为了模拟更具代表性的服务环境,我们在DRM1上进行了两个额外的实验,DRM1是计算最密集的模型。首先,我们以更高的25 QPS速率发送请求,覆盖所有分片策略,并使用相同的SC-Large硬件配置。其次,我们在更典型的Web服务平台SC-Small上重新运行负载均衡配置,与SC-Large进行比较,请求再次被串行发送。我们将结果置于一个服务环境中,其中模型实例被复制以处理实时流量。最后,我们讨论了当前在大型数据中心规模的深度推荐系统中实施的现有压缩技术。我们的主要观察结果如下:

  • 以更高的QPS发送的请求(代表数据中心环境)在P99延迟下表现更好,因为资源可用性得到了改善。
  • 在SC-Large和SC-Small之间,稀疏分片的每请求延迟没有显著差异,这为通过低功耗的稀疏分片服务提供了提高效率的机会。
  • 分片复制通过独立分配模型的稠密和稀疏部分的资源,提供了提高服务效率的机会。
  • 压缩是分布式推理的补充,本身无法解决模型的可扩展性问题。

A. 高QPS环境

请求重放器被配置为以25 QPS的速率向DRM1的主服务器发送请求,DRM1是所有评估模型中计算最密集的。每个DRM1配置的开销图与单一配置相比,如图16所示。在25 QPS实验中,所有配置的开销都比串行发送时的相同配置低,如图6所示。在几乎所有配置中,P99延迟都比单一配置有所改善,如图6所示。

此外,在某些配置中,例如8分片的容量均衡和负载均衡配置,P50延迟比单一配置有所改善,或者开销小于约0.05%。在具有足够稀疏操作符计算量的模型中,分布式推理在高QPS场景中具有更好的延迟特性。

B. 稀疏分片平台的效率

为了对分布式推理中增加服务器进行公平比较,稀疏分片使用了相同的硬件平台。然而,图8和图12显示,稀疏分片的计算需求远低于主分片,因为本工作中的分片是容量驱动的,而非计算驱动的。因此,我们使用较轻量级的SC-Small服务器运行了DRM1的额外配置,DRM1仍然是计算最密集的模型。图15显示,当在原始较重量级的SC-Large和较轻量级的SC-Small服务器上运行时,每分片操作符延迟几乎相同。回想一下,SC-Large服务器具有更多且更快的核心,以及4倍的内存容量,导致能耗增加。这表明,通过粗粒度的平台专业化,稀疏分片可以在集群级别提高服务效率和能源效率。

图片名称

图12

图片名称

图15

C. 数据中心中的复制

在本节中,我们简要讨论了分布式推理如何改善分片复制。支持具有数百GB内存占用的单一模型需要配置效率低下的服务器。例如,大部分内存容量将用于大型嵌入表,但大多数核心将用于使用显著较小的稠密参数。对于DRM1、DRM2和DRM3,大多数计算仅涉及模型内存占用的不到3%。这种低效性在动态复制推理服务器以支持数百万或数十亿用户的QPS时会被放大。在这种情况下,稠密层带来的大负载(如图4所示)将导致整个模型被复制到额外的服务器上,包括所有嵌入表。分布式推理通过允许为稠密层分配计算资源,为稀疏层分配内存资源,缓解了这种低效性。换句话说,复制的内存需求减少了。我们将模型的稠密层和稀疏层分片为独立组件的启发式方法简化了这种分配。最后,分片策略在复制中起到辅助作用。虽然分片稀疏操作符的决定对减少复制的内存需求影响最大,但表II显示分片策略可以进一步影响复制。回想一下,DRM1由两个主要网络组成,其中Net 2消耗的内存资源是Net 1的4.75倍,但计算资源仅为Net 1的6.3%。NSBP分片策略将每个分片限制为仅包含Net 1或Net 2,因此与网络无关的分片策略相比,其并行化效果较差。然而,NSBP可以通过将计算最密集的嵌入表分组在一起,进一步提高资源利用率,即使是在需要更多分片的大型模型中。这种在改善延迟和提高资源利用率之间的分片策略权衡需要基于每个模型的具体情况进行,并鼓励进一步研究分片自动化。

D. 模型压缩

模型压缩是限制模型容量的传统方法。我们在表III中展示了DRM1的压缩模型大小作为参考。当前数据中心模型中部署的所有压缩技术(包括量化和剪枝 [22])被用于生成压缩模型。所有表均按行线性量化至至少8位,足够大的表被量化至4位。表根据模型架构师指定的阈值幅度或训练更新频率手动剪枝。量化和剪枝选项的选择是为了保持准确性和延迟。我们注意到,压缩后延迟和计算略有改善,但由于这不是本工作的重点,我们将此分析留待未来工作。我们推测原因是内存局部性的相对改善。更相关的是,表III显示压缩模型缩小了5.56倍。虽然显著,但即使有这些节省,大型模型仍然无法适配到一台、两台甚至四台配置了约50GB可用DRAM的商品服务器上。因此,仅靠压缩不足以支持新兴的大型深度推荐系统。

参考

华为在《DFFM: Domain Facilitated Feature Modeling for CTR Prediction》中提出了一种DFFM的多场景建模方法。

4.方法

4.1 整体结构

域辅助特征建模(DFFM:Domain Facilitated Feature Modeling)的总体框架可分为两个主要模块:

  • 域辅助特征交叉(DFFI):Domain Facilitated Feature Interaction
  • 域辅助用户行为(DFUB):Domain Facilitated User Behavior

我们提出的DFFM概述如图2所示。

图片名称

图2

  • DFFI模块:负责提供有价值的domain信息来支持特征交叉建模,
  • DFUB模块:利用domain和目标知识来更好地建模用户行为。

这两个模块的详细设计将在下一小节中说明。

4.2 DFFI

特征交叉建模在CTR预测中是至关重要的,例如PNN、AutoInt和DCN。然而,所有这些模型都忽略了考虑领域(domain)信息的重要性。在不同领域中的特征交叉应该有不同的建模方式,例如,在某些领域中,一些特征交叉非常重要,而在其他领域中则毫无意义。因此,我们提出了域辅助特征交互(DFFI)模块,可以对任何特征交叉模型进行操作,引入领域(domain)信息来辅助交叉建模。

以PNN [18]中的内积为例,我们的域增强内积(domainenhanced inner product)可以表示为:

\[F_{domain}(e_i, e_j) = <e_i, e_j>_{domain}, \\ =<D(e_i), D(e_j)>\]

…(2)

其中:

  • $e_i$和$e_j$是第𝑖个和第𝑗个字段的embedding;
  • ⟨·,·⟩是内积;
  • D(·)是用于融合domain信息的domain network,它是一个micro-MLP,可以表示为:
\[h^{(0)} = h_{input}, \\ h^{(k)} = \sigma(W^{(k-1)} h^{(k-1)} + b^{(k-1)}), k \in [1, \cdots, L], \\ D(h_{input}) = h^{(L)}\]

…(3)(4)(5)

其中:

  • $h_{𝑖𝑛𝑝𝑢𝑡}$是输入向量
  • 𝜎是激活函数
  • 𝐿是领域网络(domain network)的深度

特别地,权重和偏置参数$W^{(k)}$和$b^{(k)}$是通过重塑(reshape)和分割(split)来将domain embedding进行concatenate来生成的。形式上,权重和偏置参数可以表示为:

\[W^{(k)}, b^{(k)} = Reshape(Split(E^d))\]

…(6)

其中:

  • $E_𝑑$是所有domain embedding的拼接。该过程的可视化示例如图2所示。需要注意的是,PNN仅对2阶特征交互进行建模。对于具有高阶特征交互的模型,如DCN和AutoInt,我们应该将domain network应用于每阶的特征交互的输入。

有了该 domain-enhanced inner product,接着我们可以生成 domain-enhance feature interaction layer:

\[h_{domain} = Concat(F_{domain}(e_1, e_2), \cdots, F_{domain}(e_n, e_{n-1})) \\ h_{DFFI} = MLP(Concat(h_{domain}, E))\]

…(7)(8)

其中:

  • $h_{𝐷𝐹𝐹𝐼}$是DFFI模块的输出表示;
  • 𝑛是字段的数量;
  • E是所有字段的拼接嵌入。

通过动态加权网络,特征交互的建模考虑了领域知识。同样的方法不仅适用于内积,还适用于其他特征交互模型,例如AutoInt中的自注意机制或DCN中的交叉网络,这将在第5.4.2节中得到验证。

4.3 DFUB

用户行为建模在CTR预测中起着重要作用[12]。当前的方法,如DIN和CAN,侧重于建模目标物品(target items)和用户历史序列之间的co-action关系。尽管这些方法在特定领域取得了成功,但我们强调考虑建模用户行为的领域相关信息(domain related information)的重要性。例如,用户在售前(pre-sales)和售后领域(post-sales)之间的购买兴趣迅速变化,这表明他们的行为历史对点击行为的共同作用模式不同。为了明确考虑这种现象,我们提出了域辅助用户行为建模(Domain Facilitated User Behavior modeling),简称DFUB。

DFUB采用修改版的多头自注意机制(modified multi-head self-attention)来处理用户历史序列

假设:

  • 用户行为历史的embedding可以表示为:$E^h=\lbrace e_1^h,e_2^h,\cdots,e_n^h}$,其中𝑛是行为历史长度。
  • 目标物品(target item)表示为:$E^t=\lbrace e^t \rbrace$
  • 领域特征(domain features)可以表示为:$E^𝑑=\lbrace 𝒆^𝑑 \rbrace$

对于第𝑖个head,标准的self-attention模块处理可以表示为公式9。

\[head_i = SelfAttn_{\theta(E^t, E^d)}^{(i)}(E^h) = Softmax(\frac{Q_iK_i^T}{\sqrt{d_i}}) V_i\]

…(9)

在公式9中:

  • $𝑑_𝑖$是第𝑖个头的输出维度
  • $Θ(E_𝑡,E_𝑑)$表示使用$E_𝑡$,$E_𝑑$来获取self-attention模块的参数。
  • $Q_𝑖, K_i, V_i$分别表示:指query矩阵、key矩阵和value矩阵。这三个矩阵都是从行为序列embedding $E_𝒉$计算得出的,如公式10所示。
\[Q_i = E^h W_Q^{(i)}, K_i = E^h W_K^{(i)}, V_i = E^h W_V^{(i)}\]

…(10)

其中,$W_𝑄^{(𝑖)},W_𝐾^{(𝑖)},W_𝑉^{(𝑖)}是转换矩阵(transformation matrix)。到目前为止,所呈现的计算过程都是关于序列行为items的内部交叉。该目标是与target item和历史行为items间充分交叉,并利用domain information来指导这种交叉。我们通过根据公式11将target item embedding $E_𝑡$和domain embedding $E_𝑑$直接整合到self-attention参数中来实现这一目标。

\[W_𝑄^{(𝑖)}=W_𝑄^{(𝑖)}′E_𝑄^⊤, E_𝑄=Reshape(E^𝑡,E^𝑑) \\ W_𝐾^{(𝑖)}=W_𝐾^{(𝑖)}′E_K^⊤, E_K=Reshape(E^𝑡,E^𝑑) \\ W_𝑉^{(𝑖)}=W_𝑉^{(𝑖)}′E_V^T, E_V=Reshape(E^𝑡,E^𝑑)\]

…(11)

如公式11所示,自注意力的参数可以分解为两部分。第一部分$(W_𝑄^{(𝑖)}′,W_𝐾^{(𝑖)}′,W_𝑉^{(𝑖)}′)$是自注意模块的固有参数。第二部分$(E_𝑄,E_𝐾,E_𝑉)$是从目标项和与领域相关的特征嵌入中重塑的。通过这种方式,目标项和领域特征的信息可以逐个元素地参与到交互过程中,并得到彻底的处理。多头拼接组成了一个综合的多头自注意层,可以拼接成DFUB模块的最终输出,如公式12所示,其中W𝑜𝑢𝑡是输出转换矩阵:

\[h_{𝐷𝐹𝑈𝐵}=Concat(head_1, \cdots, head_𝑛)W^{𝑜𝑢𝑡}\]

…(12)

4.4 Prediction Layer和Optimization

然后,我们可以将DFFI和DFUB模块的输出表示拼接在一起,以获得:

\[h_{𝑜𝑢𝑡𝑝𝑢𝑡}=Concat(h_{DDFI},h_{DFUB})\]

…(13)

使用带有Sigmoid函数的线性层来获得最终预测:

\[\hat{y} = Sigmoid(W_o h_{output} + b_o)\]

…(14)

其中,$W_𝑜$和$b_𝑜$是权重和偏置参数。我们采用广泛使用的交叉熵损失作为目标函数。

#

Anastasiia Klimashevskaia等人在《A survey on popularity bias in recommender systems》系统中介绍了近些年相关的Popularity Bias paper。我们看下相关的一些章节:

摘要

推荐系统以个性化的方式帮助人们找到相关内容。这类系统的主要承诺之一是:它们能够增加长尾items(即目录中不太知名的items)的可见度。然而,现有研究表明,在许多情况下,当今的推荐算法反而表现出流行度偏见,也就是说,它们在推荐中往往更关注较为流行的items。这种偏见不仅可能导致推荐对消费者和提供者的短期价值有限,而且随着时间的推移,它还可能引起不希望的强化效应。在本文中,我们讨论了流行度偏见的潜在原因,并回顾了检测、量化和减轻推荐系统中流行度偏见的现有方法。因此,我们的调查包括文献中使用的计算度量的概述,以及减少偏见的主要技术方法的综述。此外,我们批判性地讨论了当今的文献,我们观察到研究几乎完全基于计算实验和关于将长尾items纳入推荐的实际效果的某些假设。

1 引言

如今,许多在线平台都在使用推荐系统——包括大多数主要的电子商务和媒体流媒体网站——它们为消费者和提供者创造了巨大的价值(Jannach 和 Zanker,2021):

  • 从消费者的角度来看,这些系统可以支持他们在信息过载的情况下找到相关内容,或者帮助他们发现之前未知的内容
  • 另一方面,从提供者的角度来看,推荐可以有效地提高参与度,刺激交叉销售或帮助推广长尾(Anderson,2006)中的商品,这些商品不太受欢迎,可能难以找到。

在推荐系统的多种可能好处中,它们似乎特别适合支持长尾业务策略。通过以个性化的方式展示更多的长尾商品,它们既支持消费者发现新内容的目标,也为提供者带来了增益,例如提高用户参与度、客户留存、额外销售或改变需求曲线,参见Celma(2010)、Gomez-Uribe 和 Hunt(2015)、Oestreicher-Singer 和 Sundararajan(2012)。

毫无疑问,推荐系统能够有效影响消费者行为并改变销售分布(Lawrence 等人,2001;Zanker 等人,2006),但在实际应用中,这类系统可能会产生意想不到的效果。例如,对北美一家零售商网站进行的大规模实地测试结果显示,推荐系统确实对小众商品的销售产生了积极影响。然而,对于热门商品销量的增长更为显著。此外,在推荐系统存在的情况下,总体销售多样性实际上降低了(Lee 和 Hosanagar,2014,2019)。这种观察可以归因于底层算法中存在的某种流行度偏见(popularity bias),这意味着算法可能倾向于在其推荐中关注已经受欢迎的商品。结果,已经受欢迎的(“大片”)商品(Fleder 和 Hosanagar,2009)通过推荐获得了更多的曝光,这最终可能导致一个“富者愈富”的反馈循环。

总体而言,过分关注流行商品对于推荐系统在各种应用领域中的消费者和提供者都是不利的。消费者可能会发现推荐内容过于明显,缺乏新颖性,从而无法满足他们的发现需求。而提供者则不仅未能提供充分的发现支持,还错过了通过主要推广那些顾客可能无论如何都会购买或消费的商品来销售长尾商品的机会(Bodapati 2008)。鉴于这个问题在实践中的重要性,过去十年中越来越多的研究工作开始关注推荐系统中的流行度偏见问题。特别是,在公平性和推荐系统中的偏见问题日益受到关注的背景下,以及在潜在的有害推荐效应,如过滤泡沫、回声室效应、说服和操纵的背景下(Aridor et al. 2020; Elahi et al. 2021a),这个话题在最近几年变得尤为流行。

通过本文,我们的目标是:提供一份关于推荐系统中流行度偏见当前文献的多方面概述,这是一个近年来受到相当大关注的话题。为此目的,我们系统地回顾并按照不同维度对123篇论文进行了分类,例如,根据背后的研究动机、处理流行度偏见的技术方法和评估方法。在我们的分析中,得出了以下关键见解:

  • 在背后的研究动机方面,大多数研究工作基于应用无关的假设,即关注流行商品本身就是有问题的,并可能导致诸如某些商品曝光有限、偏见强化和用户默认的推荐质量受限等潜在后果。当前文献中的很多研究似乎也受到了对推荐系统中公平性日益增长的兴趣的推动。特定于应用的考虑,例如,在特定使用情境中流行度偏见何时可能实际上有害或导致不公平,大多缺失。通过我们的工作,我们旨在提供对流行度偏见后果的更细致讨论,并提供一个新颖的、以影响为导向的流行度偏见定义。
  • 文献中提出了丰富的计算方法,主要用于量化现有偏见或减轻偏见。减轻偏见的方法本身可以被归类为预处理、过程(建模)中和后处理方法。我们发现,支持竞争目标联合考虑的过程技术是文献中最常用的减轻偏见的形式。
  • 从评估的角度来看,我们观察到文献严重依赖于离线实验和丰富多样的抽象和应用无关的计算度量。涉及用户或实地测试的研究非常罕见。这种现象,就像在推荐系统中的公平性研究和人工智能领域中的公平性研究一样,可能会导致某种“抽象陷阱”(Selbst 等人,2019),其中研究问题的运作化过于抽象,忽略了特定应用用例的特殊性。这可能导致学术研究与现实世界问题设置之间存在一定的差距。

本文的其余部分安排如下。我们首先在第2节详细阐述该概念的现有定义和可能的流行度偏见来源。在第3节描述了我们识别相关论文的研究方法后,我们在第4节提供有关我们在文献中观察到的不同类型贡献的统计数据。我们在第5节讨论处理流行度偏见的技术建议,并在第6节回顾评估方法。本文以第7节结束,讨论我们的见解以及对研究空白和可能的未来方向的展望。

2 背景

在本节中,我们定义了流行度偏见(popularity bias)这一术语,更深入地讨论了bias的可能来源,并概述了流行度偏见所带来的实际负面影响。

2.1 流行度偏见作为一种与曝光相关的现象

虽然我们观察到:研究社区对推荐系统中流行度偏见潜在危害的普遍共识,但迄今为止似乎并不存在一个独特的定义。最常见的是,流行度偏见(popularity bias)被认为是展示(曝光)给用户的推荐项的一个特性。

例如,在Abdollahpouri和Mansoury(2020)中,流行度偏见被描述为一种现象,其中“流行商品被推荐的频率甚至超过了它们的流行度所能保证的。” 在这种解释中,当系统过度推荐流行商品时,就存在偏见。在其他作品中也讨论了推荐中的差异,例如Lesota等人(2021)。然而,在其他定义中,这种比例并不在焦点中,而是将强调流行商品本身视为一种偏见。根据Abdollahpouri等人(2017a),“协同过滤推荐系统通常比其它‘长尾’商品更多地强调流行商品(那些拥有更多评分的商品)。”同样,Boratto等人(2021)指出,流行度偏见可以被描述为推荐系统可能“倾向于推荐流行商品而不是小众商品,即使后者也会感兴趣。”这样的概念也被Zhu等人(2021a)和其他作品采纳。

我们注意到,Boratto等人在他们的讨论中将观察到的推荐中的偏见与一个潜在原因联系起来,即当算法在数据集上训练时,其中观察到的互动并不是在所有items上均匀分布的,偏见就会发生。在一些工作中,这种倾斜的分布本身被称为流行度偏见,因此将流行度偏见框架化为推荐系统所捕捉到的训练数据的特征。例如,Zhao等人(2022)发现“观察数据通常表现出严重的流行度偏见,即items分布非常不平衡,甚至是长尾的。”

最后,一些工作在离线评估指标的背景下讨论了推荐系统中的流行度偏见。在这种情况下的一个特别挑战是,某些指标,特别是准确率(precision),可能偏爱推荐流行商品的算法。通过对用户进行平均,优化高精确度意味着试图满足大多数(以流行度为导向的)用户,而“不考虑少数群体的满意度”(Bellogín等人,2017)。这可能导致非个性化和以流行度为导向的方法的竞争性能(Cremonesi等人,2010),并提出了替代的评估协议来处理这类问题,参见Bellogin等人(2011)、Bellogín等人(2017)、Ekstrand等人(2018)、MenaMaldonado等人(2020)、Yang等人(2018b)。

在这项工作中,我们采用了先前讨论的观点和术语,其中流行度偏见是与推荐给用户的商品的流行度相关的现象。因此,我们将观察到的现象与流行度偏见的潜在来源分开。

2.2 偏见的来源和偏见放大

在大多数关于推荐系统的研究工作中,一个item的受欢迎程度,是通过观察数据集中用户互动(例如,评分、点击、购买)的数量来评估的。我们注意到,在推荐系统的大多数应用中,我们实际上并不期望有一个平衡的分布。在许多领域,有些items可能比其他items更受欢迎。例如,电子商务商店中的一些产品可能因为质量更好、价格更便宜或通过广告强烈推广,导致观察到的购买更多。另一方面,在娱乐领域,一些电影或音乐曲目可能只是吸引更广泛的受众,因此我们可能会记录更多的流媒体事件。我们将这种关于items受欢迎程度的预先存在、通常倾斜的分布称为数据中的“自然偏见(natural bias)”

除了数据中可能存在的偏见外,我们注意到在选取用于训练推荐系统的数据时可能会引入额外的偏见(数据收集或代表性偏见)。例如,在创建训练数据集时,可能只考虑了用户基础的某个特定子集,但这个子集可能并不代表整个人群。

无论如何,虽然收集的数据集中的某种不平衡可能看起来是自然的,推荐系统的一个严重问题是:它们可能会加强这些预先存在的分布。最终,这种加强可能会导致长期的不利影响,系统中越来越重视已经受欢迎的items,从而减少了不太知名items被用户曝光的机会。Chen等人(2020)识别了可能导致推荐系统中反馈循环的各种因素,如图1所示。

图1 推荐系统中的Biases与feedback loop

内部而言,现今许多推荐系统都是基于某种类型的机器学习模型。任何机器学习算法的核心能力是从过去的经验(训练实例)中泛化,以应对新情况(未见过的实例)(Mitchell 1990)。因此,算法学到的内容总是在某种程度上反映了训练数据中的观察结果,特别是数据中存在的任何(预先存在的)偏见。我们在这里指出,每个算法可能都有自己的归纳偏见,即在从训练数据到通用模型的归纳飞跃中执行时的一组假设(Hüllermeier等人,2013)。

让我们考虑一个非常基础的场景,即推荐经常一起购买的商品,这在当今的主要电子商务平台上得到了实施。从技术上讲,这种类型的推荐可以被视为关联规则的一种基本形式(Agrawal等人,1993;Ludewig等人,2021)。在规则挖掘任务中,一个常见的挑战是,支持度最高的规则通常涉及非常受欢迎的商品,而且很难确定涉及小众商品的规则(Uday Kiran和Krishna Re,2009)。因此,可以直观地假设,基于“经常一起购买”统计数据的商品,建议倾向于进一步强化已经受欢迎商品的推广

用户基于机器学习模型的推荐系统在一定程度上反映了系统从数据中学到的内容以及它是如何被优化的。特别是在训练过程中,根据所使用的优化指标,算法可能已经学会了——尽管不一定是显式地——推荐流行商品将根据该指标获得高的“奖励”。

最终呈现给用户的推荐通常被认为能在一定程度上影响他们的选择。推荐列表中排序较高的商品通常会获得更多的曝光和用户关注,因此更有可能被消费(例如,由于位置偏见)。结果,它们可能比其他items更频繁地被消费或购买。因此,如果推荐受到流行度偏见的影响,最终意味着已经流行的商品从这种增加的曝光中获益更多,而不是一些不太知名的商品。重要的是,当用户采纳(即消费或购买)一个被推荐的流行商品时,这一事实通常会以某种方式反映在用于重新训练底层模型的数据中。成功推荐一个流行商品,例如,将进一步增加一个商品的购买统计数据。此外,由于流行商品通常在一般质量和吸引力方面是很好的推荐,如果假设人们倾向于对他们喜欢的事物提供反馈,那么它们获得正面反馈(例如,以评分的形式)的机会也可能很高。这对应于已知的问题,即某些数据点是“非随机缺失的”,参见Marlin等人(2007)关于该主题的早期研究。

总体而言,我们观察到推荐系统中有多个阶段可以进入或加强流行度偏见。相应地,当目标是减轻推荐中可能不受欢迎的流行度偏见的影响时,存在不同的方法和起点。

2.3 流行度偏见可能带来的负面影响

研究流行度偏见的动机通常是由算法过度关注已经流行商品可能带来的潜在负面影响的例子所驱动的。有时,推荐流行商品被认为是有问题的,因为这可能会不公平地减少并阻止其他商品的曝光。在其他情况下,人们提到了随时间可能发生的潜在加强效应,这种情况通常被描述为“富者愈富”,这种现象有时被称为“马太效应”(Wang et al. 2018)或“前缀偏见”(Rashid et al. 2002)。

乍一看,人们可能会认为推荐流行商品并没有错。实际上,在线下世界中推荐畅销商品也是非常常见的,例如,《纽约时报》畅销书推荐就是这种形式。而且,在精英主义社会中,如果这些畅销商品因为质量更高或普遍吸引更多人而获得更多推荐,那么它们获得更多关注可能并不被认为是问题或不公平的。因此,上述关于流行度偏见潜在危害的说法有时似乎过于笼统。

然而,当我们更仔细地审视这个问题以及推荐系统预期的目的和价值(Jannach 和 Zanker 2021)时,我们可以很容易地推导出流行度偏见在哪些方面(a)限制了推荐对个别利益相关者的潜在价值,或者(b)偏见实际上是有害的。在价值受限方面,消费者可能会发现,受流行度偏见影响的推荐不能帮助他们发现新内容(因为缺乏新颖性)或符合他们个人偏好的内容(因为个性化程度有限)。这两个方面反过来可能会限制消费者与提供推荐服务的互动,或者通过失去对系统的信任完全使他们远离。在提供者方面,主要推荐流行商品还可能导致错失销售机会(因为流行商品无论如何都会被购买)。此外,它可能导致随时间销售多样性的减少(因为一小撮流行商品获得了所有曝光)。有关实地和模拟研究的相应报告可以在 Fleder 和 Hosanagar (2009),Jannach 等人 (2015),Ferraro 等人 (2020) 中找到。

在某些应用领域,受流行度偏见影响的系统实际上可能造成损害(而不仅仅是提供有限价值)的情况也可能出现。近年来,关于推荐系统中公平性的各种研究工作——参见 Ekstrand 等人 (2022),Wang 等人 (2022b),Deldjoo 等人 (2023) 的最新调查——认为流行度偏见可能导致不公平。例如,某些工作可能主要推荐给特定的种族群体,当推荐系统延续历史歧视时。或者,一个音乐推荐系统可能不公平地主要推广某些已经受欢迎的艺术家群体的音乐,限制了那些可能属于代表性不足的性别或流派群体的艺术家的曝光机会

另一种完全不同的有害情况可能发生在一个受流行度偏见影响的系统推广有害内容时。我们记得,在许多应用中,受欢迎程度是根据与一个items观察到的互动来衡量的。特别是在社交媒体中,争议性内容(包括假新闻、错误信息和虚假信息)受到很多关注并不罕见,因为用户高度参与这类内容。因此,一个优化用户参与度的社交媒体推荐系统可能通过向越来越大的受众推荐这些可疑内容来进一步推广它们。此外,这样一个受流行度偏见影响的系统也可能容易推荐那些通过假用户、虚假评论/评分和自动化机器人获得很多互动的内容,参见例如 Lam 和 Riedl (2004),这最终可能导致对系统的信任丧失。

总的来说,无论效用是减少还是实际造成伤害,调查流行度偏见问题时,考虑特定应用用例的具体性和特殊性是很重要的。一方面,推荐流行商品实际上可能是对提供者最有利的选项,例如,当畅销商品也是带来最高收入、利润率或其他业务关键绩效指标(KPI)的商品时。另一方面,推荐已经流行的商品本身不应被视为不公平,但我们必须审视哪些关于公平的潜在规范性主张受到流行度偏见推荐的影响。此外,我们必须记住,某些影响可能只有在长期内才变得明显。在新闻网站上推广最受欢迎和最新的名人八卦可能在短期内在点击率(CTR)方面带来积极效果;然而,从长远来看,它可能导致与服务的互动有限。

最后,我们注意到在某些情况下,关注流行商品也是一种有益和有帮助的方法。在对用户偏好知之甚少的冷启动情况下,推荐流行商品是一种非常常见的策略。例如,当一个新用户注册到推荐系统时,系统对用户的偏好一无所知或了解有限,因此可能无法为她生成相关的推荐。在这种情况下,可以采用基于流行度的主动学习策略,选择最受欢迎的商品向新用户推荐,并获取它们明确的评分(Rashid et al. 2002)。优势在于用户很可能对流行商品有所了解,因此实际上能够对这些商品进行评分。尽管有积极的一面,但流行商品通常受到用户的喜爱,因此,它们的评分往往不会为系统提供太多信息(Elahi et al. 2016)。

此外,也可能存在特定算法过于关注小众内容的情况。在这种情况下,推荐可能对用户来说显得过于晦涩,无法激发他们的兴趣,限制了他们对服务的满意度(Ekstrand et al. 2014)。包含一些流行的推荐可能有助于在用户方面建立对推荐一定程度的熟悉感,以及他们对一些推荐适合自己信任。在工业环境中,加入一定量的流行推荐也并不罕见,例如,在Netflix的个性化视频排序系统中(Gomez-Uribe 和 Hunt 2015)

2.4 以影响为导向的流行度偏见定义及其与新颖性、多样性和公平性的关系

如本节开头所讨论的,文献中“流行度偏见”这个术语没有统一的定义。一些定义可能也不易解释或应用。例如,如果我们开发一个推荐系统,它简单地向每个人推荐最受欢迎的商品,可能很难判断这是否代表了一种商品被推荐“比它们的流行度所能证明的更频繁”的情况,如Abdollahpouri和Mansoury(2020)或Chen等人(2020)所描述的。此外,我们的讨论还表明,推荐流行商品本身并不一定是有害的,相反,这可能取决于特定用例的特殊性

根据我们的讨论,并在假设“偏见”一词通常表示一个不期望或有问题的方面的前提下,我们建议将来使用一个以影响为导向的术语解释。因此,我们提议如下定义推荐系统中的流行度偏见。

当系统提供的推荐集中于流行商品,以至于限制了系统的价值或对某些相关利益相关者造成伤害时,推荐系统就面临流行度偏见问题。我们强调,我们的定义旨在具有通用性和包容性,因为它(a)不规定量化流行度的具体方式,(b)不假设偏见的来源,以及(c)可能包括流行度偏见的短期或长期影响。

推荐商品的流行度与推荐系统的一些“超越准确性”的质量特征相关,特别是与新颖性、多样性和意外性(Castells et al. 2021; Kaminskas and Bridge 2016; Ziarani and Ravanmehr 2021)相关。

与新颖性的关系。通常认为,如果用户之前不知道某个推荐内容,则该推荐对用户来说是新颖的(Castells et al. 2021; Kaminskas and Bridge 2016)。因此,新颖性是一个核心的期望特征,因为根据定义,新颖的推荐帮助用户发现新的(且希望是相关的)事物。一组推荐的感知新颖性可以通过用户研究来实证评估(Ekstrand et al. 2014; Pu et al. 2011)。在离线评估中,我们通常无法确定用户是否已经知道某个商品。因此,文献中常见的一种方法是假设,平均而言,不太流行的商品对用户来说有更高的概率是新颖的。因此,新颖性指标的技术实现通常被制定为与流行度指标成反比(Vargas and Castells 2011)。通常,在以新颖性为重点的研究中,一个共同的目标是在不牺牲准确性的情况下提高推荐内容的新颖性(或降低流行度)。在这种设置中,增强新颖性的方法也可以被视为减少流行度偏见的方法。

意外性是与新颖性相关的另一个概念。通常,意外性被视为意外性和相关性的结合(Ziarani 和 Ravanmehr 2021),但文献中也存在其他定义(Ziarani 和 Ravanmehr 2021)。显然,一个意外的items也必须是新颖的。然而,通常只有当一个items在某些方面与用户的常规口味档案不同,它才被认为是意外的。我们在这里指出,通过新颖或意外的items推荐支持的items发现是推荐系统的最常见目的之一。然而,也存在一些用例,推荐系统明确旨在建议已知的items,例如,为了在电子商务环境中刺激重复购买,或者在流媒体平台上提醒用户以前喜欢的内容(Kapoor 等人,2015;Lerche 等人,2016)。

与多样性的关系。多样性通常指的是一组推荐元素在某些方面彼此不同(Ziegler 等人,2005;Kaminskas 和 Bridge 2016)。根据选定的标准和用例,流行度偏见可能与多样性相关。在某些领域,例如在电影推荐中,建议广为人知的流行电影可能会导致一组在制作国家、制作预算或原始语言方面不太多样化的电影。如果这些建议的流行度水平降低,我们可能会观察到这些方面的多样性增加。

其他关于多样性的概念包括销售多样性(Fleder 和 Hosanagar 2009),它衡量特定商品上销售量的集中度,或者总体多样性(Adomavicius 和 Kwon 2011),这是一种覆盖度指标,衡量在前n名列表中推荐给用户的目录商品的比例。在总体多样性的情况下,对大多数流行商品的更强关注会导致个性化程度降低,并且可以预见地,会导致目录覆盖度更有限。关于推荐系统对销售和销售多样性影响的实地研究(Lee 和 Hosanagar 2019)得出了部分意想不到的结果。首先,观察到实施推荐系统导致销售多样性减少,这在某种程度上证实了推荐系统会导致集中效应的假设,这可能会加强流行商品。在绝对销售量方面,推荐系统为长尾商品带来了销售量的增加,这是推荐系统的一个预期好处。然而,对于流行商品的销售量增加更为显著。总的来说,我们得出结论,流行度偏见可能会影响多样性。然而,这种关系并不像新颖性的情况那样直接,观察到的效果取决于多样性的具体概念。

与公平性的关系。相当多的近期研究工作将减少流行度偏见等同于增加算法公平性,参见Deldjoo等人(2023)。当然,可能存在这种情况的用例。例如,在一个在线音乐平台上,可能存在一群艺术家,由于社会或历史原因,他们没有同样的机会接触到广泛的听众,例如,因为他们属于一个通常被代表不足的群体。一个通过这些艺术家给予不太流行内容更多曝光的推荐系统,可能被认为是支持对被代表不足群体的公平性的规范性主张(Dinnissen和Bauer 2023;Ferraro等人 2021)。然而,解决潜在的规范性主张的这一方面是至关重要的。简单地增加音乐平台上任意艺术家的曝光度,或者在电子商务平台上增加某些提供者的商品的曝光度,并不一定服务于公平目标。实际上,一些商品可能只是因为它们通常不吸引更广泛的受众,或者因为它们质量有限,所以才不受欢迎。

流行度偏见可能导致的不公平相关负面影响包括:

  • 1.对不同用户群体的服务性能不一致:流行度偏见可能导致推荐系统在服务不同用户群体时性能表现不一致,这种不一致可能导致推荐质量的差异。这种性能的不一致可以被解释为系统性能的校准问题,并被视为不同用户群体利益代表不公的证据。
  • 2.加剧现有不平等:一些最新的研究工作将减少流行度偏见等同于增加算法公平性。例如,在在线音乐平台上,可能存在一些艺术家群体,由于社会或历史原因,他们没有同样的机会接触到广泛听众,例如,因为他们属于一个通常被代表不足的群体。一个给予这些艺术家不太流行内容更多曝光的推荐系统可能被认为是支持对被代表不足群体的公平性的规范性主张。 3.潜在的负面影响:流行度偏见可能导致对某些商品或服务的不公平推广。例如,在社交媒体中,争议性内容(包括假新闻、错误信息和虚假信息)由于用户的高度参与而获得大量关注。一个优化用户参与度的社交媒体推荐系统可能通过向越来越大的受众推荐这些可疑内容来进一步推广它们。此外,这样的流行度偏见系统也可能容易推荐那些通过假用户、虚假评论/评分和自动化机器人获得很多互动的内容,这可能导致对系统的信任丧失。

综上所述,流行度偏见可能对不同概念的公平性产生负面影响。然而,减少流行度偏见并不一定普遍提高公平性,因为这取决于与特定公平考虑相关的特定潜在规范性主张。

3 方法论

论文检索方法。我们采用了一种半系统化的方法来识别相关研究工作。在我们的方法中,我们应用了Kitchenham(2004)中讨论的系统评审的原则,但我们还依赖额外的手段来发现这个不断发展的领域的更多论文。整个过程在图2中进行了说明。

图2

在第一步中,我们查询数字图书馆,以找到2000年1月1日至2024年1月31日之间发表的、在摘要或关键词中含有“popularity bias”和“recommender / recommendation / recommendations”的推荐系统相关研究工作的初始集合。在论文标题中查找这些术语已经被证明是一个过于狭窄的查询,同时搜索论文本身的文本返回了太多仅仅稍微提及“popularity bias”作为可能相关主题的不相关作品。因此,我们得出结论,通过摘要和关键词进行搜索应该是最精确的方法。我们使用了以下查询词:“popularity bias” AND (“recommender” OR “recommendation*”).1 最后一次搜索执行于2024年1月24日,搜索过程返回了129篇论文。

接下来,我们应用滚雪球程序,通过跟踪初始作品引用的参考文献来识别更多相关作品。此外,我们使用Connected Papers在线工具2来找到额外的相关作品,也使用了关键词“long tail”。在手动过程中去除重复项并筛选出与我们调查无关的作品后,我们最终得到了54篇论文,我们认为这些论文适用于我们研究中的后续分析。我们在线分享了考虑的论文的详细列表以供可重复性。3

总的来说,我们的搜索查询结果相当精确,通过查询检索到的大多数论文都是相关的。只有少数我们认为不相关的论文。这些论文的主要研究贡献不是关于流行度偏见的。例如,一些作品在文本中提到了流行度偏见这个术语——这就是为什么它们被我们的搜索返回——但然后提供了一个专注于不同方面的技术贡献,例如准确性。此外,我们不考虑现有的综述工作作为我们的分析。

与其他综述的关系。在先前关于相关主题的综述中已经考虑了流行度偏见的主题,例如一般推荐系统中的偏见(Chen et al. 2020)、推荐系统的不良效应(Elahi et al. 2021a)或推荐系统中的公平性问题(Abdollahpouri et al. 2020a)。虽然我们的工作与这些工作在一定程度上重叠,但我们的研究专门关注流行度偏见问题。考虑到Chen et al.(2020)提出的有影响力的综述,我们发现这个其他综述的范围比我们的要广泛得多。例如,他们明确地在他们的搜索查询中包含了“fairness”这个术语。此外,Chen et al.(2020)中讨论了反馈循环中的各种类型的偏见,例如用户一致性偏见。鉴于他们范围的广泛性,没有深入讨论专门处理流行度偏见的不同技术方法。相比之下,我们的工作旨在深入覆盖流行度偏见的主题,重点关注技术方法和常见评估方法的综述。

据我们所知,最近的会议论文(Ahanger et al. 2022)是唯一专门关注推荐系统中流行度偏见的工作。在他们的论文中,作者报告了一组最近算法方法的技术细节,以减轻流行度偏见。虽然我们的工作也涉及减轻偏见的技术方法,但我们目前工作的范围更广泛,我们还旨在反映该领域的发展趋势。此外,与之前的综述不同,我们的工作是基于我们通过上述结构化过程检索到的更大集合的研究作品。

4 调查结果:研究概况

在本节中,我们首先将提供更多关于出版渠道和随时间对主题兴趣的统计数据。接下来,我们将描绘现有研究的概况,包括学者如何描述问题以及我们可以在文献中找到哪些类型的贡献。

4.1 出版统计

我们研究中考虑的最早论文发表于2008年。我们注意到,这篇论文没有明确使用“流行度偏见”这个术语,但它专注于如何处理推荐系统中长尾中不太受欢迎的商品(Park 和 Tuzhilin 2008)。在接下来的几年中,只发现了少量相关论文。然而,自2018年左右以来,我们观察到对这个话题的研究兴趣显著增加,特别是也开始使用“偏见(bias)”这个术语。我们可以假设,这个领域的最近研究可能也受到了对公平推荐主题日益增长的意识和兴趣的推动,参见Wang等人(2022b)。因此,考虑的作品中绝大多数(约70%)是在最近五年内发表的。

图3显示了关于流行度偏见的识别研究作品发表在何处。我们将所有渠道归类为“其他”,对于我们只找到一篇相关论文的渠道。有多达48个这样的渠道。这48个渠道在不同维度上相当多样化。它们包括范围相当广泛的计算机科学期刊,以及相当专注的期刊,例如关于机器学习及其应用的期刊。此外,这些渠道包括既建立了一段时间、享有盛誉的期刊,也包括知名度和影响力较低的场所。总的来说,我们考虑了65个不同的渠道,其中发表了关于流行度偏见的论文。虽然在ACM RecSys上发表了十几篇论文,这是本次调查中最重要的渠道,但图表显示,这个话题的研究高度分散。这强调了像本文所呈现的综述的需求。

图3

4.2 问题特征和研究动机

根据我们上面的讨论,推荐流行商品本身并不一定是问题,实际上必须考虑到特定用例的具体性,例如,确定应该在多大程度上减轻某种偏见。在我们分析的第一步中,我们调查了研究人员如何激发他们的工作动机。为此,我们浏览了所有论文的摘要和引言,寻找描述流行度偏见现象以及推荐流行商品潜在危害的陈述。然后我们应用编码程序来识别这些陈述的不同类别。编码由两位研究人员完成。

图4显示了研究人员如何描述流行度偏见现象的主题。我们注意到,个别论文可能属于多个类别。在大多数情况下,研究人员主要以某种形式声明,流行度偏见主要或过分关注推荐中的流行商品。这通常符合我们在前一节中定义的核心部分,即流行度偏见是与向用户展示的推荐相关的现象。只有相对较少的论文将流行度偏见描述为底层数据的现象。然而,许多依赖于这种描述的论文隐含地假设,关注流行商品本身就被认为是有问题的,这可能代表了对问题的简化。

图4

第二频繁的特征是,在流行度偏见存在的情况下,长尾商品的曝光过于有限。虽然从某种意义上说,这可能被视为前一个方面的直接后果,即系统可能过分关注流行商品,但这种描述也指向了一个潜在的危害,根据我们的定义,这是一个关键方面。然而,只有少数作品提到流行度偏见可能阻碍相关长尾商品的推荐,这在现实中是一个极其关键的方面。一些其他作品在它们的特征描述中考虑了推荐质量的问题。在一些情况下,假设流行度偏见可以导致对流行商品的更好预测。其他作品则相反,担心偏见导致推荐不相关的流行商品。

潜在的加强效应被多次提及作为流行度偏见的一个主要方面。然而,考虑到这些论文中的许多提供的技术贡献和实验评估,加强效应实际上并没有被调查,例如,通过从纵向角度评估影响。

最后,在一定比例的论文中,我们无法识别出对研究的流行度偏见问题的清晰动机特征。例如,一些论文分析了推荐系统不同质量指标之间的关系(包括推荐的流行度),而没有深入阐述底层概念,例如Channamsetty和Ekstrand(2017)。其他如Wu等人(2019)在他们的算法设计中将数据分布的倾斜视为多个方面之一。最后,一些作品如Deldjoo等人(2021)为流行度偏见的特定概念提供了一个正式定义,但将流行度偏见视为多个变量之一,在推荐性能的定量分析中考虑。

接下来,我们浏览了摘要和引言,寻找描述偏见潜在负面影响的陈述。这种对负面影响的描述应该通常指导论文中提出的研究,例如,在评估指标方面。编码过程的结果如图5所示。

最常提到的一些危害涉及用户所体验到的推荐质量。流行度偏见可能表现为个性化质量有限、多样性或新颖性有限,或者在发现机会方面有限。然而,也有相当数量的作品提到了对推荐平台或商品提供者的潜在危害,包括某些商品的曝光有限、错过的商业机会或消费者信任度随时间降低。一些作品还提出了潜在的脆弱性问题,即攻击推荐系统可能将商品流行度作为高排序的主要因素。这些观察清楚地表明,社区意识到流行度偏见是一个可能影响多个利益相关者的问题。

我们将在第10节中讨论研究人员如何量化算法方法可能在多大程度上帮助减少或预防流行度偏见的潜在危害。

鉴于社区最近对推荐系统公平性问题的兴趣,我们最后扫描了我们在论文中找到的潜在危害描述中的“公平”一词。只有少数作品在此背景下明确提到公平或不公平,明确了他们对公平的定义以及他们针对的利益相关者。然而,考虑到论文涉及的更广泛的研究背景,我们发现123篇论文中有56篇(约三分之二)确实涉及了推荐系统的公平性问题。这证实了我们上面提到的直觉,即对推荐系统中流行度偏见的研究在很大程度上是由最近的公平性研究推动的。再次,鉴于推荐是一个多利益相关者问题(Abdollahpouri等人,2020a),在审查的作品中考虑了不同形式的公平性,包括用户公平性、商品公平性和提供者公平性,见Burke(2017)。

稍大的比例(60%)的这些作品关注用户公平性,而其余的作品考虑了商品及其提供者的角度。

4.3 应用领域

图6提供了在审查工作中考虑的应用领域的概览。应用领域主要是基于离线实验中使用的数据库来识别的。与其他调查工作类似,例如Quadrana等人(2018),我们将数据库归入如图6所示的更高层次的类别中。

我们可以观察到,绝大多数工作集中在媒体领域,包括电影、音乐、书籍和新闻。其中,电影领域占据主导地位,许多论文依赖于MovieLens数据库之一(Harper和Konstan 2015)。一系列工作解决了电子商务背景下的流行度偏见问题(Gupta等人 2019;Wang和Wang 2022;Luo和Wu 2023;Guo等人 2023;Liu等人 2023a),还有一些工作集中在与旅游相关的POI推荐问题(Banerjee等人 2020;Sánchez和Bellogín 2021;Rahmani等人 2022a,b)。对于其他一些应用领域,只确定了一项或几项研究工作。我们将它们归类为“其他”应用领域,例如包括时尚(Lee等人 2021)、科学文章(Yang等人 2018b)、笑话(Chong和Abeliuk 2019)或游戏(Jadidinejad等人 2019)。

在调查本次调查中考虑的论文时,我们注意到一些论文没有提供特定论证,说明为什么流行度偏见在给定应用领域可能是有害的,或者为什么使用特定数据库进行评估。在其他情况下,作者论证说,流行度偏见可能在某些领域特别有害,而在基于可能立即不清楚流行度偏见可能带来什么重大危害的数据领域的工作时,却没有明确说明,例如,电影推荐。根据我们在第4.1节上面的讨论,我们经常发现研究动机主要是以宽泛的术语给出的(例如,推荐包含太多流行商品,或者“富者愈富”)。

4.4 贡献类型

最后,为了更好地理解现有研究的概况,我们根据论文的主要新颖方面对确定的论文进行了贡献特征描述:

  • 分析或量化可能存在的偏见的论文;
  • 提出技术建议以减轻现有偏见的论文;
  • 尝试利用流行度信息来改进推荐的论文。

图7

图7提供了按这种分类研究的论文的统计数据。在表1中可以找到分析作品的贡献方面的详细分类。我们注意到,一篇论文可以属于多个类别。不足为奇的是,由于我们关注计算机科学领域的论文,大多数论文提出了一种技术方法来减轻流行度偏见的一些潜在危害。较少数量的作品旨在主要量化和分析数据库中存在的偏见,并/或提出计算度量来评估偏见的程度。最后,有限数量的作品试图利用商品的一般流行度信息来改进推荐。我们将在接下来审查每个类别中的选定作品。

表1

5 处理流行度偏见的技术方法

在本节中,我们将更深入地讨论一些选定的方法,这些方法用于偏见量化、减轻和利用。

5.1 偏见量化方法

这类别的论文主要旨在了解可能存在的流行度偏见的程度和严重性,以及这种偏见可能对用户产生的影响。

在我们回顾量化不同目的的流行度偏见的现有工作之前,我们注意到任何量化方法——以及我们稍后讨论的减轻技术——都需要定义适当的度量标准。我们将在第6节中回顾多种度量标准。根据我们上述对流行度偏见的概念,这些度量标准主要量化推荐内容的流行属性,而不是例如底层数据的属性。然而,底层数据的属性在许多工作中是核心,例如,当决定一个商品是否被认为是流行的时候。文献中常见的策略是:将商品归类为流行(短头部)或不流行(长尾部),偶尔还将长尾部分为中间部分和远尾部,参见Abdollahpouri等人(2019b),Borges和Stefanidis(2020)。通常,这种分离是基于数据库中每个商品观察到的互动数量。相比之下,Yalcin(2021)使用的定义是,大片商品不仅要有大量的互动,还必须有高平均评分。无论如何,这些方法中的一个核心问题是如何选择适当的阈值。在现有文献中,大多数应用的是经验规则,没有提供明确的理由。

量化基于流行度现象的另一种方法是由Celma和Cano(2008)以及Celma和Herrera(2008)提出的。在他们在音乐领域的工作中,作者不仅使用播放次数作为流行度指标,还依赖于复杂网络分析的度量标准,根据商品的相似性建模商品之间的连接性。例如,这允许他们分析最受欢迎的商品是否主要与其他流行商品连接,并评估商品通过推荐被曝光和发现的机会

量化对用户的影响。在这一领域的文献中,一个共同的目标主要是量化流行度偏见的程度,在许多情况下,这些观察结果随后与其他度量标准(如准确性)进行对比。在这些工作中,通常比较来自不同家族的多种算法,例如协同和基于内容的算法,参见例如Channamsetty和Ekstrand(2017),Chong和Abeliuk(2019),Vall等人(2019)。Jannach等人(2015)的分析进一步表明,即使是来自同一家族的算法,例如协同过滤,也可能表现出推荐流行商品的不同倾向。

虽然这些工作通常测量整个用户基础的流行度偏见,但也有一些工作单独考虑某些子群。一些工作根据人口统计学特征识别这样的子群,例如基于年龄和性别(Ekstrand等人 2018;Lesota等人 2021;Neophytou等人 2022)或语言(Elahi等人 2021b)。在这些工作中,目标通常是评估流行度偏见在多大程度上影响不同子群提供的推荐实用性。例如,Ekstrand等人(2018)的发现表明,人口统计学与流行度偏见之间存在非平凡的、可能是有害的相互作用。另一方面,Elahi等人(2021b)对流行度偏见进行了全面研究,研究了偏见效应的强度是否与用户的语言有关。他们基于Twitter数据的分析确实表明,语言可能起作用,某些效应对英语比其他语言更为明显。最后,Sánchez和Bellogín(2021)评估了流行度偏见在两个不同用户群体中对兴趣点推荐的影响:游客和当地人。他们的分析表明,对于后一组用户,推荐的实用性有所下降。

基于用户属性或人口统计学对用户进行分组的另一种方法是根据他们的偏好或行为对他们进行分组。例如,一些用户可能倾向于主要观看主流电影,而其他用户可能表现出对小众电影的偏好。推荐系统可以在这方面分析用户档案,并将它们根据它们的流行度倾向或主流性进行分类。考虑到这样的用户个人偏好对于校准方法是核心的,参见Oh等人(2011),Steck(2018),Abdollahpouri等人(2020b)。这些研究工作中的一个重要问题是,某些用户群体——特别是小众商品爱好者——是否从推荐中获得比其他群体更少的实用性。在一些工作中,这种现象被视为一种潜在的歧视,引发了推荐系统中的公平性问题及其与流行度偏见的关系(Abdollahpouri等人 2019b;Borges和Stefanidis 2020;Kowald和Lacic 2022;Kowald等人 2020;Naghiaei等人 2022;Rahmani等人 2022b)。理解纵向效应。到目前为止讨论的大多数工作采用静态视角,例如,通过评估某个算法在某个时间点的流行度偏见。然而,流行度偏见的一个主要问题:在于它可能创建的反馈循环,这不能直接用这种形式的“一次性”评估来直接评估。因此,一些研究工作尝试研究有偏见推荐的纵向效应。在文献中解决这类问题的常见方法是依赖于模拟方法。例如,在Jannach等人(2015)中,假设推荐系统的用户以一定的概率接受一些商品建议,然后他们以评分的形式向系统提供反馈,这些反馈被反馈到训练数据和推荐模型中,参见Adomavicius等人(2021)。模拟的结果表明,不同的算法可以随着时间加强或减少流行度偏见。后来的模拟方法遵循类似的想法,参见Chong和Abeliuk(2019)和Mansoury等人(2020b)。

在Heuer等人(2021)中,采取了一种非常不同的方法来研究随时间变化的流行度偏见。在他们的工作中,作者使用审计方法来评估YouTube上的偏见放大效应。从技术上讲,他们使用机器人模拟用户体验,这些机器人在某个主题的推荐视频上执行随机游走。他们的发现的一部分表明,“YouTube越来越推荐越来越流行但主题无关的视频”。总的来说,这项工作是在野外研究流行度偏见的少数工作之一。

将流行度方面作为性能预测器。最后,一些研究者量化给定数据库中的流行度偏见,目标是预测不同推荐算法的性能。例如,在Deldjoo等人(2021)中,商品的流行度分布作为几个可能影响模型准确性的数据特征之一被检查。实验分析确实表明,捕捉流行度分布特征的各种度量标准可以帮助做出准确的预测。这似乎特别是对于那些已知对流行商品有某种倾向的算法,如贝叶斯个性化排序(Rendle等人 2009)。关于数据库特征对算法性能影响的相关分析可以在Adomavicius和Zhang(2012)中找到,其中评分分布被用作基尼指数形式的预测器。

5.2 减轻偏见的方法

在这里,我们首先将根据减轻偏见的处理阶段对现有工作进行分类。接下来,我们将更深入地审查一些技术方法。

5.2.1 按处理阶段分类

如图7所示,大多数发表的论文都致力于减轻现有偏见的问题。在本节中,我们将更深入地讨论这些技术方法。受到Adomavicius和Tuzhilin(2015)关于上下文感知推荐系统的工作启发,我们根据减轻策略在推荐算法中实施的处理阶段对现有方法进行分类。我们区分了预处理、处理中和后处理方法。粗略地说,预处理意味着在学习阶段之前以某种方式调整或过滤底层数据集。在一种简单的方法中,例如,可以事先禁止某些非常流行的商品被推荐。在处理中方法中,减轻技术是学习过程的一部分,例如,通过在损失函数中考虑商品流行度。最后,在后处理方法中,通常适应一个经过优化的准确度列表来考虑偏见,例如,通过重新排列items,使不太流行的商品被带到列表的前面。

图8显示了根据处理阶段提出减轻策略的论文的分布。每篇论文的详细分类可以在表2中找到。我们在这里注意到,在某些情况下,将个别论文分配到某些类别是有一定解释空间的。特别是在区分处理中和后处理方法时。甚至更多,当从完全以系统输出为导向的角度来看时,几乎可以将每种方法都视为处理中类型。我们在表2中选择的个别论文的分类,一篇论文也可以被分配到多个类别。以下,我们审查不同类别中的选定方法。

表2

5.2.2 预处理方法

在我们调查中,减轻偏见的预处理方法是最少见的技术。此外,在许多情况下,这种预处理技术与额外的处理中减轻步骤相结合。因此,区分预处理和处理中技术通常留有一些解释的空间。然而,至少有一些方法——特别是那些在模型训练之前应用某些形式的数据集操作的方法——可以明确地被认为是预处理。典型的预处理步骤包括数据采样、商品排除或为学习创建正负样本对的特定形式。例如,在Cremonesi等人(2014)中,作者描述了一个实验,其中从目录中移除了高度流行商品的“短头部”。他们工作的目标是通过用户研究调查当这些高度流行商品不被推荐时,用户体验和推荐系统的感知效用如何变化。

Seki和Maehara(2020)应用了一种更轻微形式的数据采样。这里,预处理步骤的目标是创建一个平衡的数据集,以减轻不同的公平问题,其中之一就是流行度偏见。最终,通过平衡过程,作者旨在创建更公平的模型。然而,必须注意,这样的数据采样和平衡必须小心进行,特别是要确保剩余数据仍然具有代表性。

而不是通过采样减少数据,一些作者提议通过预处理步骤扩充现有数据,通过额外的信息扩展原始数据集。这种扩充可能包括:

  • 将某些类型的items元数据纳入多模态(Cagali等人 2021);
  • 添加来自外部来源的用户信息,如他们的社交联系(Li等人 2021),
  • 或结合隐式和显式反馈,如在Jadidinejad等人(2019)中所做的。

在这项后续工作中,考虑评分数据被认为有助于(a)更频繁地推荐高质量商品,无论它们(当前)的流行度如何,以及(b)更好地利用模型训练期间的现有用户反馈。

Park和Tuzhilin(2008)提出了一种非常不同的方法,专注于丰富与尾部商品相关的数据。根据这种方法,商品目录被划分为头部商品和尾部商品,并对每个部分分别进行推荐。对于尾部商品,推荐是通过一种称为总聚类(TC)的方法进行的,该方法对尾部商品应用聚类技术,然后根据每个聚类内的评分生成推荐。另一方面,对于头部商品,遵循一种称为每个商品(EI)的方法,该方法不应用聚类,仅根据单个商品的评分生成推荐。

Boratto等人(2021)描述了一种减轻偏见方法的例子,根据作者的说法,这种方法既有预处理元素也有处理中元素。在被认为是预处理操作的部分,作者提出了特定的采样策略,用于点式和成对优化设置。例如,在成对采样的情况下,创建用于学习的item pair对不是随机进行的,而是根据item的流行度进行的。类似的方法在Jannach等人(2015)中更早地被提出,用于贝叶斯个性化排序方法。

5.2.3 处理中/建模方法

处理中方法在文献中是减轻流行度偏见的最常见技术。虽然针对不同的应用领域和场景提出了各种处理中技术,但它们共享一个共同原则,即干预推荐模型,以最小化流行商品的影响,以便预计通过推荐传播的偏见会减少。以下,我们讨论最常见的处理中偏见减轻方法家族。

基于正则化的方法是控制流行度影响的一组突出方法(Abdollahpouri等人 2017a;Kiswanto等人 2018;Boratto等人 2021;Zhu等人 2021b;Kamishima等人 2014;Seymen等人 2021)。正则化通常涉及在优化目标中添加一个项,以降低商品流行度对预测商品评分的影响。在学习过程中,正则化项因此惩罚推荐流行商品和/或帮助推广不太流行的商品。通常添加一个特定的权重因子(或:系数)到正侧项中,以调整正则化的强度,从而平衡准确性和流行度偏见的竞对目标。

在该领域的早期工作中,Kamishima等人(2013)例如,提出了在优化目标中使用特定的正则化项来构建“信息中性”的推荐系统。信息中性意味着某些由用户指定的预定义特征不会显著影响推荐输出。这个最初在过滤泡沫现象的背景下开发的想法,随后被应用于Kamishima等人(2014)中的流行度偏见问题,其中相应的目标是最终得到一个流行度中性的推荐系统。

后来,受到早期处理准确性-多样性权衡工作的启发,Abdollahpouri等人(2017a)提出了通过正则化项平衡流行度和准确性,该正则项在Learning2Rank方法中惩罚推荐流行商品。我们注意到,他们的工作中将流行度偏见视为一个公平性问题,并且在推荐中考虑不太流行的商品主要等同于增加公平性。

Boratto等人(2021)和Zhu等人(2021b)最近提出了“基于相关性的”正则化方法,结合预测评分和商品流行度值。在这些方法中,通过在商品的相关性评分主要由于其流行度而被预测为高时施加惩罚,从而减少流行度的影响。从技术上讲,这些方法基于Beutel等人(2019)早期提出的想法,用于增加推荐系统公平性。

基于约束的方法通常考虑一组规则(约束),以限制解决方案的空间,并将模型的学习过程引导到更有效和准确的结果。例如,Wang和Wang(2022)引入了(α,β)-公平性的概念,该概念认为“相似的商品应在推荐中获得相似的覆盖度”。在这种方法中,参数α和β确定商品相似度和覆盖相似度,目标是使相似商品的曝光水平均等化。通过将此约束嵌入到深度学习推荐模型的随机策略中,可以减少流行度偏见。

另一个值得注意的基于约束的方法是由Seymen等人(2021)提出的,在推荐框架中采用了结合约束和优化任务的技术。特别是,提出的技术通过一组定义各种约束的决策变量扩展了推荐优化目标,例如,上限和下限、辅助变量和加权总和,以调整和控制推荐的各种特征。例如,可以通过上限控制推荐的整体流行度,强制推荐包含不太流行的商品。该框架在各种类型的约束可以轻松整合的意义上是多功能的。在他们的论文中,作者使用该框架解决了不同的问题和任务,包括提供者公平性、流行度偏见和多样化。重新加权方法通过以某种方式调整推荐模型中的权重来控制流行度的影响(Gharahighehi等人 2021;Steck 2011;Zhao等人 2013;Gangwar和Jain 2021;Bedi等人 2014)。Steck(2011)提出了一种早期的重新加权方法。在这项工作中,检查了推荐长尾商品和准确性之间的权衡。为了解决这个问题,作者建议了一个新的度量标准,称为“流行度分层召回”,它以一种将长尾推荐视为更有价值的方式来结合两个目标。在训练期间,可以减少(许多)观察到的流行商品的评分权重,或增加排序过程中的(缺失的)评分权重,参见Steck(2010)。Steck(2011)的工作的一个值得注意的方面是,它报告了与用户的初步研究结果。研究表明,至少对于这个特定的研究设置,用户只欣赏对不太流行商品的轻微偏见。

Zhao等人(2013)也提出了降低流行商品权重的方法,其中作者提出了一个可以利用反映收集的用户数据的许多因素的权重调整机制,例如,用户的意见、共同评分信息和用户提供的评分值。Gangwar和Jain(2021)中找到了使用相反方法的上权重长尾商品的工作的例子,其中使用了受Schapire(1999)启发的提升算法来调整权重,以增加不太流行商品的曝光。

我们在这里注意到,上述讨论的许多重新加权工作采用了静态方法来评估流行度偏见的影响,而Zhu等人(2021a)则采取了纵向视角来观察随时间发展的流行度偏见,参见Jannach等人(2015)、Ferraro等人(2020)。这项工作背后的理念是,在真实的推荐系统中,用户反复收到的推荐并不一定是他们感兴趣的,因此从未被消费过。这些推荐代表了误报错误,因此可以用作负反馈数据的来源。结果,用户喜欢这样的推荐的概率随着每次向用户展示的新推荐而降低。基于这一理念和相应的模拟结果,作者提议通过动态变化的超参数,逐步增加底层重新加权(或重新缩放)的去偏见强度

可以被视为重新加权特殊情况的是基于逆倾向得分(IPS)的方法(Schnabel等人 2016;Huang等人 2022;Lee等人 2021)。逆倾向的概念从统计学中借鉴,并在几项先前工作中用于减少流行度的影响。在推荐系统的背景下,倾向得分可以被定义为用户基于观察到的用户特征和行为,发现特定商品有趣、因此喜欢它的概率。倾向得分通常基于商品的流行度(Lee等人 2021),因为用户通常更有可能与流行商品互动。然后,将这个得分的倒数作为惩罚应用,有助于避免推荐模型对通常流行商品的观察结果的关联性高估。

Schnabel等人(2016)是最早考虑倾向得分以增加某些商品群体的曝光度,从而减轻选择偏见的。这种现象通常被认为与流行度偏见紧密相关。此外,这项工作利用因果推断和反事实推理进行无偏推荐质量估计。Huang等人(2022)后来描述了一种相关方法,该方法还考虑了倾向得分的动态方面。作者认为,推荐算法应该考虑用户偏好随时间的变化。上述讨论的两项工作都基于显式用户评分。相比之下,Lee等人(2021)基于隐式反馈(点击数据)提出了他们的倾向得分方法。这种方法通过考虑缺失数据中的负倾向,扩展了通常采用的正倾向。作者建议,缺失反馈的含义最初是模糊的——不清楚它是否是负面反馈或只是一个尚未看到的商品。因此,学习以无偏的方式从点击和缺失数据中估计真正的正面和负面偏好,有潜力显著提高推荐准确性。

更准确的,无偏推荐也是Wan等人(2022)研究的重点。在这项工作中,Wan等人提出了一个修改后的损失函数,名为“交叉成对损失(cross pairwise loss)”。作者认为,交叉成对损失比pairwise或pointwise loss方法更不容易受到偏见的影响,因为它可以更好地优化预测分数朝向真正的相关性分数。此外,假设提出的技术可以克服基于IPS的方法的一些限制,即,消除了定义倾向以描述推荐模型曝光机制的需要。通常,基于倾向的技术的一个限制是,倾向的实际值最初是未知的,因此需要近似。这使得这些技术对倾向估计器的选择变得敏感,因此可能受到估计偏见、估计误差和倾向设定错误的影响(Yang等人 2018b)。因此,Saito(2020)建议了一个与倾向无关的损失函数,以解决基于IPS方法的这些潜在限制。

基于图的相似性调整用于控制基于图的推荐系统中流行度偏见的影响,例如在Hou等人(2018)、Chen等人(2014)中,通过“纠正”商品或用户相似性的定义方式。Chen等人在Chen等人(2014)中提出了一种替代余弦相似性的新相似性度量,这通常用于基于图的协同过滤算法。新的相似性度量考虑了两个重要因素:用户口味,由用户节点度表示,商品流行度,由商品节点度测量。将这两个术语包含在新的相似性度量中,并用可调系数控制这些术语,可以定义这些因素对预测分数的影响程度。这反过来有助于减轻流行度偏见,减少流行度的影响力。另一项使用商品节点度的工作是Hou等人(2018),他们也提出了使用一种新的相似性度量。作者将其命名为“平衡相似性指数”,并表示他们的方法能够更多地关注既不是非常流行也不不流行的商品。上述两种方法都使用系数来控制去偏见强度,这需要微调以找到推荐准确性和流行度偏见减轻之间的最佳权衡。

在推荐过程中整side info是另一种用来解决流行度偏见问题的方法。遵循这种方法的策略最初可能旨在关注不同的目标,例如,用户偏好满足度、推荐新颖性和多样性。然而,它们在减轻流行度偏见方面也表现出有效性。考虑侧信息(side info)的理念是,缺乏足够的互动数据,例如,在协同过滤技术中,可能会更多地影响不受欢迎的(长尾)商品,并导致它们在推荐中被低估。例如,已经表明流行商品往往比不流行商品有更多的邻域关系(Hou等人 2018)。这可能导致不流行商品之间的相似度较低,导致它们在基于邻域的协同过滤生成推荐时被忽视。实际上,纯协同过滤技术通常被认为更倾向于加强流行度偏见,因为它们仅依赖于用户互动数据(Jannach等人 2015)。通过在推荐过程中整合额外特征来扩展这些技术可能有助于解决问题并补偿缺失的数据。这在计算基于商品或基于用户的关系时特别有用,通过整合这样的额外信息,例如,用户的社交联系或商品产品的描述。因此,整合侧信息可能有助于更好地平衡推荐中流行和不流行商品的包含,并减轻流行度偏见。

我们注意到,我们使用“侧信息(side info)”这个术语既指结构化的商品元数据,也指与商品相关的文本信息,如内容描述或评论。由于文本侧信息通常使用特定的自然语言处理(NLP)算法进行处理,我们将在后面单独讨论这些方法。

因果推断方法通常尝试更深入地探究流行度偏见的本质及其成因。例如,Wei等人(2021)将排序预测建模为因果关系,并确定商品流行度和用户从众行为在这种关系中的作用。作者提议采用反事实推断来减轻不受欢迎的流行度效应。应用反事实方法的基本理由是,传统的非因果学习方法会加强观察到的用户行为,结果会越来越多地推荐因为它们流行而不是因为商品属性符合特定用户偏好的商品。他们因此寻求回答的反事实问题是,如果模型只关注用户和商品之间的匹配,排序分数将是多少。这些信息最终用于在推荐过程中消除或减少流行度效应。

He等人(2022)讨论了一种基于反事实推断的不同因果模型的方法,两项工作都引入了一个反事实世界来减少流行度对最终推荐的影响。

在相关研究中,Zheng等人(2021)采用因果模型来描述用户互动的发生,并尝试将这些互动归因于用户从众或用户的真实偏好。Zhang等人(2021)也寻求在考虑推荐的时间维度和商品流行度不恒定的事实的同时,消除流行度在因果关系中的影响。作者引入了称为“流行度漂移”的度量来描述商品流行度的变化,并预测未来的流行度趋势。作者声称,了解这些趋势,实际上可以保留一部分流行度偏见,以推广有潜力变得流行但尚未达到并且需要曝光提升的商品。

5.2.4 后处理方法

后处理技术在偏见减轻中非常流行。后处理方法的主要优点包括实施成本通常较低、多功能性以及侵入性低,即后处理技术通常应用于底层推荐模型之上。此外,一些现有方法非常通用,可以应用于多个应用领域。

从技术上讲,文献中的主要后处理形式包括:

  • 重新缩放(得分调整),
  • 重新排序(重新排列),
  • 排序聚合。

所有这些方法通常基于一个由准确性得分排序的给定推荐列表,然后在后处理阶段加入额外信息。

重新缩放(或:得分调整)通过更新给定推荐列表的相关性得分来补偿流行度偏见,通过提升某些商品或惩罚其他商品。然后使用更新后的得分重新排序推荐商品列表。在重新排序的情况下,商品顺序也会改变,但在某些情况下,原始的相关性得分被认为不太相关并被丢弃。相反,这些方法通常仅基于商品排序,交换或交换商品以满足某些标准。排序聚合后处理涉及由不同模型为同一用户产生的多个推荐列表,并基于融合这些列表的排序聚合方法。最后,除了上述三种方法外,后过滤技术可能简单地从推荐列表中移除某些(流行)商品。在重新缩放中,目标是提升或惩罚推荐列表中的某些商品。在考虑流行度的情况下,这可以被视为一种偏见校正方法。因此,典型的目标是:

-(a)包括对用户可能感兴趣的更多或更少的流行商品, -(b)排除用户不感兴趣或已经知道的流行商品, -(c)不包括对用户既不流行又不感兴趣的商品。

Zhu等人(2021b)中可以找到最近的后处理方法工作的例子,其中作者提议以适当的方式向预测偏好得分添加补偿得分以考虑上述目标。我们注意到,在同一工作中也提出了基于正则化的处理中方法。在另一种后处理方法中,Zhu等人(2021a)也应用了偏见校正,但是从动态的角度出发,其中偏见减轻是迭代且重复地随时间应用的。

重新排序似乎是审查工作中最常见的后处理技术。通常,这些方法试图以优化某个特定目标度量的方式重新排序推荐列表中的商品。例如,Abdollahpouri等人(2021)描述的方法旨在平衡列表中商品的相关性和流行度,具有一个灵活的参数,使这些特征中的任何一个更具重要性。相同的目标函数早已由Steck(2011)用于处理中减轻方法。Klimashevskaia等人(2022)后来复制了这种方法,证明尽管该方法能够根据用户流行度偏好调整推荐,但这并不一定能显著减轻整个平台的流行度偏见。在早期工作中,Abdollahpouri等人(2019a)提出了xQuAD查询多样化算法的改编,用于减轻流行度偏见。在相关工作中,作者还从纵向角度研究了这种方法的性能(Abdollahpouri和Burke,2019)。

一些基于重新排序的工作将流行度偏见与新颖性概念紧密联系起来。Oh等人(2011)和Bedi等人(2014)建议在推荐列表中包括更多新颖和曝光不足的商品,以提高推荐实用性。其他工作旨在仅惩罚特定类型的流行商品,例如Yalcin和Bilge(2022)中的“大片”商品,或在Wang等人(2022a)的背景下实施某些应用特定特征或度量,以众包工作者推荐为背景。

最后,一些工作依赖于图和网络科学技术来重新排列推荐列表,以实现某些分布目标。Mansoury等人(2020a)考虑了通过二分图的商品可见性,并在Eskandanian和Mobasher(2020)中使用了稳定匹配算法。这两种方法都将商品和/或用户表示为图中的节点,并使用此模型来调查和增加重新排列推荐列表中商品的曝光度。与此相反,Zanon等人(2022)描述了一种基于图的方法,通过额外的相似性信息进行重新排序。

排序聚合通过结合替代排序来抵消模型训练期间引入的流行度偏见。例如,Dong等人(2019)建议通过双向排序聚合将给定排序与反向推荐排序结合起来。或者,商品排序也可以与用户或用户组的反向流行度排序结合起来,如Yalcin和Bilge(2021)所提议的。Yalcin(2022)提出了一种非常特别的依赖多个排序列表的方法。在这里,想法不是生成多个列表并结合它们,而是基于预定义的标准,如偏好匹配、多样性或流行度分布,选择多个预先生成的列表中的一个。

5.3 偏见利用方法

有一些工作尝试利用流行商品实际上受到许多人喜爱这一事实——因此也是“安全”的推荐,参见我们上面关于Netflix在视频排序中加入流行度信号的讨论。

例如,Zhao等人(2022)声称,并不是所有的商品流行度都是一样的,它可能源于商品的真实质量,因此可以导致高质量的推荐。作者建议利用这种“真实质量流行度”,同时减轻其他流行度偏见的影响,将它们相互分离。在新闻推荐领域,商品的(近期)流行度可能是一个非常重要的信号。例如,Qi等人(2021)的工作表明,使用文章流行度实际上可以带来足够的主题多样性和覆盖率。一些早期的工作也证明了,考虑文章的近期流行度对于提高推荐准确性至关重要(Hopfgartner等人 2016;Tavakolifard等人 2013;Garcin等人 2013)。对于电子商务领域,Jannach等人(2017)报告了关于短期流行趋势重要性的类似观察。

Zhang等人(2022)讨论了一种非常不同且恶意的使用某些算法现有流行度偏见的方式。在这里,作者描述了如何滥用流行度偏见进行攻击,以人为提升目标商品的流行度,利用有偏见推荐系统的可预测行为。这种脆弱性可能会进一步错误地扭曲流行度分布,可能导致信任度的丧失,以及对平台上提供者公平性的损害。总的来说,这项后续工作是一个关键的例子,展示了研究、理解和能够控制推荐系统流行度偏见的重要性。

附录

https://link.springer.com/article/10.1007/s11257-024-09406-0

美团在《PIER: Permutation-Level Interest-Based End-to-End Re-ranking Framework in E-commerce》 提出了PIER的方式建模:

摘要

Reranking在学术界和工业界引起了越来越多的关注,它通过建模物品之间的相互影响重新排列ranking list,以更好地满足用户需求。许多现有的re-ranking方法直接将初始ranking list作为输入,并通过精心设计的contextwise模型生成最优排列,这带来了(evaluation-before-reranking)问题。同时,在实际中评估所有候选排列会带来不可接受的计算成本。因此,为了更好地平衡效率和效果,在线系统通常采用两阶段体系结构:首先使用一些启发式方法,如beamsearch,生成适量的候选排列,然后将其送到评估模型中以获得最优排列。然而,现有的两段式方法可以通过以下两方面进行改进:

  • 对于生成阶段,启发式方法仅使用点预测分数,缺乏有效的判断。
  • 对于评估阶段,大多数现有的上下文评估模型仅考虑物品上下文,缺乏更精细的特征上下文建模。

本文提出了一种新颖的端到端reranking框架PIER,以解决上述挑战,仍然遵循两阶段体系结构,并包含两个主要模块FPSM和OCPM。

  • 受长期用户行为建模方法的启发,我们在FPSM中应用SimHash以高效地从全排列中选择前K个候选items,这些候选items基于用户在排列级别上的兴趣。
  • 然后,在OCPM中设计了一种新颖的全向注意力(omnidirectional attention)机制,以更好地捕捉排列中的上下文信息。
  • 最后,我们通过引入一个可比的learning loss来端到端地共同训练这两个模块,该loss使用OCPM的预测值来指导FPSM生成更好的排列。离线实验结果表明,PIER在公共和工业数据集上均优于基线模型,并且我们已成功将PIER部署在美团外卖平台上。

1.介绍

4.方法

我们在图2中呈现了PIER(基于排列级别兴趣的端到端reranking:Permutation-level Interest-based End-to-End Re-ranking)的概述结构。

图片名称

图2

  • 首先,我们将ranking list $C = \lbrace a_i \rbrace_{𝑖=1}^{N_o}$和用户的permutation-level点击行为序列$B = \lbrace b_i \rbrace_{i=1}^{N_o}$作为PIER的输入。
  • 然后,我们通过完全排列算法(full permutation algorithm:图中为方便将每个排列的items数设为3)在C上生成候选排列(candidate permutations):$G = \lbrace p_i \rbrace_{𝑖=1}^T$。
  • 接下来,我们使用细粒度排列选择模块(FPSM:Fine-grained Permutation Selection Module)从大量候选排列中选择前K个排列。
  • 最后,我们使用全向上下文感知预测模块(OCPM:Omnidirectional Context-aware Prediction Module)计算每个排列的分数,并选择最佳排列$𝑝^∗$作为re-ranking list来进行显示。

在FPSM中,我们提出了基于SimHash [5, 8, 19]计算的时间感知汉明距离( time-aware hamming distance)。通过对用户的permutation-level点击行为和候选排列之间的距离进行排序,选择topK个排列。在OCPM中,我们设计了一种新的全向注意力单元(omnidirectional attention unit),用于建模每个排列中的上下文信息,并输出关于在该排列中每个item的list-wise pCTR。基于输出得分,即list-wise pCTRs之和,选择最佳排列。FPSM和OCPM之间的关系类似于推荐系统中的matching和ranking阶段。我们将两者合并成一个框架,生成最优重新排名列表。接下来,我们将分别详细介绍FPSM和OCPM。

4.1 FPSM: 细粒度排列选择模块

出于时耗考虑,一些re-ranking方法利用启发式方法,如beam-search[11] (PRS)生成候选排列,并使用精心设计的预测模型选择最优排列,但这些启发式方法与建模目标不一致,导致次优效果。受ETA和SDIM [4]等长期用户行为建模方法的启发,我们提出了FPSM通过SimHash选择topK个候选项。这里,我们以用户的历史点击行为为目标,然后计算它与所有候选排列之间的距离。如果距离更近,我们认为排列可以更好地匹配用户的兴趣,从而可以带来更大的收益。通过这种方式,我们不仅可以减少时间复杂度,还可以通过端到端训练FPSM和预测模型来做出一致的选择。接下来,我们将介绍如何通过FPSM选择topK个排列。

图片名称

图3 FPSM和OCPM的结构。FPSM会采用用户的permutation-level点击行为和一个candidate permutation作为input,并输出该permutation的distance score。OCPM会采用用户的permutation-level 点击行为和一个由FPSM选中的top-k permutation作为input,并输出在permutation中的每个item的predicted list-wise pCTR。通过颜色区分

如图3左侧所示,我们首先使用底部共享的嵌入层从原始输入中提取嵌入。对于排列$𝑝_𝑘$,我们将嵌入矩阵$M_{𝑝_𝑘}$表示为:

\[M_k^p = \left[ \begin{array}{c} E_{0;}^{p_k} \\ E_{1;}^{p_k} \\ \cdots \\ E_{N_d;}^{p_k} \end{array} \right] = \left[ \begin{array}{cccc} E_{;0}^{p_k} E_{;1}^{p_k} \cdots E_{;N_f}^{p_k} \end{array} \right] = \left[ \begin{array}{cccc} e_{0;0}^{p_k} e_{0;1}^{p_k} \cdots e_{0;N_f}^{p_k} \\ e_{1;0}^{p_k} e_{1;1}^{p_k} \cdots e_{1;N_f}^{p_k} \\ \cdots \cdots \cdots \cdots \\ e_{N_d;0}^{p_k} e_{N_d;1}^{p_k} \cdots e_{N_d;N_f}^{p_k} \end{array} \right] \in R^{N_d \times N_f \times D}\]

…(1)

其中:

  • $𝑁_𝑑$是每个permutation中的items数目
  • $𝑁_𝑓$是每个item中的feature fields数目(例如ID、类别、品牌等)
  • 𝐷是embedding转置feature的维度
  • $e_{𝑖;j}^{p_k} \in R_𝐷$是排列$𝑝_𝑘$中第𝑖个item的的第𝑗个feature字段的embedding
  • $E_{𝑖;}^{𝑝_𝑘} \in R^{𝑁_𝑓 × 𝐷}$是排列$𝑝_𝑘$中第𝑖个item的embedding矩阵
  • $E_{;𝑗}^{𝑝_𝑘} \in R^{𝑁_𝑑 × 𝐷}$是排列$𝑝_𝑘$中第𝑗个特征字段的embedding矩阵
  • $M_𝑚^b \in R^{𝑁_𝑑 \times 𝑁_𝑓 \times D}$:表示用户排列级别历史点击行为中第𝑚个排列的embedding矩阵

接下来,我们为每个排列生成位置编码(position encoding)矩阵$PE \in R^{𝑁_𝑑 \times 𝐷}$,如下所示:

\[PE_{(𝑖,2𝑑)} = sin(𝑖/10000^{2𝑑/𝐷}), \\ PE_{(𝑖,2𝑑+1)} = cos(𝑖/10000^{2𝑑/𝐷}), \\ PE = \left[ \begin{array}{cccc} PE_{(0,0)} PE_{(0,1)} \cdots PE_{(0,D)} \\ PE_{(1,0)} PE_{(1,1)} \cdots PE_{(1,D)} \\ \cdots \cdots \cdots \cdots \\ PE_{(N_d,0)} PE_{(N_d,1)} \cdots PE_{(N_d,D)} \end{array} \right]\]

…(2)

然后,各个特征字段的嵌入矩阵分别与位置编码矩阵PE相乘,然后通过average pooling合并为相应的排列representation $h_𝑘^p$,如下所示:

\[h_k^p = \frac{1}{N_f} \sum\limits_{i=1}^{N_f} Avg-Pool(E_{;i}^{p_k} \odot PE), \forall k \in [N_o]\]

…(3)

类似地,用户排列级别历史点击行为中第𝑚个排列的representation为$h_𝑚^b$。

在我们的场景中,用户更有可能点击与其兴趣更接近的排列。我们使用用户的排列级别历史点击行为来表示用户的兴趣,并计算用户兴趣与每个候选排列之间的距离。具体而言,我们利用随机投影模式(SimHash)[5, 8, 19]来计算用户点击排列的representations和候选排列的表示之间的相似度。我们首先生成𝑀个不同的哈希函数,对应于𝑀个用户的permutation-level行为。对于每个候选排列$𝑝_𝑘$,我们使用𝑀个不同的哈希函数来对它们的表示$h_𝑘^p$进行hash,并计算它与每个用户的排列级别行为之间的汉明距离,如下所示:

\[Sim(p_k, b_m) = Hash_m(b_k^p, h_m^b), \forall m \in [M], \forall k \in [N_o]\]

…(4)

同时,越近期的行为越能反映用户当前的兴趣,因此在相似度计算中会给予更高的权重。因此,我们根据每个行为的发生时间对这些距离进行加权,以获得时间感知的汉明距离,如下所示:

\[d_k = \sum\limits_{m=1}^M w_m \cdot Sim(p_k, b_m), \forall k \in [N_o]\]

…(5)

其中:

  • $w_m$是第m个行为的time-aware weight。

最后,我们根据它们的距离得分对候选排列进行排序,并选择距离得分最小的前K个排列$P^{𝑡𝑜𝑝−𝐾} = {𝑝_𝑖^{𝑡𝑜𝑝}}_{𝑖=1}^𝐾$作为FPSM的输出。

由于FPSM与OCPM共享底部embedding layers,并固定住哈希函数(hash functions)和位置编码(position encoding)的随机向量,因此它没有需要训练的独立参数。为了确保训练期间选择的前K个排列的质量,我们提出了对比损失(contrastive loss)来提高FPSM的性能。对比损失(contrastive loss)的详细内容将在第4.3.2节中讨论。

OCPM(全向上下文感知预测模块)

#

Yandex在《On Embeddings for Numerical Features in Tabular Deep Learning》中介绍了一种数值型特征建模embedding的方法:Periodic embedding。

摘要

最近,类似Transformer的深度架构在表格数据(tabular data)问题上表现出强大的性能。与传统模型(如MLP)不同,这些架构将数值特征(numerical features)的标量值映射到高维embedding中,然后将它们混合在主网络(backbone)中。在该工作中,我们认为数值特征的embedding在tabular DL中没有被充分探索,可以构建更强大的DL模型,并在一些对GBDT友好的基准测试中与GBDT竞争(即,在这些基准测试中,GBDT优于传统的DL模型)。我们首先描述了两种概念上不同的构建embedding模块的方法:

  • 第一种基于标量值的分段线性编码(piecewise linear encoding)
  • 第二种使用周期性激活(periodic activations)

然后,我们通过实验证明,与基于传统blocks(如线性层和ReLU激活)的embedding相比,这两种方法可以显著提高性能。重要的是,我们还表明,嵌入数值特征对许多主网络都有好处,不仅仅是对于Transformer。具体而言,在适当的嵌入后,简单的类MLP模型可以与attention-based的架构相媲美。总体而言,我们强调数值特征的embedding是一个重要的设计方向,在tabular DL中具有进一步改进的良好潜力。源代码可在https://github.com/yandex-research/tabular-dl-num-embeddings获得。

1.介绍

目前,表格数据(Tabular data)问题是深度学习(DL)研究的最后一道难关。虽然最近在自然语言处理、视觉和语音方面取得了深度模型的突破[12],但它们在表格领域的成功尚未令人信服。尽管已经提出了大量的表格DL架构[2、3、13、17、21、24、31、39、40],但它们与“浅层”决策树集成(如GBDT)之间的性能差距通常仍然显著[13、36]。

最近的一系列工作[13、24、39]通过成功将Transformer架构[45]调整为表格领域,缩小了这种性能差距。与传统模型(如MLP或ResNet)相比,提出的类Transformer架构具有一些特定方式来处理数据的数值特征。即:将多个数值特征的scalar values分别映射到高维embedding vectors中,接着通过self-attention模块被混合在一起。除了transformers,将数值特征映射到向量中也在点击率(CTR)预测问题中以不同形式被应用[8、14、40]。然而,文献大多集中在开发更强大的主网络(backbone),同时保持嵌入模块的设计相对简单。特别是,现有的架构[13、14、24、39、40]使用相当限制的参数映射(例如线性函数)构建数值特征的嵌入,这可能导致次优性能。在这项工作中,我们证明了嵌入步骤对模型的有效性有重大影响,其适当的设计可以显著提高表格DL模型的性能。

具体而言,我们描述了两种不同的构建块(building blocks),适用于数值特征的embeddings构建。

  • 第一种是分段线性编码( piecewise linear encoding):它为原始标量值产生了可备选的初始表示(intial representations),并且它采用的基于特征分箱(feature binning)的方式,这是一种长期存在的预处理技术[11]。
  • 第二种则依赖于周期性激活函数(periodic activation functions):这是受到隐式神经表示[28、38、42]、NLP[41、45]和CV任务[25]中使用的启发。

第一种方法简单、可解释且不可微,而第二种方法平均表现更好。我们观察到,配备我们的embedding方案的DL模型在GBDT友好的基准测试中成功地与GBDT竞争,并在表格DL上实现了新的最先进水平。作为另一个重要发现,我们证明了嵌入数值特征的步骤对于不同的深度架构普遍有益处,不仅仅适用于类Transformer的架构。特别地,我们展示了,在适当的嵌入后,简单的类MLP架构通常可以提供与最先进的attention-based的模型相媲美的性能。总体而言,我们的工作展示了数值特征的嵌入对表格DL性能的巨大影响,并展示了未来研究中探索更高级嵌入方案的潜力。

2.相关工作

表格深度学习(Tabular deep learning)。在过去几年中,社区提出了大量用于表格数据的深度模型[2、3、13、15、17、21、24、31、39、40、46]。然而,当系统地评估这些模型时,它们并没有始终优于决策树集成(ensembles of decision trees),如GBDT(梯度提升决策树)[7、19、32],这些决策树集成通常是各种机器学习竞赛的首选[13、36]。此外,一些最近的研究表明,提出的复杂架构并不比经过适当调整的简单模型(如MLP和ResNet)优越[13、18]。在这项工作中,与之前的文献不同,我们的目标不是提出一种新的主网络(backbone)架构。相反,我们专注于更准确地处理数值特征的方法,它可以潜在地与任何模型结合使用,包括传统的MLP和更近期的类Transformer的模型。

表格DL中的Transformer。由于Transformer在不同领域取得了巨大成功[10、45],因此一些最近的工作也将它们的self-attention设计适用于表格DL[13、17、24、39]。与现有的替代方案相比,将self-attention模块应用于表格数据的数值特征,需要将这些特征的标量值映射到高维嵌入向量中。到目前为止,现有的架构通过相对简单的计算块(computational blocks)执行这种“标量(scalar)”→“向量(vector)”映射,在实践中,这可能限制模型的表达能力。例如,最近的FT-Transformer架构[13]仅使用单个线性层。在我们的实验中,我们证明这种嵌入方案可以提供次优性能,而更高级的方案通常会带来巨大的收益。

点击率(CTR)预估。在CTR预估问题中,对象由数值和分类特征表示,这使得这个领域与表格数据问题高度相关。在一些工作中,数值特征以某种非平凡的方式处理,但并不是研究的核心[8、40]。最近,Guo等人提出了更高级的方案AutoDis[14]。然而,它仍然基于线性层和传统的激活函数,我们发现在我们的评估中这种方法是次优的。

特征分箱(Feature binning)。分箱是一种将数值特征(numerical features)转换为类别特征(categorical features)的离散化技术。即,对于给定的特征,其值范围(value range)被分成若干个bins(intervals),然后原始特征值被替换为对应bin的离散描述符(例如bin indices或one-hot向量)。我们指出Dougherty等人的工作[11],它对一些经典的分箱方法进行了概述,并可以作为相关文献的入口。然而,在我们的工作中,我们以不同的方式利用bins。具体而言,我们使用它们的边缘来构建原始标量值的无损分段线性表示。结果表明,在一些表格问题(tabular problems)上,这种简单且可解释的表示(representations),可以为深度模型提供实质性的收益。

周期性激活(Periodic activations)。最近,周期性激活函数已成为处理类似坐标输入的关键组成部分,这在许多应用中都是必需的。例如,自然语言处理[45]、计算机视觉[25]、隐式神经表示[28, 38, 42]等。在我们的工作中,我们展示了周期性激活函数可用于构建强大的embedding模块,用于解决表格数据问题中的数值特征。与一些前述论文不同的是,在将多维坐标的各个分量(例如,通过linear layers)传递给周期性函数之前,我们发现将每个特征单独嵌入并在主网络(backbone)中混合它们至关重要。

3.Embeddings for numerical features

在本节中,我们描述了所谓的“数值特征embedding”的一般框架以及实验比较中使用的主要构建模块。符号表示:对于给定的表格数据监督学习问题,我们将数据集表示为:

$\lbrace(x^j, y^j)\rbrace_{j=1}^n$

其中:

  • $y_j \in Y$:表示目标(object)的label
  • $x_j = (x^{j(num)}, x^{j(cat)}) \in X$:表示目标(object)的features(num:数值型特征,cat:类别型特征)
  • $x_i^{j(num)}$:则表示第 j 个目标(object)的第 i 个数值特征

根据上下文,可以省略 j 索引。数据集被分成三个不相交的部分:$\overline{1, n} = J_{train} \cup J_{val} \cup J_{test}$,其中:“train”部分用于训练,“validation”部分用于early stopping和hyperparameter tuning,“test”部分用于最终评估。

3.1 总框架

我们将“数值特征embedding”概念形式化为:

\[z_i = f_i(x_i^{(num)}) \in R^{d_i}\]

其中:

  • $f_i(x)$:是第i个数值特征的embedding函数
  • $z_i$:是第i个数值特征的embedding
  • $d_i$:是embedding的维度

重要的是,所提出的框架意味着所有特征的embedding都是独立计算的。请注意,函数 $f_i$ 可以依赖于作为整个模型的一部分或以其他方式训练的参数(例如,在主要优化之前)。在本工作中,我们仅考虑embedding方案,其中:所有特征的embedding函数具有相同的函数形式。我们【不共享】不同特征的嵌入函数的参数

embedding的后续使用取决于模型主网络(backbone)。对于类似 MLP 的架构,它们被拼接(concatenated)成一个flat向量(有关说明,请参见附录 A)。对于基于Transformer的结构,不会执行额外的步骤,embedding会直接传递,因此使用方式通过原始结构来定义。

3.2 Piecewise linear encoding

虽然vanilla MLP 被认为是通用逼近器(universal approximator) [9, 16],但在实践中,由于optimization的特殊性,它在学习能力方面有限制 [34]。然而,Tancik 等人最近的工作 [42] 发现了一种case,即改变输入空间可以缓解上述问题。这个观察结果启发我们检查改变数值特征的原始标量值的representations是否能够提高表格 DL 模型的学习能力

此时,我们尝试从简单的“经典”机器学习技术入手。具体而言,我们从one-hot encoding算法中获得灵感,该算法被广泛且成功地用于表示表格数据问题中的类别特征或NLP中的tokens等离散实体。我们注意到,从参数效率和表达能力之间的权衡角度来看,one-hot表示可以看作是scalar表示的反向解决方案。为了检查one-hot encoding类似方法是否有助于表格DL模型,我们设计了一种连续的替代方法来代替one-hot编码(因为普通的one-hot编码几乎不适用于数值特征)。

形式化地,对于第i个数值特征,我们将其值域分成不相交的$T_i$个区间 $B_i^1, \cdots, B_T^i$,我们称之为箱子:$B_t^i = [b_{t-1}^i, b_t^i)$。分割算法是一个重要的实现细节,我们稍后会讨论。从现在开始,为简单起见,我们省略特征索引i。一旦确定了bins,我们按照以下公式定义encoding scheme,详见公式1:

\[PLE(x) = [e_1, \cdots, e_T] \in R^T \\ e_t = \begin{cases} 0, & \text{$x < b_{t-1}$ AND $t>1$} \\ 1, & \text{$x \geq b_t$ AND $t<T$} \\ \frac{x-b_t-1}{b_t - b_{t-1}} \end{cases}\]

…(1)

其中,PLE表示“peicewise linear encoding”。我们在图1中提供可视化。

图片名称

图1

注意:

  • PLE为数值特征生成可替代的初始表示(representations),可以被看作是一种预处理策略。这些representations仅计算一次,然后在主要optimization过程中使用,代替原始的标量值。
  • 当 T=1 时,PLE表示实际上等效于scalar表示。
  • 与分类特征不同,数值特征是有序的;通过将对应于右边界小于给定feature value的bin的分量设置为1,我们来表示这一点(这种方法类似于如何在序数回归问题中编码标签)
  • 方案1也包括了 ($x < b_0$) 和 ($x ≥ b_T$)的case,它们分别产生 ($e_1 ≤ 0$) 和 ($e_T ≥ 1$)。
  • 将representation进行分段线性化(piecewise linear)的选择本身就是一个值得讨论的问题。我们在第 5.2 小节中分析了一些替代方案。
  • PLE 可以看作是特征预处理,这在第 5.3 小节中另外进行了讨论。

关于attention-based的模型的说明。虽然所描述的PLE表示可以直接传递给类似MLP的模型,但attention-based的模型本质上是不受 input embeddings顺序影响的,因此需要一个额外的步骤:在所获得的encodings中添加关于特征indices的信息。从技术上讲,我们观察到:只需要在PLE之后放置一个linear layer(不共享特征之间的权重)即可。然而,从概念上讲,该解决方案具有明确的语义解释。也就是说,它等价于:为每个bin $B_t$分配一个trainable embedding $v_t \in R_d$,并通过以 $e_t$ 为权重将它的bins的embedding进行聚合、并再加上偏移$v_0$,来获得最终feature embedding。具体地:

\[f_i(x) = v_0 + \sum\limits_{t=1}^T e_t \cdot v_t = Linear(PLE(x))\]

在接下来的两个部分中,我们描述了两种简单的算法来构建适合PLE的bins。具体而言,我们依赖于经典的分箱算法 [11],其中一个算法是无监督的,另一个算法利用标签来构建箱子。

3.2.1 从分位数中获取bins

一种自然的baseline方法是:根据相应的单个特征分布的经验分位数,将值范围进行分割来构建PLE的箱子。具体而言,对于第i个特征:

\[b_t = Q_{\frac{t}{T}} (\lbrace x_i^{j(num)} \rbrace_{j \in J_{train}})\]

其中 Q 是经验分位数函数。

size为0的无意义bins将被删除。在第 D.1 小节中,我们展示了所提出方案在 Gorishniy 等人 [13] 中描述的合成 GBDT 友好数据集上的有用性。

3.2.2 构建 target-aware bins

实际上,还有一些利用training labels来构建bins的监督方法 [11]。直观地说,这些目标感知(target-aware)的算法,目标是在产生与可能目标值在相对较窄范围内相对应的bins。我们工作中使用的监督方法在精神上与 Kohavi 和 Sahami [23] 的“C4.5 离散化”算法相同。简而言之,对于每个特征,我们使用目标值(target)作为指导,以贪心方式递归地将值范围(value range)进行分割,这相当于构建一棵决策树(仅使用此特征和目标值进行生长),并将其叶子对应的区域作为PLE的bins(请参见图4中的说明)。此外,我们定义$b_i^0 = min_{j \in J_{train}} x_i^j$ 和 $b_T^i = max_{j \in J_{train}} x_i^j$ 。

3.3 周期性激活函数(Periodic activation functions)

回顾第 3.2 小节中提到的 Tancik 等人 [42] 的工作被用作我们开发 PLE 的动机起点。因此,我们也尝试将原始工作本身适应于表格数据问题。我们的变化有两个方面的不同。首先,我们考虑到子节 3.1 中描述的嵌入框架在嵌入过程中禁止混合特征(请参见子节 D.2 进行额外讨论)。其次,我们训练预激活系数而不是保持它们固定。因此,我们的方法与 Li 等人 [25] 非常接近,其中“组”的数量等于数值特征的数量。我们在公式 2 中形式化描述所述方案,

\[f_i(x) = Periodic(x) = concat[sin(v), cos(v)], v = [2 \pi c_1 x, \cdots, 2 \pi c_k x]\]

…(2)

其中:

  • $c_i$是可训练参数,从N(0, σ)初始化。

我们观察到 σ 是一个重要的超参数。σ 和 k 都使用验证集进行调整。

3.4 简单可微层(Simple differentiable layers)

在深度学习的背景下,使用传统的可微分层(例如线性层、ReLU 激活等)对数值特征进行嵌入是一种自然的方法。事实上,这种技术已经在最近提出的attention-based的架构 [13、24、39] 、以及在一些用CTR预测问题的模型 [14、40] 中单独使用。但是,我们也注意到这样的传统模块可以在子节3.2和子节3.3中描述的组件之上使用。在第4节中,我们发现这样的组合通常会导致更好的结果。

4.实验

在本节中,我们对第 3 节中讨论的技术进行了实证评估,并将它们与GBDT进行比较,以检查“DL vs GBDT”竞争的现状。

我们使用了来自以前的表格 DL 和 Kaggle 竞赛的 11 个公共数据集。重要的是,我们专注于中大规模的任务,并且我们的基准测试偏向于 GBDT 友好的问题,因为目前,在这些任务上缩小与 GBDT 模型之间的差距是表格 DL 的主要挑战之一。主要数据集属性总结在表 1 中,使用的来源和其他细节在附录 C 中提供。

图片名称

表1

4.2 实现细节

我们在超参数调整、训练和评估协议方面主要遵循 Gorishniy 等人 [13]。然而,为了完整起见,我们在附录 E 中列出了所有细节。在下一段中,我们描述了特定于数值特征嵌入的实现细节。

数值特征嵌入(Embeddings for numerical features)。如果使用线性层(linear layers),则调整其输出维度。对于所有特征,PLE的超参数是相同的。

  • 对于quantile-based PLE,我们会调整分位数的数量
  • 对于target-aware PLE,我们调整以下决策树的参数:叶子的最大数量、每个叶子的最小items数、以及在生长树时做出一个split所需要的最小信息增益。
  • 对于Periodic module(参见公式 2),我们调整 σ 和 k(这些超参数对于所有特征都是相同的)。

4.3 模块名

在实验中,我们考虑了不同的骨干网和嵌入组合。为方便起见,我们使用“骨干网-嵌入”模式来命名模型,其中“骨干网”表示骨干网(例如 MLP、ResNet、Transformer),而“嵌入”表示嵌入类型。请参见表 2,了解所有考虑的嵌入模块。请注意:

  • Periodic在公式 2 中定义。
  • $PLE_q$表示quantile-based PLE
  • $PLE_t$表示target-aware PLE
  • Linear_ 表示无偏线性层(bias-free linear layer),LReLU 表示leaky ReLU,AutoDis 是 Guo 等人 [14] 提出的。
  • “Transformer-L” 等价于 FT-Transformer [13]。

图片名称

表2

4.4 简单可微embedding模块

我们首先评估由“传统”可微分层(线性层、ReLU 激活等)组成的嵌入模块。结果总结在表 3 中。 主要观点:

  • 首先&最重要的,结果表明 MLP 可以从embeddings模块中受益。因此,我们得出结论,在评估embedding模块时,该backbone值得关注。
  • 当应用于MLP时,简单的LR模块可以导致保守、但一致的提升。

有趣的是,“冗余(redundant)”的 MLP-L配置也倾向于优于vanilla MLP。虽然改进并不显著,但这种架构的特殊属性是,linear embedding模块可以在训练后,与 MLP的第一个线性层融合在一起,从而完全消除了开销。至于 LRLR 和 AutoDis,我们观察到这些重型模块(heavy modules)不值得额外的成本(请参见附录 F 中的结果)。

图片名称

表3

4.5 Piecewise linear encoding

在本节中,我们评估子节 3.2 中描述的编码方案。结果总结在表 4 中。

主要结论:

  • 分段线性编码对两种类型的架构(MLP 和 Transformer)通常有益,并且收益可能很显著(例如,参见 CA 和 AD 数据集)。
  • 在PLE顶部添加可微组件可以改善性能。尽管如此,最昂贵的修改(如 Q-LRLR 和 T-LRLR)不值得这样做(请参见附录 F)。

请注意,基准测试偏向于 GBDT 友好的问题,因此在表 4 中观察到的基于树的箱通常优于基于分位数的箱,可能不适用于更适合 DL 的数据集。因此,我们在这里不对两种方案的相对优势做任何一般性的声明。

图片名称

表4

Periodic activation functions

在本节中,我们评估基于周期性激活函数的嵌入模块,如子节 3.3 中所述。结果报告在表5 中。

图片名称

表5

主要结论:平均而言,MLP-P 优于普通的 MLP。然而,在周期性模块的顶部添加可微分组件应该是默认策略(这与 Li 等人 [25] 的观点一致)。事实上,MLP-PLR 和 MLP-PL 在 MLP-P 的基础上提供了有意义的改进(例如,参见 GE、CA、HO),甚至在 MLP-P 不如 MLP 的情况下“修复”了 MLP-P(OT、FB)。

虽然 MLP-PLR 通常优于 MLP-PL,但我们注意到,在后一种情况下,嵌入模块的最后一个线性层在表达能力上是“冗余”的,并且可以在训练后与骨干网的第一个线性层融合在一起,这理论上可以导致更轻量级的模型。最后,我们观察到 MLP-PLRLR 和 MLP-PLR 之间的差异不足以证明 PLRLR 模块的额外成本(请参见附录 F)。

4.7 Comparing DL models and GBDT

在本节中,我们进行了不同方法的大比较,以确定最佳的embedding模块和主网络(backbone),并检查数值特征embedding是否使 DL 模型能够在更多任务上与 GBDT 竞争。重要的是,我们比较 DL 模型的集合与 GBDT 的集合,因为梯度提升本质上是一种集成技术,因此这样的比较将更加公平。请注意,我们只关注最佳指标值,而不考虑效率,因此我们只检查 DL 模型是否在概念上准备好与 GBDT 竞争。

我们考虑三个主网络(backbone):MLP、ResNet 和 Transformer,因为据报道它们代表了基线 DL 骨干网目前的能力 [13、18、24、39]。请注意,我们不包括也在对象级别上应用注意力的attention-based的模型 [24、35、39],因为这个非参数组件与我们工作的核心主题不相关。结果总结在表6 中。

图片名称

表6

DL 模型的主要结论:

  • 对于大多数数据集,数值特征的嵌入可以为三种不同的骨干网提供显著的改进。虽然平均排名不是制定微妙结论的好指标,但我们强调 MLP 和 MLP-PLR 模型之间平均排名的巨大差异。
  • 最简单的 LR 嵌入是一个很好的基准解决方案:虽然性能提升并不显著,但它的主要优点是一致性(例如,参见 MLP vs MLP-LR)。
  • PLR 模块提供了最好的平均性能。根据经验,我们观察到 σ(见公式 2)是一个重要的超参数,应该进行调整。
  • 分段线性编码(PLE)允许构建表现良好的嵌入(例如,T-LR、Q-LR)。除此之外,PLE 本身也值得关注,因为它具有简单性、可解释性和效率(没有计算昂贵的周期函数)。
  • 重要的是,将类似 MLP 的架构与集成学习相结合之后,它们可以在许多任务上与 GBDT 竞争。这是一个重要的结果,因为它表明 DL 模型可以作为集成学习中 GBDT 的替代方案。

“DL vs GBDT” 竞争的主要结论:数值特征的嵌入是一个重要的设计方面,具有极大的潜力来改进 DL 模型,并在 GBDT 友好的任务上缩小与 GBDT 之间的差距。让我们通过几个观察来说明这个说法:

  • benchmark最初偏向于GBDT友好的问题,这可以通过比较GBDT解决方案与vanilla DL模型(MLP、ResNet、Transformer-L)来观察。
  • 然而,对于绝大多数“主网络&数据集”对,合适的embedding是缩小与GBDT之间差距的唯一方法。例外(相当正式)包括:MI数据集以及以下配对:“ResNet & GE”、“Transformer & FB”、“Transformer & GE”、“Transformer & OT”。
  • 另外,据我们所知,在众所周知的California Housing和Adult数据集上,DL模型的表现与GBDT相当,这是第一次。

尽管如此,与GBDT模型相比,对于DL架构,效率仍然可能是一个问题。在任何情况下,tradeoff完全取决于具体的使用情况和需求。

5.分析

5.1 model size对比

为了量化数字特征嵌入对模型大小的影响,我们在表7中报告了参数量。总的来说,引入数值特征embeddings可能会导致不可忽视的模型大小方面的开销。重要的是,在训练时间和吞吐量方面,size的开销并没有转化为相同的影响。例如,在CH数据集上,MLP-LR的参数计数几乎增加了2000倍,但训练时间仅增加了1.5倍。最后,在实践中,我们发现将MLP和ResNet与embeddings模块结合,产生了仍然比Transformer-based的模型更快的架构。

表7

5.2 消融研究

图片名称

表8

在本节中,我们比较了两种基于分箱的编码方案(binning-based encoding:

  • 一种是“温度计(thermometer)”([6]):会设置值为1,取代掉piecewise linear term;
  • 另一种是one-blob encoding的泛化版本([29];见第E.1节了解更多细节)。tuning和evaluation协议与第4.2节相同。表8中的结果表明,让基于分箱的编码(binning-based encoding)进行分段线性化(piecewise linear)是一个很好的默认策略。

5.3 Piecewise linear encoding作为特征预处理技术

众所周知,标准化(standardization)或分位数变换(quantile transformation)等数据预处理,对于DL模型达到好效果来说至关重要。而且,不同类型的预处理之间的效果可能会有显著差异。同时,PLE-representations仅包含[0,1]中的值,并且它们对于平移(shifting)和缩放(scaling)是不变的,这使得PLE本身成为一种通用特征预处理技术,通用适用于DL模型,无需首先使用传统预处理。

为了说明这一点,在第4节中使用了分位数变换(quantile transformation)来评估数据集。我们使用不同的预处理策略重新评估了MLP、MLP-Q和MLP-T的已调整配置,并在表9中报告了结果(注意,对于具有PLE的模型,标准化等同于无预处理)。

图片名称

表9

首先,如果没有预处理,vanilla MLP往往变得无法使用。其次,对于vanilla MLP,选择特定类型的预处理(CA、HO、FB、MI)是很重要的,而对于MLP-Q则不那么明显,对于MLP-T则不是(尽管这种特定观察可能是基准测试的特性,而不是MLP-T的特性)。总的来说,结果表明使用PLE模型相对于vanilla MLP对预处理的敏感性较低。这对于实践者来说是一个额外的好处,因为使用PLE后,预处理方面变得不那么重要。

5.4 “feature engineering”的角度

乍一看,特征嵌入(feature embeddings)可能类似于特征工程(feature engineering),并且应该适用于所有类型的模型。然而,所提出的embedding schemes是受基于DL-specific方面训练的启发(请参见第3.2节和第3.3节的动机部分)。虽然我们的方法可能会很好地迁移到具有相似训练属性的模型上(例如,对于线性模型,它们是深度模型的特例),但通常并非如此。为了说明这一点,我们尝试采用周期性模块来调整XGBoost的随机系数,同时保持原始特征而不是丢弃它们。调整和评估协议与第4.2节相同。表10中的结果表明,尽管这种技术对于深度学习模型很有用,但它并不能为XGBoost提供任何好处。

图片名称

表10

#