论文状态:已完成

User-LLM: Efficient LLM Contextualization with User Embeddings

发表:2024/02/21
原文链接PDF 下载
价格:0.100000
价格:0.100000
已有 2 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

提出了User-LLM框架,利用自监督学习生成用户嵌入,直接将用户历史交互与大型语言模型(LLMs)进行上下文感知集成。通过交叉注意力集成方式,使模型根据用户行为动态调整响应,提高了推理效率,速度提升高达78.1倍,在MovieLens等数据集上,任务性能提升16.33%。

摘要

Large language models (LLMs) have achieved remarkable success across various domains, but effectively incorporating complex and potentially noisy user timeline data into LLMs remains a challenge. Current approaches often involve translating user timelines into text descriptions before feeding them to LLMs, which can be inefficient and may not fully capture the nuances of user behavior. Inspired by how LLMs are effectively integrated with images through direct embeddings, we propose User-LLM, a novel framework that leverages user embeddings to directly contextualize LLMs with user history interactions. These embeddings, generated by a user encoder pretrained using self-supervised learning on diverse user interactions, capture latent user behaviors and interests as well as their evolution over time. We integrate these user embeddings with LLMs through cross-attention, enabling LLMs to dynamically adapt their responses based on the context of a user's past actions and preferences. Our approach achieves significant efficiency gains by representing user timelines directly as embeddings, leading to substantial inference speedups of up to 78.1X. Comprehensive experiments on MovieLens, Amazon Review, and Google Local Review datasets demonstrate that User-LLM outperforms text-prompt-based contextualization on tasks requiring deep user understanding, with improvements of up to 16.33%, particularly excelling on long sequences that capture subtle shifts in user behavior. Furthermore, the incorporation of Perceiver layers streamlines the integration between user encoders and LLMs, yielding additional computational savings.

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

USER-LLM: Efficient LLM Contextualization with User Embeddings (USER-LLM: 利用用户嵌入高效地对大型语言模型进行上下文感知)

1.2. 作者

Lin Ning1*, Luyang Liu1*†, Jiaxing Wu1, Neo Wu1, Devora Berlowitz2, Sushant Prakash2, Bradley Green1, Shawn O'Banion1, Jun Xie1

1Google DeepMind, 2Google

1.3. 发表期刊/会议

预印本(arXiv),尚未正式发表。

1.4. 发表年份

2024年

1.5. 摘要

大型语言模型 (LLMs) 在多个领域取得了显著成功,但将复杂且可能带有噪声的用户时间线数据有效整合到 LLMs 中仍然是一个挑战。当前的方案通常是将用户时间线数据转化为文本描述,然后再输入给 LLMs,这种方法可能效率低下,并且无法完全捕捉用户行为的细微之处。受 LLMs 通过直接嵌入有效整合图像的启发,本文提出了 User-LLM,一个利用用户嵌入直接将 LLMs 与用户历史交互进行上下文感知的创新框架。这些嵌入由一个用户编码器生成,该编码器通过在多样化的用户交互数据上进行自监督学习 (self-supervised learning) 预训练,能够捕捉潜在的用户行为、兴趣及其随时间演变。本文通过交叉注意力 (cross-attention) 将这些用户嵌入与 LLMs 集成,使 LLMs 能够根据用户过往行为和偏好的上下文动态调整其响应。

本文方法通过将用户时间线直接表示为嵌入,显著提高了效率,实现了高达 78.1 倍的推理加速。在 MovieLens、Amazon Review 和 Google Local Review 数据集上进行的全面实验表明,User-LLM 在需要深度用户理解的任务上优于基于文本提示 (text-prompt) 的上下文感知方法,性能提升高达 16.33%,尤其在捕获用户行为细微变化的长序列上表现出色。此外,结合 Perceiver 层 (Perceiver layers) 进一步简化了用户编码器与 LLMs 之间的集成,带来了额外的计算节省。

1.6. 原文链接

2. 整体概括

2.1. 研究背景与动机

大型语言模型 (LLMs) 在自然语言处理 (NLP) 领域取得了革命性的进展,并被寄予厚望成为下一代个性化人工智能智能体 (AI agent) 的核心。然而,当前 LLMs 在处理用户个性化信息时面临一个核心挑战:如何高效且有效地将包含复杂、可能带有噪声的用户时间线数据(如文本输入、搜索查询、媒体消费、社交媒体活动、地理位置访问等)整合到模型中。

现有方法通常将用户历史交互数据转化为冗长的文本描述,然后作为文本提示 (text prompt) 输入给 LLM。这种方法存在显著的局限性:

  • 计算效率低下: 长的文本序列会大大增加 LLM 推理时的上下文窗口长度,导致巨大的计算开销。

  • 信息损失与噪音: 将用户行为转化为自然语言可能会丢失细微的行为模式,引入额外的语言噪声,并且难以完全捕捉用户行为的深层含义和动态演变。

  • 个性化理解不足: 这种间接的文本表示可能无法为 LLM 提供足够丰富和结构化的用户上下文,从而限制了模型实现真正个性化响应的能力。

    本文的动机是借鉴多模态 LLMs(如图像与文本融合)中通过直接嵌入 (direct embeddings) 来整合不同模态数据的成功经验,提出一种新的范式,即直接将用户时间线视为一种独立模态,并将其转化为紧凑的用户嵌入 (user embeddings) 来进行 LLM 的上下文感知 (contextualization)。

2.2. 核心贡献/主要发现

本文提出了 User-LLM 框架,其核心贡献和主要发现如下:

  • 提出 User-LLM 框架: 引入了一个新颖的框架 User-LLM,通过用户嵌入直接对 LLMs 进行上下文感知,使 LLMs 能够根据用户的历史行为和偏好动态调整响应。该框架支持多种用户编码器架构和编码器-LLM 协同训练 (co-training) 策略。
  • 显著的效率提升: User-LLM 通过将用户时间线数据表示为紧凑的嵌入,而非冗长的文本描述,大幅减少了 LLM 推理所需的上下文长度。实验证明,相比基于文本提示的方法,推理速度提升高达 78.1 倍
  • 卓越的性能表现: 在 MovieLens、Amazon Review 和 Google Local Review 三个数据集上的综合实验表明,User-LLM 在需要深度用户理解的任务(如下一个项目预测、最喜爱类别预测和评论生成)上,性能优于基于文本提示的上下文感知方法,提升高达 16.33%。尤其在处理长序列以捕捉用户行为细微变化时,User-LLM 表现出更强的能力。
  • 深入分析与洞察: 论文对不同的用户嵌入生成架构、编码器-LLM 协同训练策略以及嵌入与 LLM 集成方式的影响进行了全面分析,为未来的研究提供了宝贵的见解。
  • 高效集成机制: 探索了用于集成用户嵌入的交叉注意力 (cross-attention) 机制,包括门控交叉注意力 (gated cross-attention),以理解用户嵌入如何影响 LLM 行为。此外,结合 Perceiver 层进一步提高了计算效率。
  • 参数效率: 即使在冻结 LLM 参数的情况下,User-LLM 也能达到与完全微调 (full fine-tuning) 相当的性能,这表明其在资源受限设备上进行模型微调时具有较高的参数效率。

3. 预备知识与相关工作

3.1. 基础概念

为了更好地理解 User-LLM 框架,需要了解以下基础概念:

3.1.1. 大型语言模型 (LLM, Large Language Models)

大型语言模型 (LLM) 是一类基于 Transformer 架构的深度学习模型,通过在海量文本数据上进行预训练 (pre-training) 来学习语言的复杂模式和结构。它们通常拥有数十亿甚至数千亿的参数,能够执行多种自然语言处理任务,如文本生成、摘要、问答和翻译等。本文的 User-LLM 框架旨在增强 LLMs 的个性化能力。

3.1.2. Transformer 架构

Transformer 是一种深度学习模型架构,由 Vaswani 等人于 2017 年提出,彻底改变了序列建模任务。其核心创新是抛弃了传统的循环神经网络 (RNN) 和卷积神经网络 (CNN) 结构,完全依赖于注意力机制 (attention mechanism)

  • 自注意力 (Self-Attention): 自注意力 (Self-Attention) 允许模型在处理序列中的每个元素时,都能考虑到序列中所有其他元素的信息,从而捕捉长距离依赖关系。例如,在处理一句话时,某个词的表示会根据这句话中所有其他词的上下文进行调整。 自注意力 机制的计算公式如下: Attention(Q,K,V)=softmax(QKTdk)V \mathrm{Attention}(Q, K, V) = \mathrm{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V
    • QQ (Query): 查询矩阵,由输入序列每个元素的嵌入向量经过线性变换得到。
    • KK (Key): 键矩阵,由输入序列每个元素的嵌入向量经过线性变换得到。
    • VV (Value): 值矩阵,由输入序列每个元素的嵌入向量经过线性变换得到。
    • QKTQ K^T: 查询和键的点积,表示查询与键之间的相关性或匹配程度。
    • dk\sqrt{d_k}: 键向量维度的平方根,用于缩放点积结果,防止点积结果过大导致 softmax 函数的梯度过小。
    • softmax()\mathrm{softmax}(\cdot): 归一化指数函数,将相关性分数转换为概率分布。
    • VV: 值矩阵,根据概率分布对值向量进行加权求和,得到注意力输出。
  • 交叉注意力 (Cross-Attention): 交叉注意力 (Cross-Attention) 机制与自注意力类似,但它用于处理两个不同的序列。例如,在本文中,LLM 的文本表示 (作为 Query) 会与用户编码器输出的用户嵌入 (作为 Key 和 Value) 进行交互,从而让 LLM 能够从用户历史行为中获取上下文信息。在多模态 LLM 中,它常用于整合不同模态的特征。

3.1.3. 嵌入 (Embeddings)

嵌入 (Embeddings) 是一种将高维稀疏数据(如单词、用户ID、商品ID等)映射到低维连续向量空间的技术。在嵌入空间中,语义相似的实体(如相似的词或有相似行为的用户)其向量表示也相近。本文的 User-LLM 框架的核心就是生成和利用用户嵌入来表示用户的历史交互。

3.1.4. 自监督学习 (Self-Supervised Learning)

自监督学习 (Self-Supervised Learning, SSL) 是一种机器学习范式,它通过从数据本身生成监督信号来训练模型,而无需人工标注。模型学习一个“前置任务 (pretext task)”(如预测序列中的下一个元素、填补被遮蔽的词等),从而学习到数据的有用表示。在本文中,用户编码器就是通过在用户交互序列上进行自监督学习预训练,来捕捉用户行为模式和兴趣。

3.1.5. 上下文窗口 (Context Window)

上下文窗口 (Context Window) 是指 LLM 在生成文本时能够同时考虑的输入序列的最大长度。较长的上下文窗口允许模型处理更长的文本,理解更复杂的语境,但也会显著增加计算和内存开销。User-LLM 通过将用户历史压缩为紧凑嵌入,旨在有效延长 LLM 对用户历史的“感知”能力,同时减少实际的上下文窗口长度。

3.1.6. 微调 (Fine-tuning) 与 LoRA (Low-Rank Adaptation)

  • 微调 (Fine-tuning): 指在预训练好的模型基础上,使用特定任务的数据集进行进一步训练,以使模型适应特定任务。这通常涉及更新模型的所有或大部分参数。
  • LoRA (Low-Rank Adaptation): LoRA 是一种参数高效的微调技术。它通过在预训练模型的 Transformer 层中注入小的、可训练的低秩矩阵,来适应新任务,而不是更新模型的所有原始权重。这大大减少了需要训练的参数数量,从而节省了计算资源和存储空间,同时保持了与全量微调相似的性能。

3.2. 前人工作

论文回顾了以下几个方向的相关工作:

3.2.1. 多模态 LLM (Multimodal LLM)

早期的多模态 LLM 主要关注图像和文本的对齐(如 CLIP (Radford et al. 2021)、ImageBind (Girdhar et0 al. 2023))。随后,利用交叉注意力(如 Flamingo (Alayrac et al. 2022)、Coca (Yu et al. 2022))和软提示 (soft-prompt)(如 PaLI (Chen et al. 2022a)、Palm-E (Driess et al. 2023))的融合技术出现。近期工作如 NextGPT (Wu et al. 2023b)、OneLLM (Han et al. 2023) 和 Anymal (Moon et al. 2023) 探索了统一的多种输入模态框架。此外,Gato (Reed et al. 2022) 和 Gemini (Gemini Team Google 2023) 等模型也关注多模态模型的端到端训练。User-LLM 正是受到这些进展的启发,专注于通过直接的用户嵌入来对 LLM 进行用户理解的上下文感知。

3.2.2. 基于语言模型的个性化 (Language Model based Personalization)

近期研究广泛探索了将用户交互历史作为文本提示 (text prompts) 来实现 LLM 个性化和推荐 (Petrov and Macdonald 2023; Kang et al. 2023; Xu, Hua, and Zhang 2023; Liu et al. 2023a; Lyu et al. 2023; Ji et al. 2023; Li et al. 2023; Wu et al. 2023a)。然而,直接输入完整的用户历史会导致长上下文长度,计算成本高昂。User-LLM 的方法通过用户嵌入实现了高效的 LLM 上下文感知,显著降低了计算开销。虽然 Doddapaneni et al. (2024) 也探索了使用用户嵌入进行 LLM 个性化,但其侧重于从基于文本的用户活动中派生嵌入并通过软提示集成。相比之下,User-LLM 利用高效的用户活动词元 (activity tokens) 和更复杂的融合技术(如交叉注意力)。

3.2.3. LLMs 中的长上下文 (Long Context in LLMs)

长上下文对于模型整合长期用户数据至关重要。现有方法包括扩展上下文窗口(通过位置编码重映射 (Chen et al. 2023a; Jin et al. 2024) 或暴露相关上下文给部分注意力层 (Tworkowski et al. 2023))、从长上下文中提炼信息(使用独立的检索模型 (Xu et al. 2023)、内存库 (Wang et al. 2023) 或训练特殊词元 (Ge et al. 2023; Mu, Li, and Goodman 2023; Chevalier et al. 2023))、修改注意力计算 (Ding et al. 2023; Liu, Zaharia, and Abbeel 2023; Chen et al. 2023b) 以及线性注意力框架(如结构化状态空间模型 (Gu et al. 2023; Gu and Dao 2023; Tay et al. 2022))。User-LLM 通过使用单个词元表示每个用户事件来处理长上下文,这与现有的长上下文技术兼容。

3.2.4. 用户建模 (User Modeling)

传统的用户建模和个性化方法广泛采用双编码器 (dual encoders)、自监督学习 (Yao et al. 2021; Xie et al. 2022; Chen et al. 2022b; Xia et al. 2023; Cai et al. 2023; Yang et al. 2023) 和预训练模型(如 BERT (Devlin et al. 2018)、Bert4Rec (Sun et al. 2019)、U-Bert (Qiu et al. 2021))来生成有效的用户表示 (Covington et al. 2016a,b; Sountsov and Sarawagi 2016; Volkovs et al. 2017; Chidambaram et al. 2018; Gillick et al. 2018; Yanga et al. 2018; Ma et al. 2018; Yi et al. 2019; Gillick et al. 2019; Yang et al. 2020; Jiang et al. 2020; Ning et al. 2021)。尽管这些方法提供了对用户行为的宝贵见解,但它们主要在 LLMs 之外运行。本文的工作则专注于通过直接将用户表示与 LLM 进行上下文感知,来增强 LLM 的个性化能力。

3.3. 差异化分析

User-LLM 的核心创新在于直接将用户时间线视为独立模态,并生成用户嵌入来对 LLM 进行上下文感知,这与现有方法形成鲜明对比:

  • 与基于文本提示的方法相比: 现有方法将用户历史转化为文本,计算开销大且可能丢失细微信息。User-LLM 通过紧凑的用户嵌入,显著提高了效率(高达 78.1 倍推理加速)并提升了性能,尤其是在长序列和需要深度用户理解的任务上。
  • 与多模态 LLM 相比: 借鉴了多模态 LLM 融合图像等其他模态的思路,但将用户历史交互抽象为一种“用户模态”,并设计专门的用户编码器来处理。这是对多模态 LLM 概念的扩展应用。
  • 与现有用户嵌入方法相比: 尽管有研究也探索了用户嵌入,但 User-LLM 强调了从 ID-based 用户活动中生成嵌入,并采用交叉注意力这种更复杂的融合技术,而非简单的软提示,从而实现了更深层次的用户信息利用和更广泛的场景适用性。

4. 方法论

本节将详细介绍 USER-LLM 框架,该框架旨在通过用户嵌入对解码器专用的 LLM 进行上下文感知。

4.1. 问题陈述

给定一组用户 U\mathcal{U} 和一组项目 ν\nu。每个用户 uUu \in \mathcal{U} 有一个时间线序列 Su=(v1(u),v2(u),,vnu(u))S_u = (v_1^{(u)}, v_2^{(u)}, \dots, v_{n_u}^{(u)}),其中每个 vi(u)Vv_i^{(u)} \in \mathcal{V} 代表用户按时间顺序交互过的项目。每个项目 UU 关联有一组特征 M\mathcal{M}。每个特征 mMm \in \mathcal{M} 有一个词汇表 VmV_m,将其值映射到整数 ID。例如,如果项目是电影,那么特征可能是 M=(名称, 类型, 评分)\mathcal{M} = (\text{名称, 类型, 评分}),其中 V名称,V类型V_{\text{名称}}, V_{\text{类型}} 将文本值映射到 ID,而 V评分V_{\text{评分}} 将数值评分映射到 ID。 本文的目标是开发一个框架,通过 SuS_u 对一个解码器专用的 LLM 进行上下文感知,使其能够根据给定查询 QQ 为用户 uu 生成个性化响应 AuA_u

4.2. USER-LLM 框架概述

USER-LLM 框架由一个基于 ID 的用户编码器 (user encoder) 和一个解码器专用的 LLM 组成,如图 2 (b) 所示。推理过程分为两个阶段:

  1. 用户嵌入生成 (User Embedding Generation): 用户编码器从用户的历史交互序列中生成用户嵌入。

  2. LLM 上下文感知 (LLM Contextualization): 生成的用户嵌入通过交叉注意力机制集成到 LLM 中,为 LLM 提供额外的上下文和指导,以生成个性化响应。

    以下是原文 Figure 2 的概览图,展示了 USER-LLM 的自回归 Transformer 编码器预训练和 LLM 上下文感知过程。

    fig 1 该图像是示意图,展示了User-LLM框架的结构,包括自回归编码器、用户编码器和LLM解码器。图中还显示了用户时间线如何与用户嵌入结合,通过交叉注意力机制实现动态响应生成,并展现了输入与输出的示例。

4.3. 用户嵌入生成

USER-LLM 利用基于 Transformer 的编码器,从基于 ID 的交互序列中生成用户嵌入。

4.3.1. 项目特征表示

假设每个项目有 MM 个特征 (M=M)(|M| = M)。一个包含 LL 个项目的基于 ID 的用户时间线序列可以表示为: su=[(x1,m1,,x1,mM),,(xL,m1,,xL,mM)] s_u = [(x_{1,m_1}, \dots, x_{1,m_M}), \dots, (x_{L,m_1}, \dots, x_{L,m_M})] 其中 xi,mj=Vmj[mjvi]x_{i,m_j} = V_{m_j}[m_j^{v_i}] 表示项目 viv_i 的特征 mjm_j 的 ID。

每个元素 ID 都有其独特的嵌入表示。为了获得项目的统一表示,本文将不同特征的嵌入组合成一个单一的嵌入。 令 EmjRVmj×djE_{m_j} \in \mathbb{R}^{|V_{m_j}| \times d_j} 是与 VmjV_{m_j} 关联的嵌入矩阵,其中 djd_j 是特征 mjm_j 的嵌入维度。对于项目 viv_i,融合嵌入 (fused embedding) fif_i 的计算方式为: fi=[Em1(xi,m1);Em2(xi,m2);;EmM(xi,mM)] f_i = [E_{m_1}(x_{i,m_1}); E_{m_2}(x_{i,m_2}); \dots; E_{m_M}(x_{i,m_M})] 其中 [.;:] 表示向量拼接 (concatenation)。 为了降低融合嵌入的维度,本文将 fif_i 投影到维度为 ddfif_i'

4.3.2. 自回归用户编码器 (Autoregressive User Encoder)

如 Figure 2 (a) 所示,一个自回归 Transformer,记作 T\mathcal{T},将融合嵌入序列 F=[f1,f2,,fL]F' = [f_1', f_2', \dots, f_L'] 输入到 Transformer 解码器中,并输出嵌入 Esu=T(F)E_{s_u} = \mathcal{T}(F'),其中 EsuRL×dE_{s_u} \in \mathbb{R}^{L \times d}。这些嵌入将在下一阶段用于 LLM 的上下文感知。

注: 框架具有适应性,支持各种用户编码器。论文也实验了其他替代方案,如双编码器 (Dual Encoders),并取得了有竞争力的结果。

4.4. LLM 上下文感知与用户嵌入

USER-LLM 使用交叉注意力机制将用户嵌入与 LLM 集成,如图 2 (b) 所示。用户编码器输出的嵌入通过一个投影层进行降采样 (down sampled),然后与 LLM 内部的中间文本表示进行交叉注意力,类似于 Flamingo (Alayrac et al. 2022) 的工作方式。

EsuE_{s_u} 表示编码器输出,CrossAttn(Q, K, V) 是交叉注意力机制。对于交叉注意力, QQ 是 LLM 的输入,而 KKVV 则与交叉输入 EsuE_{s_u} 的维度兼容。 令 OiO_iIi+1I_{i+1} 分别表示第 ii 个和第 (i+1)(i+1) 个自注意力层 (self-attention layer) 的输出和输入。 LLM 启用交叉注意力层的计算流程如下:

  1. 层归一化 (Layer Normalization): Oi=LayerNorm(Oi)(1) O_i = \mathrm{LayerNorm}(O_i) \quad (1)
    • OiO_i: 第 ii 个自注意力层的输出。
    • LayerNorm()\mathrm{LayerNorm}(\cdot): 层归一化操作,对 OiO_i 进行归一化处理,有助于训练稳定。
  2. 交叉注意力 (Cross-Attention): Oi=CrossAttn(Oi,Esu,Esu)+Oi(2) O_i = \operatorname {CrossAttn}(O_i, E_{s_u}, E_{s_u}) + O_i \quad (2)
    • CrossAttn()\operatorname {CrossAttn}(\cdot): 交叉注意力函数。在这里,LLM 的中间文本表示 OiO_i 作为查询 QQ,而用户嵌入 EsuE_{s_u} 同时作为键 KK 和值 VV。这意味着 LLM 的文本信息通过查询用户嵌入来获取用户上下文信息。
    • +Oi+ O_i: 残差连接 (residual connection),将交叉注意力的输出与原始输入 OiO_i 相加,有助于信息流动和防止梯度消失。
  3. 前馈网络 (Feed-Forward Network): Ii+1=Fedforward(Oi)(3) I_{i+1} = \mathrm{Fedforward}(O_i) \quad (3)
    • Fedforward()\mathrm{Fedforward}(\cdot): 前馈网络,对交叉注意力后的输出 OiO_i 进行非线性变换。其输出 Ii+1I_{i+1} 将作为下一个自注意力层的输入。

4.4.1. 门控交叉注意力 (Gated Cross-Attention)

为了进一步探究编码器和 LLM 之间的交叉注意力机制,本文还在 USER-LLM 中实现了门控交叉注意力,通过在 LLM 的自注意力堆栈之间插入仅包含门控交叉注意力 (gated cross-attention-only) 的层。这里采用了 Flamingo 风格的门控机制 (Alayrac et al. 2022) 来控制交叉注意力信号对 LLM 的贡献。具体而言,在公式 (2) 中引入一个介于 0 和 1 之间的标量: Oi=tanh(αi)×CrossAttn(Oi,Esu,Esu)+Oi(4) O_i = \mathbf{tanh}\big(\alpha_i\big) \times \mathrm{CrossAttn}(O_i, E_{s_u}, E_{s_u}) + O_i \quad (4)

  • αi\alpha_i: 一个可训练的、零初始化的标量,用于门控第 ii 个交叉注意力层。

  • tanh(αi)\mathbf{tanh}(\alpha_i): tanh 激活函数将 αi\alpha_i 的值映射到 (-1, 1) 之间。在零初始化时,tanh(0)=0tanh(0)=0,意味着初始时不引入交叉注意力,模型可以逐步学习其重要性。当 αi\alpha_i 训练收敛后,tanh(αi)\mathbf{tanh}(\alpha_i) 将控制交叉注意力信号的强度。

    通过这种方法,LLM 可以在具有层特定(由 αi\alpha_i 调节)交叉注意力权重的编码器输出和 Transformer 层之间进行交叉注意力。

注: 框架也适应于不同的集成机制,包括将嵌入预置为软提示 (soft-prompt) (Lester, Al- Froi, and Constant 2021)。

4.5. 训练框架

为了有效地从用户交互数据中提取信息,并教会 LLM 理解用户嵌入中编码的信息,本文提出了一个两阶段的训练框架:用户编码器预训练 (user-encoder pretraining) 和编码器-LLM 微调 (encoder-LLM finetuning)。

4.5.1. 用户编码器预训练 (User-encoder Pretraining)

在第一阶段,本文对自回归 Transformer 进行用户交互序列的预训练,使其学习如何从输入数据中提取信息。如第 3.2 节所述,自回归 Transformer 接收基于 ID 的用户交互序列,并输出嵌入 EsuE_{s_u}。 为了进行预训练,解码器输出被投影回原始特征维度,使用特征特定的投影矩阵 Wm1Rd×d1,Wm2Rd×d2,,WmMRd×dMW_{m_1} \in \mathbb{R}^{d \times d_1}, W_{m_2} \in \mathbb{R}^{d \times d_2}, \dots, W_{m_M} \in \mathbb{R}^{d \times d_M}。 对于 Transformer 输出的第 ii 个嵌入 eiEe_i \in E,其投影到特征 mjm_j 的表示 hmj,ih_{m_j,i} 为: hmj,i=Wmjeih_{m_j,i} = W_{m_j}e_i

  • WmjW_{m_j}: 针对特征 mjm_j 的投影矩阵。
  • eie_i: Transformer 编码器输出的第 ii 个嵌入。
  • hmj,ih_{m_j,i}: 将第 ii 个嵌入 eie_i 投影到特征 mjm_j 维度后的表示。

4.5.2. 损失计算 (Loss Calculation)

每个特征的交叉熵损失 (cross-entropy loss) 是使用特征特定投影的 logits 计算的: Lmj=1Li=1Llog(softmax(hmj,i))(fmj,i+1) \mathcal{L}_{m_j} = -\frac{1}{L}\sum_{i=1}^L\log (\mathrm{softmax}(h_{m_j,i}))(f_{m_j,i+1}')

  • Lmj\mathcal{L}_{m_j}: 特征 mjm_j 的交叉熵损失。
  • LL: 用户时间线序列的长度。
  • hmj,ih_{m_j,i}: 如前所述,是第 ii 个嵌入投影到特征 mjm_j 维度后的表示,作为 softmax 的输入(即 logits)。
  • softmax()\mathrm{softmax}(\cdot): 将 logits 转换为概率分布。
  • fmj,i+1f_{m_j,i+1}': 第 i+1i+1 步(即下一个项目)特征 mjm_j 的投影融合嵌入,作为真实标签 (ground truth)。这个损失函数旨在预测序列中的下一个项目特征。
  • 注: 论文原文公式末尾有 wheref_{m_j,i+1}'is the projected fused embedding for featurem_jat stepi+1. The overall loss is the average of cross-entropy losses across features:\mathcal{L} = \frac{1}{i}\sum_{j=1}^{i}\mathcal{L}m_j,这里的 $f_{m_j,i+1}'$ 应该是指目标 ID 的 one-hot 向量。 总损失是所有特征的交叉熵损失的平均值: \mathcal{L} = \frac{1}{M}\sum{j=1}^{M}\mathcal{L}{m_j} * $\mathcal{L}$: 总损失。 * $M$: 项目特征的总数。 * $\mathcal{L}_{m_j}$: 特征 $m_j$ 的交叉熵损失。 **注:** 原文此处公式中使用了 $i$ 作为求和上限和分母,但上下文表明 $i$ 指的是特征数量。此处为了清晰和符合逻辑,将 $i$ 替换为 $M$ (即特征数量)。如果严格按照原文,则是 $\mathcal{L} = \frac{1}{i}\sum_{j=1}^{i}\mathcal{L}_{m_j}$。 ### 4.5.3. 编码器-LLM 微调 (Encoder-LLM Finetuning) 在第二阶段,将预训练的用户编码器与 LLM 集成,并进行协同微调。这一阶段的目标是让 LLM 学习如何利用用户嵌入中编码的信息来生成个性化响应。微调可以采用多种策略: * **Full Finetuning (Full):** 微调用户编码器、投影层和 LLM 的所有参数。 * **LoRA Finetuning (LoRA):** 使用 `LoRA` 技术微调 LLM,同时微调用户编码器和投影层。 * **Encoder Finetuning (Enc):** 仅微调用户编码器和投影层,冻结 LLM 的参数。 * **Projection Layer Finetuning (Proj):** 仅微调投影层,冻结用户编码器和 LLM 的参数。 # 5. 实验设置 ## 5.1. 数据集 实验在三个公开数据集上进行,这些数据集涵盖了不同的用户交互场景和特征类型。为了评估一致性,每个用户的最新交互被用作测试样本,并且不包含在训练集中。 以下是原文 Table 1 的数据集统计信息: 以下是原文 Table 1 的结果: <div class="table-wrapper"><table><tr><td>Datasets</td><td>#Users</td><td>#Items</td><td>#Train</td><td>Seq Len</td></tr><tr><td>MovieLens20M</td><td>82,977</td><td>27,280</td><td>13,821,405</td><td>50</td></tr><tr><td>Google Review</td><td>80,080</td><td>270,721</td><td>3,387,375</td><td>50</td></tr><tr><td>Amazon Review</td><td>5,756</td><td>177,978</td><td>357,258</td><td>50</td></tr></table></div> * **MovieLens20M:** * **来源:** 广泛用于评估个性化和推荐算法的基准数据集 (Harper and Konstan 2015)。 * **特点:** 交互模态包括电影名称、类型和评分。 * **规模:** 82,977 用户,27,280 项目,训练数据 13,821,405 条,序列长度 50。 * **Google Local Review Dataset:** * **来源:** 包含 Google 地图上的评论信息,截至 2021 年 9 月 (Li, Shang, and McAuley 2022; Yan et al. 2023)。实验中使用纽约地区的数据。 * **特点:** 交互模态包括地点名称、地点类别、评分和评论。 * **规模:** 80,080 用户,270,721 项目,训练数据 3,387,375 条,序列长度 50。 * **Amazon Review Dataset:** * **来源:** 从 Amazon.com 抓取的一系列产品评论数据集 (He and McAuley 2016)。实验中使用 "Movie_and_TV" 类别。 * **特点:** 交互模态包括产品标题、产品类别、评分和评论摘要(用户撰写的简短意见摘要)。 * **规模:** 5,756 用户,177,978 项目,训练数据 357,258 条,序列长度 50。 **任务类型:** 为了满足不同的评估需求,实验评估了模型在三类开放式文本生成任务上的表现,这些任务旨在证明 `User-LLM` 从历史交互中理解用户偏好并提供个性化响应的能力。 * <strong>下一个项目预测 (Next item prediction):</strong> 给定一个历史项目序列,模型预测下一个用户可能交互的项目。例如,根据用户已观看的电影 ID 序列预测他会看的下一部电影。 * <strong>最喜爱类型或类别预测 (Favorite genre or category prediction):</strong> 模型根据项目序列预测用户最喜爱的类型或类别(例如,给定电影 ID 序列预测最喜爱的电影类型)。最喜爱类型或类别定义为用户历史中出现频率最高的一个。 * <strong>评论生成 (Review generation):</strong> 该任务超越了简单的预测。模型必须生成实际的评论,利用多个输入特征(例如,电影 ID、类型和评分)。这些特征被编码以生成嵌入,从而指导模型为给定项目生成用户可能的评论。 ## 5.2. 评估指标 论文使用了针对不同任务的评估指标: ### 5.2.1. 召回率 (Recall@K) `召回率 (Recall@K)` 是一种在推荐系统或信息检索中常用的评估指标,用于衡量模型在预测前 K 个结果中,实际相关项目被找回的比例。 * **概念定义:** `Recall@K` 表示在模型给出的推荐列表的前 $K$ 个项目中,有多少比例的真实相关项目被成功召回。它关注的是模型“找全”相关项目的能力。 * **数学公式:** \mathrm{Recall@K} = \frac{|{\text{推荐列表中的前 } K \text{ 个项目}} \cap {\text{真实相关项目}}|}{|{\text{真实相关项目}}|} * **符号解释:** * $K$: 推荐列表的长度限制。 * $|\cdot|$: 集合中元素的数量。 * $\{\text{推荐列表中的前 } K \text{ 个项目}\}$: 模型给出的前 $K$ 个推荐项目集合。 * $\{\text{真实相关项目}\}$: 用户实际交互或感兴趣的所有相关项目集合。 ### 5.2.2. 准确率 (Accuracy) `准确率 (Accuracy)` 是一种分类任务中常用的评估指标,用于衡量模型正确预测的样本比例。 * **概念定义:** `准确率` 是指模型正确预测的样本数量占总样本数量的比例。它衡量了模型整体的正确性。 * **数学公式:** \mathrm{Accuracy} = \frac{\text{正确预测的样本数量}}{\text{总样本数量}} * **符号解释:** * $\text{正确预测的样本数量}$: 模型预测结果与真实标签一致的样本数量。 * $\text{总样本数量}$: 所有被评估的样本数量。 ### 5.2.3. ROUGE (Recall-Oriented Understudy for Gisting Evaluation) `ROUGE` 是一套用于评估自动文本摘要和机器翻译质量的指标。在评论生成任务中,`ROUGE-L` 通常用于评估生成评论与真实评论之间的重叠程度。 * **概念定义:** `ROUGE-L` 基于最长公共子序列 (Longest Common Subsequence, LCS) 来衡量生成文本(候选摘要)与参考文本(真实摘要)之间的相似性。它能够捕捉句子结构和词序的相似性,即使词语不连续出现。`ROUGE-LSum` 则是对整个摘要或评论进行 `ROUGE-L` 计算,通常在多行文本上求和。 * <strong>数学公式 (ROUGE-L 的计算,ROUGE-LSum 是其在多文本上的扩展):</strong> \mathrm{R}{\mathrm{LCS}} = \frac{\mathrm{LCS}(\text{Reference}, \text{Candidate})}{\text{长度}(\text{Reference})} \mathrm{P}{\mathrm{LCS}} = \frac{\mathrm{LCS}(\text{Reference}, \text{Candidate})}{\text{长度}(\text{Candidate})} \mathrm{F}{\mathrm{LCS}} = \frac{(1 + \beta^2)\mathrm{R}{\mathrm{LCS}}\mathrm{P}{\mathrm{LCS}}}{\mathrm{R}{\mathrm{LCS}} + \beta^2\mathrm{P}{\mathrm{LCS}}} $$ 在 ROUGE-L 中,通常使用 F-measure,其中 β\beta 通常设置为 1,即 F1-score。
  • 符号解释:
    • LCS(Reference,Candidate)\mathrm{LCS}(\text{Reference}, \text{Candidate}): 参考文本和生成文本之间最长公共子序列的长度。
    • 长度(Reference)\text{长度}(\text{Reference}): 参考文本的词语数量。
    • 长度(Candidate)\text{长度}(\text{Candidate}): 生成文本的词语数量。
    • RLCS\mathrm{R}_{\mathrm{LCS}}: 基于 LCS 的召回率。
    • PLCS\mathrm{P}_{\mathrm{LCS}}: 基于 LCS 的精确率。
    • FLCS\mathrm{F}_{\mathrm{LCS}}: 基于 LCS 的 F-measure,是召回率和精确率的调和平均值。

5.3. 对比基线

实验将 User-LLM 与以下两种基线方法进行比较:

  • 文本提示 (Text Prompt, TP): 通过使用从用户时间线数据中提取的原始文本输入来微调 LLM,从而进行上下文感知。这是目前将用户历史集成到 LLM 的常见方法。
  • 文本摘要 (Text Summarization, TS): 通过对从用户时间线数据中提取的原始文本进行摘要,然后使用这些摘要来微调 LLM 进行上下文感知。具体而言,首先使用 Gemini-M 模型生成用户历史原始文本输入的摘要,然后使用这些摘要微调 PaLM-2 XXS 来完成不同任务。由于计算资源限制,该基线仅在 Amazon Review 数据集上进行了比较。

5.4. 实验设置

  • 用户编码器: 实验使用自回归 Transformer 作为用户嵌入生成器。
  • LLM 模型: 使用 PaLM-2 XXS (Anil et al. 2023) 作为预训练的 LLM。
  • 用户编码器架构: 一个 6 层、128 维的 Transformer,具有 8 个头 (heads)。
  • Perceiver 模块: 使用 6 个交叉注意力层和 16 维的查询 (query) 维度构建。
  • LoRA 调优: 所有 LoRA 调优实验的秩 (rank) 均为 8。
  • 协同训练策略: 探讨了 Section 3.3 中描述的四种训练策略(Full, LoRA, Enc, Proj),并评估了使用预训练编码器与随机初始化编码器的影响。
  • 超参数: 详见附录 B,涵盖学习率、权重衰减、批处理大小和训练步数等。

6. 实验结果与分析

本节将比较 USER-LLM 在不同任务和基线下的模型性能和效率,并进行消融研究。

6.1. 性能与效率比较

6.1.1. 总体性能与效率

本文的 USER-LLM 方法在效率和性能上均表现出色。

以下是原文 Table 2 的结果:

DatasetTaskMetricsText-PromptUser-LLMRelative Improvement FLOPs Reduction
MovieLens 20MNextItemRecall@50.1400.15410.00%21.9X
FavGenreAccuracy0.7870.7870.00%
Google ReviewNextItemRecall@50.0570.052-8.77%12X
FavCategoryAccuracy0.7410.86216.33%12X
ReviewGenRouge10.2011.7214.90%16X
Amazon ReviewNextItemRecall@50.0420.04711.90%16X
FavCategoryAccuracy0.8850.8900.57%16X
ReviewGenRouge22.8226.3815.59%16X

分析:

  • 效率提升: USER-LLM 实现了显著的效率提升,与 Text Prompt 基线相比,FLOPs 减少了 12 到 21.9 倍。这证明了通过用户嵌入表示用户时间线的有效性。

  • 性能优越性: USER-LLM 在所有三个数据集的大多数任务上持续优于 Text Prompt 基线,性能提升高达 16.33%(在 Google Review 的 FavCategory 任务上)。这表明 USER-LLM 在需要深度用户理解的任务上表现出色。

  • 通用性: 尽管用户编码器在下一个项目预测任务上进行预训练,但 USER-LLM 能够很好地泛化到多样化的个性化任务(如最喜爱类型/类别预测、评论生成),这些任务需要对用户有深入理解。

  • 例外情况: Google Review 的下一个项目任务是唯一的例外,USER-LLM 的表现略低。这可能与数据集的特定性质或任务的内在难度有关。

    以下是原文 Figure 5 的结果,比较了 USER-LLMText Prompt (TP)Text Summarization (TS) 在 Amazon Review 数据集上三个任务的性能。

    fig 5

    分析:

  • Token 效率: USER-LLM 在所有三个任务中始终以显著更少的 tokens 实现了卓越的性能。这突出表明直接嵌入用户历史作为独立模态的有效性。

  • 性能优势: 在相同或更少的 tokens 数量下,USER-LLM 达到了更高的 Recall@5AccuracyRouge 分数,尤其是在 Next Review Generation 任务中,USER-LLM 即使在 tokens 数量很低的情况下也明显优于其他两种方法。

6.1.2. 不同上下文长度的影响

为了理解输入长度对性能和效率的影响,本文在 MovieLens20M 上训练了不同预定义序列长度(50、100 和 200 个项目)的 USER-LLM

以下是原文 Table 4 的结果:

Len50Len100Len200
#TokensUSER-LLM3232
TP7001350
FLOPs Reduction21.9X42.2X78.1X
Performance improvementUnfrozern LLM1.10X1.23X
Frozen LLM28.7X29.7X97X

分析:

  • 计算优势: 随着输入序列长度的增加,Text Prompt 方法所需的输入 tokens 数量按比例增加(长度 50、100、200 分别对应 700、1350、2500 个 tokens,此处原文表格数据与正文描述有出入,以表格为准),导致计算成本和内存需求大幅增加。相比之下,USER-LLM 利用用户编码器将用户活动序列压缩为紧凑的嵌入。这使得 LLM 可以在固定长度为 32 tokens 的输入上运行,无论输入序列长度如何。
  • FLOPs 减少: 当输入序列长度达到 200 时,USER-LLM 相比 Text Prompt 基线实现了高达 78.1 倍FLOPs 减少。
  • 性能提升: USER-LLM 在未冻结 LLM 和冻结 LLM 的情况下,性能均优于 Text Prompt。特别是对于冻结 LLM,性能提升达到 28.7X 到 97X,这表明 USER-LLM 在保持 LLM 固有知识的同时,能有效整合用户偏好。

6.1.3. 冻结 LLM 的效果

USER-LLM 在冻结 LLM(Enc 训练策略)的情况下,性能优于使用全量微调和 LoRA 调优的 Text Prompt 基线。它甚至能达到与未冻结 LLM 的 USER-LLM 相当的性能。这表明 USER-LLM 能够有效地将用户偏好上下文化,同时保护 LLM 的预训练知识,避免了 Text Prompt 方法可能导致的灾难性遗忘。

6.1.4. 参数效率

USER-LLM 只需要更少的参数即可达到有竞争力的性能。

以下是原文 Table 3 的结果:

DatasetTaskMetricFullLoRAEncProj
MovieLens 20MNextItem
FavGenre
Recall@1
Recall@1
0.0550.0510.0500.023
0.7870.7870.7860.743
Google ReviewNextItem
FavCat
ReviewG
Recall@1
Recall@1
0.0150.0160.0150.015
0.8620.8440.8440.616
0.6660.6660.6640.6660.6660.666
Amazon ReviewNextItem
FavCat
ReviewG
Recall@1
Recall@1
0.0370.0280.0280.014
0.8900.8870.8850.850
0.2490.2460.2500.194

分析:

  • Inc 策略表现: Enc (仅微调编码器和投影层,冻结 LLM) 训练策略在许多任务上实现了与 Full (全量微调) 相当的任务准确率,但所需调优参数显著减少。这得益于对用户编码器和 LLM 预训练权重的有效利用。
  • 资源受限场景: 这使得 USER-LLM 成为在资源受限设备上个性化 LLMs 的参数高效解决方案。

6.2. 消融实验

6.2.1. 预训练的益处

本文研究了预训练用户编码器对下游任务的益处。

以下是原文 Table 6 的结果:

DatasetTaskcross-attentionsoft prompt
PTRD
MovieLensNextItem0.0550.0430.047
20MFavGenre0.7870.7820.787
Google ReviewNextItem0.0150.0150.013
FavCat0.8620.8530.822
ReviewG11.7211.439.06
Amazon ReviewNextItem0.0370.0260.031
FavCat0.8900.8820.894
ReviewG26.3823.1225.80

分析:

  • 预训练编码器优势: 在 Table 6 中,PT (Pretrained encoder) 列的结果普遍优于 RD (Randomly initialized encoder) 列。这表明预训练使用户编码器能够有效地捕捉用户偏好,在协同训练阶段为 LLM 提供有价值的上下文。

6.2.2. 软提示 (Soft Prompt) vs. 交叉注意力 (Cross Attention)

本文比较了 User-LLM 与另一种编码器-LLM 集成策略——“软提示”的性能。

分析:

  • 交叉注意力优势: 在 Table 6 的最后一列中,cross-attention (PT) 的性能通常优于 soft-prompt 方法。这种优势在两个评论生成任务中尤为显著(Google Review 的 ReviewG 11.72 vs 9.06,Amazon Review 的 ReviewG 26.38 vs 25.80),这表明交叉注意力机制使 LLM 能够更好地从用户嵌入中提取和利用丰富的用户信息。这突出表明了交叉注意力对于需要细致理解人类意图的任务的价值。

6.2.3. 门控交叉注意力 (Gated Cross-attention)

本文通过使用包含可训练门控参数 α\alpha 的门控交叉注意力层进一步评估了 USER-LLM 中的交叉注意力机制。

以下是原文 Figure 4 的结果,展示了不同交叉注意力层收敛的门控参数 (Alpha) 值。

fig 3

分析:

  • 注意力分布: Figure 4 显示了在下一个项目预测模型中,18 个门控交叉注意力层的 α\alpha 值。α\alpha 值表明,LLM 的上层更显著地关注编码器输出,而不是下层。
  • 语义处理: 由于编码器输出的用户嵌入通常捕获用户属性和兴趣等高层语义,这一结果表明 USER-LLM 中的上层可能处理此类语义信息,因此更多地关注编码器输出。
  • 与先前工作的关联: 有趣的是,Geva 等人 (2021) 的先前工作表明,Transformer 中下层的键 (keys) 更倾向于浅层表面特征,而上层的键则捕获语义主题。这些分析为 User-LLM 中交叉注意力优于软提示提供了合理的解释。

6.2.4. Autoregressive Encoder vs. Dual Encoder

附录 C 和 E.1 进一步比较了自回归编码器 (Autoregressive Encoder, AR) 和双编码器 (Dual Encoder, DE)。

以下是原文 Table 9 的结果:

Dataset Metric AREnc-Xatten(USER-LLM) DualEnc-Xatten
Full LoRA Enc Proj Full LoRA Enc Proj
PT RD PT RD PT RD PT RD PT RD PT RD PT RD PT RD
MovieLens 20M R@1 0.055 0.041 0.051 0.043 0.050 0.041 0.023 0.002 0.044 0.025 0.034 0.010 0.032 0.001
R@5 0.154 0.133 0.164 0.136 0.164 0.133 0.134 0.008 0.142 0.102 0.116 0.047 0.107 0.008
R@10 0.243 0.203 0.244 0.205 0.243 0.204 0.203 0.013 0.218 0.169 0.182 0.076 0.166 0.012
Google Review R@1 0.015 0.015 0.016 0.015 0.015 0.015 0.015 0.015 0.014 0.015 0.014 0.015 0.015 0.015
R@5 0.052 0.052 0.050 0.050 0.051 0.050 0.042 0.046 0.044 0.047 0.049 0.049 0.049 0.049
R@10 0.071 0.071 0.070 0.070 0.070 0.070 0.070 0.057 0.066 0.063 0.061 0.067 0.064 0.064
Amazon Review R@1 0.037 0.023 0.028 0.018 0.028 0.022 0.014 0.000 0.020 0.005 0.016 0.002 0.008 0.000
R@5 0.047 0.031 0.035 0.026 0.034 0.029 0.019 0.004 0.024 0.010 0.009 0.005 0.010 0.002
R@10 0.051 0.037 0.038 0.029 0.036 0.030 0.021 0.006 0.026 0.014 0.019 0.009 0.011 0.003
MovieLens 20M FavGenre R@1 0.787 0.778 0.787 0.779 0.786 0.778 0.743 0.484 0.775 0.704 0.776 0.759 0.649 0.484
FavGenre R@5 0.996 0.994 0.996 0.994 0.994 0.994 0.993 0.991 0.994 0.993 0.990 0.976 0.931 0.931
FavGenre R@10 0.999 0.999 0.999 0.999 0.999 0.999 0.999 0.999 0.987 0.987 0.999 0.997 0.998 0.997
Google Review FavCat R@1 0.862 0.853 0.844 0.785 0.844 0.775 0.615 0.142 0.797 0.642 0.760 0.508 0.271 0.142
FavCat R@5 0.951 0.944 0.938 0.915 0.937 0.911 0.855 0.520 0.924 0.842 0.885 0.711 0.607 0.605
FavCat R@10 0.964 0.956 0.948 0.941 0.949 0.936 0.909 0.660 0.944 0.871 0.914 0.798 0.763 0.661
Amazon Review FavCat R@1 0.890 0.882 0.887 0.884 0.885 0.886 0.850 0.223 0.854 0.745 0.843 0.714 0.312 0.223
FavCat R@5 0.934 0.948 0.919 0.931 0.917 0.930 0.918 0.663 0.912 0.870 0.898 0.866 0.694 0.662
FavCat R@10 0.944 0.958 0.919 0.934 0.919 0.919 0.923 0.793 0.934 0.925 0.930 0.903 0.846 0.793
Google Review Rouge 11.72 11.43 11.64 11.55 11.76 11.56 9.61 8.05 11.71 11.04 11.76 10.82 9.18 6.62
Amazon Review Rouge 26.38 23.12 24.56 25.00 24.30 25.18 19.04 17.30 23.83 18.1 21.11 20.78 18.92 18.53

分析:

  • 自回归编码器 (AR) 表现更优: 在 Table 9 中,自回归编码器 (AREnc-Xatten) 在所有数据集和任务上,无论采用何种训练策略以及是否预训练,都持续优于双编码器 (DualEnc-Xatten)。这表明自回归 Transformer 在捕捉用户时间线中的长期依赖和上下文关系方面表现更强。
  • 训练策略的影响: Full (全量微调) 和 Enc (仅微调编码器) 策略通常表现最好,这与之前参数效率的发现一致。Proj (仅微调投影层) 策略通常表现最差,这说明仅仅调整投影层不足以有效地将用户嵌入信息传递给 LLM。

6.2.5. 长期和短期用户上下文的结合

USER-LLM 可以结合长期和短期用户上下文。通过将长期用户历史输入用户编码器生成紧凑的用户嵌入,同时使用短期用户交互提示 LLM。

以下是原文 Table 8 的结果:

DatasetRecallTextPromptUser-LLM
TP10TP50AR50AR50TP10
MovieLens 20M@10.0490.0490.0550.059
@50.1420.1400.1540.173
@100.2110.2060.2430.252
Google Review@10.0210.0210.0150.021
@50.0600.0610.0520.061
@100.0820.0860.0710.082
Amazon Review@10.0380.0340.0370.041
@50.0470.0420.0470.051
@100.0500.0470.0510.055

分析:

  • 结合优势: USER-LLM (AR50TP10) 在结合长期嵌入(50 个用户事件输入编码器)和短期文本提示(10 个最新事件作为 LLM 输入)时,通常在下一个项目预测任务中取得更好的结果。
  • 克服文本提示局限: 相比仅有短期上下文的 TextPrompt (TP10),AR50TP10 通过提供长期用户信息而表现更优。
  • 效率与信息: 相比有长期上下文的 TextPrompt (TP50),AR50TP10 通过高效地提取有意义的用户表示而表现更优。
  • 语义与自然语言: 相比仅使用长期用户数据的 AR50AR50TP10 中的短期上下文为模型提供了额外的关于项目名称的自然语言信息,从而在保持计算效率的同时,改进了下一个项目名称预测。

6.2.6. Perceiver 层的影响

以下是原文 Table 5 的结果:

TaskUSER-LLM+Perceiver
FullEncFullEnc
NextItem0.0550.0500.0540.054
FavGenre0.7870.7860.7840.784
Tokens5016 (-68%)

分析:

  • Token 减少: 结合 Perceiver 层 (+Perceiver+Perceiver) 后,USER-LLM 能够将嵌入 tokens 的数量从 50 减少到 16,实现了 68%tokens 减少。
  • 性能保持: 尽管 tokens 数量大幅减少,但在 NextItemFavGenre 任务上的性能仍然保持在竞争水平(例如,NextItemFull 策略从 0.055 变为 0.054)。这表明 Perceiver 层有效地压缩了用户嵌入信息,同时几乎没有性能损失,进一步提升了计算效率。

6.3. 评论生成示例

附录 F 展示了一些 Amazon/Google 评论生成任务的示例。 分析:

  • 个性化响应: USER-LLM 生成的个性化响应与用户偏好和背景表现出更高的一致性,与非个性化响应相比更贴合。
  • 与真实评论的差距: 尽管 USER-LLM 生成的个性化响应与真实评论之间仍存在差异,但模型能够生成反映特定用户特征和倾向的评论,这体现了其在深度用户理解方面的能力。例如,针对电影《A.I. – 人工智能》,个性化响应提到了“如果你喜欢科幻,并且正在寻找一部不仅好看而且具有教育意义和乐趣的电影”,这与普通响应“A.I. - 人工智能”相比,明显更具用户洞察力。

7. 总结与思考

7.1. 结论总结

本文提出了 USER-LLM 框架,一种通过用户嵌入对大型语言模型 (LLMs) 进行上下文感知的新方法。该框架通过在多样化用户交互数据上进行自监督学习预训练的用户编码器,捕捉用户的隐性偏好及其随时间演变。通过交叉注意力机制将这些用户嵌入与 LLMs 集成,User-LLM 能够动态地根据用户的历史行为和偏好调整其响应。

实验结果表明,User-LLM 在 MovieLens、Amazon Review 和 Google Local Review 数据集上,在需要深度用户理解的任务中,持续优于基于文本提示的方法,尤其在处理长用户交互历史时表现更佳。此外,User-LLM 展现出显著的计算效率,推理速度提升高达 78.1 倍,并通过 Perceiver 层的引入进一步优化了效率。其参数效率也使得在资源受限的环境下进行 LLM 个性化成为可能。

7.2. 局限性与未来工作

论文作者指出了以下局限性及未来的研究方向:

  • 用户嵌入生成优化: 未来的研究方向包括通过更先进的预训练技术来优化用户嵌入的生成。
  • 用户嵌入与语言模型的对齐: 进一步深入研究用户嵌入与语言模型之间的对齐问题,以实现更深层次的用户上下文理解。
  • 任务多样性与泛化能力: 在更广泛的任务范围内训练 User-LLM,以进一步增强其泛化能力和对不同用户场景的适应性。

7.3. 个人启发与批判

7.3.1. 个人启发

  1. 模态扩展思维: User-LLM 借鉴了图像-文本多模态融合的思路,将用户历史交互抽象为一种“用户模态”,并为其设计专门的编码器。这种将非文本、非图像的结构化数据(如用户行为序列)提升为独立模态进行处理的思维,对于未来 LLM 与更广泛数据类型的融合具有重要启发。例如,可以将传感器数据、日志数据等也抽象为特定模态,通过嵌入方式与 LLM 融合。
  2. 效率与效果的平衡点: 论文通过用户嵌入极大地提高了推理效率,同时保持甚至提升了性能。这表明在 LLM 应用中,并非所有信息都需要以冗长的自然语言形式呈现,高度抽象和压缩的表示(如嵌入)在特定场景下能更好地平衡计算成本和信息利用。这对于设计实时、大规模的个性化 AI 系统至关重要。
  3. 预训练与微调策略: User-LLM 的两阶段训练框架和对不同微调策略(特别是冻结 LLM 参数的 Enc 策略)的探索,为在实际应用中如何高效、经济地个性化 LLM 提供了宝贵的经验。在计算资源有限的场景下,仅微调用户编码器部分可以大大降低成本,同时避免 LLM 灾难性遗忘。
  4. 交叉注意力的深度利用: 通过门控交叉注意力分析,揭示了 LLM 上层更关注高层语义的用户嵌入信息。这不仅验证了交叉注意力的有效性,也为未来多模态或多源信息融合模型的架构设计提供了理论指导:不同层级的 LLM 可能对不同粒度的外部信息有不同的偏好。

7.3.2. 批判

  1. 用户嵌入的可解释性: 虽然用户嵌入有效地捕捉了用户偏好,但其内部的可解释性较低。当模型给出不符合预期的个性化响应时,很难追溯是用户编码器的问题、LLM 理解嵌入的问题,还是交叉注意力机制的问题。未来工作可以探索如何将可解释性方法融入用户嵌入的生成和利用过程中。
  2. 用户编码器的泛化能力: 用户编码器在三个特定领域(电影、评论、购物)上进行了预训练。其在完全不同的用户行为数据(如医疗健康、金融交易)上的泛化能力仍需验证。不同领域的用户行为模式可能差异巨大,需要针对性地设计或调整用户编码器。
  3. 特征工程的依赖: 用户嵌入的质量高度依赖于输入特征的设计(如电影名称、类型、评分等)。如果原始用户交互数据缺乏丰富的特征,或者特征工程不够精细,用户嵌入可能无法充分捕捉用户偏好。虽然论文提到支持多种用户编码器架构,但在特征的选择和表示上仍有改进空间。
  4. 长短期上下文融合的复杂性: 论文虽然探讨了长期嵌入与短期文本提示的结合,但这种结合方式仍较为朴素。如何更精细、自适应地融合不同时间粒度的用户上下文(例如,动态调整短期文本提示的长度或侧重不同类型的短期信息),以应对用户偏好的快速变化,是一个值得深入研究的方向。
  5. 对 LLM 架构的依赖: User-LLM 的集成方式(特别是交叉注意力)与 Transformer 架构紧密相关。虽然目前 LLM 普遍采用 Transformer,但随着新的 LLM 架构(如 Mamba)的出现,如何将用户嵌入高效集成到非 Transformer 架构的 LLM 中,将是未来的一个挑战。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。