大数跨境
0
0

通过大语言模型增强知识来实现推荐的方法

通过大语言模型增强知识来实现推荐的方法 涛哥论道
2023-08-06
1
导读:论文《通过大语言模型增强知识来实现推荐的方法》阅读笔记,文中提出的KAR框架,值得借鉴。

这篇论文提出了一个称为KAR的开放世界知识增强推荐框架,其目的是将大语言模型(LLM)如ChatGPT编码的开放世界知识与经典的基于特定领域数据训练的推荐系统桥接起来。KAR从LLM中提取了两类知识——关于用户偏好的推理知识和关于候选项目的事实知识。这是通过一种称为因子化提示的技术实现的,它将复杂的推理步骤分解成几个关键因子。 提取出的文本知识通过一个混合专家适配器模块编码成稠密向量,并转换成与推荐模型兼容的“增强向量”。这些增强向量可以直接作为额外特征加入任何推荐模型结构中。这使得领域知识和开放世界知识能够结合起来。在电影推荐数据集上的实验表明,KAR相比基准推荐模型有显著提升。它与各种类型的推荐模型兼容。加速技术如预存储LM生成的增强向量,避免了在线生成知识的高计算开销,使得推理速度很快。总体来说,KAR展示了一种有效利用LLM的推理和知识能力来增强传统推荐系统的方法。其模型无关性和加速技术使其在实践中可行。这是构建开放世界推荐系统的一个有趣方向。

论文原文地址:Towards Open-World Recommendation with Knowledge Augmentation from Large Language Models (arxiv.org)

一、传统推荐系统的局限性

1. 封闭性

图1(a)所示,传统推荐系统使用的数据仅限于一个或几个特定的应用领域,与外部世界知识隔绝。模型也仅在封闭系统内进行训练和部署。这导致了信息的局限性。

2. 缺乏开放世界知识

超出给定领域的信息对提高预测准确性和泛化能力非常有帮助。但是,传统系统无法获取开放世界知识,如用户偏好的推理和项目事实。

3. 狭窄的知识范围

仅学习特定领域的数据,推荐系统对用户和项目的理解是狭窄和肤浅的。模型无法推断用户行为背后的动机和获得项目的全面知识。

4. 缺乏逻辑推理 

传统系统仅进行模式识别,而无法像人类推理一样,基于逻辑对偏好进行深入推理。

5. 依赖人工构建知识图谱

一些尝试通过知识图谱引入外部信息,但需要大量额外人工工作,获得的知识仍有限。

6. 无法获得开放世界动态知识

静态知识图谱无法获取开放世界中持续产生的新知识、新概念和新关系。

总之,传统推荐系统的封闭性和狭窄知识范围制约了其推荐质量,需要获取外部世界的开放知识来获得重大提升。

二、近期大语言模型在推荐中应用进展

传统推荐系统强调在多字段类别数据(即用户、项目和上下文特征)上学习特征交互。例如,DeepFM和xDeepFM通过明确的特征交互和深度神经网络相结合。AutoInt利用多头自注意力神经网络来捕获不同阶的特征交互。此外,DIN和DIEN中使用了注意力机制来建模用户行为序列。然而,这些推荐系统使用的数据局限于特定领域。

为了整合外部知识或相关背景,几项研究倾向于用知识图谱或多域学习技术增强推荐系统。然而,构建全面准确的知识图谱或多域数据集需要相当大的人工努力。相反,大规模语言模型提供了一种更直接的方法,其中已经在预训练模型参数中编码了大量开放世界知识。

语言模型在推荐中的应用可以分为两个方面。一是作为文本编码器,利用预训练语言模型对文本特征(如项目描述、用户评论)进行编码,获得更好的用户或项目表示。二是作为知识增强器,利用预训练语言模型编码的知识改进推荐。随着模型和语料库规模的扩大,语言模型尤其是LLM展现出推理等显著能力。因此,最近的一些研究尝试将LLM应用于推荐,并取得了一些初步结果。

然而,直接使用LLM作为推荐系统的表现通常不如国际领先的推荐算法,这意味着领域知识和协同信号对推荐任务很重要。此外,这些初步研究主要忽略了LLM的推理延迟和组合差异问题。本文提出从LLM中提取用户偏好的推理知识和项目候选的事实知识,以增强用户和项目的表示,为推荐模型提供协同信号和开放世界知识的结合。

三、KAR框架

KAR框架由三个阶段组成:

1. 知识生成

利用因子化提示,从LLM中获取用户偏好推理知识和项目事实知识。偏好推理提示让LLM分析用户行为背后的动机。项目提示获取对用户感兴趣的项目方面的知识。

2. 知识适配 

知识编码器将文本知识编码为向量。混合专家适配器将向量转换到推荐空间,生成兼容推荐模型的增强向量。

3. 知识利用

将增强向量作为额外特征,输入到backbone推荐模型中。这样结合了领域知识和开放世界知识。

KAR的优点包括:

1) 获取LLM的开放世界知识来扩展推荐系统的范围

2) 引入了用户偏好逻辑推理,更深入地理解用户

3) 知识适配过程将开放世界知识有效地转换为兼容推荐任务的形式

4) 与各种传统推荐模型兼容,提升其性能

5) 可以预处理知识,避免LLM推理时的高延迟

总之,KAR框架为推荐系统提供了利用LLM知识的有效途径,取得显著改进,并具有实用性。它为构建开放世界推荐系统提供了框架方案。

四、第一阶段:知识推理和生成

1. 识别推荐场景的关键因素

过LLM和专家协作确定用户偏好和项目特征的关键维度,比如电影推荐中的流派、演员、导演等。

2. 设计因子化提示

根据识别出的关键因素,设计偏好推理提示和项目事实提示。

3. 偏好推理提示

提示包含用户简介、历史行为、关键因素。要求LLM分析用户偏好。

例如:女性用户,25-34岁,历史行为包括看过多部悬疑惊悚片。要求LLM考虑因素如流派、导演,分析这个用户的电影偏好。

4. 项目事实提示  

提示包含电影名称,关键因素。要求LLM描述这部电影的相关事实知识。

例如:电影《星际穿越》。要求LLM考虑流派、导演等,描述这部电影的情况。

5. LLM反馈

根据提示,LLM会生成关于用户偏好推理和电影事实知识的文本。

6. 获取开放世界知识

通过上述途径,从LLM中获取额外的开放世界知识,进行推荐系统的知识增强。

总之,因子化提示让LLM既作为偏好推理器也作为知识提供器,获取用户偏好推理和项目事实知识,扩展了推荐系统的知识范围。

五、第二阶段:知识适配

1. 知识编码器

使用预训练语言模型(如BERT)对LLM生成的文本知识进行编码,得到词向量序列。

例如,对LLM生成的一段文本“该用户喜欢科幻和动作电影”进行BERT编码,获得每个词的向量表示。

2. 向量聚合 

采用平均池化等方式,将词向量聚合为一个语义向量,表示这段文本的整体语义。

3. 混合专家适配器

包含共享专家和专用专家。共享专家捕获用户偏好推理和电影事实知识的共性。专用专家捕获其各自的独特特征。

4. 门控网络

学习混合专家的权重,对语义向量进行混合。

5. 生成兼容向量

得到适用于推荐任务的低维稠密向量,即推理增强向量和事实增强向量。

6. 语义转换

实现从语义空间到推荐空间的转换,获得对推荐模型友好的向量表示。

例如,用户偏好向量从语义空间的1000维,转换到推荐空间的32维。

7. 减少噪声

混合专家机制可以消除编码过程中引入的部分噪声。

总之,知识适配阶段对LLM的语义表示进行转换,使其能够有效地应用于推荐任务,提升知识的质量。

六、KAR框架中的知识编码器

1. 知识编码器的作用

将LLM生成的文本知识编码成固定长度的稠密向量表示,为知识适配做准备。

2. 采用预训练语言模型

利用预训练的语言表示模型,如BERT等,来获得文本语义化的编码。

3. 输入文本知识 

将LLM生成的偏好推理知识或项目事实知识文本输入到知识编码器。

例如,“该用户可能喜欢质量较高的科幻电影”。

4. 词向量表示

知识编码器会输出文本中每个词的向量表示,捕捉其语义信息。

5. 聚合策略

采用平均池化等策略,聚合词向量得到文本语义向量。

例如,对编码得到的所有词向量求平均,得到定长的语义向量。

6. 可替换模块

知识编码器是可替换的模块,可以采用不同的语言模型来获得文本表示。

7. 提供编码文本特征

知识编码器为后续的专家适配器提供编码后的文本特征,进入适配流程。

总之,知识编码器利用语言模型对文本知识进行编码,是连接LLM和推荐系统的关键桥梁之一。

七、KAR框架中的混合专家适配器

1. 适配器的作用

将知识编码器输出的语义向量,转换到对推荐模型友好的表示空间。

2. 混合专家结构

包含共享专家和独立专家。共享专家捕捉两个向量的共性。独立专家捕捉其各自的特点。

3. 输入知识向量

将编码后的偏好推理向量和电影向量输入到适配器。

4. 门控网络

学习专家的权重分配,对输入向量进行拆解。

例如,偏好向量的60%交给共享专家,40%交给独立专家。

5. 专家网络

每个专家网络采用MLP结构,实现降维和空间转换。

6. 得到适配向量 

将各专家输出聚合,得到低维的推理增强向量和电影增强向量。

7. 语义匹配

实现知识向量从语义空间到推荐模型空间的顺利过渡。

总之,混合专家适配器通过专家协作,有效实现知识语义和推荐空间的匹配,是知识适配的关键。

八、KAR框架第三阶段:知识使用

1. 输入增强向量

将第一阶段获得的推理增强向量和事实增强向量作为额外的输入字段,输入到推荐模型中。

2. 结合开放世界知识

推荐模型通过这些向量获得开放世界知识,以丰富对用户偏好和候选项目的理解。

3. 提升传统推荐系统

KAR可以应用于各类推荐算法,为其注入外部知识以提升性能。

例如,将增强向量输入到Wide&Deep模型的输入层,与原始类别特征一起通过嵌入层和交互层,以获得开放世界知识带来的丰富特征。

4. 兼容不同推荐模型

KAR只修改了输入,与损失函数无关,因此可以兼容各种推荐模型,如DIN、DeepFM等。

5. 可以扩展到不同推荐任务

除点击率预测,还可以应用于评分预测、顺序推荐等任务。

6. 联合训练

适配器与推荐模型联合训练,适应数据分布。

总之,知识使用阶段通过简单的输入增强,实现开放世界知识与领域知识的有效融合,提升多种推荐模型的性能。

、加速策略

我们提出的KAR框架采用LLM生成关于用户偏好的推理知识和候选项目的事实知识。由于模型参数数量巨大,LLM的推理需要大量的计算时间和资源,推理时间可能无法满足实际推荐系统中大规模用户和项目的延迟要求。

为解决此问题,我们采用一种加速策略,即将知识表示rpi和rii预存储到数据库中。如此,我们只需在训练backbone模型之前使用LLM和知识编码器一次。在backbone模型的训练和推理阶段,相关的表示从数据库中检索。

如果我们对推理时间或存储效率有更严格的要求,我们可以在训练后从模型中分离适配器,并进一步预存储推理和事实增强向量,即^rpi和^rii用于推理。增强向量的维度(例如32)通常远小于知识表示的维度(例如4096),这提高了存储效率。此外,预存储增强向量将实际推理时间减少至接近原始backbone模型,我们在第5.4节进行了实验验证。

特别是,假设backbone模型的推理时间复杂度为O(f(n,m)),其中n是字段数,m是嵌入大小。多项式函数f(n,m)根据不同的backbone模型而变化。在我们的框架中,推理时间复杂度为O(f(n+2,m)) = O(f(n,m)),与原始模型的复杂度相当。

由于项目特征相对固定且不会频繁改变,预存储项目事实知识供进一步使用是自然和可行的。此外,用户行为随时间变化,使LLM难以提供实时的关于行为变化的推理知识。但是,考虑到长期用户偏好相对稳定,且backbone模型已经强调建模最近的用户行为,要求LLM实时访问行为是不必要的。因此,LLM可以根据用户的长期行为推断出长期偏好,这使得生成的知识可以方便地预存储,无需频繁更新。LLM的推理开销也可以显著减少。backbone模型可以捕获不断变化的短期偏好并及时更新模型。这可以更好地利用LLM和推荐模型的优势。

十、实验情况

为了进一步洞察KAR,我们尝试回答以下研究问题(RQ):

- RQ1: KAR可以为不同的backbone CTR模型带来什么改进?

- RQ2: 与其他采用预训练技术的方法相比,KAR的表现如何?

- RQ3: LLM生成的推理知识和事实知识在多大程度上提升了性能?

- RQ4:不同的知识适配方法,如不同的知识编码器和语义转换方法,会对性能产生何种影响?

- RQ5: 加速策略(预处理和预存储)是否可以增强推理速度?

通过回答这些问题,我们旨在全面评估我们拟议框架的性能和通用性。

实验设置

据集:我们的实验在公开数据集MovieLens-1M上进行,它包含来自6000用户对4000部电影的100万条评分。我们采用与DIN类似的数据处理,通过将评分4和5标记为正样本,其余标记为负样本,将评分转换为二进制标签。根据用户ID,数据被分割为训练集和测试集,其中90%分配给训练集,10%给测试集。数据集包含用户特征(如年龄、性别、职业)和项目特征(如项目ID和类别)。输入到模型的是用户特征、用户行为历史(观看过的电影序列及其ID、类别和相应评分)以及目标项目特征。

Backbone模型:我们实现了9个代表性的CTR预测模型作为我们的backbone模型,可以分为特征交互模型和用户行为模型。

特征交互模型侧重于建模不同特征字段之间的特征交互。DeepFM是经典的CTR模型,它结合了因子分解机和神经网络来捕获低阶和高阶特征交互。xDeepFM利用深度网络和压缩交互网络的力量生成向量级特征交互。DCN结合了交叉网络结构和DNN模型来学习有限度的特征交互。DCNv2是DCN的改进框架,在大规模工业设置中更实用。FiBiNet可以通过Squeeze-Excitation网络动态学习特征重要性和双线性函数的细粒度特征交互。

用户行为模型强调基于历史行为对用户兴趣建模。DIN使用注意力机制动态地对特定项目建模用户兴趣。DIEN在DIN的基础上引入了兴趣演化机制来捕获时间上的动态用户兴趣演化。

预训练基线:我们将KAR与一些利用文本或行为数据的预训练技术来增强推荐模型的基线进行比较,如P5、UniSRec、VQRec。P5是一个文本到文本的范式,在预训练过程中学习不同的任务且采用相同的语言建模目标。UniSRec设计了一种通用序列表示学习方法,通过对比预训练任务进行有效的跨域迁移。VQ-Rec使用矢量量化的项目表示和文本到代码再到表示的方案,实现有效的跨域和跨平台顺序推荐。我们利用这三种模型的公开代码,并对模型进行必要的小修改以适配CTR任务。我们还调整了所有方法的数据和特征以确保公平比较。

评估指标:为了验证我们框架的有效性,我们采用AUC(ROC曲线下面积)和Logloss(二进制交叉熵损失)作为评估指标,这些指标在该领域被广泛使用。即使是一个很小的提升(例如0.001),更高的AUC值或更低的Logloss值也可以被认为是CTR预测性能的显著改进,如先前的研究所示。

实验结果

与Backbone模型的比较:我们首先将我们提出的框架KAR与backbone模型进行比较,结果如表1所示。从结果中,我们可以得出以下观察:(i) 应用KAR可以显著提高backbone模型的性能。例如,使用DCNv2作为backbone模型时,KAR在AUC上获得1.58%的提升,在Logloss上降低2.50%,展示了将LLM的开放世界知识并入推荐系统的有效性。(ii) 作为一个与模型无关的框架,KAR可以应用于各种基线模型,无论是侧重特征交互还是行为建模。在表中选择的9个代表性CTR模型在应用KAR后都取得了1.1-1.6%的AUC改进,这表明了KAR的通用性。(iii) KAR在特征交互模型上的改进大于用户行为模型。这可能是因为KAR生成的知识增强向量被特征交互层比用户行为建模层更有效地利用。特征交互层专门设计的交互可能更好地利用知识向量中的信息。

与基线的比较:接下来,我们将KAR与最近采用预训练技术的基线进行比较,结果如表2所示。从结果中,我们可以得出以下观察:(i) 我们的框架KAR明显优于基于文本预训练或用户序列预训练的模型。例如,以DIN为backbone时,KAR相比VQ-Rec在AUC上获得1.92%的改进,在Logloss上改进2.79%。(ii) 基于用户序列的预训练模型,如UniSRec和VQ-Rec的表现较差,甚至未能超过基本模型DIN。这可能是因为这两项研究最初侧重于顺序推荐领域,几乎未探索特征交互,而CTR预测高度依赖特征交互。

对知识的分析:为了研究LLM生成知识的影响,我们对推理知识和事实知识进行了分析,如图4所示。我们选择DIN、AutoInt和DCNv2作为backbone模型,并比较它们仅使用某种知识增强时的性能。图例“None”表示没有任何知识增强的backbone模型。“Fact”和“Reas”分别表示使用LLM生成的项目事实知识和用户偏好推理知识增强的模型,而“Both”表示同时使用两种知识的情况。

从图4我们可以观察到,推理知识和事实知识都可以提高backbone模型的性能,其中推理知识展示了更大的改进。这可能是因为推理知识抓住了用户的深层偏好,从而弥补了backbone模型在推理潜在动机和意图方面的局限性。此外,同时使用推理和事实知识增强优于仅使用其中一种,甚至达到1+1>2的协同效应。一种可能的解释是推理知识包含原始数据中不存在的外部信息。单独使用时,这些外部知识无法与候选项目匹配。但是,结合LLM生成的与推理知识相符的项目事实知识,推荐模型可以根据用户偏好更好地理解项目。

知识编码器的影响:我们采用BERT和ChatGLM这两种不同的语言模型,来研究不同知识编码器对性能的影响。此外,我们还设计了几个变体来展示知识编码器生成的表示的利用方式。表3中,KAR(LR)对知识编码器的标记表示进行平均池化,并将结果直接馈送到线性层获得预测分数,没有利用backbone CTR模型。KAR(MLP)用MLP替换了KAR(LR)中的线性层。KAR-MLP和KAR-MoE分别用MLP和混合专家替换了混合专家适配器。这些变体都采用DIN作为backbone模型。从表3我们可以得出以下结论:

首先,总体上,采用ChatGLM作为知识编码器的变体优于采用BERT的变体。考虑KAR(LR)和KAR(MLP),它们直接采用编码表示进行预测,所以其性能可以衡量编码表示的质量。鉴于KAR(LR)和KAR(MLP),ChatGLM优于BERT表明,相比BERT,ChatGLM在保留LLM文本中的信息方面表现更好,这可能归因于相比BERT,ChatGLM更大的模型大小(60亿参数对比1.1亿参数)和更好的文本理解能力。在ChatGLM上,KAR(MLP)的性能甚至优于base(DIN),这验证了我们生成的开放世界知识的有效性。

其次,仅利用LLM生成的开放世界知识进行推荐在某些情况下可以带来一定改进,但是将其与推荐领域知识结合可以获得更有前景的结果。在直接利用编码表示的方法中,只有配合ChatGLM的KAR(MLP)相比base(DIN)获得了较为温和的改进(AUC提升0.14%)。然而,将生成的开放世界知识与经典推荐系统中的领域知识结合,如KAR中所做,带来显著的改进(AUC提升1.15%)。我们将这一改进归因于KAR成功地桥接了开放世界知识和推荐领域知识。

最后,KAR的性能受益于复杂的语义转换结构,但知识编码器也对其产生局限。在ChatGLM上的结果表明,简单的MLP不如MoE,而我们设计的混合专家适配器又优于MoE,这表明从语义空间到推荐空间的转换需要复杂的网络结构。然而,在BERT上,KAR-MoE和KAR-MLP的表现相似,这表明BERT中的信息是有限的,仅使用MoE就足够了。

不同的聚合和语义转换方法:在获得知识编码器的表示后,探索不同的聚合和语义转换方法如何影响性能至关重要。因此,我们设计了几种采用不同聚合和语义转换方法的变体来调查其影响。在KAR的原始版本中,聚合函数是对所有标记的表示进行平均池化。KAR-last仅利用最后一个标记对应的表示。KAR-wavg对所有标记赋予权重进行加权平均,末尾的标记具有更高的权重。与第5.3.2节类似,KAR-MLP和KAR-MoE分别用MLP和MoE替换混合专家适配器。为确保公平比较,所有变体和KAR都使用ChatGLM作为知识编码器,使用DIN/DCNv2/AutoInt作为backbone模型,比较如表4所示。

首先,与KAR相比,所有变体的性能或多或少有所下降,但它们仍然相对backbone模型展示显著的改进。这表明不同的聚合和语义转换方法确实会影响性能,但它们仍能够将LLM的知识与推荐系统结合。此外,KAR、KAR-wavg和KAR-last的性能顺序表明,对推荐系统有用的信息分布在各个标记的表示中,不会偏向句子末尾。最后,KAR、KAR-MoE和KAR-MLP在不同backbone模型上的结果也确认了第5.3.2节的发现,即复杂的转换结构可以更好地利用知识编码器生成的表示。

加速效果:为量化KAR的实际时间复杂性,我们比较了采用LLM API的基于DIN的KAR与纯DIN模型的推理时间,如表5所示。对于LLM API,我们遵循文献[22]中的用户评分预测,将用户观看历史和评分作为提示,调用主流AI聊天机器人API来预测用户对候选项目的评分。由于该方法不允许设置batch size,表中给出了每个样本的平均响应时间。对于KAR,我们评估了第4.5节中介绍的两种加速策略:KARw/ apt,适配器参与推理阶段,和KARw/o apt,适配器从推理中分离。KAR和基准模型的实验都是在配备32G内存的Tesla V100上进行,batch size为256。我们在表5中呈现每个batch的平均推理时间,从中我们可以得出以下结论:

首先,采用大规模LLM如调用API进行直接推理,由于其巨大的计算延迟,在推荐系统中是不可行的。LLM API的响应延迟为5-6秒,不满足推荐系统通常要求响应延迟在100毫秒内的实时需求。其次,KAR的两种加速方法都实现了100毫秒以内的推理时间,满足低延迟要求。更重要的是,如果我们采用预存储推理和事实增强向量的方法,即KARw/o apt,实际推理时间与原始backbone模型几乎相同。这证明了我们提出的KAR及其加速策略的有效性。

综上所述,通过回答提出的研究问题,我们对KAR框架的性能和通用性进行了全面评估。

十一、结论

我们的工作提出了KAR,一个有效将开放世界知识并入推荐系统的框架,通过利用大语言模型实现。KAR架起了推荐域知识和开放世界知识之间的桥梁。在我们所知,这是第一个将用户偏好逻辑推理引入推荐领域的实际解决方案。

KAR将开放世界知识转换为与任何推荐模型兼容且灵活使用的稠密向量。

KAR的知识生成和编码过程可以预处理并预存储,以实现快速训练和推理,避免了将LLM用于推荐系统时的大量推理延迟。

大量实验表明,KAR明显优于最先进的基准,并与各种推荐算法兼容。我们将发布KAR的代码以及LLM生成的文本知识,以促进未来研究。我们相信,KAR不仅阐明了如何将LLM中的知识注入推荐模型的可能性,而且为大规模应用中的开放世界推荐系统提供了一个实用的框架。

【声明】内容源于网络
0
0
涛哥论道
李鹏涛,行业知名AI技术专家,清华大学创新领军工程博士,2012年加入京东,任高级总监,领导京东核心系统的研发,2017年任居家事业部产品研发部总经理。先后荣获全球架构师峰会优秀出品人,全球软件开发大会优秀讲师,物流信息化风云人物等奖项。
内容 114
粉丝 0
涛哥论道 李鹏涛,行业知名AI技术专家,清华大学创新领军工程博士,2012年加入京东,任高级总监,领导京东核心系统的研发,2017年任居家事业部产品研发部总经理。先后荣获全球架构师峰会优秀出品人,全球软件开发大会优秀讲师,物流信息化风云人物等奖项。
总阅读51
粉丝0
内容114