LLM4CTR在训练推理中主要存在以下问题:LLM在处理长文本用户行为时的效率很低,随着用户序列的增长,LLM的效率无法对数十亿用户和商品进行训练。
本文提出了行为聚合分层编码(BAHE)来提高基于LLM的CTR建模的效率。BAHE提出了一种新的分层架构,将用户行为的编码与行为间交互解耦。
省流:
alt text
对于用户i和j, 原子行为序列分别是
,
。以往的基于LLM的CTR建模效率比较低:
,会重复对这些行为进行编码和计算,导致计算冗余。
,具有固定的含义,而它们的顺序因用户而异。现有的方法将表征提取和序列理解耦合在一起,当行为发生变化时,就需要更新,而这种更新的消耗是比较大的。
BAHE首先使用LLM的预训练低层(
)对所有行为进行编码, 然后将它们离线存储,作为行为嵌入表E。然后,LLM的更深的层将利用E作为token对应的表,学习用户行为之间的交互。原子行为的编码如下所示:
其中
是原子行为, 由K个文本token组成,所以
有得到d维的emb,其中𝑑 是维度。
是池化函数将
的tensor聚合为d维。BAHE将编码从token级别转换为行为级别,从而将编码长度从token数量减少到原子行为的数量。
获得原子行为嵌入表E后, 对于每一个原子行为
,可以从E中检索对应的表征,对于用户u的第n个序列
,可以表示为下式,序列长度为M。
然后利用LLM的深层进行行为交互的学习,表示如下,
表示用户u的第n个序列的表征。
为了避免LLM的注意力计算随着用户序列的数量的增加而呈指数级增长,在用
处理用户行为的时候,对于n条序列可以并行处理提高效率,然后再将他们拼接起来
得到用户表征
和商品表征
后,拼接送入ctr模型,得到ctr打分
从结果可以发现,在维持模型性能的同时可以显著降低训练时间和显存。