《Sampling Is All You Need on Modeling Long-Term User Behaviors for CTR Prediction》
丰富的user behavior数据已被证明对 CTR prediction 应用程序具有重要价值,尤其是在工业推荐、搜索或广告系统中。然而,由于对 online serving time 的严格要求,真实世界的系统要充分利用长期用户行为并不容易。大多数先前的工作采用 retrieval-based 的策略,即首先检索少量用户行为以供后续使用。然而,retrieval-based 的方法是次优的,会造成信息丢失,并且很难平衡检索算法的效果和效率(effectiveness and efficiency )。
在本文中,我们提出了 Sampling-based Deep Interest Modeling: SDIM,一种简单而有效的 sampling-based 的端到端方法,用于建模长期用户行为。我们从多个哈希函数中采样以生成 target item 的hash signatures、以及用户行为序列中每个behavior item 的hash signatures,并通过直接收集 behavior items 来获取用户兴趣,这些 behavior items 与 target item 具有相同的hash signatures。
behavior item就是用户的历史行为序列中的feature item。
我们从理论上和实验上表明,所提出的方法在建模长期用户行为方面与标准的 attention-based 的模型性能相当,同时速度快得多。我们还介绍了 SDIM 在我们系统中的部署。具体来说,我们通过设计一个名为 Behavior Sequence Encoding: BSE 的独立模块,将最耗时的部分behavior(即,behavior sequence hashing )从 CTR 模型中分离出来。BSE 对于 CTR server 来说是无延迟的,使我们能够建模极长的用户行为序列。离线和在线实验证明了 SDIM 的有效性。SDIM 现在已经在线部署在美团 APP 的搜索系统中。
CTR prediction 是工业应用系统中的一项基本任务。用户兴趣建模(user interest modeling )旨在从历史行为数据中学习用户的隐含兴趣,已被广泛引入现实世界系统,并有助于显著改善 ctr prediction 。
人们提出了各种模型来建模用户兴趣。其中,DIN 通过考虑给定的 target item 与历史行为的相关性来自适应地计算用户兴趣。DIN 引入了一种新的注意力模块,称为 target attention ,其中 target item 充当query user behavior充当 key value DIN-based 的方法近年来已成为建模用户兴趣的主流解决方案。然而,online serving time 的严格要求限制了可以使用的用户行为序列的长度。因此,大多数工业系统截断了用户行为序列,只提供最近的 50 个行为用于用户兴趣建模,这导致了信息损失。
随着互联网的快速发展,用户在电商平台上积累了越来越多的behavior数据。以淘宝为例,他们报告23% 的用户半年内在淘宝 APP 中的行为超过 1000 次。在美团 APP 中,有超过 60% 的用户一年内至少有 1000 次行为,有超过 10% 的用户一年内至少有 5000 次行为。对于工业系统来说,如何有效地利用更多的user behavior来更准确地估计用户兴趣变得越来越重要。
最近,有人提出了一些方法来从长行为序列中建模用户的长期兴趣:
MIMN 通过设计一个独立的 User Interest Center: UIC 模块,将 user interest modeling 从整个模型中分离出来。虽然 UIC 可以节省大量的 online serving time ,但它使得 CTR 模型无法从 target item 中挖掘信息,而这已被证明是用户兴趣建模的关键。因此,MIMN 只能建模 shallow user interests 。
SIM 和 UBR4CTR 采用两阶段框架来处理长期用户行为。他们从序列中检索 top-k 相似的 items ,然后将这些 items 馈入后续的注意力模块。如 《 End-to-End User Behavior Retrieval in Click-Through RatePrediction Model》 所指出的,这些方法的 retrieve objectives 与 CTR 模型的目标不一致,并且离线倒排索引(offline inverted index )中的 pre-trained embedding 不适合 online learning systems 。
为了提高检索算法的质量,ETA (《 End-to-End User Behavior Retrieval in Click-Through RatePrediction Model》 )提出了一种 LSH-based 的方法,以端到端的方式从user behavior中检索 top-k 相似的 items 。它们使用 locality-sensitive hash: LSH 将 items 转换成hash signatures(hash signatures),然后根据它们到 target item 的汉明距离检索 top-k 相似的 items 。LSH 的使用大大降低了计算 items 之间相似度的代价,ETA 取得了比 SIM 和 UBR4CTR 更好的结果。
SIM、UBR4CTR 和 ETA 都是 retrieval-based 的方法。retrieval-based 的方法具有以下缺点:
从整个序列中检索 top-k 相似的 items 是次优的,并且会产生对用户长期兴趣的有偏的估计。在用户具有丰富behavior的情况下,检索到的 top-k items 可能都与 target item 相似,并且 estimated user interest representation 将是不准确的。
其核心在与:对于行为丰富的用户,应该取较大的
k从而捕获所有的informative行为;对于行为很少的用户,应该采用较小的k从而过滤掉噪音。但是实际应用中,k是全局统一的。
此外,很难平衡检索算法的有效性和效率。以 SIM (hard) 为例,他们使用简单的检索算法,因此其性能比其他方法差。相比之下,UBR4CTR 在复杂的检索模块的帮助下实现了显著的改进,但其推理速度变得慢了 4 倍,这使得 UBR4CTR 无法在线部署,尤其是对于 long-term user behaviors modeling 。
在本文中,我们提出了一个简单的 hash sampling-based 的方法来建模长期用户行为。
首先,我们从多个哈希函数中采样,生成 target item 的hash signatures、以及用户行为序列中每个 item 的hash signatures。
然后,我们没有使用某种 metric 来检索 top-k 相似的 items ,而是直接从整个序列中收集与 target item 共享相同hash signatures的 behavior items 来形成用户兴趣。
我们方法的内在思想是:用 LSH 碰撞概率来近似用户兴趣的 softmax distribution 。我们从理论上表明,这种简单的 sampling-based 的方法产生了与 softmax-based target attention 非常相似的注意力模式,并实现了一致的模型性能,同时时间效率更高。因此,我们的方法类似于直接在原始的长序列上计算注意力,而没有信息损失。我们将提出的方法命名为 Sampling-based Deep Interest Modeling: SDIM。
传统的
softmax-based target attention:首先计算attention score,然后将历史行为序列根据attention score聚合起来。聚合的权重就是attention score distribution。这里的方法是:首先用
LSH去碰撞,然后将历史行为序列根据是否碰撞从而聚合起来。,权重是0/1,表示是否与target item的哈希值相同,即是否碰撞。因此这里的方法会考虑到与target item相似的所有item,并且不需要target attention计算。
我们还介绍了在线部署 SDIM 的实践。具体来说,我们将我们的框架分解成两个部分:Behavior Sequence Hashing(BSE) server 、CTR server ,其中这两个部分是分开部署的。行为序列哈希(behavior sequence hashing )是整个算法中最耗时的部分,该部分的解耦大大减少了serving time 。更多细节将在后续章节介绍。
我们在公共数据集和工业数据集上进行实验。实验结果表明:SDIM 获得了与标准的 attention-based 的方法一致的结果,并且在建模长期用户行为方面优于所有竞争 baselines ,并且具有相当大的加速。SDIM 已经在中国最大的生活服务电商平台美团的搜索系统中部署,并带来了 2.98% 的 CTR 提升和 2.69% 的 VBR 提升,这对我们的业务非常重要。
综上所述,本文的主要贡献总结如下:
我们提出了 SDIM ,这是一个 hash sampling-based 的框架,用于为 CTR prediction 建模长期用户行为。我们证明了这种简单的 sampling-based 的策略产生了与 target attention 非常相似的注意力模式。
我们详细介绍了我们在线部署 SDIM 的实践。我们相信这项工作将有助于推进 community,特别是在建模长期用户行为方面。
在公共数据集和行业数据集上进行了大量实验,结果证明了 SDIM 在效率和效果方面的优越性。SDIM 已经部署在美团的搜索系统中,为业务做出了重大贡献。
本质上是通过
LSH实现了target attention。
CTR prediction 是工业界的推荐、搜索和广告系统中的核心任务。CTR 任务的目标是估计用户点击 item 的概率,定义如下:
其中:CTR 模型中的可训练参数;label 。
给定输入特征 CTR 模型:
target attention 的概念最早由 DIN 提出,并广泛应用于CTR 任务中的用户兴趣建模。target attention 将 target item 作为 query ,将用户行为序列中的每个 item 作为 key 和 value,并使用 attention 算子从用户行为序列中 soft-search 相关的部分。然后通过对用户行为序列进行加权和来获得用户兴趣。
具体而言,将 target item 指定为 representations 指定为
request , CTR 模型要评分的 target items 数量。
hidden size 。
令 target item 的 representation 。target attention 计算 item 的点积相似度,然后以归一化相似度作为权重,得到用户兴趣的 representation :
矩阵形式可以写成:
其中:
计算 target attention 是不可行的。
局部敏感哈希(Locality-sensitive hash: LSH)是一种在高维空间中高效查找最近邻居的算法技术。LSH 满足局部保持性(locality-preserving property ):邻近的向量很可能获得相同的哈希值,而远处的向量则不会。得益于此特性,LSH-based 的signature已广泛应用于互联网搜索系统等许多应用中。随机投影方案 (SimHash)是 LSH 的一种有效实现。SimHash 的基本思想是:采样一个随机投影(由单位法向量 +1 或 -1 )。具体而言,给定一个输入
其中:hashed output 位于哪一侧。
对于两个向量 hash code 的取值时,我们才说它们发生冲突:
虽然单个哈希值可以用于估计相似度,但是我们可以使用多个哈希值,从而降低估计误差。在实践中,通常采用 SimHash (即,多轮哈希)算法,其中
在第一步中,SimHash 随机采样
其中:
这些哈希码被分为
为了降低不相似的 items 具有相同哈希码的概率,该算法将每组 hash signatures。有关更多详细信息,请参阅 《Mining of Massive Datasets》。
对于第 hash signatures相同时,
其中:“AND” 运算符,
最后,每个 hash signature 对应的分组可以被看作是一次 LSH,从而用于期望的计算,从而降低 estimation 的方差。
注意:读者对这一段文字进行了重新润色。原始论文讲的不太清楚。
Figure 1 底部显示了 (4, 2) 参数化的 SimHash 算法的示例,其中我们使用 4 个哈希函数并将每 2 个哈希码聚合为hash signatures(黄色和绿色)。
。

在本节中,我们介绍了我们的框架从而在系统中实现 SDIM 。Figure 1 中可以看到high-level 的概述。该框架由两个独立的 servers 组成:Behavior Sequence Encoding (BSE) server 和 CTR server,稍后将详细介绍。

Hash Sampling-Based Attention:第一步,我们采样多个哈希函数并生成 user behavior items 和 target items 的哈希码。与 ETA 类似,我们使用从正态分布中采样的固定的 random hash vectors 作为“哈希函数”。经过哈希处理后,ETA 计算 items 之间的汉明距离(Hamming distance )作为用户兴趣分布(user interest distribution )的近似值,从而用于选择 top-k 相似的items 。这里我们提出了一种更高效、更有效的方法来近似用户兴趣。
由于具有局部保留的属性(locality-preserving property ),相似的向量落入同一个哈希桶的概率很高,因此 user behavior items 和 target item 之间的相似性可以通过它们具有相同哈希码(signature)的频率或碰撞概率来近似。这导致我们假设哈希碰撞的概率可以成为用户兴趣的有效估计器。
基于这一观察,我们提出了一种使用 LSH 来获取用户兴趣的新方法。经过哈希处理后,我们通过将具有相同的 behavior items behavior items 都关联了同一个 target item
其中:
item 。
target item hash signatures,则
target item
l2 正则化,用于对兴趣分布进行正则化。
我们还尝试使用 l2 正则化模型的性能相当。但是, l2 正则化的实现效率更高,因此我们使用 l2 正则化。
Multi-Round Hashing:总是有一个小概率使得不相似的 behavior items 与 target item 共享相同哈希码,从而给模型带来噪音。为了降低这种可能性,我们使用前面描述的多轮哈希算法。
具体来说,我们使用 SimHash 算法。我们并行采样并执行 hash signatures。只有当 hash signature 时,我们才认为它们发生碰撞:
其中:
hash signatures的输出被平均,从而作为对用户兴趣的低方差的估计。它可以表示为:
Hash Sampling-Based Attention 的期望:在我们的方法中,随着 《Similarity estimation techniques from rounding algorithms》):
注意:在计算用户兴趣之前,我们对
因此,SDIM 产生的 user interest representation 的期望为:
注意:原始论文的公式有问题,漏掉了
。此外,这里用的是 sum归一化而不是l2正则化。
随着分组数量 estimation error 会非常小。在实践中,我们对在线模型使用 Figure2 中绘制了 SDIM 产生的注意力权重 target attention 产生的注意力权重 Figure2 中我们可以看出,SDIM 的注意力权重与 target attention 中的 softmax 函数很好地吻合,因此,从理论上讲,我们的方法可以获得非常接近 target attention 的输出。我们将提出的方法命名为 SDIM ,即 Sampling-based Deep Interest Modeling 。

SDIM 中的宽度参数 items 提供更多注意力方面所起的作用。
记 target item item
随着 items 。
让我们考虑两种极端情况:
当 target item 完全相同的 items 。如果我们使用 category 属性进行哈希处理,则算法的behavior类似于 SIM(hard) 。因此,我们的算法可以看作是 SIM(hard) 的扩展,它也会考虑 category ID 不同但非常相似的 behavior items 。
当 target item 和用 user behavior items 将始终具有相同的hash signatures。
因此,SDIM 非常灵活,可以通过分配不同的
在本小节中,我们将详细说明 SDIM 比标准的 attention-based 的方法快很多倍。
让我们回顾一下 target attention 中计算用户兴趣的公式,即,target vector 与行为序列相乘来获得注意力权重,然后使用注意力权重对行为序列进行加权和。因此,在 target attention 中获取用户兴趣的 representation 需要两次矩阵乘法,该算法的时间复杂度为
SDIM 将用户兴趣的计算分解为两部分:behavior sequence hashing 、target vector hashing 。注意,用户行为序列是用户的固有特征,与 target item 无关,这意味着无论 target item 是什么,用户的 behavior sequence hashing 的结果都是固定的。因此,对于每个用户,我们只需要在每个 request 中计算一次用户行为序列的 hash transform 。因此,SDIM 将时间复杂度从 1 ,比标准的 target attention 快了相当多倍。
经过哈希之后,与 target item 共享相同 hash signature 的sequence items 被选中,并被相加从而形成用户兴趣。在 Tensorflow 中,此步骤可以通过 tf.batch_gather 算子实现,该算子是 Tensorflow 的原子算子(atomic operator ),时间成本可以忽略不计。
SDIM 最耗时的部分是行为序列的多轮哈希(multi-round hashing),即将 Approximating Random Projection )算法降低到 SDIM 比标准的 attention-based 方法快得多。在我们的场景中,SDIM 在训练 user behavior modeling 部分时实现了 10 到 20 倍的速度提升。
本节将介绍如何成功在线部署 SDIM 。如前所述,整个算法分为两部分:behavior sequence hashing 、target vector hashing 。behavior sequence hashing 与 target item 无关,这促使我们构建一个专门的 server 来维护 user-wise behavioral sequence hashes 。
我们将系统分为两部分:Behavior Sequence Encoding (BSE) server 和 CTR Server ,如 Figure 1所示。
BSE Server 负责维护 user-wise behavior sequence hashes。当收到user behavior的 list 时,BSE server 从多个哈希函数中采样,并为行为序列中的每个 item 生成 hash signatures。然后根据 item signatures 将它们分配到不同的 buckets 中,每个 buckets 对应一个 hash signature ,如 Figure 1 所示。hash buckets 被传递给 CTR Server ,从而建模 target item-aware 的用户兴趣。
CTR Server 负责预测 target items 的点击率。当收到 target items (batch size = B )时,CTR Server 会将每个 target item 进行哈希得到 signatures ,并从相应的 buckets 中收集 item representations 。用户兴趣特征与其他特征拼接起来,然后被馈入到复杂的 CTR 模型中,以获得每个 target item 的预测概率。我们的 CTR 模型的整体结构如 Figure 3 所示。该模型以 target item 特征、上下文特征、短期用户兴趣特征、以及长期用户兴趣特征作为输入,并使用 multilayer perceptron 来预测 target items 的点概率。
根据论文实验章节的描述,长期用户行为序列包含了短期用户行为序列,二者不是正交的。

请注意,SDIM 不需要改变 CTR 模型的结构,它可以自然地插入现有的主流 CTR 架构中。所提出的框架在训练阶段是端到端的:user interest modeling 与 CTR 模型的其余部分联合训练,我们只在 online serving 阶段单独部署它们。
将 BSE Server 和 CTR Server 解耦后,BSE 的计算对于 CTR Server 来说是无延迟的。在实际应用中,我们将 BSE Server 放在CTR Server 之前,并与 retrieval 模块并行计算。
分开部署后,计算用户长期兴趣的时间成本只在于 target items 的哈希,其时间复杂度为 behavior的用户兴趣建模。从 CTR Server 的角度来看,这个时间复杂度就像增加了一个 common feature 一样。在 Table 1 中,我们比较了不同方法的时间复杂度。

我们的 serving 系统与 MIMN 有些相似。最大的区别在于我们的系统可以建模用户的 deep interests ,而 MIMN 只能建模 shallow interests 。
关于 Servers 传输成本的注释:对于每个 request ,我们都需要将 bucket representations 从 BSE Server 传输到 CTR Server 。请注意,我们使用固定数量的哈希函数,因此无论用户的behavior有多长,我们只需要将 bucket representations 的固定长度的向量传输到 CTR Server 。在我们的在线系统中,此向量的大小为 8KB ,传输成本约为 1ms 。
为了验证 SDIM 的有效性,我们在公共数据集和真实工业数据集上进行了实验。对于公共数据集,我们遵循以前的工作选择 Taobao 数据集。对于工业数据集,我们使用从美团搜索系统收集的真实数据进行实验。
Taobao 数据集:淘宝数据集由 《Learning Tree-based Deep Model for Recommender Systems》 发布,在先前的工作(《Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction》、《User Behavior Retrieval for Click-Through Rate Prediction》)中被广泛用于离线实验。此数据集中的每个实例由五个 field 的特征组成:user ID, item ID, category ID, behavior type, and timestamp。遵循 《User Behavior Retrieval for Click-Through Rate Prediction》,我们根据时间戳额外引入了 “is_weekend” 特征以丰富上下文特征。
我们以与 MIMN 和 ETA 相同的方式对数据进行预处理。具体来说,我们使用首次的 behavior作为输入来预测第 behavior。我们根据 timestep 将样本分为训练集(80%)、验证集(10%)和测试集(10% )。选择最近的 16 个behavior作为短期序列,选择最近的 256 个behavior作为长期序列。
工业数据集:该数据集来自中国最大的生活服务电商平台美团 APP 的平台搜索系统。我们选取连续 14 天的样本进行训练,选取接下来两天的样本进行评估和测试,训练样本数量约为 10 Billion 。选取最近的 50 个behavior作为短期序列,选取最近的 1024 个behavior作为长期序列。如果user behavior数量未达到此长度,则使用默认值将序列填充到最大长度。除了user behavior特征外,我们还引入了约 20 个重要的 id 特征来丰富输入。
评估指标:对于离线实验,我们遵循以前的工作,采用广泛使用的 AUC 进行评估。我们还使用训练和推理速度 (Training & Inference Speed: T&I Speed) 作为补充指标来显示每个模型的效率。对于在线实验,我们使用点击率(Click-Through Rate: CTR ) 和访问购买率(Visited-Buy Rate: VBR)作为在线指标。
baseline 方法:我们将 SDIM与以下建模长期用户行为的主流工业模型进行比较:
DIN :DIN 是工业系统中建模用户兴趣的最流行模型之一。然而,由于DIN 的时间复杂度高,它不适合用于建模长期用户行为。在这个 baseline 中,我们只使用短期用户行为特征,而不使用长期用户行为特征。
DIN (Long Seq.) :对于离线实验,为了测量长期用户行为序列的信息增益,我们为 DIN 配备了长行为序列。我们为 Taobao 数据集设置
DIN (Avg-Pooling Long Seq.) :该 baseline 由 《End-to-End User Behavior Retrieval in Click-Through Rate Prediction Model》 和 《Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction》 引入,其中 DIN 用于建模短期用户兴趣,而长期用户兴趣则通过对长期behavior进行均值池化操作获得。我们将此 baseline 表示为 DIN(Avg-Pooling) 。
SIM (《Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction》):SIM 首先通过 category ID 从整个序列中检索 top-k 相似的 items ,然后将 target attention 应用于 top-k items 从而获取用户兴趣。我们遵从以前的工作来比较 SIM(hard) ,因为性能几乎与他们在线部署 SIM(hard) 相同。
UBR4CTR (《User Behavior Retrieval for Click-Through Rate Prediction》):UBR4CTR 是一种两阶段方法。
在第一阶段,他们设计了一个 feature selection 模块来选择特征来形成 query ,并以倒排索引的方式存储user behavior。
在第二阶段,将检索到的behavior馈入到 target attention-based 的模块以获取用户兴趣。
ETA (《End-to-End User Behavior Retrieval in Click-Through Rate Prediction Model》): ETA 应用 LSH 将 target item 和用户行为序列编码为 binary codes ,然后计算 item-wise hamming distance 以选择 top-k 个相似的 items 用于后续的 target attention 。
MIMN (《Practice on Long Sequential User Behavior Modeling for Click-Through Rate Prediction》) :与 SIM 是由同一个团队提出的。由于作者声称 SIM 击败了MIMN 并且他们在线部署了 SIM,因此我们仅与 SIM进行比较,并省略了 MIMN 的 baseline 。
对于所有 baseline 和 SDIM ,我们使用相同的特征(包括 timeinfo 特征)作为输入,并采用相同的模型结构,long-term user behavior modeling 除外。所有模型都使用相同长度的长期用户行为:Taobao 的
Table 2 显示了不同模型在 Taobao 数据集上的总体结果。我们可以得出以下结论:
(1):SDIM 在建模长期用户行为方面的表现与 DIN(Long Seq.) 相当,但速度却是 DIN(Long Seq.) 的 5 倍。如上所述,SDIM 可以模拟与 target attention 非常相似的注意力模式,因此 SDIM 可以匹敌甚至超越 DIN(Long Seq.) 的性能。
(2):SDIM 的表现优于所有用于建模长期用户行为的 baseline 模型。具体而言,SDIM 比 SIM 高 1.62%、比 UBR4CTR 高 1.02% 、比 ETA 高 1.01% 。
我们还注意到,与 DIN 相比,DIN(Long Seq.) 的 AUC 提高了 2.21% ,这表明建模长期用户行为对于 CTR prediction 的重要性。 SIM 、UBR4CTR 和 ETA的性能不如 DIN(Long Seq.),这是由于 retrieval of user behaviors 造成的信息丢失。这些 retrieval 操作可能有助于从序列中去除噪音,但当 top-k retrieval 没有足够的 informative behavior 时则是有害的。
(3):SDIM 比 DIN(Long Seq.) 、SIM 和 UBR4CTR 的效率高得多。效率的提高可以归因于将算法的时间复杂度降低到
SDIM 也比 ETA 效率高得多。ETA 也使用 LSH 对 target item 和行为序列进行哈希,哈希操作的时间复杂度与 SDIM 相同。哈希之后,ETA 计算汉明距离并选择 top-k items 从而用于 target attention ,时间复杂度为 SDIM 仅引入了一个 gather 算子,然后是 ETA 效率高得多。
对于
T&I Speed指标,对比的基线为DIN(Long Seq.),它的速度为1.0。

Table 3 显示了不同模型在工业数据集上的总体结果。
与 Taobao 数据集的结果类似,在工业数据集上,SDIM 优于所有竞争基线,并且与 DIN(Long Seq.) 表现相当。我们的 SDIM 与 SIM 、UBR4CTR 和 ETA 相比,分别实现了1.92%、2.08%、1.38% 的改进,同时比这些方法快得多。
由于工业数据集中的用户序列长度足够大,这对 retrieve-based 的方法很友好,因此它们似乎应该与 DIN(Long Seq.) 表现相当。然而,Table 3 中的结果表明它们的性能与DIN(Long Seq.) 存在一些差距。我们认为这是因为用户的兴趣通常是多样化的,人们经常想购买新 categories 的 item ,尤其是在我们的 food search 案例中。当面对新 category 中的 target item 时,这些检索算法很难从用户的历史行为中准确地挑选出最有价值的 item 。
与 Taobao 数据集相比,工业数据集每次 request 包含的 target items 更多,因此 SDIM 在该数据集上可以获得更大的加速比。工业数据集的用户行为序列也更长(retrieve-based 的方法也可以获得更大的加速比。
实验结果证明了 SDIM 的优越性。

SDIM 中有两个重要的超参数:哈希函数的数量 hash signatures 的宽度
对 hashing-based attention 的估计误差。随着 sampled hash function 数量的增加,estimated user interest 将更接近公式
为了评估 estimation error ,我们评估 SDIM 的性能。我们还实现了 SDIM 的变体,它直接使用公式中的期望碰撞概率 hash signatures 数量趋于无限时 SDIM 的behavior。结果如 Figure 4 所示。
可以看出,当
越大则复杂度越高,从而拖慢 inference速度。但是这里没有不同时的加速比数据,无法判断哪个 获得比较好的 trade-off。

对 items 更加关注。我们通过改变 SDIM 的不同注意力模式。结果如 Table 4 所示。
从Table 4 中我们可以看出:
当 SDIM 表现良好。为了平衡有效性和效率,我们在在线模型中使用
仅仅影响效果而不影响效率(根据 Table 1的算法复杂度分析结果)。
当 behavior。
相反,当 items 才有机会用于用户兴趣,这对行为较少的用户不友好。

我们还进行了额外的实验来测试 SDIM 在建模短期user behavior方面的表现。但请注意,SDIM 主要是为了解决工业推荐系统的长期用户兴趣建模的问题而提出的,人们可以直接插入 full target attention 或更复杂的模块来建模短序列。我们进行这个实验只是为了展示模型在特殊情况下的表现。
我们在 Taobao 数据集上进行了这个实验,结果如 Table 5 所示。结果表明,SDIM 在建模短序列方面仍然可以达到与标准的 target attention 模型相当的结果,同时效率更高。
是否可以把所有的
target attention(长期的、短期的)都换成SDIM?进一步地,是否可以把用户行为序列分成不同的区间,在每个区间都应用SDIM?

为验证 SDIM 的有效性,我们还进行了严格的 online A/B testing 。对于 online A/B testing , baseline 模型是美团搜索系统中之前的在线 CTR 模型,该模型仅使用短期用户行为序列。测试模型采用与 base 模型相同的结构和特征,但在此基础上加入了 long-term user interests modeling 模块,该模块包含用户最近 1024 或 2000 次behavior。我们使用所提出的 SDIM 来建模长期用户兴趣,并将该测试模型表示为 SDIM (T = 1024) 和 SDIM (T = 2000) 。测试持续 14 天,每个模型分别分配 10% 的美团搜索流量。 A/B testing 结果如 Table 6 所示。
SDIM (T=2000) 与 base 模型相比,CTR 提升 2.98% (p-value < 0.001 ),VBR 提升 2.69% (p-value < 0.005 ),考虑到美团 APP 的流量巨大,这可以大大提高线上利润。
SDIM (T=2000) 的推理时间与 Base(w/o long seq.) 相比增加了 1ms 。推理时间的增加主要是由于 BSE Server 和 CTR Server 之间的传输时间。
我们还尝试部署模型,该模型直接使用 target attention 来建模 T = 1024 的长期用户行为序列。然而,它的推理时间大大增加了约 50% (25ms-30ms ),这对于我们的系统来说是不可接受的。因此我们不能让这个模型在线上进行 14 天的 A/B testing 。SDIM 的性能与这个模型相当,但节省了 95% 的在线推理时间。SDIM 目前已在线部署并服务于美团首页搜索系统的主要流量。
