导读 随着以 ChatGPT 为代表的大模型技术的迅速发展,推荐系统正经历着一场革命性的变革。传统的推荐系统主要基于用户和物品的历史行为数据进行预测,大模型技术的出现,为推荐系统带来了更强的泛化能力和更高的效率,解决了传统推荐系统中的一些难题,如用户和物品数量的巨大规模、不可观测因素对推荐的影响等。同时,大模型推荐技术也带来了新的挑战,如模型的可解释性和隐私保护等问题。
今天的介绍将会从以下四个方面展开:
01
**推荐及 **LLM 简介首先整体介绍一下推荐系统和大模型技术。1. 推荐方法的本质
推荐系统广泛应用于短视频、电商等各类互联网产品中。推荐方法的本质是**拟合历史用户行为数据,预测未来用户行为。**推荐系统是过去 10 年中 AI 落地最成功的案例,但是在工业场景中,传统的推荐系统依然存在很多问题。
**2. ****大模型技术(**NLP 新范式)
ChatGPT 发布以来,大模型成为人人熟知的名词,它为 NLP 带来了新的范式,即预训练模型+微调+Prompt 模式。这一模式取得了非常惊艳的效果。 人们意识到原来可以有这样一个模型具备很强的泛化能力,出现“涌现”现象,简单来说就是大模型学习到一个任务以后,它能够做到举一反三;同时具备任务规划能力,能够切分简化任务。
有人认为大语言模型不只是一个语言模型,更是一个知识模型,因为大语言模型使用了非常多的语料去做预训练,相当于 encode 了非常多的知识。虽然不像传统的知识图谱显式的把知识结构化表达出来,但它很可能通过模型中某些参数将预训练语料中的知识很好的 encode 进去了。当然有些知识可能 encode 的不是非常好,但我们目前能看到的事实是在 NLP 领域,大模型已经是处于绝对优势,在各种任务上都表现惊人。3. 推荐系统“馋”大模型什么?****
从推荐系统的角度去看,现有的推荐系统存在对用户和 item 或多或少的理解不到位,模型泛化性差等问题。推荐系统从业者希望能够从大语言模型中获得启发,以构建更好的推荐模型。
LLM 赋能推荐系统这一部分将会介绍 LLM 赋能推荐在 Representation、Learning 和Generalization 领域中比较靠前和有代表性的工作。1. Representation 方面
首先介绍的是 2023 年 KD 发表的一项工作,思想上与阿里的 M6 RAC 有一定的重合,虽然并不算靠前,但是效果很好。其核心思想是去 ID 化,将 item 的表示全部转化为文本,利用语言模型强大的文本理解能力去理解和表征 item。具体来说,对于一个 item sequence,每个 item 除了包含一个 ID,也可能包含一些类别特征。它所做的工作就是构造了一个 item sentence,将 item 相关的所有东西,比如标题、品牌、价格等属性拼接在一起,形成一个很长的句子。于是原本由一个个 item 拼接成的 sequence,就变成了一个个 item sentence 拼接起来的超长 sentence,可以叫它 long sentence 或者 item paragraph,用于表示一个用户的交互历史。这样就可以使用语言模型去对其进行理解表征,比如使用类似 Bert 这样的模型。如果输入的是 long sentence 或 item paragraph,得到的就是用户的表征;如果输入的是 item sentence,就得到了 Item 的表征。当然在 embedding 层面除了对 token 的表征之外,它也针对推荐系统的特性加入了 position embedding。 模型架构上使用了 long former,属于 Bert 的一个变种。预测上使用 item 的embedding 和 sequence 的 embedding(user embedding)去计算 cosine 相似度,然后用这个 cosine 相似度去做排序,就可以得到一个 ranking list。预训练阶段也十分简单,主要做两个事情,一个针对语言模型的预训练任务,主要去做 Mask token prediction,简单来说就是 mask 掉输入 sequence 中的一些 token,然后去预测它。另一个是针对推荐任务 item-level 的预训练任务,增强对 item 的表征,主要是通过对比学习去学习 item 之间的区分度,让 item 的表征与正样本尽可能靠近,与负样本尽可能远离。这两个任务合在一起就是完整的预训练过程,取得了很好的效果。这项工作得到的重要结论是,在许多场景下,通过文本表征的方式去取代 ID 表征是可行的。
**2. ****Prompt learning 方面
Prompt learning 的思想非常的简单朴素,就是对每一个任务使用一个 prompt 去进行描述。以情感分析任务为例,过去我们做此类任务的方式是对输入的文本去做一个分类任务,预测它情感的正向或者负向,更多的是一种判别式的方法。而现在,有一个 input,使用 prompt 去对情感分析任务进行描述,让模型去解码生成一个结果,通过这个生成的结果去判断情感的正负倾向。总结来说 prompt learning 的核心思想就是构造 prompt 去描述任务,使用生成式模型去生成任务结果。
Prompt learning 的优势在于,实现了从样本层面的学习到任务层面的学习的提升跨域。过去无论是有监督学习、无监督学习还是对比学习,都是在样本层面上的学习。有了 prompt learning,用于建模的除了样本以外,还有了 prompt 这样一个描述任务的额外输入,这样使得模型的学习变成了一个任务层面的学习,相对样本层面的学习是一个具备更高抽象层次的学习,所以这一学习范式更具优势。
Prompt learning 一经推出,即受到了推荐领域工作者的关注,在 21 年的 NIPS上就有了一个这样的工作,尝试将推荐任务写成 prompt 格式,去研究其是否具备优势,下面做一些简要的介绍。对于基于序列建模的推荐,就是输入用户历史访问的 item 序列 id 的 list,去预测下一个推荐的 item。该工作的核心思想是将这个 item id 的序列用语言描述出来,input 就是用户历史看了哪些电影,prompt 就是现在用户会想看什么电影,然后用一个预训练好的模型去做 decode,看它会生成什么推荐的电影。文章中对于具体如何 decode 生成 item 的过程没有很清楚的描述,但其引领了这一方向的工作。
接下来介绍的工作是杨红霞老师在阿里时候所做的 M6-Rec,这个工作结合了上述两种优势,既使用了文本去表示 item 和用户交互序列的去 ID 化,也使用了 prompt learning 的方式。架构上使用了阿里内部的 M6 模型架构,是一个类似与 T5 模型的既要理解能力又要生成能力的模型架构,前面是一个类似 Bert 的双向神经网络,目的是增强理解能力,后面是一个类似 GPT 的自回归的结构,与 GPT 不同的是它不是主要为了生成 token。
它将推荐中的许多任务都用 prompt 描述了一遍,比如将 CTR 任务这类的 scoring task,都写成了一个 prompt 模版。这个模版主要分成两块,第一块是特征描述,用特殊的 token 去包裹用户的画像特征以及交互历史这些信息,第二块是描述现在想要对这个用户推荐一些候选的 item。将上述构造好的 prompt 输入模型,接下来就能对候选的 item 进行打分,打分的思路非常简单,模型会根据输入的 prompt 去生成一个特殊的 token,然后得到这个 token 的表征,用这个表征去做 decode 就得到 y=1 或者 y=0 的概率。当然这个工作也把推荐中很多其他任务,比如生成任务,都写成了不同的 prompt,是这个方向早期比较有代表性的工作。
3. ChatGPT 时代的工作
前面介绍的都是 ChatGPT 之前的一些工作,用的模型主要是 Bert、GPT2、Long-Former、M6 这类模型。这些工作的优缺总结如下:优点:主要是将大模型领域的一些先进的学习范式或有效的表征方法引入了推荐系统中,取得了一定的成果。**缺点:**一是模型规模较小,模型的能力比较弱,远小于 ChatGPT 之后的一些模型;二是这些工作所需要的训练量很大,模型学会推荐任务的效率是比较低的;三是基础模型能力较弱,导致模型知识有限,泛化性不足,生成能力较弱。接下来将介绍在 ChatGPT 发布之后,当具备强大基础模型之后的一些工作,如何将这些 well-train 的模型能力带进推荐系统来。
**完全基于 ****ChatGPT ****进行推荐:**第一类方向的工作,认为既然 ChatGPT 是一个可以解决很多任务的强大模型,那么就直接使用 ChatGPT 去解决推荐任务。比如将推荐任务写成一个 instruction,可能加入一些 in-context sample,让 ChatCPT 直接去做推荐。这类工作的结论是比较乐观的,ChatGPT 确实具备一定的能力去做好推荐这件事,但是单纯使用上述方式教会它去做好推荐这件事可能还是不够的。
**ChatGPT **不是天然做推荐的:
存在偏差: 直接使用其 in content learning 的方式去做推荐的话,一个突出的问题是,GPT 是被高度安全优化过的,所以它很难去拒绝用户,也就是很难 say no,如果我们按照 point wise 的方式,给它一个 list,history,然后问它是不是要把这些推给这个用户,它很难 say no,有很大概率会对很多用户都直接 say yes,也就是所有东西都推对。
微调难做:当然可以采用 tuning 的方式去缓解上述问题,但是 LLM 的参数量大、模型深度高,tuning 是一件很难的事。
部署成本高:即使采用 lora 之类的方式去解决 tuning 的问题,大模型的 inference 依旧困难,相对传统的推荐模型推理成本很高。我们曾经计算过,以 TikTok 的日活用户规模,如果每个用户让大语言模型去算 100 个 candidate item 的分,那将会需要 10 万张 A100-80G 显卡,24 小时不停算才能算完,这个开销是难以接受的。
**生成能力受限:**针对推荐场景去对大语言模型进行 fine tune 之后,会压缩模型对生成空间,导致其生成能力受到很大的限制。
**结合 ****GPT ****和传统推荐技术:**现在介绍唐瑞明老师团队参与的一个工作,其核心思想是通过 ChatGPT 或者 in-context learning 的方式,让 ChatGPT 发挥其 open world knowledge 的知识能力和 Cross domain 的能力,将 ChatGPT 的输出接入给下游的传统推荐模型。这样两者相互协同,发挥各自的优势,推荐系统负责搞定推荐任务,ChatGPT 负责提供 Knowledge、Cross Domain 和 few-shot 的能力。这项工作是非常成功的,总结其核心就是使用 in-context learning 通过 ChatGPT 对用户的交互历史和 item 分别做一个推荐角度的总结,然后将其作为额外的特征喂到 CTR 模型里。
**打造面向推荐场景优化的大模型:**为了解决 LLM 在推荐领域直接应用的诸多问题,我们提出了一个与生成式检索类似的两阶段框架,其核心思路是从语言和推荐两个不同的角度去做理解,充分发挥各自的优势,整个推荐链路被划分成了三个空间:
总结来说,语言空间和推荐空间作为第一阶段进行理解召回,item 空间作为第二阶段进行快速打分排序,其实和传统的召回排序是一样的。从实验结果来看,这个方法是非常有效的,在 few shot 场景下与传统模型相比非常具有优势,具体的实验数据见下方。
03****
大模型推荐展望****1. 个性提示优化
与 NLP 任务层面的 prompt 不同,推荐领域的 prompt 是用户层面的,比如针对老人、年轻人去构造不同的 prompt,从而实现个性化的推荐。那么如何去构造这样的 prompt 呢?手动构造无疑是一件非常麻烦且困难的事情,因此如何去做个性化 prompt 优化将是未来的研究方向之一。2. 鲁棒提示优化
推荐领域是一个典型的分布漂移的场景,无论是 item 还是 user 层面都是随时间快速变化的。当我们在一个有标注的样本上使用 APO 或者 APE 这样的 prompt 优化方法去做 prompt 的自动生成,相比手工构造的 prompt 效果可能会要好。但是如果出现了分布漂移,用于 prompt 优化的训练样本和实际样本的分布产生较大差异,就可能导致 prompt 的性能崩塌。如何解决推荐领域分布漂移带来的 prompt 性能崩塌,提升 prompt 的鲁棒性,也是一个值得探究的方向。3. 新的推荐范式
影响推荐效果的两大因素,内容供给和匹配效率,在实际的工业场景里供给问题往往相对效率问题是一个更大的瓶颈。很多时候很难从已有的固定列表里去找到一个迎合用户兴趣需求的东西,比如捕捉到用户对某一个电影有搞笑风格解说的兴趣需求,但是视频池里还没有这样的视频,无法满足用户的信息需求,这个时候如果利用大模型的生成能力快速生成一个这样的内容去及时满足用户的需求,可能会给用户带来非常好的体验提升。所以研究如何使用类似 chat 的方式去充分理解用户需求,及时生成贴合用户需求的内容是非常有价值的。 4. 避免大模型偏见
大模型在预训练阶段使用了大量互联网上的语料,这些语料中是分布不均的,天然包含人们的社会偏见,直接使用大预言模型进行推荐可能会使推荐结果继承现有的社会偏见。比如如果语料中主要是白人贡献的英文内容,那么推荐的结果会更加偏向白人的喜好,但是面对的用户可能是黑人、黄种人。如何在推荐时避免大模型偏见是也是一件很值得研究的事情,涉及到用户体验、法律道德等方面。
04****
总结****
传统的强依赖 ID 的推荐模型,存在理解不到位、泛化能力差等问题,导致推荐不满意。针对推荐系统现存的问题,将大模型技术引入推荐领域,发挥其强大的理解能力,对推荐数据理解有很大的帮助。此外未来具备 Open-ended domains and task 的统一范式的推荐大模型也极有可能出现,用一个模型统一各类推荐任务,非常令人期待。最后对大模型在推荐领域的使用提供一些参考建议:
以上就是本次分享的内容,谢谢大家。
分享嘉宾
INTRODUCTION
冯福利
中国科学技术大学
特任教授
冯福利,中国科学技术大学特任教授,入选国家青年人才计划。研究领域:信息检索、数据挖掘、机器学习、因果推断等,承担推荐算法合规、监管相关国家级项目,发表国内外顶级会议和期刊论文近 100 篇,谷歌学术引用 6000 余次,研究成果在多家公司的商业系统应用。曾获 SIGIR 2021 最佳论文提名奖、WWW 2018 最佳演示论文奖。