一、 HLLM [2024]

《HLLM: Enhancing Sequential Recommendations via Hierarchical Large Language Models for Item and User Modeling》

  1. 大型语言模型(Large Language Models: LLMs )在多个领域取得了显著成功,促使多项研究探索其在推荐系统中的潜力。然而,这些尝试迄今为止仅比传统推荐模型带来了有限的改进。此外,三个关键问题仍未得到充分研究:

    • 首先,常被认为蕴含世界知识的 LLMs' pre-trained weights 的实际价值。

    • 其次,针对 recommendation 任务进行 finetuning 的必要性。

    • 最后,LLMs 在推荐系统中是否能展现出与其他领域相同的 scalability 优势。

    本文提出一种新颖的 Hierarchical Large Language Model: HLLM 架构,旨在增强序列推荐系统( sequential recommendation systems)。该方法采用双层模型:

    • 第一层 Item LLMitemdetailed text description 中提取丰富的 content features

    • 第二层 User LLM 利用这些特征基于用户的 interaction history 来预测用户的未来兴趣。

    大量实验表明,该方法有效利用了开源 LLMspre-trained capabilities ,进一步的 fine-tuning 可带来显著的性能提升。此外,HLLM 具有出色的 scalabilitythe largest configurationitem feature extractionuser interest modeling 中均采用 7B 参数。同时,HLLM 具备优异的 training 效率和 serving 效率,使其在实际应用中具有可行性。在 PixelRecAmazon Reviews 两个大规模数据集上的评估显示,HLLM 取得了 SOTA 的结果,大幅优于传统的 ID-based 的模型。 online A/B testing 中,HLLM 展现出显著收益,验证了其在实际 recommendation 场景中的实用价值。代码可在 https://github.com/bytedance/HLLM 获取。

    虽然有 online A/B testing,但是读者猜测:这个模型并未上线。论文并未给出任何 “模型上线” 的描述。

  2. 推荐算法是一个经典且复杂的问题,需要理解 user interests 以预测用户在 various items 上的未来行为。有效推荐的关键在于准确建模 item featuresuser features。目前,主流方法主要基于 ID,将 itemsusers 转换为 ID 并创建相应的 embedding tables 来进行编码。为捕获多样化的且随时间变化的 user interests ,研究人员开发了多种 sequential modeling 方法,在序列推荐(sequential recommendations )中取得了显著成功。然而,这些方法通常以 embedding parameters 为主导,model sizes 相对较小,导致两个主要缺点:

    • 严重依赖 ID features ,这导致在冷启动场景下性能不佳。

    • 较浅的神经网络难以建模复杂的多样的 user interests

    随着 ChatGPT 的出现,大型语言模型(LLMs )在多个领域取得了重大突破,展现出令人印象深刻的世界知识(world knowledge )和推理能力。这一成功激发了研究人员将 LLMs 整合到推荐系统中的兴趣。这些探索大致可分为三类:

    • (1):利用 LLMs 为推荐系统提供 refined informationsupplementary information ,例如 user behaviorsummaryitem information expansion

    • (2):将推荐系统转换为与 LLMs 兼容的对话驱动格式(dialogue-driven format )。

    • (3):修改 LLMs 以处理除了 text input and output 之外的推荐任务。这包括将 ID features 输入 LLMs 的方法;以及用LLMs 替代现有模型,直接针对点击率(Click-Through Rate: CTR )等 objectives 进行优化的方法。

    尽管取得了这些进展,将 LLMs 与推荐系统整合在复杂性和有效性方面仍面临显著挑战。

    • 一个问题是,将 user behavior history 作为文本来输入到 LLMs 会导致极长的 input sequences 。因此,LLMs 需要比 ID-based 的方法更长的序列来表示相同时间跨度的 user behavior ,而 LLMs 中的 self-attention 模块的复杂度随序列长度呈二次增长。

      这是因为 LLM 采用文本作为 input。如果将 user behavior history 中的 item 文本拼接起来,馈入到 LLM,那么文本序列长度非常的长。

    • 此外,推荐 a single item 需要生成多个 text tokens ,导致多次前向传播,效率较低。

      事实上只需要一次前向传播即可生成多个 tokens

    • 在有效性方面,现有 LLM-based 的方法相比传统方法的性能提升并不显著,这引发了人们对 LLMs 的潜力是否已被充分挖掘的质疑。

    此外,一些关键问题仍未得到充分研究。

    • 首先,常被认为蕴含世界知识的 pre-trained LLM weights 的实际价值需要进一步探究。虽然 LLMs 具有出色的 zero-shotfew-shot 能力,但在大规模推荐数据上训练时,它们的价值尚不明确。

    • 其次,针对推荐任务进行 fine-tuning 的必要性存在疑问。在海量语料上预训练的 LLMs 具有强大的世界知识,但在推荐任务上进一步 fine-tuning 是否会提升或降低性能仍有待观察。

    • 最后,LLMsscalability ——这一标志性特征(在其他领域已被证实的 scaling laws )——需要在推荐系统的背景下进行验证。虽然一些研究已成功在推荐领域验证了 scaling laws ,但这些模型的参数数量远少于 LLMs。参数超过 1B 的模型在推荐领域是否具有良好的 scalability 仍是一个开放问题。

    为解决这些挑战,本文提出 Hierarchical Large Language Model (HLLM) 架构。

    • 该方法首先使用 LLM 提取 item features 。为使 LLM 能够有效提取这些特征,我们在每个 itemdetailed textual description 的末尾添加一个 special token 。然后将这个 augmented description 输入到 LLM (称为 Item LLM ),并将与 special token 对应的输出作为 item feature

    • 接着,这些 item features 被输入到第二个 LLM(称为 User LLM),以建模 user interest 并预测未来行为。

    通过将大量 item descriptions 转换为简洁的 embeddingsbehavior sequences 的长度被缩减到与 ID-based 的模型相当;与其他 text-based LLMLLM 推荐模型相比,显著降低了计算复杂度。我们还验证了 HLLM 相比 ID-based 模型具有显著的训练效率优势,因为它只需少量训练数据就能超越 ID-based 的模型。

    我们通过大量实验探索了 pre-training 的价值。尽管 HLLM 并未采用标准 LLMs 的传统的 text interaction (例如 Item LLM 被设计为 feature extractorUser LLMinput and output 均为 item embeddings ),但 pre-trained weights 已被证明对两种 LLMs 都有益处。这表明 LLMs 中蕴含的世界知识确实对 recommendations 有价值。然而,这并不意味着不需要针对 recommendation objectives 进行 fine-tuning。相反,我们的实验表明,这种 fine-tuning 对于超越传统方法至关重要。为验证 scalability,在大型学术数据集上的实验证实,LLMs 具有出色的 scalability,性能随模型参数的增加而提升。在有限资源下,高达 7B 参数的模型随着规模的增大而持续获得性能提升。

    最终,所提出的 HLLM 架构在多个学术数据集上优于现有方法,取得了 SOTA 的结果。更重要的是,HLLM 的有效性还通过实际 online A/B testing 得到验证,证实了其实际适用性。

    本文的主要贡献总结如下:

    • 提出了一种新颖的 hierarchical LLMHLLM)框架用于 sequential recommendations。该方法在大规模学术数据集上显著优于经典的 ID-based 模型,并已被验证在实际工业场景中能带来切实收益。此外,该方法还展现出优异的 trainingserving 效率。

    • HLLM 有效地将 LLM pre-training stage 所编码的世界知识迁移到推荐模型中,包括 item feature extractionuser interest modeling。尽管如此,具有 recommendation objectivestask-specific fine-tuning 仍然至关重要。

    • HLLM 具有出色的 scalability ,性能随数据量和模型参数的增加而持续提升。这种 scalability 凸显了所提出方法在应用于更大数据集和模型规模时的潜力。

    该模型在实际使用时,采用三阶段做法:

    • 第一阶段,用较短的序列进行端到端的 fine-tuning,同时训练 Item LLMUser LLM

      注意:这个阶段需要有一个或者两个可用的 pre-trained LLM 。如果没有的话,需要先执行 pre-training

    • 第二阶段,冻结 Item LLM,使用更长的序列来微调 User LLM

      这是一种更高效的继续微调。由于 Item 特征已经相对稳定,可以缓存所有物品的嵌入。此时专注于用更长的序列进一步优化 User LLM,使其用户建模能力更强。

    • 第三阶段,抽取 item representationuser representation

1.1 相关工作

  1. 传统推荐系统:传统推荐系统主要依赖 ID-based embeddings ,并且设计 feature interactions 是一个重要课题。

    • DeepFM 使用 FM 建模低阶 feature interactions ,使用 DNN 建模高阶 feature interactions

    • DCN 通过在每一层显式应用 feature crossing 来建模更高阶的 interactions

    此外,一些研究人员致力于从用户的历史行为中建模 user interests 。例如:

    • DINDIEN 引入 attention 机制,从历史行为中捕获用户的 diverse interests

    • Transformer 启发,SASRecself-attention 机制应用于序列推荐。

    CLUE《Scaling law for recommendation models: Towards general-purpose user representations》)和 HSTU 表明,参数数量在数亿范围内的模型遵循 scaling law。一些工作还将 content features 引入 recommendation 模型,在泛化能力方面展现出一定优势(《Itemsage: Learning product embeddings for shopping recommendations at pinterest》《Text is all you need: Learning language representations for sequential recommendation》《An Image Dataset for Benchmarking Recommender Systems with Raw Pixels》)。

  2. 基于语言模型的 RecommendationLLMs 的成功吸引了众多研究人员探索其在推荐系统中的应用。这些探索可分为三类。

    • 首先,LLMs 被用于总结或补充 users or items 的信息。

      • 例如,RLMRec《Representation learning with large language models for recommendation》)开发了一种由 LLMs 支持的 user/item profiling 范式,并通过一个 cross-view alignment frameworkLLMssemantic spacerepresentation space of collaborative relational signals 进行对齐。

      • LLMs 还被用于为 coldstart items 生成 augmented training signals《Large Language Models as Data Augmenters for Cold-Start Item Recommendation》)。

    • 其次,一些工作将推荐领域的数据调整为对话格式(conversational formats)。一些方法将推荐任务视为一种特殊形式的 instruction-following ,将 user historical behaviors 以文本形式输入到 LLM 以预测后续动作(《CALRec: Contrastive Alignment of Generative LLMs For Sequential Recommendation》)。

    • 最后,还有一些工作对 LLMs 进行调整以适应推荐任务,使其 inputs or outputs 超越 textual forms

      • LLaRA《Llara: Large language-recommendation assistant》)提出了一种新颖的 hybrid prompting 方法,将 ID-based item embeddingstextual item features 相结合。

      • LEARN《Knowledge Adaptation from Large Language Model to Recommendation for Practical Industrial Application》)利用 pre-trained LLMs 提取 item features

      LLMs 还被调整用于 multi-class classification or regression 以进行 rating prediction《Do llms understand user preferences? evaluating llms on user rating prediction》 )。

    然而,这些方法相比传统推荐模型的改进有限。

1.2 方法

  1. 这里首先介绍问题定义,然后提出 Hierarchical Large Language ModelHLLM),详细解释如何将 pre-trained large language models 适配到推荐系统中,包括 item feature extractionuser interest modeling。最后,讨论如何使 HLLM 与推荐系统的 objectives 进行对齐,从而显著提升 HLLM 在推荐任务上的性能。

  2. 问题定义:我们研究 sequential recommendations 任务,定义如下:给定用户 uU,给定用户 u 按时间顺序排列的历史交互序列 U={I1,I2,...,In},预测 next item In+1,其中 nU 的长度,III 为所有 item 的集合。每个 item I 都有其对应的 ID 和文本信息(例如 titletag 等),但本文提出的方法仅使用文本信息。

1.2.1 Hierarchical Large Language Model Architecture

  1. 目前,相当多的 LLM-based 推荐模型将用户的历史行为扁平化为 plain text inputs 从而用于 LLM 。这导致极长的 input sequences;并且由于 LLMs 中的 self-attention 模块,复杂度随 input sequence 长度呈二次增长。为减轻 user sequence modeling 的负担,我们采用一种分层建模方法,称为 Hierarchical Large Language Model (HLLM) ,将 item modelinguser modeling 解耦,如 Figure 1 所示。

    具体来说:

    • 我们首先使用 Item LLM 提取 item features,将复杂的 text descriptions 压缩为 an embedding representation

    • 然后,使用 User LLM 基于这些 item features 建模 user profile

    此外,为确保与 pre-trained LLMs 更好的兼容性并增强 scalability,我们引入了最小化的 structural changes ,并设计了简单而高效的 training objectives。以下详细介绍 item modelinguser modeling

    具体来说,微调的参数包括:

    • Item LLMUser LLM 中所有的 Transformer 层的参数(包括自注意力层和前馈网络层等)。

    • Item LLM 中,special token [ITEM]embedding。此外,Item LLMembedding table 也需要被微调(论文并未明确提及这一点)。

    • User LLM 中,由于输入是 item embedding ,所以可能需要一个线性层将 item embedding 映射到 User LLM 的输入空间(如果 item embedding 的维度与 User LLMhidden dimension 不同)。同样,输出层也可能需要一个线性层将User LLM 的输出映射回 item embedding 空间。这些新添加的层的参数也是需要训练的。

      此外,还有 special token [USER]embedding (当用于判别式模型)。

  2. Item LLM:用于提取 item features。它将 itemtext description 作为 input,输出 an embedding representationLLMs 在文本理解方面表现出色,但它们的使用大多局限于文本生成场景(text generation scenarios),很少有工作将其用作 feature extractors。受先前工作(《Bert: Pre-training of deep bidirectional transformers for language understanding》《Text and code embeddings by contrastive pre-training》 )启发,我们在 itemtext description 末尾添加一个 special token [ITEM] 以提取特征。

    具体来说,如 Figure 1 所示,对于 item I,我们首先将其对应的 textual attributes 扁平化为 sentence T,并在前面添加 a fixed prompt。经过 LLM tokenizer 后,在末尾额外添加 a special token [ITEM] ,因此 Item LLMinput token sequence 可表示为{t1,t2,,tm[ITEM]},其中 m 表示 text tokens 的长度。last layer 中与 special token [ITEM] 对应的 hidden state 被视为 item embedding

    • 这里的 prompt 为:Compress the following sentence into embedding: 。如何设计一个好的 prompt?论文并未说明。

    • Item LLM 需要微调,这就是为什么需要添加 special token [ITEM] 的原因。如果不需要微调,那么就不需要这个 [ITEM] token;此时需要将 last layerall outputs 进行均值池化从而作为 item representation

  3. User LLM:用于建模 user interests,这是推荐系统的另一个关键方面。原始用户历史序列 U={I1,I2,,In} 可以通过 Item LLM 转换为 a historical feature sequence {E1,E2,,En},其中 Ei 表示 Iiitem embeddingUser LLM 将这个 historical feature sequence 作为 input,并基于 a sequence of previous interactions 预测 next item embedding。如 Figure 1 所示,User LLM 对应 Ei 的输出是 Ei+1,它期望是 Ii+1embedding

    注意:User LLM 对应 Ei 的输出是 Ei+1,它是预测值;ground-truth 值就是 Ei+1

    与传统的 text-in and text-out 格式的 LLMs 不同,此处 User LLMinput and output 都是 item embeddings。因此,我们丢弃了 pre-trained LLM 中的 word embeddings,但保留了所有其他 pre-trained weights。实验表明,这些 pre-trained weights 对推理 user interests 非常有帮助。

    根据实验章节,User LLM 直接使用 pre-trained weights 并进行微调。这就是为什么在判别式推荐中添加 special token [USER] 的原因(在生成式推荐中不用添加这个 special token)。

1.2.2 Training for Recommendation Objectives

  1. 现有 LLMs 均使用通用自然语言语料进行预训练而来。尽管它们拥有丰富的世界知识和强大的推理能力,但它们的能力与推荐系统所需的能力之间仍存在相当大的差距。遵循其他工作的最佳实践(《Lima: Less is more for alignment》《Llama: Open and efficient foundation language models》),我们在 pre-trained LLM 的基础上采用有监督微调(supervised fine-tuning)。

    推荐系统可分为生成式推荐(generative recommendation )和判别式推荐(discriminative recommendation)两类。值得注意的是,所提出的 HLLM 架构适用于这两类,只需对 training objectives 进行适当调整。以下各节详细介绍这两类的 training objectives

  2. Generative Recommendation:最近的工作(《Actions speak louder than words: Trillion-parameter sequential transducers for generative recommendations》)提供了一种成功的 generative recommendation solution ,包括 retrievalranking。我们的方法与它有两个主要区别:

    • 模型架构升级为 large language models with pre-trained weights

    • 输入特征从 ID 改为 text-input LLM features

    上述差异对 trainingserving 策略的影响最小,因此,我们在很大程度上遵循(《Actions speak louder than words: Trillion-parameter sequential transducers for generative recommendations》)中提出的方法。

    对于 generative recommendationtraining objective,采用 next item prediction,其目的是给定用户历史中 embeddings of the previous items ,生成 the embedding of the next item。具体来说,训练过程中使用 InfoNCE loss 。对于 User LLMoutput sequence 中的任何 prediction Ei,正样本是 Ei,负样本是从排除 current user sequence 的数据集中随机采样的。loss function 可表示为:

    Lgen=j=1bi=2nlogexp(s(Ej,i,Ej,i))exp(s(Ej,i,Ej,i))+k=1Nexp(s(Ej,i,Ej,i,k))

    其中:

    • s(,) 为带有可学习温度参数的 similarity function

      这个 similarity function 是什么?论文并未说明。猜测的形式为:

      s(x,y)=xyτ

      或者:

      s(x,y)=xyx×y×τ

      其中 τ>0 为温度参数。

    • Ej,i表示第 j 个用户的 history interaction 中的第 iitemground-truth embedding (由 Item LLM 生成);Ej,i表示第 j 个用户的第 iitempredicted embedding(由 User LLM 预测得到)。

    • N 是负样本的数量,Ej,i,k表示 Ej,i 的第 knegative embedding

      为什么负样本需要排除 current user sequence ?论文并未说明。读者猜测:如果从 current user sequence 中挑选负样本,很可能会把用户已经交互过(即喜欢过)的 items 当作负样本(即不喜欢的 items),这会严重误导模型,引入巨大的 label noise

      不从 current user sequence中挑选负样本,是为了保证训练信号干净、无噪声。负样本必须代表用户真正未接触过或在当前上下文中不相关的 items ,而不是用户已经明确表示过兴趣的 items。这是使对比学习( InfoNCE Loss )和序列推荐模型能够有效工作的基本前提。

    • b 表示 batch 内用户的总数,nuser history interactions 的长度。

    inference 的时候,当获得了 predicted item embedding,如何得到 predicted item?作者也没说。读者猜测是采用最近邻搜索方法:

    • inference 之前,使用训练好的 Item LLM 计算所有的 candidate itemsembeddings。这可以离线预计算好,并推送到线上。

    • inference 的时候,利用最近邻搜索,根据 predicted item embedding 从这些 candidate item embeddings 中获取 top K candidates 作为预测结果。

  3. Discriminative Recommendation:由于判别式推荐模型 (discriminative recommendation models)在工业界仍占主导地位,我们还提出了 HLLM 在判别式推荐模型下的应用方案。判别式模型的 optimization objective 是,给定 a user sequence Ua target item Itgt,判断用户是否对 target item 感兴趣(例如,通过 clickinglikingpurchasing 等)。

    Figure 2 所示,discriminative recommendation 有两种 User LLM variants ,而 Item LLM 保持不变。

    • Early fusiontarget item embedding Etgt 附加到用户 historical sequence 的末尾;然后通过 User LLM 生成高阶 cross feature ;最后将这个 cross feature 馈入 prediction head 以生成 final logits

    • 另一方面,Late fusion 首先使用 User LLM 提取与 target item 无关的 user features ,方式类似于 Item LLM feature extraction 。在 user sequence 末尾添加一个 special token [USER] 以提取 user representation。然后将 user embeddingtarget item embedding 一起馈入 prediction head ,预测 final logits

    Early fusion 由于深度整合了 user intereststarget item,往往表现更好,但难以同时应用于大量 candidates;相反,late fusion 效率更高,因为不同 candidates 共享相同的 user features,但通常性能会有所下降。

    discriminative recommendationtraining objective 通常是分类任务,例如:预测用户是否会点击等。对于二分类示例, training loss 如下:

    Lcls=[y×logx+(1y)×log(1x)]

    其中:y 表示训练样本的 labelx 表示 predicted logit

    根据经验,next item prediction 也可以作为判别式模型中的辅助损失(auxiliary loss),以进一步提升性能。因此,final loss 可表示为:

    Ldis=λLgen+Lcls

    其中 λ 控制辅助损失的权重。

1.3 实验

  1. 本节首先介绍基本实验设置,然后进行大量实验以解决以下研究问题:

    • RQ1LLM 的通用 pre-training 、以及 fine-tuning with recommendation objectives 是否会提升最终的推荐性能

    • RQ2HLLM 是否具有良好的 scalability

    • RQ3:与其他 SOTA 的模型相比,HLLM 的优势是否显著?

    • RQ4:与 ID-based 的模型相比,trainingserving 的效率如何?

    最后,我们展示如何在 online 场景中部署 HLLM 并实现实际收益。

  2. 数据集:对于离线实验,我们在两个大规模数据集上评估 HLLMPixelRec(包括三个子集:200K1M8M )和 Amazon Book ReviewsBooks )。与先前的工作(《An Image Dataset for Benchmarking Recommender Systems with Raw Pixels》《Actions speak louder than words: Trillion-parameter sequential transducers for generative recommendations》)一致,我们采用相同的数据预处理和评估协议以确保公平比较。预处理后这些数据集的更详细分析如 Table 1Figure 5 所示。

    我们采用留一法(leave-one-out)将数据分为训练集、验证集和测试集。所有开源数据集仅用于离线实验的训练和评估。

  3. 评估指标:性能使用 Recall@KR@K)和 NDCG@KN@K)指标进行衡量。

  4. Baselines:对于基线模型,我们使用两个 ID-based sequential recommendersSASRecHSTU。它们均针对工业应用,具有SOTA 的性能。

    • 对于离线实验,使用 generative recommendation 以与其他方法保持一致。

    • 对于 online A/B test,使用 discriminative recommendation 以更好地与在线系统对齐。

  5. 配置:

    • HLLM-1B 中,Item LLMUser LLM 均使用 TinyLlama-1.1B《Tinyl-lama: An open-source small language model》)。相应地,在 HLLM-7B 中,两者均使用 Baichuan2-7B《Baichuan 2: Open Large-scale Language Models》)。

      由于资源限制,HLLMPixelRecAmazon Reviews 上仅训练 5 epochs,而其他模型分别训练 50 epochs200 epochs。学习率设置为 1e-4 。每个 item 的文本长度被截断为最大 256

    • PixelRec 上,遵循 PixelNet《An Image Dataset for Benchmarking Recommender Systems with Raw Pixels》),我们使用 batch size = 512。最大序列长度设置为 10 ,正负样本比例为 1:5632

    • Books 上,我们使用 batch size = 128,设置最大序列长度为 50 ,正负样本比例为 1:512

    • 为了公平比较,我们还实现了 SASRec-1B(将其网络结构替换为 TinyLlama-1.1B )和 HSTU-1BHSTU-1B 使用与 TinyLlama-1.1B 相同的 hidden size 和层数,但由于删除了传统的 FFN ,仅具有 462M 参数。

1.3.1 Pre-training and Fine-tuning (RQ1)

  1. Table 2 中可以清楚地看到,pre-trained weightsHLLM 有益,包括 item feature extractionuser interest modeling

  2. 此外,如 Table 3 所示,性能与 pre-trained tokens 的数量呈正相关,表明 pre-trained weights 的质量也会影响推荐任务。

    然而,在对话数据上进行有监督微调(supervised fine-tuning: SFT)可能会导致轻微的负面影响,这可能是因为世界知识主要在 pre-training 阶段获得,而 SFT 主要增强 instruction-following 能力,这对推荐任务没有帮助(《Lima: Less is more for alignment》)。

    在这里:

    • 0T 表述 training ItemLLM/User LLM from Scratch,即:仅用离线数据集的数据来训练 HLLM

    • 其它行表示:首先用通用数据来预训练 ItemLLM/User LLM,然后用它们来微调 HLLM 。它们和 0T 之间的差距代表了通用知识带来的增益。

  3. 同样明显的是,对 Item LLMUser LLM 都进行微调对于超越 ID-based models 至关重要,如 Table 4 所示。

    • 当我们冻结 Item LLM 并仅微调 User LLM ,使用 TinyLlama-1.1B 最后一层所有 token outputs 的平均池化作为 item features 时,我们发现性能非常差。这表明,为预测 next token 而训练的 LLMs 并不直接适合作为 feature extractors

    • 类似地,当我们使用在Pixel200K 上微调过的 Item LLM 并冻结 pre-trained User LLM 时,性能仍然非常低。

1.3.2 Scaling Up (RQ2)

  1. 增加模型参数数量的实验结果如 Table 5Table 6 所示。可以观察到,Item LLMUser LLM 的参数数量增长均持续带来性能提升。

  2. 最后,我们在 Amazon Books 上将 Item LLMUser LLM 的参数从 1B 扩展到 7B 。如 Table 7 所示,这带来了进一步的性能提升,表明 HLLM 具有出色的 scalability

  3. 为了探索数据量的扩展性,我们从 Pixel8M 中采样了多个不同规模的数据进行训练,规模从 0.1M8M 不等。从 Figure 3 可以看出,HLLM 在各种数据量下都表现出显著的 scalability。随着数据的增加,性能得到了显著提升,并且在当前数据规模下没有观察到性能瓶颈。

  4. 我们还在大规模工业推荐数据集上进行了更全面的与 scaling up 的消融实验,以证明 HLLM 架构的扩展性,详细实验结果见附录。

1.3.3 HLLM vs. SOTA Methods (RQ3)

  1. Table 7 中,我们将 HLLM 与当前 SOTA 的模型进行了性能比较,包括 ID-based 的模型(如 SASRecHSTU )以及 text-based 的模型 LEARN《Knowledge Adaptation from Large Language Model to Recommendation for Practical Industrial Application》),实验在 Pixel8MAmazon Book Reviews 数据集上进行。这些模型均表现出出色的性能,并致力于工业实践。

    显然,HLLM 具有显著的性能优势,在所有数据集的所有指标上都明显优于其他模型。在相同的实验设置下,与性能最低的基线相比,HLLM-1BPixel8M 数据集上平均提升了 22.93% ,在 Books 数据集上的平均提升更为显著,达到 108.68% 。相比之下, ID-based 的模型在 Pixel8M 上的最大提升仅为 5.37% ,在 Books 上为 64.96%

    此外,值得注意的是,当ID-based 的模型增加负样本数量和 batch size 时,性能提升相对有限,特别是在 R@200 上,HSTU-large 仅增加了 0.76 ;而在相同设置下 HLLM-1B 增加了 2.44 。通过进一步增加模型参数,HLLM-7B 相比基线实现了 169.58% 的显著提升,这令人印象深刻。

    该表还显示,即使是 fully converged ID-based models ,增加参数带来的收益也很小。在 Pixel8M 上,SASRec-1BHSTU-1B 相比更小的模型仅表现出相对温和的提升,而在 Books 上,SASRec-1B 的所有指标甚至出现了下降。相比之下,对于 HLLM ,从HLLM-1B 扩展到 HLLM-7B 在推荐任务上仍然带来了相应的性能提升,证明了 HLLM 架构的优越性。

1.3.4 Training and Serving Effeciency (RQ4)

  1. 首先,HLLMID-based models 具有更好的训练数据效率。如 Figure 3 所示,HLLM 只需六分之一到四分之一的数据量就能达到与 ID-based 的方法相当的性能。

  2. 先前的大量实验表明,对整个 HLLM 进行 fully fine-tuning 能显著提升性能,但在 inference 时需要对 all items 进行实时编码,这效率低下。得益于 HLLMitem encodinguser encoding 的解耦,我们的架构可以通过提前缓存 item embeddings 来降低计算复杂度。为了证明 item caching 的可行性,我们在 Pixel8M 数据集中序列长度大于 10 的数据上预训练了 HLLM ,将序列截断到第 10 个位置以避免数据泄露,覆盖了 3M 用户。

    选择长度大于 10 是因为长序列的数据质量更高。

    基于这个 pre-trained HLLM ,我们冻结 Item LLM ,仅在 Pixel8M 上微调 User LLMTable 8 中的结果显示,虽然冻结 Item LLM 导致一些指标下降,但性能仍然超过 ID-based 的模型,证明 item caching 更为有效。考虑到工业场景中 user behaviors 的数量远远超过 items 数量,HLLMtrainingserving 成本可以与 ID-based models 相匹配。值得注意的是,我们的 pre-training dataPixel8M 的不到一半,有些 items 没有出现在 pre-training data 中,但我们仍然取得了不错的性能。在工业数据上的实验表明,随着 pre-training data 规模的增加,item cachingfull fine-tuning 之间的差距在很大程度上被缩小了。

    Item Caching 策略:

    • 首先用较短的序列来微调得到一个 HLLM

    • 然后冻结 Item LLM,并应用到较长的序列上来微调 User LLM

1.3.4 Online A/B Test

  1. 除了离线实验,HLLM 还成功应用于实际工业实践中。为了简洁、灵活且更好地与在线系统对齐,我们采用了 HLLM-1B ,使用带有 late fusion 变体的判别式推荐方法。考虑到性能和效率之间的平衡,我们的训练过程分为以下三个阶段:

    • 阶段 I:对所有 HLLM 参数进行端到端训练,包括 Item LLMUser LLM ,使用 discriminative loss 。用户历史序列长度被截断为 150 以加速训练。

      这一步是 finetuning Item LLM/User LLM

    • 阶段 II :首先使用阶段 I 中训练的 Item LLM 对推荐系统中的所有 items 进行编码并存储其 embeddings 。然后,通过从存储中检索必要的 item embeddings,继续仅训练 User LLM 。由于此阶段仅训练 User LLM ,大大降低了 training 需求,允许我们将用户序列长度从 150 扩展到 1000 ,进一步提升 User LLM 的有效性。

    • 阶段 III :在前两个阶段进行大量数据训练后,不再更新 HLLM 模型参数。我们提取所有用户的特征,然后将其与 item LLM embeddings 和其他现有特征相结合,馈入到 online recommendation model 中进行训练。

      这一步是将所有特征抽取出来,馈入到 prediction 模块。

    serving 方面,如 Figure 4 所示,item embeddings 在它们被创建时提取,仅对前一天有活动的用户每天更新一次 user embeddingsitem embeddingsuser embeddings 被存储用于 online model training and serving。在这种方法下,在线推荐系统的 inference 时间几乎没有变化。

    HLLM 仅仅用于抽特征,而不是实时的 online inference

    最后,我们在 ranking 任务的 online A/B experiments 中测试了 HLLM 。关键指标显示显著提升了 0.705%

1.4 结论

  1. 本文提出了一种新颖的 Hierarchical Large Language Model: HLLM 架构,旨在提升序列推荐。HLLM 利用 LLMs 提取 item features 并建模用户兴趣,有效地将 pre-training knowledge 整合到推荐系统中,并证明了针对 recommendation objectives 的微调是必不可少的。

    HLLM 具有出色的 scalability,随着模型参数的增加而性能提升。实验表明,HLLM 优于传统的 ID-based 的模型,在学术数据集上取得了 SOTA 的结果。实际 online A/B testing 进一步验证了 HLLM 的实用效率和适用性,标志着推荐系统领域的重大进步。