返回介绍

数学基础

统计学习

深度学习

工具

Scala

二十二、SIM [2020]

发布于 2023-07-17 23:38:25 字数 28127 浏览 0 评论 0 收藏 0

  1. 点击率Click-Through Rate: CTR预估建模在推荐系统recommender system 和在线广告online advertising等工业应用中起着至关重要的作用。由于用户历史行为数据user historical behavior data 的快速增长,以学习用户兴趣的意图representation 为重点的用户兴趣建模user interest modeling被广泛引入 CTR 预估模型。然而,由于真实在线系统中计算负担和存储负担的限制,大多数提出的方法只能对长度最多数百的用户行为序列数据进行建模。

    事实证明,丰富的用户行为数据具有巨大的价值。例如,在全球领先的电商网站之一的淘宝网中,有 23% 的用户在过去五个月内点击了 1000 多种商品。如何设计一种可行的解决方案来对长的用户行为序列数据long sequential user behavior data 进行建模,这一直是一个开放而热门的话题,吸引了来自工业界和学术界的研究人员。

    • 研究的一个分支借鉴了 NLP 领域的思想,提出使用 memory network 对长的用户行为序列数据进行建模,并取得了一些突破。阿里巴巴提出的 MIMN 是一项典型的工作,它是通过共同设计 co-design 学习算法和 serving system 来达到 SOTA 的。MIMN 是第一个可以对长度可达 1000 的用户行为序列进行建模的工业级解决方案。

      具体而言,MIMN 将一个用户多样化diverse的兴趣增量地incrementally 嵌入到固定大小的 memory matrix 中。该矩阵将通过每个新的行为进行更新,这样用户建模的计算就和 CTR 预估解耦。因此,对于在线 serving 而言,latency 将不再是问题。而存储代价依赖于 memory matrix 的大小,该大小远远小于原始的用户行为序列。

      在长期兴趣建模long-term interest modeling 中可以找到类似的思想。然而,对于 memory network-based 方法来建模任意长的序列数据仍然是具有挑战性的。实际上我们发现:当用户行为序列的长度进一步增加,比如增加到 10000 甚至更多时,对给定一个特定的候选item 的情况下,MIMN 无法精确地捕获用户的兴趣。这是因为将用户所有的历史行为编码到固定大小的 memory matrix 会导致大量的噪声被包含在 memory unit 中。

    • 另一方面,正如 DIN 在以前的工作中指出的,一个用户的兴趣是多样化diverse 的,并且在面对不同候选item 时会有所不同。DIN 的关键思想是:在面对不同的候选 item 时,从用户行为序列中搜索有效信息,从而建模用户的特定兴趣special interest 。通过这种方式,我们可以解决将用户所有兴趣编码为固定大小的参数parameter的挑战。

      DIN 确实为使用用户行为序列数据的 CTR 建模带来了很大的提升。但是,如前所述,面对长的用户行为序列数据,DIN 的搜索公式的计算成本和存储成本是不可行的。因此,我们能否应用类似的搜索技巧,并设计一种更有效的方法来从长的用户行为序列数据中提取知识?

    在论文 《Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction》 中,作者通过设计一个新的建模范式来解决这一挑战,并将其命名为基于搜索的兴趣模型 Search-based Interest Model: SIMSIM 采用了 DIN 的思想,并且仅捕获与特定候选 item 相关的用户兴趣。

    SIM 中,用户兴趣是通过两个级联 cascaded的搜索单元search unit 来提取的:

    • 通用搜索单元 General Search Unit: GSU:充当原始的、任意长的行为序列数据的通用搜索,并具有来自候选 itemquery 信息,最终得到和候选item 相关的用户行为序列子集Sub user Behavior Sequence: SBS

      为了满足latency 和计算资源的严格限制,在 GSU 中使用了通用、但是有效的方法。根据我们的经验,可以将 SBS 的长度缩短为数百个,并且可以过滤原始的、长的用户行为序列数据中的大部分噪声信息。

    • 精准搜索单元Exact Search Unit: ESU:对候选 itemSBS 之间的精确关系进行建模。在这里,我们可以轻松应用 DINDIEN 提出的类似方法。

    论文主要贡献:

    • 提出了一种新的范式 SIM,用于长的用户行为序列数据进行建模。级联的两阶段搜索机制的设计使得 SIM 具有更好的能力,可以在可扩展性scalability 和准确性accuracy 方面为长期的life-long 用户行为序列数据建模。
    • 介绍了在大规模工业系统中实现 SIM 的实践经验。自 2019 年以来,SIM 已经部署在阿里巴巴展示广告系统display advertising system 中,带来了 7.1%CTR 提升和 4.4%RPM 提升。现在 SIM 正在服务于主要流量。
    • 将长的用户行为序列数据建模的最大长度提高到 54000,比已发布的 SOTA 行业解决方案 MIMN54 倍。
  2. 相关工作:

    • 用户兴趣模型User Interest Model:基于深度学习的方法在CTR 预估任务中取得了巨大的成功。

      在早期,大多数前期作品使用深度神经网络来捕获来自不同 field 的特征之间的交互,以便工程师可以摆脱枯燥的特征工程的工作。最近,我们称之为用户兴趣模型User Interest Model 的一系列工作聚焦于从用户历史行为中学习潜在用户兴趣的 representation ,这些工作使用不同的神经网络架构(如 CNN, RNN, Transformer, Capsule 等等)。

      • DIN 强调用户的兴趣是多样化的,并引入了一种attention 机制来捕获用户对不同 target itemdiverse 兴趣。
      • DIEN 指出,用户历史行为之间的时间关系对于建模用户漂移drifting 的兴趣非常重要。在 DIEN 中设计了一个基于 GRU 的、带辅助损失的兴趣抽取层interest extraction layer
      • MIND 认为,使用单个向量来表示一个用户不足以捕获用户兴趣的变化的特性varying nature 。在 MIND 中引入了胶囊网络Capsule network 和动态路由方法 dynamic routing method,从而学习用户兴趣的、以多个向量表示的representation
      • 受到 self-attention 架构在 seq-to-seq learning 任务重成功的启发, DSIN 引入了 Transformer 来对用户的 cross-sessionin-session 中的兴趣进行建模。
    • 长期用户兴趣Long-term User InterestMIMN 的论文中显示了在用户兴趣模型中考虑长期历史行为序列可以显著提高 CTR 模型的性能。尽管更长的用户行为序列为用户兴趣建模带来了更多有用的信息,但是它极大地增加了在线 serving sysem 的延迟和存储负担,同时也为 point-wiseCTR 预估带来了大量的噪声。

      一系列工作聚焦于解决长期用户兴趣建模中的挑战。长期用户兴趣建模通常基于非常长的、甚至是 life-long 的历史行为序列来学习用户兴趣 representation

      • 《Lifelong Sequential Modeling with Personalized Memorization for User Response Prediction》提出了一种 Hierarchical Periodic Memory Network,用于对每个用户进行 life-long 序列建模,其中对序列模式进行个性化memorization

      • 《Adaptive user modeling with long and short-term preferences for personalized recommendation》 选择一个attention-based 框架来结合用户的长期偏好和短期偏好。他们采用了 attentive Asymmetric-SVD 范式来对长期兴趣建模。

      • 《Practice on Long Sequential User Behavior Modeling for Click-through Rate Prediction》提出了一种 memory-based 的架构,称作 MIMN。该架构将用户的长期兴趣嵌入到固定大小的memory network 中,从而解决用户兴趣数据的大容量存储问题。并且他们设计了一个 UIC 模块来增量记录新的用户行为,从而解决latency 的限制。

        但是,MIMNmemory network 中放弃了 target item 的信息,而 target item 已经被证明对于用户兴趣建模很重要。

22.1 模型

  1. 通过建模用户行为数据来预估 CTR ,这已经被证明是有效的。典型地,attention-based CTR 模型(如 DIN, DIEN)设计复杂的模型结构,并且包含attention 机制,以通过从用户行为序列中搜索有效知识来捕获用户的多样化兴趣。其中搜索的 input 来自于不同的候选 item

    但是在现实世界的系统中,这些模型只能处理长度小于 150 的短期short-term 行为序列数据。另一方面,长期long-term 用户行为数据很有价值,并且对长期兴趣进行建模可以为用户带来更多样化的推荐结果。

    我们似乎陷入了一个两难的境地:在现实世界的系统中,我们无法通过有效而复杂的方法来处理有价值valuablelife-long 用户行为数据。为应对这一挑战,我们提出了一种新的建模范式,称之为基于搜索的兴趣模型Search-based Interest Model: SIMSIM 遵循两阶段搜索策略,可以有效地处理长的用户行为序列。

    我们首先介绍 SIM 的总体工作流程,然后详细介绍我们提出的两种搜索单元 search unit

  2. SIM 遵循一个级联的 two-stage search 策略,其中包含两个单元:通用搜索单元General Search Unit: GSU、精确搜索单元Exact Search Unit: ESUSIM 的整体工作流如下图所示。

    • 第一阶段:我们利用 GSU 从原始的长期行为序列中寻找 top-K 相关relevant 的子行为序列,其复杂度为线性时间复杂度。这里 K 通常要比原始序列的长度要短得多。

      如果有时间和计算资源的限制,则可以执行一种有效的搜索方法来搜索相关relevant 的子行为序列。在后续内容中,我们提供了 GSU 的两种简单实现:软搜索soft-search 和硬搜索 hard-search

      GSU 采取一种通用general 但有效effective 的策略来减少原始的行为序列的长度,从而满足对时间和计算资源的严格限制。同时,长期用户行为序列中可能会破坏用户兴趣建模的大量噪声可以在第一阶段通过搜索策略进行过滤。

    • 第二阶段:ESU 将经过过滤的用户行为子序列作为输入,并进一步捕获精确precise的用户兴趣。

      由于长期用户行为序列的长度已经减少到数百,因此可以应用复杂体系结构的精巧sophisticated 的模型,如 DIN, DIEN 等等。

    然后遵循传统的 Embedding&MLP 范式,将精确precise 的长期用户兴趣的输出、以及Other Feature作为输入。

    注意:尽管我们分别介绍了这两个阶段,但是实际上它们是一起训练的。

22.1.1 General Search Unit

  1. 给定一个候选 item (即将被 CTR 模型打分的target item),只有一部分用户行为有价值。这部分用户行为与最终用户决策密切相关。挑选出这些相关relevant 的用户行为有助于用户兴趣建模。

    然而,使用整个用户行为序列直接对用户兴趣进行建模将带来巨大的资源占用和响应延迟latency ,这在实际应用中通常是无法接受的。为此,我们提出了一个通用搜索单元general search unit: GSU ,从而减少用户兴趣建模中用户行为的输入数量。这里,我们介绍两种通用的搜索单元:硬搜索hard-search 和软搜索 soft-search

  2. 给定用户行为的列表 $ \mathbf B=[\mathbf b_1;\mathbf b_2;\cdots,\mathbf b_T] $ ,其中 $ \mathbf b_i $ 为第 $ i $ 个用户行为(这里每个行为就是用户点击或购买的 item ), $ T $ 为用户行为列表的长度。通用搜索单元计算每个行为 $ \mathbf b_i $ 相对于候选 item 的相关性得分 relevant score $ r_i $ ,然后选择得分 top-K 的相关relevant 行为作为行为子序列 sub behaviour sequence

    硬搜索和软搜索的区别在于相关的分 $ r_i $ 的计算:

    $ r_i=\begin{cases} I(c_i = c_a),&\text{hard-search}\\ \left(\mathbf W_b\mathbf{\vec e}_i\right)\cdot \left(\mathbf W_a\mathbf{\vec e}_a\right),&\text{soft-search} \end{cases} $

    其中:

    • $ I(\cdot) $ 为示性函数, $ c_i $ 表示第 $ i $ 个行为 $ \mathbf b_i $ 的类目, $ c_a $ 为 target item 的类目。

    • $ \mathbf W_b \in \mathbb R^{d^\prime\times d} $ 和 $ \mathbf W_a \in \mathbb R^{d^\prime\times d} $ 为权重参数, $ \mathbf{\vec e}_i\in \mathbb R^d $ 为第 $ i $ 个行为 $ \mathbf b_i $ 的embedding 向量, $ \mathbf{\vec e}_a \in \mathbb R^d $ 为 target itemembedding 向量。 $ d $ 为 item embedding 的维度, $ d^\prime $ 为映射的新空间的维度。

      对于软搜索,GSUESU 共享相同的 embedding 参数。

  3. 硬搜索 hard-search:硬搜索模型是非参数non-parametric 的。只有和候选item 相同类目category 的行为被挑选出来,然后得到一个子行为序列并发送给 ESU

    硬搜索非常简单,稍后在实验中我们证明它非常适合在线 serving

  4. 软搜索soft-search:在软搜索模型中,首先将 $ \mathbf b_i $ 编码为one-hot 向量,然后嵌入到低维向量 $ \mathbf{\vec e}_i $ 中。

    • 为了进一步加速成千上万个用户行为的 top-K 搜索,基于embedding 矩阵 $ \mathbf E $ 的、亚线性时间sublinear time 的最大内积搜索 maximum inner product search 方法 ALSH 用于搜索和target item 最相关的 top-K 行为。其中 $ \mathbf E $ 为所有distinct 行为的 embedding 向量组成。

      借助训练好的 embedding 和最大内积搜索Maximum Inner Product Search: MIPS 方法,成千上万个用户行为可以减少到数百个。

    • 需要注意的是:长期long-term数据和短期short-term数据的分布是不同的。因此,在软搜索模型中直接使用从短期用户兴趣建模中学到的参数可能会误导长期用户兴趣建模。所以在本文中,软搜索模型的参数是在基于长期行为数据的辅助 CTR 预估任务下训练的,如上图左侧的软搜索训练soft search training 所示。

      用户整体行为序列的representation $ \mathbf{\vec u}_r $ 可以通过将 $ r_i $ 和 $ \mathbf{\vec e}_i $ 相乘得到:

      $ \mathbf{\vec u}_r = \sum_{i=1}^T r_i \mathbf{\vec e}_i $

      行为 representation $ \mathbf{\vec u}_r $ 和 target Ad 向量 $ \mathbf{\vec e}_a $ 然后拼接起来,作为后续多层感知机 Multi-Layer Perception: MLP 的输入,从而建模辅助任务。

      注意,如果用户行为序列增长到一定程度,则不可能将整个用户行为序列馈入辅助任务的模型。这种情况下,可以从长的用户行为序列中随机采样子序列,子序列仍然遵循原始行为序列相同的分布。

22.1.2 Exact Search Unit

  1. 在第一个搜索阶段,我们从长期用户行为中选择和 target item 最相关的 top-K 子用户行为序列 $ \mathbf B^{(*)}=\left[\mathbf b_1^{(*)};\cdots;\mathbf b_K^{(*)}\right] $ 。为了进一步从相关行为中建模用户兴趣,我们引入了精确搜索单元Exact Search Unit: ESUESU 是一个以 $ \mathbf B^{(*)} $ 为输入的、attention-based 的模型。

    考虑到这些选出来的用户行为横跨了很长时间,因此每个用户行为的贡献是不同的,所以涉及到每个行为的时间属性temporal property 。具体而言,target item 和选出来的 K 个用户行为的时间间隔 $ \mathbf D = [\Delta_1;\Delta_2;\cdots;\Delta_K] $ 用于提供时间距离temporal distance 信息。

    $ \mathbf B^{(*)} $ 和 $ \mathbf D $ 被编码为 embedding 矩阵 $ \mathbf E^{(*)}=\left[\mathbf{\vec e}_1^{(*)};\mathbf{\vec e}_2^{(*)};\cdots;\mathbf{\vec e}_K^{(*)}\right] $ 和 embedding 矩阵 $ \mathbf E^{(t)}=\left[\mathbf{\vec e}_1^{(t)};\mathbf{\vec e}_2^{(t)};\cdots;\mathbf{\vec e}_K^{(t)}\right] $ 。 其中, $ \mathbf{\vec e}_j^{(*)} $ 和 $ \mathbf{\vec e}_j^{(t)} $ 的拼接作为第 $ j $ 个行为的最终 representation ,记作 $ \mathbf{\vec z}_j=\text{concat}\left(\mathbf{\vec e}_j^{(*)},\mathbf{\vec e}_j^{(t)}\right) $ 。

    我们利用 multi-head attention 来捕获用户的多样化兴趣:

    $ \text{att}_{i,\text{score}}(j) = \text{Softmax}\left(\left(\mathbf W_{i,z}\mathbf{\vec z}_j\right)\cdot\left(\mathbf W_{i,a}\mathbf{\vec e}_a\right) \right)=\frac{\exp\left[\left(\mathbf W_{i,z}\mathbf{\vec z}_j\right)\cdot\left(\mathbf W_{i,a}\mathbf{\vec e}_a\right)\right]}{\sum_{k=1}^K \exp \left[\left(\mathbf W_{i,z}\mathbf{\vec z}_k\right)\cdot\left(\mathbf W_{i,a}\mathbf{\vec e}_a\right)\right]}\\ \mathbf{\vec z}^{}=\sum_{j=1}^K \text{att}_{i,\text{score}}(j)\times \mathbf{\vec z}_j $

    其中:

    • $ \text{att}_{i,\text{score}}(j) $ 为作用在第 $ j $ 个行为 $ \mathbf{\vec z}_j $ 上的第 $ i $ 个 attention score, $ \mathbf{\vec z} ^{} $ 为第 $ i $ 个 headattention
    • $ \mathbf W_{i,z},\mathbf W_{i,a} $ 为第 $ i $ 个head 的权重矩阵。

    最终的用户长期diverse 兴趣表示为: $ \mathbf{\vec u}_{\text{long}} = \text{concat}\left(\mathbf{\vec z}^{<1>};\cdots;\mathbf{\vec z}^{}\right) $ ,其中 $ H $ 为 head 数量。然后 $ \mathbf{\vec u}_{\text{long}} $ 被馈入到 MLP 中用于点击率预估。

  2. 最终模型同时使用了长期用户行为和短期用户行为,其中:

    • 长期用户行为使用 ESU 来抽取长期用户兴趣representation $ \mathbf{\vec u}_{\text{long}} $ 。
    • 短期用户行为使用 DIEN 来抽取短期用户兴趣representation $ \mathbf{\vec u}_{\text{short}} $ 。

    长期用户兴趣representation $ \mathbf{\vec u}_{\text{long}} $ 、短期用户兴趣representation $ \mathbf{\vec u}_{\text{short}} $ 、以及Other feature representation 一起拼接作为后续 MLP 的输入。

    长期用户兴趣由长期用户行为来捕获,这里使用 GSU + ESU 的原因是序列太长,DIEN 无法处理。

    短期用户兴趣由短期用户行为来捕获,这里使用 DIEN 是因为序列较短因此可以更精细地建模。对于较短的序列,没必要使用 GSU 来硬过滤。

  3. 最后,我们在交叉熵损失函数下同时训练 GSUESU

    $ \mathcal L = \alpha \text{Loss}_{GSU} + \beta \text{Loss}_{ESU} $

    其中:

    • $ \alpha $ 和 $ \beta $ 为超参数,用于控制损失之间的比例。在我们的实验中:

      • 如果 GSU 为软搜索模型,则 $ \alpha=\beta = 1 $ 。
      • 如果 GSU 使用硬搜索模型,那么 $ \alpha = 0 $ 。
    • $ \text{Loss}_{ESU} $ 为 ESU 单元的损失,这也是SIM 模型主任务的目标损失。

    • $ \text{Loss}_{GSU} $ 为 GSU 单元的损失。

      • 如果 GSU 为硬搜索,则由于硬搜索没有参数,因此不考虑其损失。
      • 如果 GSU 为软搜索,则它是 SIM 模型辅助任务的目标损失。辅助任务也是一个 CTR 预估任务,只是它采用了更简单的架构(没有 multi-head、没有 DIEN )、更少的特征(没有短期用户行为、没有 Other feature )。

    这个辅助损失函数本质上是强制 GSU 部分学到的 embedding 是任务相关的。可以理解为 boosting 模型的一种:GSU 部分已经学到了 CTR 相关的信息,ESU 部分继续拟合残差。

    SIMDeepMCPDMR 等模型都是类似的思想,要求模型的子结构也能够捕获到 CTR 相关的信息,从而使得约束了模型的解空间。

22.1.3 在线实现

  1. 这里我们介绍在阿里巴巴的展示广告系统display advertising system 中实现 SIM 的实际经验。

  2. life-long 用户行为数据在线serving 的挑战:工业级的推荐系统或广告系统需要在一秒钟内处理的大量的流量请求,这需要 CTR 模型实时响应。通常, serving latency 应该小于 30 毫秒。下图简要说明了我们在线展示广告系统中用于 CTR 任务的实时预测Real Time Prediction: RTP系统。该系统由两个关键组件组成:计算节点Computation Node、预估server

    考虑到 lifelong 的用户行为,在实时工业系统中建立长期的用户兴趣model serving 就变得更加困难。存储和延迟的限制可能是长期用户兴趣模型的瓶颈。实时请求的数据量(数据量 = 请求条数 x 单条请求的数据量)会随着用户行为序列长度的增加而线性增加。此外,我们的系统在流量高峰时每秒可为超过 100 万用户提供服务。因此,将长期模型部署到在线系统是一个巨大的挑战。

  3. 在线 serving 系统:前面我们提出了两种类型的 GSU:软搜索模型和硬搜索模型。

    对于软搜索模型和硬搜索模型,我们对从阿里巴巴在线展示广告系统收集的工业数据进行了广泛的离线实验。我们观察到软搜索模型生成的 top-K 行为数据与硬搜索模型的结果极为相似。换句话讲,软搜索的大部分 top-K 行为通常属于 target item 相同类目category 的。这是我们场景中数据的一个特色。在电商网站中,属于同一类目的 item 在大多数情况下是相似的。考虑到这一点,尽管在离线实验中软搜索模型的性能要比硬搜索模型稍好,但是在平衡性能提升和资源消耗之后,我们选择硬搜索模型将 SIM 部署到我们的广告系统中。

    对于硬搜索模型,包含所有长的用户行为序列数据的索引是关键组件。我们观察到,行为可以通过其所属类目自然访问到。为此,我们为每个用户建立一个两级的结构化索引 two-level structured index ,并将其命名为用户行为树user behavior tree: UBT ,如下图所示。

    简而言之,UBT 遵循 Key-Key-Value 数据集结构:第一个 keyuser-id,第二个 keycategory id,最后一个value 是属于每个类目的特定的行为itemUBT 被实现为分布式系统,最大容量可达 22TB,并且足够灵活以提供高吞吐量的query

    然后,我们将 target itemcategory 作为我们的硬搜索query

    GSU 之后,用户行为的长度可以从一万多个减少到数百个。因此,可以缓解在线系统中 lifelong 行为的存储压力。

    下图显示了 SIM 的新 CTR 预估系统。新系统加入了一个硬搜索模块,以从长的用户行为序列数据中寻找 target item 相关的有效行为effective behaviors

    注意:GSUUBT 的索引可以离线构建。这样,在线系统中的 GSU 的响应时间可以非常短,与 GSU 的索引构建相比可以忽略。此外,其它用户特征可以并行计算。

22.2 实验

  1. 这里我们详细介绍了我们的实验,包括数据集、实验配置、模型比较、以及一些相应的分析。由于 SIM 已经部署在我们的在线广告系统中,因此我们还会进行仔细的在线 A/B test,并比较几个著名的工业级的模型。

  2. 数据集:我们在两个公共数据集、以及阿里巴巴在线展示广告系统收集的工业数据集进行了模型比较。

    • Amazon Dataset:由 Amazon 的商品评论和元数据meta-data组成。我们使用 Amazon 数据集的 Books 子集,该子集包含 75053 个用户、358367item1583 个类目category

      对于该数据集,我们将评论视为一种交互行为,并按时间对一个用户的评论进行排序。Amazon Books 数据集的最大行为序列长度为 100。我们将最近的 10 个用户行为划分为短期short-term用户序列特征,将最近的 90 个用户行为划分为长期long-term用户序列特征。这些预处理方法已经在相关作品中广泛使用。

    • Taobao Dataset:是来自淘宝推荐系统的用户行为集合。数据集包含几种类型的用户行为,包括点击、购买等。它包含大约800 万用户的用户行为序列。

      我们采用每个用户的点击行为,并根据时间对其进行排序从而构建用户行为序列。Taobao Dataset 的最大行为序列长度为 500。我们将最近的 100 个用户行为划分为短期用户序列特征,将最近的 400 个用户行为划分为长期用户序列特征。数据集将很快公开。

    • Industrial Dataset:是从阿里巴巴在线展示广告系统收集的。样本是由曝光日志构建的,标签为是否点击。训练集是由过去49 天的样本组成,测试集是第50 天的样本组成,这是工业建模的经典设置。

      在这个数据集中,每个样本的用户行为特征包含最近 180 天的历史行为序列作为长期行为特征,以及最近 14 天的历史行为序列作为短期行为特征。超过 30% 的样本包含长度超过 1 万的行为序列数据。此外,行为序列的最大长度达到 54000,这比 MIMN 中的行为序列长 54 倍。

    这些数据集的统计信息如下表所示。注意,对于Industrial Datasetitem 为广告。

  3. baseline 方法:我们将 SIM 和以下主流的 CTR 预估模型进行比较。

    • DIN:是用户行为建模的早期工作,旨在针对候选item 进行用户行为的软搜索。和其它长期用户兴趣模型相比,DIN 仅将短期用户行为作为输入。
    • Avg-Pooling Long DIN:为了比较长期用户兴趣下的模型性能,我们对长期行为应用了均值池化操作(没有使用任何 attention 操作),并将long-term embedding 、以及其它特征 embedding 拼接起来。
    • MIMN:它巧妙地设计了模型体系结构从而捕获长期的用户兴趣,实现了state-of-the-art 性能。
    • SIM(hard):我们提出的 SIM 模型,其中第一阶段使用硬搜索,并且在 ESU 中没有 time embedding
    • SIM(soft):我们提出的 SIM 模型,其中第一阶段使用软搜索,并且在 ESU 中没有 time embedding
    • SIM(hard/soft) with Timeinfo:我们提出的 SIM 模型,其中第一阶段使用硬搜索/软搜索,并且在 ESU 使用 time embedding
  4. 实验配置:我们采用与相关工作(即 MIMN)相同的实验配置,以便可以公平地比较实验结果。

    • 对所有模型,我们使用 Adam 优化器。
    • 我们使用指数衰减,学习率从 0.001 开始。
    • 全连接网络FCNlayer 设置为 200 x 80 x 2
    • embedding 维数设置为 4
    • 我们使用 AUC 作为模型性能的评估指标。
  5. 下表显式了所有模型在公共数据集上的比较结果。a 表示SIM 采用软搜索且没有时间间隔的 embeddingb 没有在 Amazon Dataset 上实验,因为该数据集没有时间戳数据。

    • DIN 相比,具有长期用户行为特征的其它模型的性能要好得多。这表明长期用户行为对CTR 预估任务很有帮助。

    • MIMN 相比,SIM 取得了显著提升,因为 MIMN 将所有未过滤的用户历史行为编码到固定长度的 memory 中,这使得难以捕获多样化的长期用户兴趣。

    • SIM 使用两阶段搜索策略从庞大的历史行为序列中搜索相关的行为,并针对不同target item 来建模多样化的长期用户兴趣。

      实验结果表明:SIM 优于所有其它长期兴趣模型。这充分证明了我们提出的两阶段搜索策略对于长期用户兴趣建模很有用。而且,包含time embeding 可以实现进一步的提升。

  6. 消融研究--两阶段搜索的有效性:如前所述,我们的 SIM 模型使用两阶段搜索策略。

    • 第一阶段遵循通用搜索策略,从而过滤得到与target item 相关的历史行为。
    • 第二阶段对第一阶段的行为进行 attention-based 的精确exact搜索,从而准确地accurately 捕获用户对于target item 的多样化的长期兴趣。

    这里我们通过对长期历史行为应用不同操作的实验来评估所提出的两阶段搜索架构的有效性。这些不同的操作如下:

    • Avg-Pooling without Search 仅仅简单地应用均值池化来聚合长期行为 embedding,没有使用任何过滤。它和 Avg-Pooling Long DIN 相同。

    • Only First Stage(hard) 在第一阶段对长期历史行为应用硬搜索,并通过对过滤后的结果应用均值池化从而得到固定大小的、聚合的 embedding,从而作为 MLP 的输入。即没有第二阶段搜索策略。

    • Only First Stage (soft) 几乎和 Only First Stage(hard) ,但是前者采用软搜索而不是硬搜索。

      我们根据预训练pre-trainedembedding 向量,离线计算 target item 和长期用户行为之间的内积相似度得分。然后根据相似度得分选择 top 50 个相关行为来进行软搜索。

    • 最后三个实验是我们提出的两阶段搜索架构的搜索模型。

    实验结果如下表所示,可以看到:

    • 与简单的均值池化 embedding 相比,所有具有过滤策略的方法都极大地提高了模型性能。这表明在原始的长期行为序列中确实存在大量的噪声,而这些噪声可能会破坏长期用户兴趣的学习。
    • 和仅进行一阶段搜索的模型相比,我们提出的具有两阶段搜索策略的搜索模型通过在第二阶段引入 attention-based 的搜索而取得了进一步的提升。这表明:精确地precisely 建模用户对 target item 的多样化的长期兴趣,有助于 CTR 预估任务。并且在第一阶段搜索之后,过滤后的行为序列通常比原始序列短得多,attention 操作不会给在线 RTP 系统带来太多负担。
    • 包含time embedding 的模型得到了进一步的提升,这表明不同时期 peroid 的用户行为的贡献是不同的。

  7. 我们进一步对阿里巴巴在线展示广告系统收集的工业数据集进行实验,下表给出了实验结果。a 表示该模型目前已经部署在我们的在线serving 系统,并且服务于主要的流量。

    • SIM 相比 MIMNAUC 上提升了 0.008,这对于我们的业务而言意义重大。

    • 和第一阶段使用硬搜索相比,第一阶段使用软搜索的性能更好。

    • 在第一阶段,硬搜索和软搜索这两种搜索策略之间只有微小的差距。

      • 在第一阶段应用软搜索会花费更多的计算资源和存储资源。因为软搜索需要在 online serving 中使用最近邻搜索,而硬搜索只需要从离线构建的两级索引表中检索。因此,硬搜索更加有效且系统友好。
      • 对两种不同的搜索策略,我们对来自工业数据集的超过 100 万个样本和 10 万个具有长期历史行为的用户进行了统计。结果表明:硬搜索策略保留的用户行为可以覆盖软搜索策略的 75%

      最后,我们在第一阶段选择更简单的硬搜索策略,这是在效率efficiency 和性能 performance 之间的 trade-off

  8. 在线 A/B test:自 2019 年以来,我们已经在阿里巴巴的展示广告系统中部署了SIM 。从 2020-01-07 ~ 2020-02-07,我们进行了严格的在线 A/B test 实验,从而验证 SIM 模型。和 MIMN (我们的最新模型)相比,SIM 在阿里巴巴的展示广告场景中获得了巨大收益,如下表所示。现在,SIM 已经在线部署并每天为主要场景流量提供服务,这为业务收入的显著增长做出了贡献。

    下表为 2020-01-07 ~ 2020-02-07 期间,SIM 相对于 MIMN 的在线效果提升,其中模型应用于淘宝 App 首页的“猜你喜欢” 栏目。

  9. Rethinking Search Model:我们在用户长期兴趣建模方面做出了巨大努力,所提出的 SIM 在离线和在线评估方面都取得了良好的性能。但是 ,由于进行了精确的precise 长期兴趣建模,SIM 的性能会更好吗?SIM 是否会倾向于推荐和人们长期兴趣相关的 item

    为回答这两个问题,我们制定了另一个指标,即点击样本的 Days till Last Same Category Behavior $ d_{\text{category}} $ 。 $ d_{\text{category}} $ 定义为:在点击事件发生之前,用户在相同类目cateogryitem 上的最近行为距离当前点击事件的时间间隔。

    例如,用户 $ u_1 $ 点击了类目为 $ c_1 $ 的 item $ i_1 $ ,并且用户 $ u_1 $ 五天前点击了相同类目 $ c_1 $ 的 item $ i_2 $ (并且在这五天之内没有点击相同类目的其它item )。如果将点击事件记作 $ s_1 $ ,那么样本 $ s_1 $ 的Days till Last Same Category Behavior5 ,即 $ d_{\text{cateogry}}^{s_1} = 5 $ 。此外,如果用户 $ u_1 $ 历史上从未在类目 $ c_1 $ 上有任何行为,我们设置 $ d_{\text{cateogry}}^{s_1} = -1 $ 。

    对于给定的模型,可以使用 $ d_{\text{category}} $ 来评估模型在长期兴趣long-term interest 或短期兴趣short-term interest 上的选择偏好selection preference

    • 经过在线 A/B test 之后,我们根据提出的 $ d_{\text{category}} $ 指标分析了 SIMDIEN (这是短期的CTR 预估模型的最新版本)的点击样本。点击样本越多则说明模型效果越好(模型找的越准)。

      根据 $ d_{\text{category}} $ 我们将点击样本(这里指的是模型预估参与竞价的结果)拆分为两个部分:长期的(>14天)、短期的(<14天)。方框显示了不同 $ d_{\text{category}} $ 的 SIM 模型点击样本的提升比例(相对于 DIEN 模型)。曲线表示不同 $ d_{\text{category}} $ 下不同模型找到的点击样本数量。

      可以看到:在短期部分( $ d_{\text{category}} <14 $ )上的两个模型之间几乎没有差异,因为 SIMDIEN 在过去14 天中都具有短期的用户行为特征。在长期部分,SIM 提升比例更大。

    • 此外在工业数据集上,我们统计了 $ d_{\text{category}} $ 的均值、以及用户拥有和 target item 相同类目的历史行为的概率。结果如下表所示(在不同模型找到的点击样本上统计到的)。

      结果表明:SIM 的提升确实是更好的长期兴趣建模的结果。并且和 DIEN 相比,SIM 倾向于推荐与人们长期行为有关的item

    读者注:这里假设 A/B test 时流量相等,因此点击量的差异等价于 CTR 的差异。

  10. 部署的实践经验:这里我们介绍了在线 serving 系统中实现 SIM 的实践经验。

    阿里巴巴的高流量是众所周知的,它在流量高峰时每秒为超过100 万用户提供服务。此外,对于每个用户,RTP 系统需要计算数百个候选item 的预估CTR。我们对整个离线用户行为数据建立一个两阶段索引,该索引每天都会更新:第一阶段是user id;在第二阶段,一个用户的 life-long 行为数据由该用户所交互的类目来索引。

    虽然候选item 的数量为数百,但是这些item 的类目数量通常少于 20 。同时,来自 GSU 的每个类目的子行为序列的长度被截断为不超过 200 (原始的行为序列长度通常小于 150 )。这样,来自用户的每个请求的流量是有限的并且可以接受的。

    此外,我们通过 deep kernel fusion 优化了 ESUmulti-head attention 的计算。

    下图显示了我们的实时 CTR 预估系统相对于 DIEN,MIMN,SIM 流量的效率。值得注意的是:

    • MIMN 可以处理的最大用户行为长度是 1000,而这里显示的性能是基于截断的行为数据( MIMNDIEN 中,用户行为的长度被截断为 1000)。
    • SIM 中的用户行为的长度不会被截断,并且可以扩展到 54000,使得最大长度可以扩展到 54 倍。针对一万个行为的 SIM serving ,相比于截断用户行为的 MIMN servinglatency 仅增加了 5ms
    • DIEN 的最大流量为 200,因此图中只有一个点。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文