《TWIN: TWo-stage Interest Network for Lifelong User Behavior Modeling in CTR Prediction at Kuaishou》
终身用户行为建模(life-long user behavior modeling
),即从数月甚至数年的丰富历史行为中提取用户的隐藏兴趣(hidden interests
),在现代 CTR prediction
系统中起着核心作用。传统算法大多遵循两个级联的阶段:
简单的通用搜索单元 (General Search Unit: GSU
),用于对数万个长期 behaviors
进行快速且粗略的搜索。
精确搜索单元 (Exact Search Unit: ESU
),用于对来自 GSU
的少数最终入围者进行有效的 Target Attention: TA
。
现有算法虽然高效,但大多存在一个关键限制:GSU
和 ESU
之间的 target-behavior
的相关性指标(relevance metrics
)不一致。因此,这些算法的 GSU
通常会错过高度相关的 behaviors
,但会检索出被 ESU
认为不相关的 behaviors
。在这种情况下,无论如何分配注意力,ESU
中的 Target Attention
大多会偏离真正的用户兴趣,从而降低整体的 CTR prediction
的准确率。
为了解决这种不一致性,我们提出了两阶段兴趣网络(TWo-stage Interest Network: TWIN
),其中我们的 Consistency-Preserved GSU: CP-GSU
采用与 ESU
中的 Target Attention
相同的 target-behavior relevance metric
,使两个阶段成为孪生。具体来说,为了突破 Target Attention
的计算瓶颈并将其从 ESU
扩展到 GSU
,即将 behavior
长度从 behavior feature splitting
构建了一种新颖的注意力机制。对于 behavior
的视频固有特征,我们通过高效的 pre-computing & caching
策略来计算它们的线性投影。对于 user-item
交叉特征,我们在注意得分计算中将每个特征压缩为一维的 bias
项从而节省计算成本。两个阶段之间的一致性,加上 CP-GSU
中有效的 Target Attention-based
相关性指标,有助于显著提高 CTR prediction
的性能。
在快手 46B
规模的真实生产数据集上的离线实验和在线 A/B test
表明,TWIN
的表现优于所有对比的 SOTA
算法。通过优化在线基础设施,我们降低了 99.3%
的计算瓶颈,这有助于 TWIN
在快手上的成功部署,服务于每天数亿活跃用户的主要流量。
作为中国最受欢迎的短视频分享应用(short video sharing apps
)之一,快手高度依赖其强大的推荐系统 (recommendation system: RS
)。每天,推荐系统帮助数亿活跃用户过滤掉数百万个不感兴趣的视频,找到他们感兴趣的视频,留下数百亿条点击日志。这些海量数据不仅为推荐系统的训练提供了数据,还推动了技术革命,不断提升该平台的用户体验和业务效率。
在现代推荐系统中,一项基本任务是 CTR prediction
,旨在预测用户点击某个 item / video
的概率。准确的 CTR prediction
指导推荐系统为每个用户提供他们最喜欢的内容,并将每个视频传递给其感兴趣的受众。为了实现这一点,CTR
模型应该高度个性化,并充分利用稀缺的用户信息。因此,终身用户行为建模(life-long user behavior modeling
),即从丰富的长期历史行为中提取用户的隐藏兴趣(hidden interests
),通常是 CTR
模型的关键组成部分。
工业级的 life-long behavior modeling
算法大多遵循两个级联的阶段(《Search-based user interest modeling with lifelong sequential behavior data for click-through rate prediction》
):
(1)
:一个通用搜索单元 (General Search Unit: GSU
)对数万个长期 behaviors
进行快速且粗略的搜索,并输出少量的 most target-relevant
的行为;
(2)
:一个精确搜索单元 (Exact Search Unit: ESU
)对来自 GSU
的少数最终入围者进行有效的 Target Attention: TA
。
这种两阶段设计背后的原因有两个方面:
一方面,为了精确捕获用户兴趣,Target Attention
是强调 target-relevant behaviors
和抑制 target-irrelevant behaviors
的适当选择。
另一方面,Target Attention
昂贵的计算成本将其适用的序列长度限制为最多几百。为此,一个简单快速的 GSU
作为 pre-filter
至关重要从而用于截断工业规模的用户行为序列,因为这些序列在短短几个月内很容易达到
近年来,出现了许多关于两阶段 life-long behavior modeling
的新兴研究,而它们的关键区别在于 GSU
策略,其中 GSU
策略粗略地选择 target-relevant behaviors
。例如:
SIM Hard
简单地从与 target item
相同的 category
中选择 behaviors
;而 SIM Soft
通过内积从 pre-trained item embeddings
中计算 target-behavior relevance score
,并选择相关性最高的 behaviors
。
ETA
使用局部敏感哈希(locality-sensitive hashing: LSH
)和汉明距离来近似 relevance score
的计算。
SDIM
通过多轮哈希碰撞(multi-round hash collision
)等方法对具有与 target-behavior
相同哈希签名(hash signature
)的 behaviors
进行采样。
尽管已被广泛研究,但现有的两阶段 life-long behavior modeling
算法仍然存在一个关键限制:GSU
和 ESU
之间的不一致(如 Figure 1
所示)。具体来说,GSU
中使用的 target-behavior relevance metric
既粗略又与 ESU
中使用的 Target Attention
不一致。因此,GSU
可能会错过 relevant behaviors
,而且可能会检索 ESU
认为不相关的 behaviors
从而浪费 ESU
宝贵的计算资源。在这种情况下,无论如何分配注意力,ESU
中的 Target Attention
会很大地偏离真实的用户兴趣,从而降低整体 CTR prediction
的准确率。
为了解决这种不一致(inconsistency
),我们提出了两阶段兴趣网络( TWo-stage Interest Network: TWIN
)从而用于 lifelong user behavior modeling
,其中 Consistency-Preserved GSU: CP-GSU
采用与 ESU
中的 Target Attention
相同的target-behavior relevance metric
,使两个阶段成为孪生(twins
)。为了将昂贵的 Target Attention
扩展到 CP-GSU
,TWIN
通过有效的 behavior feature split
、简化的 Target Attention
架构、以及高度优化的在线基础设施,突破了 Target Attention
的关键计算瓶颈,即所有 behaviors
的线性投影。
1)
:具体来说,对于跨 users / behavior sequences
共享的 video inherent features of a behavior
(例如 video id, author, duration, topic
),我们通过高效的 pre-computing & caching
策略加速它们的投影。
2)
:对于 behavior
的 user-video
交叉特征(例如用户的 click timestamp, play time, rating
),当 caching
不适用时,我们通过将它们的投影压缩为 bias
项来简化 Target Attention
架构。
通过优化后的在线基础设施,我们成功地将Target Attention
的适用序列长度从 ESU
中的 CP-GSU
中的 CP-GSU
中的 Target Attention-based relevance metric
,有助于显著提高 CTR prediction
的性能。
总体而言,我们做出了以下贡献:
在我们提出的 TWIN
中,CP-GSU
精确且一致地检索不仅 target-relevant
而且被 ESU
认为重要的 behaviors
,从而最大限度地提高了 behavior modeling
的 retrieval
效果。据我们所知,我们是第一个成功解决两阶 life-long behavior modeling
问题中不一致性的人。
我们通过对快手 46B
规模的工业级数据集进行大量的离线实验,以及在线 A/B test
,从而验证 TWIN
的有效性。我们通过消融研究验证了我们的有效性,并表明 TWIN
带来了显著的 online benefits
。
我们构建了高效的工业级的基础设施,将 TWIN
应用于真实的在线推荐系统。我们提出了有效的 pre-computing & caching
策略,将 TWIN
的计算瓶颈(即 CP-GSU
中 linear projection of behaviors
)减少了 99.3%
,并满足了 online serving system
的低延迟要求。目前 TWIN
已经部署在快手的推荐系统上,服务于每日 3.46
亿活跃用户的主要流量。
在本文中,我们建议将 Target Attention
结构扩展到 GSU
,并将 embeddings and attention parameters
从 ESU
同步到 GSU
,从而保持端到端训练。结果,我们同时实现了网络结构和模型参数的一致性,与 ETA
和 SDIM
相比,这有助于显著提高性能。我们在 Table 1
中详细说明了我们的模型与其他模型的不同之处。
ESU
和GSU
的网络结构和网络参数完全相同,所以称之为 “孪生”。
请注意,我们的工作不同于旨在加速 Transformer
的 indexing
算法(例如 LISA
)。它们通过将 behaviors
映射到 codebooks
并查找距离来近似 relevance score
的计算。然而我们的工作以及许多其他两阶段算法都使用精确的距离计算,但使用 GSU
作为pre-filter
从而减少了 behaviors
的数量。
TWIN
算法的核心是对attention score
计算中最耗时的linear projection
进行优化。但是这种优化仅适用于inference
阶段,而不适用于training
阶段。论文创新点一般,对算法层面优化较少,更多地是工程优化。
首先,我们回顾了 CTR prediction
问题的一般基础知识。然后,我们描述了快手 CTR prediction
系统的模型架构。接着,我们进一步深入探讨了我们提出的 consistency-preserved lifelong user behavior modeling module
,即 TWo-stage Interest Network: TWIN
。最后,我们介绍了确保 TWIN
在快手主流量上成功在线部署的基本 accelerating
的策略。
Table 2
总结了所使用的符号。
CTR prediction
的目的是预测用户在特定上下文中点击一个 item
的概率。准确的 CTR prediction
不仅可以通过提供 preferred contents
来提升用户体验,还可以通过触达 interested audiences
来提高内容生产者和平台的业务效率。因此,CTR prediction
已成为各种工业级推荐系统(尤其是快手等短视频推荐平台)的核心部分。
CTR prediction
通常被表述为一个二分类问题,其目标是在给定训练数据集 predictor
函数 feature vector
(即 user, item and contexts features
的拼接);ground truth label
,表示用户是否点击该 item
。predicted CTR
计算如下:
其中:sigmoid
函数,它将 prediction
(0, 1)
之间。
模型通过最小化 negative log-likelihood
来训练:
为简洁起见,我们在以下章节中省略了训练样本索引
现在我们来介绍快手的 CTR prediction
系统的架构。详细信息如 Figure 2
所示。
下图中,
ESU
和CP-GSU
的网络结构和网络参数一模一样,那为什么弄两个一模一样的东西?是否可以移除掉ESU
?根据论文的解释:在
ESU
的MHTA: multi-head target attention
中,对于使用原始的线性投影而不做拆分从而用于加权聚合。如果只有 CP-GSU
,那么包含所有行为的 embedding
,这个投影的代价非常高。那么:
是否可以仅仅使用
CP-GSU
,然后仅仅选择top-k
来做线性投影从而用于加权聚合?或者,在
ESU
中使用不同的网络参数,即,使用原始的线性投影而不做拆分,从而计算attention score
?
Embedding Layer
: 在最底层,我们的模型从 feature embedding layer
开始,该层将训练样本的原始特征转换为 embedding vectors
。
在不失一般性的情况下,我们假设所有特征在经过必要的预处理后都处于 categorical
的形式。对于 vocabulary size
为 categorical information
编码为 one-hot / multi-hot code
请注意,在大多数工业级系统中,vocabulary size
(尤其是 user / author / video ids
的 vocabulary size
)可以轻松扩展到数亿。因此,一种常见的策略是将极高维的 hot codes
转换为低维 embeddings
:
其中:embedding dictionary
,embedding
维度。在我们的系统中,我们将 vocabulary
大的 id
特征的 embedding
维度设置为 64
,将其他特征(如 video topic, video played timestamp
)的 embedding
维度设置为 8
。
在所有 upper layers
中,我们将 embedding vectors
作为输入,因此为了简洁起见省略了下标 “emb”
。
Deep Networks
:我们的 CTR prediction
的总体架构如 Figure 2
所示。upper module
由堆叠的神经网络和 ReLU
组成,充当mixer
,用于学习三个 intermediate modules
的输出之间的交互:
TWIN
:所提出的 consistency-preserved life-long user behavior modeling
模块,通过两个 cascading stages
的 behavior modeling
子模块提取用户兴趣:
1)
:Consistency-Preserved General Search Unit: CP-GSU
,从数万个长期历史行为中粗略搜索 100
个最相关的行为。
2)
:Exact Search Unit: ESU
,采用注意力机制对 CP-GSU
的 100
个最终入围者来捕获精确的用户兴趣。
传统算法通常由“轻量级”的 GSU
和“重量级”的 ESU
组成。与传统算法不同,我们提出的 CP-GSU
遵循与 ESU
相同的 relevance evaluation metric
,使两个 cascading stages
成为 TWINS
。因此,CP-GSU
始终检索出来 ESU
认为重要的 items
,从而最大限度地提高 behavior modeling
的有效性。
Short-term behavior modeling
:从最近的 50
个 behaviors
中提取用户兴趣。该模块关注用户最近几天的短期兴趣,是 TWIN
的有力补充。
其他任务建模:除了 behavior modeling
之外,我们还拼接了各种其他任务建模的输出,这些任务建模可以建模用户的性别、年龄、职业、位置、视频时长、主题、受欢迎程度、质量和上下文特征,上下文特征包括播放日期、时间戳、页面位置等。
我们将提出的算法命名为 TWIN
,以强调 CP-GSU
遵循与ESU
相同的 relevance evaluation metric
。请注意,这种一致性并非微不足道,因为:
有效的 behavior modeling
算法通常基于多头目标注意力 (Multi-Head Target Attention: MHTA
) ,它通过强调 target relevant behaviors
来精确地捕获用户兴趣。不幸的是,由于计算复杂度高,MHTA
适用的 behavior sequence
长度大多仅限于几百。
为了详尽地捕获用户的长期兴趣,CP-GSU
应该涵盖过去几个月的 user behaviors
,这些 user behaviors
很容易达到数万。考虑到在线系统严格的低延迟要求,这个序列长度远远超出了传统 MHTA
的容量。
本节旨在回答这个关键问题:如何提高 MHTA
的效率,以便我们可以将其从 ESU
扩展到 CP-GSU
?或者换句话讲,从数百的序列长度扩展到至少数万的序列长度?
Behavior Feature Splits and Linear Projection
:按照 MHTA
的标准符号,我们将长度为 behavior sequence
behavior
的特征。在实践中,MHTA
的注意力得分计算中,MHTA
在极长 user behavior sequences
上应用的关键计算瓶颈。因此,我们提出以下措施来降低其复杂性。
我们首先将 behavior features matrix
我们将 behavior items
的固有特征(例如 video id, author, topic, duration
),这些特征与特定的 user / behavior sequence
无关。
我们将 user-item
交叉特征(例如 user click timestamp, user play time, clicked page position, user-video interactions
)。
这种分割可以高效计算接下来的线性投影
对于固有特征 id
特征为 64
,field
数量),但线性投影实际上并不昂贵。特定 item
的固有特征在 users / behavior sequences
之间共享。通过必要的缓存策略,look up and gathering
过程有效地“计算”。在线部署的细节将在接下来章节中介绍。
但是,训练的时候没有
caching
,因此会非常消耗资源。然而,训练的时候没有inference latency
的限制,可以堆显卡来解决。
对于 user-item
交叉特征
1)
:交叉特征描述 a user and a video
之间的交互细节,因此不会跨 users behavior sequences
来共享。
2)
:对于一个视频,每个用户最多观看一次。也就是说,在投影 cross features
时没有重复计算。因此,我们通过简化 linear projection weight
来降低计算成本。
给定 embedding
维度为 vocabulary size
的 id
特征)。我们有 linear projection
简化如下:
其中:
使用这个简化的投影,我们将每个 cross feature
压缩到一个维度,即 diagonal block matrix
)。
复杂度分析:在传统的 MHTA
中,
通常
。
而在我们对 TWIN
的 MHTA
中:
item
固有特征 pre-computed
并有效地 gathered
,复杂度为
在训练阶段是没有
pre-computed
的的,因此在训练阶段的复杂度还是很高。
而 user-item
交叉特征
由于 MHTA
能够在 CP-GSU
和 ESU
中一致地实施。
这里仅仅优化了线性投影的计算复杂度,但是没有优化
attention
的计算复杂度。attention
的计算复杂度为:,这比线性投影低得多。而原始算法中, attention
的计算复杂度为。
Target Attention in TWIN
:基于 linear projection of behaviors
CP-GSU
和 ESU
中统一使用的 target-behavior relevance metric
。
不失一般性,我们假设用户和 target item
之间没有交互,并将 target item
的固有特征记作 target item
与历史行为之间的 relevance score
其中:projected query and key
的维度。
注意,这里
bias
项的计算与无关。是否可以考虑引入 ?
这个 relevance score
由 query
(即 target
的固有特征)与 key
(即 behaviors
的固有特征)之间的内积计算得出。此外,由于交叉特征被压缩为 1
维,因此可用作 bias
项。我们使用
在 CP-GSU
中,这个 relevance score
100
个最相关的 behaviors
。而在 ESU
中,我们对 100
个最终入围者执行加权平均池化:
其中:
我们通过设置 100
个 behaviors
执行,因此可以在线高效进行。我们不需要像为 behaviors
计算
注意:在
ESU
中,仍然使用了Behavior Feature Splits and Linear Projection
策略从而计算注意力权重。但是,对于,这里不进行拆分。
为了共同关注来自不同 representation
子空间的信息,我们在 MHTA
中采用 4
个头。因此,TWIN
的 final output
定义为:
其中 head
之间相对重要性。
我们在快手的 ranking system
上部署了 TWIN
,服务于 3.46
亿日活用户的主要流量。在本节中,我们介绍我们在部署中的实际经验。我们的系统架构细节如 Figure 3
所示。
训练系统:我们的 TWIN
模块与整个 CTR prediction
模型在快手的 large-scale distributed nearline learning system
上进行联合训练。
每天,有数亿用户访问快手,观看短视频以及与短视频互动,每天留下 46B
条观看和互动日志。在 8
分钟时间内,每条日志都被实时收集、实时预处理并用于模型训练。该 nearline training system
使用 8
分钟内发生的 user-video
互动中的最新知识增量地更新模型参数。
Figure 3
里给出的是46 million/day
,但是正文部分说的是46 billion/day
。
此外,我们的 message queue system
每 5
分钟一次将最新的参数值从 training system
持续同步到离线推理系统和在线服务系统。这种同步确保了 online CTR prediction service
始终基于最新模型。
离线推理:offline inferring system
旨在通过提供 lookup service
来加速 online serving
。当接收到 lookup keys
(即,一个 batch
的 video ids
)时,此 service
将返回 lookup values
,即相应的 projected inherent features
的拼接形式(即,所有 heads
offline inferring system
由两部分组成:
1)
:一个 inherent feature projector
,使用从 training system
同步的最新 embeddings
和 TWIN
参数 linear projection of inherent features
。通过适当的频率控制,该 projector
可以每 15
分钟刷新一次 8B
规模的 candidate video pool
的 projected inherent features
,从而最大限度地减少 caching
造成的准确率损失。
2)
:一个 embedding server
,将 inherent feature projector
的结果存储到 key-value
结构中,并提供上述 key lookup service
。通过截断尾部视频,8B keys
可以覆盖 97%
的 online request
,平衡了效率和效果。
Online Serving
:一旦收到一个 request
,online serving system
就会向 offline inferring system
查询从而得到 projected inherent features
user-item relevance score
100
个 behaviors
,并将这 100
个 behaviors
输入到 ESU
。这种设计在实践中将 TWIN
的计算瓶颈(即 99.3%
。
请注意,只有 100 behaviors
的 ESU
足够轻量,可以使用从 training system
同步的最新参数来实时进行所有计算。因此,ESU
计算出的 CP-GSU
中的略微更新,这进一步提升了我们的 Target Attention
机制的性能。
通过加速设计,TWIN
成功部署在快手的 ranking system
上,服务于 3.46
亿活跃用户的主要流量,峰值请求为每秒 30M
个视频。
在本节中,我们详细介绍了在真实工业数据上进行的离线和在线实验,以评估我们提出的方法,目的是回答以下五个研究问题(research question: RQ
)。
RQ1
:与 lifelong user behavior modeling
中的其他 SOTA
相比,TWIN
在离线评估中的表现如何?
RQ2
:与其他 SOTA
相比,TWIN
能实现多大的一致性?或者说,为什么 TWIN
有效?
RQ3
:随着用户行为序列长度的增长,TWIN
的有效性如何变化?
RQ4
:所提方法中的关键组件、以及不同实现方式的效果如何?
RQ5
:TWIN
在实际在线推荐系统中的表现如何?
数据集:为了在现实情况下评估 TWIN
在 lifelong user behavior modeling
中的作用,我们需要一个大型的 CTR prediction
数据集,该数据集应具有丰富的用户历史 behaviors
,理想情况下可以 scale up
到每个用户数万个 behaviors
。不幸的是,现有的公共数据集要么相对较小,要么缺乏足够的用户历史 behaviors
。例如,在广泛使用的 Amazon
数据集中,每个用户平均只有不到 10
个历史行为。在 Taobao
数据集中,用户行为的平均序列长度最多为 500
。因此,我们从快手(中国顶级短视频分享平台之一)收集了一个工业数据集。
我们从每日用户日志中构建样本,以用户的点击作为标签。如 Table 3
所示,快手的每日活跃用户规模约为 3.46
亿。每天发布 45M
条短视频,这些视频总共播放了 46B
次。平均而言,每位用户每天观看 133.7
个短视频。为了利用丰富的 behavior
信息,我们从数月前的旧日志中收集完整的用户历史行为。平均而言,每位用户在过去六个月内观看了 14,500
个视频,这为模型提供了一个试验台,这个试验台包含了可供学习的丰富的用户历史行为。我们将最大用户行为序列长度限制为 100,000
,这大约是重度用户一年的总观看次数。
baselines
:为了证明有效性,我们将 TWIN
与以下 SOTA
的 lifelong user behaviors modeling
算法进行了比较。
Avg-Pooling
:user lifelong behaviors
的均值池化。
DIN
:最广泛采用的 short-term behavior modeling
方法,它使用 Target Attention
从而用于 target-specific interests
。
SIM Hard
:GSU
从与 target item
相同的 category
中选择 behaviors
,ESU
遵循 DIN
中的 Target Attention
。在我们的场景中,video categories
总数为 37
。
ETA
:局部敏感哈希 (Locality-sensitive hash : LSH
) 用于为 target video and behaviors
生成哈希签名(hash signature
)。然后 GSU
使用汉明距离作为 target-behavior relevance metric
。
SDIM
:GSU
通过多轮哈希碰撞(multi-round hash collision
)选择具有与 target video
相同哈希签名的 behaviors
。在原始论文中,ESU
线性聚合了multi-round hash collision
所采样到的 behaviors
从而获得用户兴趣。在我们的实验中,为了公平比较,ESU
采用了更强大的 Target Attention
。
SIM Cluster
:由于 “category”
需要昂贵的人工标注,并且在短视频场景中通常不可靠,因此我们实现了 SIM Cluster
作为 SIM Hard
的改进版本。我们根据 pre-trained embeddings
将视频分组为 1,000 clusters
。GSU
从与 target item
相同的 clusters
中检索 behaviors
。
SIM Cluster+
:是 SIM Cluster
的改进版,其中 clusters
数量从 1,000
个扩展到 10,000
个。
SIM Soft
:GSU
使用视频的 pre-trained embeddings
的内积得分来检索 relevant behaviors
。内积是一种比汉明距离和哈希碰撞更精细的检索方法,但计算成本更高。
综上所述:
ETA
和 SDIM
采用端到端训练方法,但使用粗略的检索方法以避免高复杂度的计算。
SIM Cluster
、SIM Cluster +
、以及 SIM Soft
采用精细的检索方法,但代价是它们必须使用 pre-trained embeddings
并提前生成离线倒排索引(offline inverted index
)。
请注意,SIM Soft
尚未被后续工作 ETA
和 SDIM
击败。我们没有与 UBR4CTR
进行比较,因为它的迭代式训练(iterative training
)不适合我们的流式场景(streaming scenario
)。此外,UBR4CTR
被证实比 SIM Hard
和 ETA
的表现更差。
实验设置:
我们使用一天中连续 23
个小时的样本作为训练数据,并使用接下来一个小时的样本进行测试。我们连续 5
天评估所有算法并报告 5
天的平均性能。
相当于将算法重复
5
次并报告平均性能。
对于离线评估,我们使用两个广泛采用的指标:AUC
和 GAUC
。
AUC
表示正样本得分高于负样本得分的概率,反映了模型的排序能力。
GAUC
对所有用户的 AUC
进行加权平均,权重设置为该用户的样本数。GAUC
消除了用户之间的 bias
,以更精细和公平的粒度评估模型性能。
为了公平比较,在所有算法中,除了 long-term behavior modeling
模块外,我们使用相同的网络结构,包括 embedding layers
、upper deep networks
、short-term behavior modeling
和 other task modelings
。
对于两阶段模型,我们使用最近的 10,000 behaviors
为作为 GSU
的输入,并在 ESU
中检索 100 behaviors
用于 Target Attention
。
对于 DIN
,我们使用最近的 100 behaviors
,因为它在处理长序列方面存在瓶颈。
虽然 TWIN
的 CP-GSU
在 attention score computation
中使用了四个 head
,但我们通过四个 head
递归遍历 top ranked items
,直到收集到 100 unique behaviors
。
为什么要做这种简化?会不会影响性能?
对于所有模型,embedding layer
都使用 AdaGrad
优化器,学习率为0.05
。DNN
参数由Adam
更新,学习率为 batch size
设置为 8192
。
Table 4
显示了所有模型的性能。请注意,由于我们的数据集中有大量的用户和样本,因此离线评估中 AUC
和 GAUC
的 0.05%
的改进足以为业务带来 online gains
。
首先,TWIN
的表现明显优于所有基线,尤其是具有不一致 GSU
的两阶段 SOTA
。这验证了 TWIN
在 life-long behavior modeling
中的关键优势,即 CP-GSU
中强大而一致的 Target Attention
。具体而言,CP-GSU
精确地检索出了ESU
认为高度相关的 behaviors
,为最重要的 user information
节省了 ESU
宝贵的计算资源。而在其它基线中,无效且不一致的 GSU
可能会错过重要 behaviors
并引入 noisy behaviors
,从而降低 Target Attention
的性能。
此外,从 Avg-pooling
到 DIN
的增益显示了 Target Attention
在检索有效信息方面的能力。其他两阶段 SOTA
相对于DIN
的增益验证了 modeling long behaviors
的必要性。这两者共同支持了我们的动机:将 Target Attention
扩展到长序列。
其次,仅有端到端训练是不够的。我们观察到 TWIN
明显优于 ETA
和 SDIM
,而这两个强大的基线在 GSU
中的 embeddings
也以端到端的方式进行训练。具体来说,ETA
使用 LSH
和汉明距离,而 SDIM
使用多轮哈希碰撞。与 Target Attention
相比,这两种 GSU
策略都不太精确,并且与它们在 ESU
中使用的 target-behavior relevance metric
不一致。而 TWIN
中的 CP-GSU
不仅是端到端训练的,而且与ESU
中的 Target Attention
一致。这表明精确的relevance metric
对GSU
至关重要,验证了我们优于现有的端到端算法。
第三,以更细的粒度来建模 lifelong behaviors
是有效的。我们比较了 SIM
的变体:具有 37 categories
的 SIM Hard
、具有 1,000 / 10,000 clusters
的 SIM Cluster(+)
、以及针对每个 behavior
单独计算 target-behavior relevance score
的 SIM Soft
。
随着GSU
中使用更细粒度的检索方法,我们观察到性能持续改进。这是因为当 GSU
能够更精细地捕获视频之间的 relevance score
时,它会更准确地检索 behaviors
。从这个角度来看,我们进一步将我们优于 SIM Soft
的原因归功于 TWIN
采用更准确的 relevance metric
。
正如所声称的,我们卓越的 behavior modeling
能力来自 CP-GSU
和 ESU
中一致的 relevance metrics
。但我们真正实现了多大的一致性(Figure 4
)?
对于每个 well-trained
的两阶段模型,我们重用其 ESU
的参数作为其 Oracle
,从而从 10,000 behaviors
中检索 “the real top-100”
。换句话说,这些 real top-100
是 ESU
认为真正重要的 ground-truth
。然后,对于所有被比较算法,我们遍历 GSU output size
,从 outputs
命中 real top-100
。请注意,每个被比较算法都有自己的 Oracle
和 top-100
。但我们只绘制一条 Oracle
曲线,因为所有 Oracles
都完美地击中了 ground truth
。
SIM Soft
得益于 GSU
中更精确的 retrieval
策略,在 retrieval consistency
方面有所改进。
此外,TWIN
在返回 100 behaviors
时实现了 94
次命中,这验证了我们在保持两个阶段之间的一致性方面的优势。请注意,这是最值得注意的 value
,因为考虑到推理时间、以及 Target Attention
计算复杂度的限制,100
是 ESU input
的上限。由于 caching
中的刷新延迟(refresh delay
),我们在实践中没有达到理论上的 100%
的一致性,如正文章节所述。
基于以上结果,我们推测 CP-GSU
比传统 GSU
具有更强的 match user interests with the target video
的能力。这归因于一致性。通过与 ESU
共享相同的结构和参数,CP-GSU
能够准确判断和检索具有相似内容的 videos
。此外,由于 CP-GSU
参数是实时更新的,该模型可以捕获用户的动态变化的兴趣。
我们旨在测试 TWIN
在不同 behavior sequence
长度下的有效性,并进一步挖掘 TWIN
的潜力。请注意,仅更改了 GSU
的输入序列长度,输出长度保持为 100
。结果如 Figure 5
所示。
我们观察到:
1)
:TWIN
始终表现最佳,
2)
:随着序列长度的增加,TWIN
与其他方法之间的性能差距越来越大。这表明 TWIN
在建模极长序列方面具有更好的效果。
我们通过对 TWIN
应用不同的操作来进行消融研究,以评估我们的关键模型设计的贡献:1)
两个阶段之间的一致性; 2)
高效的 MHTA
。
TWIN
在两个方面保持了两个阶段之间的一致性:网络结构和参数。为了研究每个方面带来的好处,我们实现了一个名为 TWIN w/o Para-Con
的变体,它不保留参数一致性。具体来说,我们首先训练一个辅助模型 TWIN-aux
,它使用与 TWIN
相同的网络结构和训练数据,但单独进行训练。然后,我们将 GSU
参数从 TWIN-aux
同步到 TWIN w/o Para-Con
。这是为了确保 TWIN w/o Para-Con
仍然实时被更新,并且 TWIN
和 TWIN w/o Para-Con
之间的差距都是由参数不一致造成的。
如 Figure 6 (left)
所示,TWIN w/o Para-Con
的表现明显优于 SIM Soft
(结构和参数都不一致),但略逊于 TWIN
。这表明网络结构一致性和参数一致性都有好处,但网络结构一致性的贡献更大。
这个配置有点奇怪,为什么不训练这样的模型:
CP-GSU
和ESU
采用相同的网络结构,但是不共享网络参数,然后训练?这个实验不太靠谱。
为了高效地计算 MHTA
从而用于工业级部署,我们拆分 user behavior features
,并将每个 user-item cross feature
压缩为一维 bias
项。为了研究这种修改的影响以及在注意力计算中保留 user-item cross features
的好处,我们实现了两个变体并比较了它们的性能和推理时间:
具有原始 MHTA
的TWIN
,其中使用直接的线性投影 feature split
。缩写为 TWIN w/ Raw MHTA
。
MHTA
中不使用 user-item cross features
的 TWIN
,缩写为 TWIN w/o Bias
。
如 Figure 6 (right)
所示,TWIN
明显优于 TWIN w/o Bias
,并且性能几乎与 TWIN w/Raw MHTA
相同,验证了我们对 MHTA
提出的修改几乎不会影响性能。至于计算成本,由于当 user-item cross features
用于 caching
不适用于 TWIN w/ Raw MHTA
(详见正文章节),因此 TWIN w/ Raw MHTA
的推理时间显著增加。相反,删除 user-item cross features
(TWIN w/o Bias
)不会节省太多计算量,但会损害性能。
为了评估 TWIN
的在线性能,我们在快手的短视频推荐平台上进行了严格的在线 A/B test
。Table 5
比较了快手三个代表性业务场景(Featured-Video Tab, Discovery Tab, and Slide Tab
)下 TWIN
与 SIM Hard
和 SIM Soft
的性能。与电商常用的线上评价指标 CTR
和 GMV
不同,短视频推荐场景通常使用观看时长(Watch Time
),衡量用户观看视频的总时长。
如表所示,TWIN
在所有场景中的表现都明显优于 SIM Hard
和 SIM Soft
。在快手上,观看时长增加 0.1%
被认为是一个有效的改进,TWIN
实现了显著的商业收益。