前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SIGIR'24 | 打破长度障碍:LLM增强的长文本用户行为CTR预测

SIGIR'24 | 打破长度障碍:LLM增强的长文本用户行为CTR预测

作者头像
秋枫学习笔记
发布2024-04-11 20:10:59
2010
发布2024-04-11 20:10:59
举报
文章被收录于专栏:秋枫学习笔记秋枫学习笔记

1. 导读

LLM4CTR在训练推理中主要存在以下问题:LLM在处理长文本用户行为时的效率很低,随着用户序列的增长,LLM的效率无法对数十亿用户和商品进行训练。

本文提出了行为聚合分层编码(BAHE)来提高基于LLM的CTR建模的效率。BAHE提出了一种新的分层架构,将用户行为的编码与行为间交互解耦。

  • 首先,为了防止相同用户行为的重复编码产生计算冗余,BAHE使用LLM的预训练浅层从用户序列中提取最细粒度的原子用户行为emb,并将其存储在离线数据库中。
  • 然后,LLM的更深、可训练的层学习复杂的行为间交互,生成用户emb。这种分离允许高级用户表征的学习独立于低级行为编码,从而显著降低计算复杂性。
  • 最后,将这些细化的用户emb与对应的商品emb结合到CTR模型中,计算CTR得分。

省流

  • 用户之间可能存在相同行为,比如都"购买星巴克",用LLM的浅层对这些行为做离线编码存储在数据库,这样不同用户的重复行为就不需要重复编码了;通过编码和聚合后,行为编码为d维这样可以使得我们可以用更长的序列,因为本来一个行为是K个d维的token,现在变成了一个,存储的编码相当于是一个emb table,对于不同的行为直接去查找,然后再LLM深层进行行为之间的交互
  • 行为有多种,比如点击,购买等,不同行为组成不同的行为序列,对于不同的行为序列可以并行执行上面的步骤得到对应的emb,然后拼接得到用户emb

2.方法

alt text

行为聚合分层编码

对于用户i和j, 原子行为序列分别是

s_i=[a_1,a_2,a_3]

s_j=[a_3,a_1,a_2]

。以往的基于LLM的CTR建模效率比较低:

  • 冗余行为编码:相同的行为在不同用户的序列中冗余编码。如上述两个行为序列中都包含
a_1,a_2,a_3

,会重复对这些行为进行编码和计算,导致计算冗余。

  • 紧密耦合:行为
a_1,a_2,a_3

,具有固定的含义,而它们的顺序因用户而异。现有的方法将表征提取和序列理解耦合在一起,当行为发生变化时,就需要更新,而这种更新的消耗是比较大的。

原子行为编码(ABE)

BAHE首先使用LLM的预训练低层(

LLM_{L_{low}}

)对所有行为进行编码, 然后将它们离线存储,作为行为嵌入表E。然后,LLM的更深的层将利用E作为token对应的表,学习用户行为之间的交互。原子行为的编码如下所示:

E_{a_{i}}=F_{p}\left(L L M_{L_{l o w}}\left(a_{i}\right)\right) \quad E=\left\{a_{i}: E_{a_{i}} \mid a_{i} \in H\right\}

其中

a_i

是原子行为, 由K个文本token组成,所以

LLM_{L_{low}}(a_i)\in \mathcal{R}^{K\times d}

有得到d维的emb,其中𝑑 是维度。

F_p

是池化函数将

K\times d

的tensor聚合为d维。BAHE将编码从token级别转换为行为级别,从而将编码长度从token数量减少到原子行为的数量。

行为聚合(BA)

获得原子行为嵌入表E后, 对于每一个原子行为

a_i

,可以从E中检索对应的表征,对于用户u的第n个序列

s_{un}

,可以表示为下式,序列长度为M。

E\left(s_{\text {un }}\right)=\left[E\left(a_{\text {un } 1}\right) \oplus E\left(a_{\text {un } 2}\right) \oplus \ldots \oplus E\left(a_{\text {unM }}\right)\right]

然后利用LLM的深层进行行为交互的学习,表示如下,

Q_{un}\in \mathcal{R}^d

表示用户u的第n个序列的表征。

Q_{un}=F_d(F_p(LLM_{L_{high}}(E(s_{un}))))

特征并行

为了避免LLM的注意力计算随着用户序列的数量的增加而呈指数级增长,在用

LLM_{L_{high}}

处理用户行为的时候,对于n条序列可以并行处理提高效率,然后再将他们拼接起来

\bar{Q_u}=[Q_{u1}\oplus Q_{\boldsymbol{u}2}\oplus\ldots\oplus Q_{\boldsymbol{u}N}]

得到用户表征

Q_u

和商品表征

Q_i

后,拼接送入ctr模型,得到ctr打分

y=F_{\theta}(Q_u\oplus Q_i)

3. 结果

从结果可以发现,在维持模型性能的同时可以显著降低训练时间和显存。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 秋枫学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 导读
  • 2.方法
    • 行为聚合分层编码
      • 原子行为编码(ABE)
      • 行为聚合(BA)
      • 特征并行
  • 3. 结果
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档