首页 > 其他分享 >TALLRec论文阅读笔记

TALLRec论文阅读笔记

时间:2024-05-23 22:08:20浏览次数:23  
标签:推荐 论文 笔记 任务 调优 指令 LLM TALLRec

TALLRec: An Effective and Efficient Tuning Framework to Align Large Language Model with Recommendation论文阅读笔记

Abstract

存在的问题:

​ 由于LLM的训练任务和推荐任务之间存在显著差异,以及训练前的推荐数据不足,LLM在推荐任务中的表现仍然不理想。

解决方案:

​ 为了弥补这一差距,我们考虑通过使用推荐数据调优LLM来构建一个大型推荐语言模型。为此,我们提出了一个高效和有效的调优框架,以将LLM与推荐对齐,即TALLRec。我们已经证明,所提出的TALLRec框架可以显著提高LLM在电影和图书领域的推荐能力,即使是在有限的数据集少于100个样本中。

Introduction

​ LLM的能力为解决当前在推荐领域需要强大的泛化和丰富知识的挑战提供了有希望的机会。因此,探索将LLM集成到推荐系统中是有价值的,而这在以往的研究中受到了有限的关注。

​ 在最近的初始尝试中,实现目标依赖于上下文学习。他们将LLM视为传统推荐模型的工具生成器,即,LLM用于对这些模型过滤过的候选项目进行重新排序。然而,这些方法只能达到与传统模型相当的性能。更糟糕的是,只使用上下文学习可能无法进行推荐。如图1所示,我们发现ChatGPT要么拒绝回答,要么总是给出积极的预测(喜欢)。因此,在建议中进一步探索一种更有效地利用LLM的适当方法是至关重要的。

pkQGOxK.png

​ 我们推测,仅使用上下文学习(In-context Learning)的失败有两个原因:

  1. 由于用于训练 LLM 的语言处理任务与推荐任务之间存在巨大差距,LLM 可能无法很好地与推荐任务相匹配。此外,在 LLMs 的训练阶段,面向推荐的语料库非常有限。

  2. LLMs 的效果受到底层推荐模型的限制,由于推荐模型的容量有限,可能无法将目标项目纳入候选列表。

​ 因此,我们考虑建立大型推荐语言模型(LRLM),以弥补 LLM 与推荐任务之间的差距,并在上下文学习(In-context Learning)之外更好地激发 LLM 的推荐能力。

​ 为了实现这个目标,我们专注于用推荐任务来调整LLM。考虑到指令调优是让LLM学习解决不同任务的核心,并且具有很强的泛化能力,我们提出了一个轻量级的调优框架来适应LLM的推荐,名为TALLRec。详细地说,TALLRec将推荐数据构造为指令,并通过一个额外的指令调优过程来调优LLM。此外,考虑到LLM训练需要大量的计算资源,TALLRec采用了一种轻量级的调优方法来有效地使LLM适应推荐任务

​ 本文的贡献如下:

  • 我们研究了推荐中的一个新问题——将LLM与推荐对齐,其中我们揭示了基于上下文学习的方法的局限性,并强调了指令调优的重要性
  • 我们引入了一个新的TALLRec框架来构建大型推荐语言模型,它能够在低GPU成本和少量调优样本的情况下,对推荐的LLM进行有效和高效的调优。

Method

Preliminary

指令调优

​ 指令调优是用人工注释的指令和响应来训练LLM的关键技术。一般来说,指令调优有四个步骤。具体来说:

步骤1:定义一个任务,并使用自然语言表达一个“任务指令”,这通常包括对任务的明确定义,以及解决它的具体解决方案。

步骤2:用自然语言制定并构造任务的输入和输出,分别表示为“任务输入”和“任务输出”。

步骤3:将“任务指令”和“任务输入”集成在一起,形成“指令输入”,并以“任务输出”作为对应的“指令输出”。

步骤4:基于“指令输入”和“指令输出”的格式化对对LLM进行指令调优。

推荐调优的任务形式

​ 我们的目标是利用LLM,表示为M,来构建一个LRLM,它可以预测一个新项目是否会被用户喜欢。为了实现这一目标,我们对具有推荐数据的llm进行了推荐调优。如表所示,我们将推荐数据格式化为指令调优的模式。我们首先编写一个“任务指令”,指导模型根据历史交互确定用户是否喜欢目标项目,并使用“是”或“否”的二进制回答。为了格式化“任务输入”,我们根据评级将用户历史上交互的项目分为两组:用户喜欢的项目和不喜欢的项目,其中项目按交互时间顺序排序,并由文本描述(例如,标题和简要介绍)表示。此外,“任务输入”还包括一个用户从未见过的目标新项目。最后,我们将“任务指令”和“任务输入”合并,创建一个“指令输入”,然后将预期的“指令输出”设置为“是”或“否”以进行重新调优。

pkQJcee.png

TALLRec的架构

​ 在本小节中,我们将介绍TALLRec框架,该框架旨在促进llm与推荐任务的有效和高效的对齐,特别是在低GPU内存消耗设置下。具体来说,我们首先介绍了两个具有轻量级实现的TALLRec调优阶段,然后是主干选择。如图2所示,TALLRec包括两个调优阶段:alpaca调优和rec调优。前一阶段是LLM常用的训练过程,提高了LLM的泛化能力,后一阶段模拟指令调优模式,调整LLM的推荐任务。

pkQJTOS.png

TALL的调优阶段

​ 对于羊驼(alpaca)调优,我们使用羊驼提供的自指导数据来训练LLM。具体来说,我们在羊驼调优过程中使用了条件语言建模目标,形式为:

​ \(\max_\Phi\sum_{(x,y)\in\mathcal{Z}}\sum_{t=1}^{|y|}\log\left(P_\Phi(y_t|x,y_{<t})\right),\)

​ 其中,

标签:推荐,论文,笔记,任务,调优,指令,LLM,TALLRec
From: https://www.cnblogs.com/anewpro-techshare/p/18209457

相关文章

  • K-D tree 学习笔记
    \(\text{K-Dtree}\)学习笔记\(\text{K-Dtree}\)是一种针对\(k\)维问题求解的算法,并且拥有出色的时空复杂度。思想\(\text{K-Dtree}\)本质上是一棵\(k\)维的二叉平衡树,这保证了其树高稳定在\(\logn\)附近,为求解提供了较为优异的建树模式。\(\text{K-Dtree}\)首......
  • Flutter笔记:Widgets Easier组件库-使用隐私守卫
    Flutter笔记WidgetsEasier组件库:使用隐私守卫-文章信息-Author:李俊才(jcLee95)VisitmeatCSDN:https://jclee95.blog.csdn.netMyWebSite:http://thispage.tech/Email:[email protected]:https://blog.csdn.net......
  • 03-Excel基础操作-学习笔记
    本节接着继续介绍排序工具以及一个重要内容分类汇总工具的使用。01自定义排序我们在上一节接触到了使用排序工具,对数字之类的Excel内置的程序可以通过点击操作,但是当超出Excel内置的范围又当如何应对?比如,存在如下场景:针对文字的排序,我们对销售部门所在列进行排序,顺序为“一部......
  • Linux学习笔记16---常用操作命令(free命令)
    free命令显示系统内存的使用情况,包括物理内存、虚拟内存(swap)和内核缓冲区内存。如果加上-h选项,输出的结果会友好很多:有时我们需要持续的观察内存的状况,此时可以使用-s选项并指定间隔的秒数:$free-h-s3上面的命令每隔3秒输出一次内存的使用情况,直到你按下ctr......
  • 平衡树 Treap & Splay [学习笔记]
    平衡树\(\tt{Treap}\)&\(\tt{Splay}\)壹.单旋\(\tt{Treap}\)首先了解\(\tt{BST}\)非常好用的东西,但是数据可以把它卡成一条链\(\dots\)于是,我们将\(\tt{Tree}\)与\(\tt{heap}\)(堆)合并,以保证平衡树\(\log\)的深度。具体地,我们可以使用旋转操作实现K8He的图......
  • 组合计数做题笔记
    \(\color{#FFC116}(1)\)CF1400DZigzags给出\(n\)个数\(a_1,a_2,\cdots,a_n\)。求问有多少个四元组\((i,j,k,l)\),使得这个四元组满足下列条件:\(1\leqi<j<k<l\leqn\);\(a_i=a_k\)并且\(a_j=a_l\)。\(a_i\len\le3000\)。显然可以枚举\(j,k\),所以此时......
  • 学习笔记:树与图上的计数问题
    Prüfer序列\(n\)个点的有标号无根树可以与一个长度为\(n-2\)的Prüfer序列对应。从树到Prüfer序列\(f\)为空序列。如果当前树上多于两个节点,假设当前标号最小的叶子为\(x\),与\(x\)相连的节点标号为\(y\),那么把\(x\)从树上删除,把\(y\)加入\(f\)末尾。......
  • QGIS开发笔记(二):Windows安装版二次开发环境搭建(上):安装OSGeo4W运行依赖其Qt的基础环境De
    前言  使用QGis的目的是进行二次开发,或者说是融入我们的应用(无人车、无人船、无人机),本片描述搭建QGis二次基础开发环境,由于实在是太长了,进行了分篇:上半部分:主要是安装好后,使用QtCreator可以使用QGIs的apps下的Qt使用对应的编译器编译不带qgis的空工程。下半部分:在上半......
  • U-BERT论文阅读笔记
    U-BERT:Pre-trainingUserRepresentationsforImprovedRecommendation论文阅读笔记Abstract学习用户表征是推荐系统的一项关键任务,因为它可以编码用户对个性化服务的偏好。用户表征一般是从点击互动和评论意见等行为数据中学习的。然而,对于不太流行的领域,行为数据不足以学习......
  • .NetCore源码阅读笔记系列之Security (二) 自定义认证实践
    通过前面对AddCookie或者 AddOpenIdConnect等了解,其实里面都实现了一个AuthenticationHandler<TOptions>的认证处理,接下来我们来简单自定义一个试试首先我来实现下面这个方式,我添加了一个AddLIYOUMING()services.AddAuthentication(options=>{......