BinLLM:让LLM理解用户-商品协同信息的编码方式

技术

picture.image

关注我们,一起学习

标题: Text-like Encoding of Collaborative Information in Large Language Models for Recommendation

地址:https://arxiv.org/pdf/2406.03210

学校:中科大

代码:https://github.com/zyang1580/BinLLM

会议:ACL 2024

  1. 导读 =======

LLMRec如何集成用户-item的交互信息?常见的方式是从头训练LLM或者从其他模型来映射协作信息。但这些方法无法以类似文本的格式表示信息,这可能无法与LLM最佳对齐。本文提出BinLLM,通过类似文本的编码无缝集成协作信息。BinLLM将来自外部模型的协作emb转换为二进制序列——一种LLM可以直接理解和操作的特定文本格式,有助于LLM直接使用类似文本格式的协作信息。同时,BinLLM可以使用点小数表示法压缩二进制序列,以避免过长的长度。

2.方法

2.1 模型结构

picture.image

BinLLM包括两个部分:提示生成和LLM预测。与以前的方法类似,将推荐数据转换为自然语言的提示词,然后将其直接输入到LLM中进行预测。但BinLLM通过将协作emb转换为二进制序列,以类似文本的格式表示协作信息。

2.1.1 提示词构造

picture.image

如图所示为提示词模板,基于用户的信息在对应位置填上数据得到当前用户的提示词。

2.1.2 协作信息的类文本编码

为了更好地与LLM集成,以类似文本的格式对协作信息进行编码。本文将协作信息转换为二进制序列,使LLM能够执行逐位运算进行推理。编码模型包括两个部分:协同模型以及二进制化和压缩模块

2.1.3 协同模型

常规的基于用户交互信息构建协同模型从而获得协同emb。给定用户u和商品i,协作模型生成相应的emb,表示为下式,

2.1.4 二进制化&压缩

二进制化 。为了将协作emb二进制化,首先使用全连接层将协作emb转换到合适的空间中,然后应用符号函数来获得二进制结果。表达如下,其中表示tanh激活函数,然后针对emb中的每个位置判断是否大于0

这些二进制序列可以直接输入到LLM中,并用于计算逻辑“与”等操作,从而有助于用户偏好推理。

压缩 。二进制序列的问题是它们的长度相对较长,而LLM对于太长的序列不擅长推理,并且长序列会限制LLMRec的推理效率。因此,需要压缩二进制序列,同时保持它们可被LLM利用。作者这里采用dot-decimal notations(笔者不知道翻译成什么比较合适,就直接用英文吧,这个压缩形式就是类似ip地址的方式),文中将每八位二进制数字转换为十进制数字,范围从0到255,并使用点作为分隔字符 。类似xxx.xxx.xxx吧,作者考虑这样编码的原因是IPv4最初是由二进制序列编码的,并且Web包含了关于IPv4的足够知识,在Web数据上训练的LLM可以潜在地理解IPv4使用的小数点表示法。(不知道这里采用LSH这类方法会不会有效),例子:

picture.image

2.1.5 预测

由于LLM中缺乏特定的推荐预训练,引入一个额外的LoRA模块用于推荐预测。对于生成的提示p,表示为下式,

其中,表示预训练的LLM的参数,表示LoRA模型参数,根据任务的不同,预测结果可以是预测的下一个item或喜欢候选item的预测概率。

2.2 训练

对类文本编码模块的训练侧重于学习为协作信息生成二进制序列,而与LLM无关。LoRA的训练指导LLM通过利用协作信息进行推荐。

2.2.1 预训练类文本编码

为了训练类文本编码模块,令D表示训练数据,表示用户u和label为t的商品i之间的交互。通过最小化以下优化问题来训练,其中h是二进制化后得到的表征,是常用的推荐损失,如交叉熵损失。简单来说就是用构建常规的协同模型且二进制化后,通过二进制化的表征来构建损失函数。

需要注意的是,符号函数缺乏平滑性,其梯度被定义为零,因此采用STE使得模型可以端到端的训练,对于STE可以参考https://blog.csdn.net/m0\_37400316/article/details/105996240

2.2.2 训练LoRA

要训练LoRA模块,考虑两种方法:Intuitive tuning和Two-step tuning。

Intuitive tuning:此方法通过包含协作信息的提示词直接从头开始训练LoRA模块。

Two-step tuning:第一种方式在rating预测任务中存在一定问题,因为模型只需参考二进制表示的学习过程,对给定用户和候选项的协同表示执行逐位“与”运算,就可以获得不错的结果。从头开始训练可能会导致模型过度依赖这些特征,从而可能忽略类似于学习其他属性。因此,本文采用两阶段训练,首先使用排除协作信息的提示来训练模型。然后使用包含协作信息的完整提示对模型进行微调,从而进一步完善模型。

3 实验

picture.image

alt text

交流群:点击“联系 作者”--备注“研究方向-公司或学校”

欢迎|论文宣传|合作交流

往期推荐

快手 | 招聘推荐算法工程师(社招/校招/实习)

(修改)腾讯 | 流聚类和记忆网络对用户兴趣进行增强

LCN:CTR预测中的跨域终身序列建模

长按关注,更多精彩

点个在看你最好看

picture.image

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论