【转载】快手用户序列建模TWIN

原文地址:快手终身序列建模方案–TWIN

论文地址:https://arxiv.org/pdf/2302.02352.pdf

介绍一篇快手的长序列建模论文,写得非常好,将终身序列建模由端到端建模提升到一致性建模。

TWIN首先提炼出一个框架,将现有的的长序列建模总结为两阶段建模:先用GSU选择出topK,再用ESU提取信息。

然后引出两阶段框架下的核心问题:两阶段目标(相似性度量标准)不一致,GSU很容易筛选出相关性不高的item,浪费了计算资源,偏离了用户的兴趣。SIM是明显的两阶段,ETA和SDIM是端到端的,两阶段的emb也是一样的,但是只是用GSU的LSH去近似ESU的Target Attention,因此仍然存在不一致性。

最后提出TWIN模型。整体上还是基于QKV框架,下面详细讲。问题已经定义得这么清晰了,方法已经不重要了。

强烈建议阅读原文。

摘要:

终身用户行为建模,即从数月甚至数年的丰富历史行为中提取用户隐藏的兴趣,在现代 CTR 预测系统中起着核心作用。传统算法大多遵循两个级联阶段:一个简单的通用搜索单元 (GSU),用于对数万个长期行为进行快速粗略搜索,以及一个精确搜索单元 (ESU),用于对少量长期行为进行有效目标注意 (TA) GSU 的决赛入围者。尽管高效,但现有算法大多存在一个关键限制:GSU 和 ESU 之间不一致的目标行为相关性指标。因此,他们的 GSU 通常会错过高度相关的行为,但会检索被 ESU 认为不相关的行为。在这种情况下,ESU 中的 TA,无论注意力如何分配,大多都偏离了用户的真实兴趣,从而降低了整体 CTR 预测的准确性。为了解决这种不一致,我们提出了双阶段兴趣网络(TWIN),其中我们的一致性保持 GSU(CP-GSU)采用与 ESU 中的 TA 相同的目标行为相关性度量,使两个阶段成为双胞胎。具体来说,为了打破 TA 的计算瓶颈并将其从 ESU 扩展到 GSU,即从行为长度 10^2 扩展到长度 104-105,我们通过行为特征拆分构建了一种新颖的注意机制。对于行为的视频固有特征,我们通过高效的预计算和缓存策略来计算它们的线性投影。对于用户-项目交叉特征,我们将每个特征压缩为注意力得分中的一维偏差项以节省计算开销。两个阶段之间的一致性,以及 CP-GSU 中基于 TA 的有效相关性度量,有助于显着提高 CTR 预测的性能。来自快手的 460 亿规模真实生产数据集的离线实验和在线 A/B 测试表明,TWIN 优于所有比较的 SOTA 算法。通过优化的在线基础设施,我们将计算瓶颈降低了 99.3%,这有助于 TWIN 在快手上的成功部署,服务于每天数亿活跃用户的主要流量。

引言&相关工作:

近年来出现了大量关于两阶段终生行为建模的新兴研究,而它们的主要区别在于粗略选择目标相关行为的 GSU 策略。例如,SIM Hard 简单地从与目标项目相同的类别中选择行为,而 SIM Soft 通过内积从预训练的项目嵌入中计算目标行为相关性得分,并选择相关性最高的行为 [19]。 ETA 使用局部敏感哈希 (LSH) 和汉明距离 [3] 来近似计算相关性分数。 SDIM 通过多轮哈希碰撞 [1] 等方法对与目标行为具有相同哈希签名的行为进行采样。

尽管得到了广泛的研究,现有的两阶段终身行为建模算法仍然存在一个关键的局限性:GSU 和 ESU 之间的不一致。

下图表示了GSU的潜力:SIM的GSU返回的前100个可能只有40个是真正的前100个,即召回率。
在这里插入图片描述

为了解决这种不一致,我们提出了 TWIN:用于终身用户行为建模的两阶段兴趣网络,其中 Consistency-Preserved GSU (CP-GSU) 采用与 ESU 中的 TA 相同的目标行为相关性度量,使两个阶段成为双胞胎.为了将昂贵的 TA 扩展到 CP-GSU,TWIN 通过有效的行为特征拆分、简化的 TA 架构和高度优化的在线基础设施,打破了 TA 的关键计算瓶颈,即 1 0 4 10^4 104 个行为的线性投影。

1).具体来说,对于在用户/行为序列之间共享的行为的视频固有特征(例如视频 ID、作者、持续时间、主题),我们通过高效的预计算和缓存策略来加速它们的投射。

2).对于行为的用户视频交叉特征(例如用户的点击时间戳、播放时间、评分),在缓存不适用的情况下,我们通过将它们的投影压缩为偏差项来简化 TA 架构。

通过优化的在线基础设施,我们成功地将 TA 的适用序列长度从 ESU 中的 1 0 2 10^2 102 扩展到 CP-GSU 中的 1 0 4 10^4 104 - 1 0 5 10^5 105。两个阶段之间的一致性,以及 CP-GSU 中基于 TA 的有效相关性度量,有助于显着提高 CTR 预测的性能。

在本文中,我们建议通过在 GSU 中同样使用 TA 来统一 GSU 和 ESU 中的相似度计算方式,并保持端到端训练方法,即 CP-GSU,其参数从 ESU 更新。理论上,GSU 和 ESU 共享相同的架构和参数。因此,与 ETA 和 SDIM 相比,我们的模型在两个阶段是一致的,在阶段 1 中错过“相似”项目的机会更少,并且显着提高了性能。我们在表中详细说明了我们模型与其他模型的差异。

方法

一致性GSU和ESU结构如下
在这里插入图片描述

整体架构如图
在这里插入图片描述

保持一致性的关键问题:

我们将所提出的算法命名为 TWIN,以强调 CP-GSU 遵循与 ESU 相同的相关性评估指标。请注意,这种一致性是重要的,因为:

• 有效的行为建模算法通常基于多头目标注意 (MHTA) [25],它通过强调目标相关行为来精确捕获用户兴趣。不幸的是,由于计算复杂度高,MHTA 适用的行为序列长度大多限制在几百个。

• 为了详尽地捕捉用户的长期兴趣,CP-GSU 应该涵盖过去几个月的用户行为,这很容易达到数万。考虑到在线系统严格的低延迟要求,这个序列长度远远超出了传统 MHTA 的容量。本节旨在回答这个关键问题:如何提高 MHTA 的效率,以便我们可以将其从 ESU 扩展到 CP-GSU,即从数百个序列长度扩展到至少数万个序列长度。

文章提到,对于MHTA,线性映射是性能瓶颈。因此本文主要在减少线上计算线性映射(即QKV矩阵的乘法)

其中Q(query)由线上请求目标物料得来,只计算一次
K(key)原始数据就是序列行为的Embedding矩阵,如果将序列特征分为两部分,序列的固有属性(id、作者、主题、时长)和交叉属性(用户点击时间戳、用户播放时间、点击页面位置、用户视频交互),物料固有属性可以所有用户共享,因此可以在线上infer时提前计算好物料固有属性的K,交互属性做特殊处理,后面会介绍。

将特征分为两部分:item固有特征H与user-item交互特征C。固有特征有:id、作者、主题、时长,交互特征有:用户点击时间戳、用户播放时间、点击页面位置、用户视频交互。

在这里插入图片描述
固有特征可以通过缓存策略减少计算。

对于用户项目交叉特征,缓存策略不适用,因为:1)。交叉特征描述了用户和视频之间的交互细节,因此不会在用户行为序列之间共享。 2).每个用户最多观看一次视频。即,在投影交叉特征时没有重复计算。因此,我们通过简化线性投影权重来降低计算成本。计算公式如下图所示,其实就是把每个交叉特征的emb映射到1维,最终输出一个L*J的向量,L:序列长度,J:交叉特征个数。

在这里插入图片描述

时间复杂度分析:

线性映射 L*(H+C)->Ld 的计算复杂度为:L(H+C)*d

固有特征H的计算可以缓存,交叉特征的d=1,因此复杂度为:L*C。

target attention in TWIN:

整体上是一个QKV的过程

alpha是一个序列长度的权重,query只与固有特征计算attention,交叉特征作为bias,不与query进行计算。
α = ( K h W h ) ( q T W q ) T d k + ( K c W c ) β        ( 6 ) \alpha = \frac{ (K_hW^h) (q^TW^q)^T}{\sqrt{d_k} } + (K_cW^c) \beta \ \ \ \ \ \ (6) α=dk (KhWh)(qTWq)T+(KcWc)β      (6)
上式中 α \alpha α 是一个L*1的向量,表示的是TA的attention结果。注意,公式(6)中, K h W h K_hW^h KhWh 通过离线缓存拿到,线上只计算其他部分。个人认为,将特征分为固有特征和交叉特征的原因在于:target没有交叉特征。

根据 α \alpha α 选择出top100,计算最终的attention:(该预测仅执行 100 多个行为,因此可以在线高效地进行,不需要再对特征K进行拆分。)从6式中取出top100个alpha聚合value。

A t t e n t i o n ( q T W q , K h W h , K c W c , K W v ) = S o f t m a x ( α ) T K W v     ( 7 ) \mathrm{Attention} (q^TW^q, K_hW^h, K_cW^c, KW^v) =\mathrm{Softmax}(\alpha)^TKW^v \ \ \ (7) Attention(qTWq,KhWh,KcWc,KWv)=Softmax(α)TKWv   (7)

T W I N = C o n c a t ( h e a d 1 , . . . , h e a d 4 ) W o \mathrm{TWIN} = \mathrm{Concat}(\mathrm{head_1},..., \mathrm{head_4} )W^o TWIN=Concat(head1,...,head4)Wo
h e a d α = A t t e n t i o n ( q T W α q , K h W α h , K W α v ) , α ∈ { 1 , 2 , 3 , 4 }          ( 8 ) \mathrm{head_{\alpha}=\mathrm{Attention}(q^TW^q_{\alpha} , K_hW^h_{\alpha}, KW^v_{\alpha} )}, \alpha \in \{1,2,3,4\} \ \ \ \ \ \ \ \ (8) headα=Attention(qTWαq,KhWαh,KWαv),α{1,2,3,4}        (8)

实验结果

实验也是很完备的,首先是auc

在这里插入图片描述
一致性结果分析:

TWIN的召回率达到94%!相比SIM只有40%

在这里插入图片描述
消融实验太棒了:

如图 6(左)所示,没有 Para-Con 的 TWIN 的性能明显优于 SIM Soft(结构和参数不一致),但略低于 TWIN。这表明结构一致性和参数一致性都是有益的,但网络结构一致性贡献更大。

如图 6(右)所示,TWIN 明显优于 TWIN w/o Bias,性能几乎与 TWIN w/ Raw MHTA 相同,验证了我们对 MHTA 提出的修改几乎不会影响性能。关于计算成本,当用户项目交叉特征用于线性投影时缓存不适用于 TWIN w/ Raw MHTA,TWIN w/ Raw MHTA 的推理时间显着增加。相比之下,删除用户-项目交叉特征(TWIN w/o Bias)不会节省太多计算量,但会损害性能

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值