ONCE: Boosting Content-based Recommendation with Both Open- and Closed-source Large Language Models论文阅读笔记
Abstract
现有的推荐器在理解项目内容方面面临着巨大挑战。大语言模型(LLM)拥有深层语义理解能力和来自预训练的广泛知识,已被证明在各种自然语言处理任务中非常有效。在本研究中,我们探讨了利用开源和闭源 LLM 增强基于内容的推荐的潜力。对于开源 LLM,我们利用其深层作为内容编码器,在嵌入层丰富内容的表示。对于闭源 LLM,我们采用提示技术来丰富标记层的训练数据。
Introduction
第一段介绍基于内容的推荐系统及其重要性
第二段介绍内容推荐的核心组成部分,内容编码器,并提出缺点
第三段举例介绍以前内容编码器的局限性
第四段提出方法,说GPT能够解决上面的局限性
第五段介绍提出的方法
在本文中,我们研究了通过利用 OpeN- 和 ClosEdsource (ONCE) LLMs 来增强基于内容的推荐的可能性。如图 1 所示,我们的 ONCE 方法针对不同类型的 LLM 采用了不同的策略。对于像 LLaMA 这样的开源 LLM,我们采用了一种名为 DIRE 的鉴别性推荐方法,这让人想起 PLM-NR方法,即用 LLM 取代原始内容编码器。这使我们能够提取内容表征,并专门针对推荐任务对模型进行微调,最终增强用户建模和内容理解能力。相反,对于像 GPT-3.5 这样的闭源 LLM(我们只能访问标记输出),我们提出了一种名为 GENRE 的生成式推荐方法。通过设计各种提示策略,我们丰富了可用的训练数据,并获得了更多信息丰富的文本和用户特征,这有助于提高下游推荐任务的性能。
第六段介绍了实验取得了不错的成果
Method
DIRE:微调开源LLM
在基于内容的推荐中,将开源语言模型整合为内容编码器是一种直接且被广泛采用的方法。值得注意的是,PLM-NR 采用小规模预训练语言模型(PLM,如 BERT)来替代原始新闻编码器,并在推荐任务中进行微调。
这种方法的成功取决于两个因素: 1) 预训练语言模型中固有的知识(包括模型大小和预训练数据质量),以及 2) 微调策略。如前所述,我们已经强调了大型语言模型在内容理解和用户建模方面的优势,从而解决了第一个因素。在本节中,我们将提出鉴别性推荐框架,即 DIRE,并探讨如何利用开源大型语言模型,通过考虑第二个因素来进一步提高推荐性能。
网络结构
如图 3 所示,我们将开源大型语言模型和注意力融合层无缝整合到基于内容的推荐框架中。
嵌入层
BERT 等小规模 PLM 采用特定标记(如 ⟨cls⟩、⟨sep⟩)来分割不同字段,而我们则采用自然语言模板来进行连接。例如,考虑一个包含标题、摘要和类别特征等属性的新闻内容𝑛。如图 3 所示,我们在序列的开头引入 “新闻文章:”标签,而每个特征则以“⟨feature⟩”作为前缀。这一过程将多字段内容转化为长度为 𝑙 的有内聚力的单个序列 s。我们将这种技术称为 “自然协整器”。之后,我们利用 LLM 提供的预训练标记嵌入,将离散文本序列映射到维度为 𝑑 𝑛 的连续嵌入空间中,表示为:
\(\mathbf{E^0}=EmbeddingLayer\left(\mathbf{s}\right)\in\mathbb{R}^{l\times d^n}.\)
Transformer解码器
LLM (或 LLaMA)的设计基于 Transformer 架构,包含多层 Transformer Layers。这种结构错综复杂地相互连接,每一层的输出隐藏状态都会输入下一层的输入,表示为:
\(\mathbf{E^i}=TransformerLayer\left(\mathbf{E^{i-1}}\right)\in\mathbb{R}^{l\times d^n},i\in\{1,...,H\},\)
注意力融合层
为了将上一层的连续隐藏状态合并为一个具有内聚力的内容表示,我们采用了注意力融合层,该方法与 PLM-NR中使用的方法类似。具体来说,我们首先将高维隐藏状态从一个大维度空间𝑑𝑛 映射到一个较小的d-维空间(其中𝑑𝑛 ≫𝑑),其定义如下:
\(\mathbf{Z=E^iW+b\in\mathbb{R}^{l\times d},}\)
接下来,我们利用加法注意机制,将缩减后的表征进一步浓缩为统一表征 z,其定义为
\(\mathbf{z}=Attention\left(\mathbf{Z}\right)\in\mathbb{R}^d,\)
并将其输入用户建模模块或交互模块,以进行进一步的个性化推荐。
微调策略
这里就不详细讲了,因为作者没有微调的条件,感兴趣见原文,主要策略就是只对最上层的k层进行微调以及采用PET和LoRA的策略。
GENRE:提示闭源LLM
大型语言模型与 BERT 等以往模型的显著不同之处在于其新兴能力,如强大的文本理解和语言生成能力,这导致了从传统的预训练-微调方法到基于提示的方法的范式转变。以往的研究发现,使用提示或上下文学习等方法,将闭源 LLM 直接用作推荐器而不进行微调(完全绕过传统推荐系统),只能达到基本矩阵因式分解方法甚至随机推荐的性能。这与基于注意力的现代方法相比还有差距。
为了克服这一问题,我们提出了一个生成式推荐框架,即 GENRE,如图 4a 所示:利用闭源 LLM(特别是 GPT-3.5)来增强数据,目的是提高它们在下游传统推荐模型中的性能。更确切地说,工作流程包括以下四个步骤。1) 提示:创建提示或指令,利用 LLM 的能力为不同目标生成数据。2) 生成:LLM 根据设计的提示生成新的知识和数据。3) 更新(可选):使用生成的数据更新当前数据,以便进行下一轮提示和生成。4) 训练:利用生成的数据训练新闻推荐模型。如果进行了更新步骤,我们将其命名为 “基于链的生成”,否则,我们将其命名为 “一次生成”。
LLM作为内容摘要
大型语言模型能够将文本内容总结为简洁的短语或句子,这得益于它们在大量自然语言数据和总结任务中的训练。此外,个人姓名和地点等实体在原始数据集中出现的频率可能很低,因此用传统方法学习它们的表征具有挑战性。然而,大型语言模型可以更有效地将它们与预训练时学习到的知识联系起来。
如图 4b 所示,通过提供内容标题、摘要和类别作为输入,大语言模型会生成一个信息量更大的标题作为输出。在下游训练过程中,增强后的内容标题将取代原始标题,并作为内容编码器的输入特征之一(图 3)。
LLM作为用户档案器
用户资料一般指用户的偏好和特征,如年龄、性别、感兴趣的话题和地理位置。由于隐私政策的原因,匿名数据集中通常不提供这些信息。大型语言模型能够理解浏览历史并分析用户资料的轮廓。
如图 4b 所示,大语言模型会根据用户的浏览历史记录生成用户感兴趣的主题和地区。在本例中,GPT-3.5 根据新闻中的 “迈阿密 ”一词推断用户可能对 “佛罗里达 ”地区感兴趣。虽然 “迈阿密 ”在数据集中出现的频率较低,但 “佛罗里达 ”出现的频率较高,因此更有可能与其他新闻或用户联系起来进行协同过滤。
为了将推断出的用户特征纳入推荐模型,我们首先将兴趣主题和兴趣区域融合成一个兴趣向量 v𝑖 ,其定义为
\(\mathbf{v}_i=\left[\mathrm{POOL}\left(\mathbf{E}_{\mathrm{topics}}\right);\mathrm{POOL}\left(\mathbf{E}_{\mathrm{regions}}\right)\right]\in\mathbb{R}^{2\times d},\)
然后,兴趣向量 v𝑖 将与从历史编码器(如图 3 所示)学习到的用户向量 v𝑢 结合,形成兴趣感知用户向量 v𝑖𝑢 如下:
\(\mathbf{v}_{iu}=\mathrm{MLP}\left([\mathbf{v}_u;\mathbf{v}_i]\right)\in\mathbb{R}^d,\)
LLM作为个性化的内容生成器
最近的研究表明,大型语言模型具有从少量示例中学习的卓越能力。因此,我们建议在浏览历史数据非常有限的情况下,使用 GPT-3.5 对用户感兴趣内容的分布进行建模。具体来说,我们将其用作个性化内容生成器,生成新用户可能感兴趣的合成内容,但由于交互数据有限,用户编码器很难捕捉到他们的特征,最终削弱了其为暖用户建模的能力,从而增强了他们的历史交互,使历史编码器能够学习有效的用户表征。
基于链的生成
虽然我们已经展示了几个 “一次生成 ”的例子,但值得注意的是,大型语言模型允许迭代生成和更新。可以利用大型语言模型生成的数据来提高当前数据的质量,然后在下一轮的提示和生成中以迭代的方式加以利用。
我们设计了一种基于链的个性化内容生成器,它将一次性用户剖析器和个性化内容生成器结合在一起。具体来说,我们首先使用 GPT-3.5 生成用户感兴趣的主题和区域,然后结合用户历史记录,促使大语言模型生成合成内容片段。用户资料有助于大语言模型进行链式思考,从而生成比单通道提示更符合用户兴趣的合成内容。
总结
这篇文章的整体推荐框架是基于内容的推荐框架,使用了两种不同的LLM来增强内容的建模。
首先是微调开源的LLM,微调之后的模型作为基于内容推荐框架的内容编码器
然后是对开源的LLM进行提示工程,主要生成三个部分的内容,生成内容摘要作为本文内容进行输入,生成个性化的内容主要是防止冷启动的用户交互数量太少。生成用户档案是输入到历史编码器中。
模型图画的非常清晰,看模型图就能看懂大部分。