华为诺亚解析:推荐系统的技术演进及大模型应用实践

一、推荐系统问题和背景首先来简要介绍一下个性化推荐系统。 实际上,我们每个人每天都在与众多推荐系统进行交互。 例如,购买衣物、阅读新闻或聆听音乐时,我们打开的每一个应用程序或网页,其展示的内容即为推荐系统所呈现。

一、推荐系统问题和背景

首先来简要介绍一下个性化推荐系统。

实际上,我们每个人每天都在与众多推荐系统进行交互。例如,购买衣物、阅读新闻或聆听音乐时,我们打开的每一个应用程序或网页,其展示的内容即为推荐系统所呈现。由于每个人的需求和偏好各不相同,这正是个性化推荐算法的体现。

从根本上讲,推荐系统是通过分析用户的历史行为数据,包括评分、浏览、购买和历史点击等,训练模型去学习用户的兴趣爱好和偏好,并最终提供所需的个性化服务。因此,推荐系统的基本原理是帮助用户以最小的交互成本获得最多的有效信息,即用户无需明确表达需求即可找到他们最喜欢的内容。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

推荐系统有两种主要的产品形态:

  • 一种是列表式推荐,这是我们日常最常见的形式。在这种形态下,每个应用程序的推荐结果通常以纵向或横向的列表形式展示,其中排名靠前的通常是推荐算法认为用户可能更喜欢的内容。
  • 另一种是对话式推荐系统,这种形式最近越来越受欢迎。在这种模式下,用户与一个助手进行自然语言的多轮交互,助手在交互过程中向用户推荐可能感兴趣的内容。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

本次分享将围绕这两种交互模式展开。

二、推荐系统发展趋势图

下图展示了推荐系统的发展趋势,其横轴表示人工智能技术的演进,包括三个关键技术里程碑:深度学习(deep learning)、大语言模型(LLM)和 LLM 智能体。纵轴则区分了两种推荐系统的产品形态:下方为列表式静态推荐,上方为对话式交互推荐,后者通常更为实时且支持多轮交互。图中的每个交点均代表了该领域的代表性工作,后文中将简要概述这些工作背后的主要原理,并展示推荐系统随时间发展的路径。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

按照时间顺序,从早期的传统列表式推荐系统作为起点,发展出两种产品形态:一是以自然语言为主的多轮交互,另一种则是沿着静态列表式交互。我们期望达到的终极目标是实现个性化的人工智能代理,理想状态下,用户无需或仅需提供极少的输入,模型便能自动挖掘用户的潜在意图,并推荐用户所需的内容。在整个发展过程中,用户获取的有效信息逐渐增加,而获取信息的交互成本逐渐降低,这两条路径最终汇聚于一点,即我们的最终目标。本图也指导了我们今天讨论的主要内容。

三、深度学习时代

让我们首先回顾深度学习时代的早期发展。

1. 列表式推荐

首先关注的是列表式推荐系统。这一系统为大家所熟知,它经历了最长时间的发展历程,并创造了巨大的商业价值。在这一领域中,具有代表性的研究成果包括华为诺亚实验室的 DeepFM,该模型广为人知;Google 的 DCN 模型至今仍被使用;阿里巴巴的 DIN 模型也是其中之一。这些研究成果至今仍被众多商业推荐系统所采用,原因在于它们的简洁性和有效性,能够真正挖掘出用户的喜好,并将相应的内容推荐给用户。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

在深度学习时代,一些具有代表性的或典型的网络结构实际上都是在一种典型的网络结构基础上进行了演进和优化。这种典型的网络结构大致如下:其输入包括用户行为,如前所述,涉及点击、浏览、加入购物车等,以及用户特征和物品特征。这些特征主要是类别性特征,因此会通过一个独热编码层,将其编码成稀疏的 01 表示向量。接下来,由于特征向量过长,可能需要通过一个嵌入层,将每个特征映射到一个低维的连续向量中。随后是特征交互层,这是整个网络结构中非常关键的部分,涉及到特征与特征之间的相互影响和交互,这也是深度学习时代主要的研究方向之一。最后,通过一个输出层,得出当前用户喜欢该物品的概率,即一个介于 0 到 1 之间的预测值。推荐系统的深度推荐网络大致都遵循这种结构,不同之处可能在于特征交互层或输入层的变动。接下来,将详细探讨特征交互学习,这是一个重要的研究模块。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

特征交互学习是指用户和物品特征之间的具体交互方式,主要分为三类:

  • 第一类是乘法操作,这是一种比较典型的方法。例如,华为诺亚实验室的 DeepFM 模型采用了简单的因子分解机(FM)结构,结合二阶特征交互和深层的全连接层(DNN),以学习特征之间的深度交互。Google 的 DCN 模型则通过将层与层之间的权重进行乘积,来建模高阶特征交互。
  • 第二类是卷积操作,用于建模两个特征之间的邻接位置关联关系,例如使用卷积神经网络(CNN)或图神经网络(GNN)进行特征交互建模。
  • 第三类是注意力机制,它能够动态地建模特征与特征之间的交互权重,因此效果相对较好。近期的网络结构,如 AutoInt 和 FiBiNet,基本上都是基于注意力机制构建的。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

在当前阶段,一个重要的研究方向是如何对用户行为进行建模。本质上,推荐系统的核心在于分析用户行为。早期的传统用户行为建模主要针对简单的单行为序列,由于模型的表达能力有限,这些序列通常较短。例如,阿里巴巴的 DIN 和 CAN 模型,它们基于简单的注意力机制,直接根据目标物品学习用户行为中哪些物品对当前目标物品的预测更为重要,这是一种传统的注意力机制,即“conventional behavior”。

从这一传统行为建模出发,近期的研究发展呈现出三个方向:一是建模超长的用户行为序列。在互联网推荐系统中,这种需求日益增多,例如阿里巴巴在进行双十一推荐时,可能会参考用户过去几年的行为数据。如何建模这些超长的行为序列成为一个挑战。例如,阿里巴巴可能会采用类似于 SIM 的方法,加入检索模块,从长序列中通过 BM25 或相似度检索等技术筛选出最相关的一小部分物品,然后进行目标物品与这些物品的特征交互,即 SIM。另一种方法是 ETA,它使用 LSH 和汉明距离进行检索,背后的逻辑是相同的,即从长序列中找到最相关的物品。

第二个发展方向是多行为序列建模。早期的研究只关注点击序列,但现在越来越多的研究开始考虑除点击序列之外的其他行为,如加入购物车、浏览和收藏序列。这些序列之间存在相互关系,可以通过统一建模为一个较长的序列,并设计相应的注意力机制网络来解决这一问题。

第三个发展方向是多属性序列建模。早期的用户行为建模仅使用ID特征,但近期的研究显示,可以将所有特征纳入考虑,形成三维张量。例如,SC-CNN 工作,它们使用 CNN 网络来卷积整个三维向量,以建模目标物品与整个历史序列之间的交互。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

深度学习时代的研究方向主要分为两大块,我们已经简要回顾了这些内容。然而,这些研究方向也存在一定的局限性。首先,深度学习模型所依赖的反馈信号,如用户的点击或浏览行为,属于隐式反馈,这类信号通常噪声较大、较为稀疏,难以准确捕捉用户的真实潜在兴趣。此外,这些反馈信号容易受到位置偏差、用户误操作以及自动播放等因素的影响,导致正例标签并不一定真实反映用户对物品的喜好。其次,深度学习模型缺乏语义信号的支持,而语义信息在推荐系统中是非常重要的。例如,全麦面包和牛角包在语义上非常相似,但传统推荐系统难以捕捉这种语义关系。这些局限性导致了深度推荐模型发展的两个分支:一是通过多轮交互直接获取用户的显式反馈,从而发展出对话式推荐模型;二是强化语义理解,引入大语言模型等具有强大语义理解能力的模型到推荐系统中。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

下面,我们将探讨深度学习时代的对话式推荐系统这一分支。

2. 对话式推荐

以自然语言为媒介的对话式推荐系统,其核心优势在于能够通过多轮交互获取用户的显式反馈。以音乐推荐为例,在传统的列表式推荐系统中,用户只能通过点击或“喜欢”按钮来表达对歌曲的喜好。然而,在对话式推荐系统中,用户可以直接用语言表达自己的喜好,例如说“换一首吧?这首歌我听了太多遍了”,这直接表达了对当前歌曲的不喜欢,或者表示“好啊,我挺喜欢的”,明确表达了对歌曲的喜爱。这种喜好或不喜好的表达是非常明确的,因此它是一种更直接且实时的反馈。用户一旦给出这样的反馈,系统便能立即知晓用户对特定内容的喜好,这是对话式推荐系统与传统列表式推荐系统的主要区别。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

为了更有效地构建对话式推荐系统,相关工作基本上可以分为两大类别。一类是基于物品或属性的对话推荐,其目标是在最少的轮次内找到用户当前感兴趣的物品。基于这一目标,我们可以将此类任务建模为一个序列决策问题,即马尔可夫决策过程(MDP)问题,其中涉及到探索(exploration)与利用(exploitation)之间的权衡。具体而言,系统需要决定是探索用户可能喜欢的物品,还是直接推荐用户肯定会喜欢的物品。例如,微软的 PMF 是一个早期基于物品或属性进行对话推荐的工作,它将整个问题建模为一个多臂赌博机问题,并优化以找到最优物品的轮次,使用的是基于概率矩阵分解的模型进行推荐。然而,这类问题在实际应用中并不十分适用,因为系统不断询问用户是否喜欢某个物品会让用户感到不自然。

另一种更为自然的对话式推荐任务是基于生成式的对话推荐,其目标是提升用户对整个对话过程的满意度。在这一过程中,存在两个潜在需要解决的问题:一是物品推荐,因此会涉及到一个物品推荐器。

第二项任务可能涉及闲聊和意图引导,这通常隐藏在对话生成器的子任务中。例如,微软的一个代表性工作名为 Redial,许多后续工作都遵循了这一工作的方法。Redial 利用了编码器-解码器结构来训练其端到端的物品推荐和对话生成能力。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

以下是 Redial 网络结构的描述,尽管线条连接可能显得有些混乱,但结构本身是清晰的。该模型分为三大部分:

  • 最下方的是对话生成器,其功能是将用户与助手之间的先前对话上下文编码成一个表示向量。
  • 上方部分是物品推荐器,其功能是使用一个解码器,将之前提及的所有物品(例如 AT123 或 AT934,均为物品 ID)进行映射,并预测用户下一个可能喜欢的物品,输出为用户可能喜欢的物品的 ID,类似于序列推荐。
  • 最后是解码器,其输入是编码后的对话表示和当前可能喜欢的物品,解码器通过解码直接生成对用户应反馈的话语,这可能是闲聊,也可能是直接推荐物品。闲聊或推荐的选择是由整个解码器学习得出的,这是一个端到端训练的过程。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

然而,当我们重新审视对话式推荐系统时,可以发现它也存在一定的局限性。首先,用户需要通过自然语言进行表达,这相较于简单的点击操作来说,用户需要付出更多的努力,因此交互成本相对较高。其次,对话式推荐系统可能依赖于一些不良案例或强化学习算法,这些算法在理解用户背后的真实意图方面能力有限。这些局限性最终导致对话式推荐系统在商业化应用场景中相对于列表式推荐系统来说较为有限。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

四、大语言模型时代

1. 列表式推荐

在讨论完深度学习时代之后,我们转向一个当前最热门的话题——大语言模型,并探讨其在推荐系统中的潜在应用。推荐系统中的大语言型模型,由于在互联网级别的语料上进行训练,因此具备强大的通用知识和逻辑推理能力,这是传统推荐系统所不具备的,实际上有助于提升推荐效果。

在此,我们对传统推荐系统与大语言模型进行了简单对比:传统推荐模型相对较小,模型轻量,能够实时服务于上亿级别的用户响应,且在每个具体的领域上进行训练,因此具有较好的协同信号。然而,它缺乏一些通用的常识性知识,例如社会风俗、文化等,以及最新新闻、季节性影响因子等。

与此相对应,大语言型模型恰好能够弥补传统推荐模型的这些局限性。它拥有丰富的开放世界知识,具备强大的逻辑推理能力,能够推断出用户当前可能喜欢的内容。同时,它还具备非常丰富的语言理解能力。然而,由于模型规模较大,推理实验成本较高,且可能缺乏特定领域的知识。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

我们观察到大语言模型实际上并未利用个性化数据,这是其与传统推荐系统的不同之处。因此,我们的目标是将大语言模型应用于推荐领域。

具体应用在何处,这是我们需要回答的第一个问题。我们将整个推荐流程划分为一系列环节:首先是用户交互,通过此环节收集数据,然后进行特征工程和特征映射。如前所述,这一环节涉及到经典的网络结构,即生成密集型的特征嵌入(embedding),随后进行特征交互和排序。实际上,在每个步骤中都可以利用大语言模型。

最终,灰色的环代表流程控制器,它负责调度各个子模块。有研究工作探讨了使用语言模型来调度这些子模块,但由于篇幅限制,在此不作赘述。感兴趣的读者可以查阅我们去年发表在 TOIS 上的综述论文,论文标题为“How Can Recommendation Systems Benefit from Large Language Models: A Survey”,其中详细梳理并介绍了相关工作。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

接下来的问题是如何将大语言模型(LLM)应用于推荐领域。在此过程中,需要做出两个决策,我们将现有工作按照两个维度分为四个象限。横轴代表一个决策,即我们是否需要对大语言模型进行微调,这也是许多公司和学术机构在初步决策时需要考虑的问题。选择不微调的工作直接将大语言模型作为 API 使用,而选择微调的工作则利用推荐领域的数据,将数据转换成自然语言文本以微调语言模型。纵轴代表另一个决策,即在推理时是否需要依赖传统推荐系统。上半部分的工作决定在推理时仍需借助传统推荐系统,而下半部分的工作则直接使用大语言模型进行推理,直接输出推荐结果。这样我们可以对相关工作进行分类。颜色代表模型的效果,颜色越接近黄色或橘黄色,表明模型效果越好。通过观察时间线可以看到,研究工作从第一象限逐步发展到第三象限,然后近期又向第二和第四象限发展,同时也有回归第一象限的趋势。

因此,我们得出结论,直接使用大语言模型进行推荐任务并非其最擅长的领域,我们必须将推荐领域的协同信号注入其中。具体注入方式有两种:一是通过模型注入,即在推理时仍需利用传统推荐模型的能力;二是通过数据,即必须让大语言模型接触过推荐领域的数据,以便获取协同信号。这是我们的两个主要结论。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

接下来,将介绍诺亚实验室一个较早的成果,即在 2023 年期间将大语言模型成功应用于推荐系统的项目,名为 KAR。该项目首次构建了一个开放域的推荐系统。传统推荐系统是封闭的,因为它们在特定领域训练模型,并仅在该领域内使用,因此相对封闭。而大语言模型恰好是一个开放世界的模型,通过引入大语言模型,我们可以构建一个开放域的推荐框架,使其能够利用外部通用知识。例如,在进行电影推荐时,模型能够获取电影的拍摄背景、情节等信息,并利用其逻辑推理能力推断出用户当前的状态和情感表达,从而推断用户可能想看的内容。这种模型具有两个优点,但也存在局限性,即缺乏领域知识和模型复杂度高。我们的目标是解决这些局限性,并将语言模型应用于推荐系统中。因此,我们提出了一个方案,该方案发表在当年的 Raxis 上,并获得了去年 DRP Access 的最佳论文奖。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

其主要贡献在于能够将传统推荐系统和语言模型的优势结合起来,同时规避它们的缺点。方案相对简单,分为三个步骤,首先是知识生成,我们提出了一种因式分解提示技术来提示 LLM,这项技术将复杂的推理任务分解为简单的子任务,并分别进行推理。结果如上所述,紫色文本是对用户兴趣偏好的推理,蓝色文本是对物品事实性的推理,这些文本由语言模型生成。然而,传统推荐模型无法直接使用这些文本,因此我们设计了一个知识适配器,将文本空间映射到推荐系统能够使用的推荐空间,即低维连续向量。我们采用了多专家适配网络来确保文本信息不丢失,同时使推荐领域的推荐模型能够使用这些信息。最后是知识利用阶段,实际上我们获得了两个由语言模型增强后的表征,过程相对简单。因此,它还可以与现有的特征结合,进行特征交互,并输出我们最终想要得到的 y。前两个阶段可以离线完成,因此线上时延仅依赖于最后一个阶段,与传统推荐系统相比没有区别。因此,我们的方案适配性强,并已在华为的多个产品业务线全面上线。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

本研究展示了引入增强型语言模型 KAR 后的效果。我们在 9 个现有的推荐算法基础上增加了 KAR,结果表明 AUC 提升了 1.5%。通常而言,AUC 提升超过 0.3% 即被认为是显著的,因此 1.5% 的提升证明了增强型语言模型的有效性。此外,我们对其推理时延进行了统计,发现 KAR 的推理时延与传统的 DIN 模型几乎处于同一量级。例如,调用 ChatGPT 需要 5 秒的响应时间,而我们的模型仅需 3 秒,这一实验结果证明了其可落地性。

同时,我们还进行了消融实验,并发现了一些有趣的结果。图中蓝色代表传统的 DIN 模型,绿色代表物品增强后的结果,紫色代表用户增强后的结果,黄色代表同时使用两者的结果。可以看出,紫色对基础模型的增强效果远大于绿色,即对用户的推理知识对传统推荐模型更为有用。我们认为这可能是因为传统推荐模型难以学习到这些推理知识,例如 GP4 等能力,而语言模型则具备这些能力,因此能更好地补充传统模型。

这是一个线上 AB 测试的结果,纵轴数据已进行重新缩放。可以看到所有指标均稳定提升了 2%,因此该模型已全面部署。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

尽管如此,该模型仍然在列表式推荐框架内运作,因此未能解决我们之前提到的反馈为隐式的问题。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

2. 对话式推荐

华为诺亚解析:推荐系统的技术演进及大模型应用实践

在大语言模型时代,对话式推荐系统经历了一些变化和发展。传统对话式推荐系统可能采用较小的模型,例如 BERT,其参数规模最多达到 1 亿级别。这可能导致助手提出许多冗余问题,从而影响用户体验。例如,当用户请求“帮我放一首我工作时想听的歌曲”时,系统可能会连续询问用户喜欢什么类型的音乐,如“你喜欢爵士乐吗?”或“你喜欢国风吗?”,这一系列问题实际上对用户体验造成了负面影响。

然而,大语言模型由于具备较强的语言表达能力和逻辑推理能力,能够迅速而准确地理解用户意图,并提供出色的可解释性。例如,模型可能直接回应用户的需求,如“我给你推荐这首协奏曲,因为它轻柔、稳定、舒缓,能够帮助你更快地进入心流和专注的状态”,这精准地挖掘了用户当前的需求,即他们想要完成的意图,并给出了合适的解释,仅通过一轮交互就解决了用户的问题。这是大语言模型与传统对话式推荐系统的主要区别。

在大型语言模型时代,对话式推荐系统主要可分为两类。第一类是通过提示(prompt)模式直接实现,即设计一个精巧的提示来引导语言模型完成特定任务。第二类则是利用数据进行微调。以下是一个具体的例子来说明这两种方法。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

下文介绍的是复旦大学的一项名为 ChatRec 的研究工作,该工作在 ChatGPT 发布不久后便对外公布,属于早期但具有代表性的研究成果之一。该研究采用了 ChatGPT 模型,并为其设计了一个提示构造器(prompt constructor),将所有信息组合成自然语言文本形式的指令输入给 ChatGPT。具体来说,输入内容包括当前的查询、推荐系统任务、用户历史和用户画像以及对话历史。基于这些信息,ChatGPT 需要判断是否需要利用传统推荐系统。如果需要,传统推荐系统将提供 20 个候选物品;如果不需要,则直接将候选物品返回给 ChatGPT。因此,如果 ChatGPT 判断无需传统推荐系统的介入,它将直接使用已经召回的 20 个物品与用户进行对话并输出推荐结果,例如推荐用户可能喜欢的 5 个物品。这是一个简单但完整的流程,仅通过提示(prompt)来完成推荐任务,而无需对 ChatGPT 进行微调。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

伦敦大学学院(UCL)的研究团队进行了一项工作,涉及对模型进行微调。由于推荐任务的复杂性,该团队将整个推荐任务细分为四个子任务,这些子任务的论文标题已列在下方,并将在后续的 PPT 中分享。这四个子任务包括用户意图识别、推荐解释、搜索等,基本涵盖了对话式推荐系统中所需完成的所有任务。因此,该团队设计了与用户交互的整个流程,分为四个步骤:

  • 第一步是用户提出查询(query),系统需匹配当前应执行的子任务。
  • 第二步是进行模型匹配(model matching),为每个任务设计了相应的专家网络(expert network),专门解决对应的子任务。例如,对于搜索任务,可能涉及一个搜索引擎。
  • 系统接收到查询后,调用相应的搜索引擎。
  • 执行完毕后,利用语言模型整合执行结果,并向用户输出推荐结果。

在这四步中,每步都构建了对应的 SFT(Supervised Fine-Tuning)数据,即微调数据。研究团队采用了他们提出的 RLPF(Reinforced Learning with Policy Feedback)训练方法,对 Llama 模型进行了微调。需要注意的是,这里指的是 Llama 2 模型,当时该模型的参数规模为 7B,而非 8B,因此他们微调的是一个相对较小量级的语言模型。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

该方法并未改变对话式推荐系统的产品形态,仍然采用简单的一问一答方式进行交互,未能充分利用语言模型(LLM)背后潜在的复杂规划、记忆和工具调用能力。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

五、AI Agent 时代

接下来终于来到了备受关注的人工智能代理(AI Agent)时代。在智能体时代,推荐系统应当实现的功能是什么?可以发现,无论是进行列表式推荐、传统推荐还是对话式推荐,当询问当前的工作重点时,最普遍的回答是正在开发 AI Agent。因此,可以看出不同路径最终都汇聚到了同一个目标:打造一个个性化的智能助手,以帮助用户解决复杂需求。理想情况下,用户无需明确表达,智能助手便能洞悉其潜在意图,这是我们追求的最佳状态。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

因此,要实现此目标,需要借助语言模型的五大智能代理能力:

  • 首先是多模态理解能力,这可能包括文本、图片、视频和语音等多种输入形式,其他讲师也可能讨论类似的内容。
  • 其次,是规划能力,涵盖简单的推理、任务分解和反思。
  • 此外,还需要一个记忆模块,该模块应具备个性化特征,存储用户画像、用户交互历史(如点击记录)以及之前的对话历史。
  • 同时,还需具备工具调用能力,即传统的搜索引擎、推荐系统以及其他所有 API 都可以为大型模型提供 API 调用服务。这大大扩展了语言模型能够执行的任务范围,显著增强了其能力。
  • 接下来是执行能力,智能代理需要决定当前是执行工具调用、排序、反馈还是回答问题,并为用户提供反馈,从而完成整个循环。

这些是单个智能代理必须具备的五大能力。当然,智能代理之间也可以相互协作,形成多智能代理交互系统,主要用于用户意图模拟。由于用户意图可能较为复杂,可能需要将多个智能代理组合起来,共同模拟用户的潜在意图。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

接下来,将介绍一个具有代表性的单一智能体方案,这是中国科学技术大学(中科大)在 ARCHIVE 上发表的研究工作。选择介绍这项工作是因为它较为完整,涵盖了前文提到的几个关键部分。具体来说,当用户提出一个查询(query)时,系统会利用个性化记忆模块。观察该记忆模块,可以发现它包含了用户的长期和短期兴趣,以及用户的喜好信息,即用户喜欢或不喜欢的内容都被纳入其中。

基于当前的记忆状态和用户的查询,系统需要进行动态演示(Dynamic Demo),进行简单的规划,并通过动态演示进行上下文学习(in-context learning)。随后,系统生成一个规划,决定首先调用哪个工具,然后是另一个工具。在工具库中,系统可以调用 SQL 检索、排序以及搜索等工具。选择一个工具执行后,系统会获取执行结果,并反思是否已经满足了用户的需求。如果需求未得到满足,系统将进行新一轮的规划,以迭代和自适应的方式解决用户的问题。

这项工作涵盖了智能体所需的各个模块,因此是一个较为完整的研究。然而,其创新性可能相对有限。此外,关于用户偏好,推荐系统的核心目标是学习用户行为背后的意图,包括用户的偏好和个性。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

在某些情况下,单一智能体可能无法完成任务,因此出现了多智能体交互方案。例如,复旦大学提出的 RAH 模型,设计了五个智能体共同完成建模用户偏好的任务。第一个,理解智能体:该智能体接收当前物品信息,并补充相应的物品信息,利用语言模型内部的额外信息进行补充。第二个,学习智能体:基于当前用户行为序列,输出用户可能喜欢的类别,学习用户的兴趣偏好。第三个,执行智能体:根据当前的偏好和历史行为,预测目标物品,判断用户可能喜欢或不喜欢,进行二元预测。第四个,评判智能体:评估之前的执行结果,与真实情况(ground truth)比较,判断预测结果的正确与否,并分析原因。第五个,反思智能体:根据分析的原因更新之前学到的知识,形成整个学习链条。

该模型未使用传统训练方法,而是直接利用多个智能体进行提示(prompt)来完成任务。最终使用时,只需提供一个执行智能体,给定目标物品和用户行为序列,即可挖掘用户可能的偏好和个性,并预测用户对当前物品的喜好。

此外,该模型还可以作为用户模拟器使用。例如,在设计新算法时,若不希望立即进行上线测试,因为成本较高,可以先与模拟器交互,观察模拟效果。这是该模型的另一种应用方式。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

六、未来发展趋势

我们总结了未来推荐的四大发展趋势。

首先,我们认为未来将从浏览向体验转变。过去我们依赖于简单的列表式或对话式接口,而未来可能会采用多模态接口,例如语音、视频乃至虚拟现实(VR)和增强现实(AR)接口。整个形态可能会以个人助手的形式出现,以满足用户需求,这可能不再是传统的推荐产品形态。

其次,从利用向责任转变。我们可能需要构建更公平可靠的基础模型,以消除互联网语料中可能存在的偏见或偏差,同时需要具备较强的可解释性,这是我们未来需要实现的目标。

第三,从理解向认知转变。之前我们主要预测用户可能喜欢或不喜欢的行为,而未来可能会转向认知预测,即探究当前行为背后的逻辑,建模用户背后的认知模型,这可能是一个发展方向,以理解用户背后的深层次动机。

最后,从产品向生态转变。目前每个产品都有自己的独立领域,未来我们可能认为需要构建跨平台的推荐服务生态,将所有推荐服务整合在一起,形成一个服务生态。这自然涉及到人工智能、内容管控等相关事宜。

华为诺亚解析:推荐系统的技术演进及大模型应用实践

以上就是本次介绍的主要内容,谢谢大家。

七、Q&A

Q1:您好,关于推荐系统模型与大型语言模型的结合,我注意到您之前有所涉及。请问这种结合最终的模型是用于 CTR(点击通过率)模型还是生成式模型?与您刚才提到的 KAR 相比,它与现有的 CTR 推荐模型是如何联合使用的?因为推荐模型的稀疏表和密集表之间的差距可能达到 4 个数量级,甚至更多?您是如何将大型语言模型与推荐模型相结合的?这种结合的效果似乎还不错,是吗?

A1:目前这两种方法都有应用。刚才介绍的 KAR 仍然是在传统推荐框架下进行 CTR 预估的,大型语言模型实际上作为一个特征增强器。它可以作为一个额外的特征,例如简单地给用户打标或提取一些物品的额外文本特征,然后我们获得嵌入向量。正如您提到的,它可能的量级较大,因此我们会涉及一个适配器(Adapter),将高维映射到低维,最终可能与推荐系统中其他特征具有相同维度的表征向量。这相当于为模型增加了一些额外的特征,然后直接输入给传统推荐模型,这是一个非常简单的思路。

我们也在探索大型推荐模型的 scaling law。目前还在探索中,没有得出明确的结论,至少没有获得非常大的正向收益。我个人分析可能与数据强相关。Meta 的数据可能主要是自然语言,且体量较大,但我们的场景可能较为稀疏,因此可能难以扩展。我们也在探索是否可以将所有推荐领域的语料以某种形式统一起来,使整个数据量扩展。这可能需要一种较好的组织形式,我们正在探索。我个人持积极态度,因为训练大型模型的两个关键点是模型架构和数据,这两个条件满足后,我们应该能够扩展。推荐系统中可能并非 Transformer 是最优架构,我们可能还有一些探索空间。另外,数据方面,我们可能真的需要跨平台、跨模态地整合这些数据,当数据量真正上去后,我认为还是有可能学到一些潜在的底层逻辑或模式,所以我持积极态度。谢谢您的问题。

Q2:请问,之前在 PPT 中提到在音乐推荐系统中,通过使用大型语言模型(LM)提升了两个点的准确率,具体是指生态项的收益还是消费项的收益?生态项可能涉及长尾或新颖歌曲的推广,而消费项可能涉及规模项。我理解将 LM 特征融入推荐系统相当于为用户序列或项目序列增加了一个辅助信息特征,那么为什么将 LM 特征作为辅助信息之一能够带来如此显著的提升?是直接进行了拼接操作,还是进行了其他一些融合操作,例如 SE 网络?最终这个文本状态是如何作为嵌入向量进入推荐系统的?

A2:应该是消费项的收益,因为我们没有专门针对长尾歌曲进行优化,整体指标提升了两个点,涉及所有用户和项目增强。对于冷启动用户来说,效果更为显著。我们的分析发现,最大的提升实际上来自用户侧。我们提供了用户的历史行为数据,实际上是让模型去推理用户可能喜欢的类别。简单来说,就是喜欢的类别。我们称之为逻辑推理能力或归纳能力,这可能是传统推荐模型难以学习的,但语言模型可以根据其语义信息进行推理,因此这部分收益较大。紫色线相比蓝色线的提升表明,它可能对用户较长的行为序列中的关联关系,直接从语义角度提取出可能的背后的逻辑和用户可能喜欢的类别,这可能是有用的。它是一个文本状态,即语言模型的输出实际上是两段文本。

Q3:请问您能否解答关于大模型时代下推荐系统衡量维度的问题?在这个维度下,您会如何分配权重?也就是说,您如何评价一个推荐系统是否先进或优秀?我们是否会有一个矩阵或分布图来展示这些权重?

A3:您所指的维度是指评价指标吗?是的,我们目前的评价指标实际上仍然是推荐系统中常见的几个,即线上的点击率或 eCPM(每千次展示的收入),这些是传统的评价指标。我们没有使用复杂的方法,而是直接上线观察与传统方法相比是否有所提升,主要还是看收入这一指标。

您是否提到了类似于多任务或多优化目标的推荐系统?对于这类系统,我们会根据不同的业务场景分配不同的权重,因此是一个加权的框架。以我们的音乐推荐为例,我们主要关注的是用户的听歌时长,这并不是一个多任务的问题。

Q4:是否可以进一步询问一个问题?我想问的是推荐系统与大语言模型之间的关系。目前是将大语言模型作为核心还是作为一种补充?即是以大模型为核心的推荐系统,还是将大模型作为功能嵌入到推荐系统中?

A4:这是一个非常好的问题。我们目前也在做出决策,目前能够上线的有用的系统都是将大模型作为一种工具,仍然以传统推荐流程为主。同时,我们也在探索下一代推荐系统应该是什么样子。领导一直在询问下一代推荐系统应该是什么样子,我们也在探索大型模型是否可以直接承担推荐任务,从而打破现有的推荐产品形态。但目前我们还没有得到一个积极的答案,因此目前仍然在传统推荐系统框架内进行探索。是的,仍然是嵌入的方式。谢谢,感谢大家,感谢各位,时间。

给TA打赏
共{{data.count}}人
人已打赏
理论

本地构建Llama 3.2-Vision多模态LLM聊天应用实战

2024-12-17 8:05:34

理论

ChatGPT搜索与Her打通了!搜索免费开放,居然还剧透明日直播主题

2024-12-17 8:25:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索