《HLLM: Enhancing Sequential Recommendations via Hierarchical Large Language Models for Item and User Modeling》
大型语言模型(Large Language Models: LLMs )在多个领域取得了显著成功,促使多项研究探索其在推荐系统中的潜力。然而,这些尝试迄今为止仅比传统推荐模型带来了有限的改进。此外,三个关键问题仍未得到充分研究:
首先,常被认为蕴含世界知识的 LLMs' pre-trained weights 的实际价值。
其次,针对 recommendation 任务进行 finetuning 的必要性。
最后,LLMs 在推荐系统中是否能展现出与其他领域相同的 scalability 优势。
本文提出一种新颖的 Hierarchical Large Language Model: HLLM 架构,旨在增强序列推荐系统( sequential recommendation systems)。该方法采用双层模型:
第一层 Item LLM 从 item 的 detailed text description 中提取丰富的 content features。
第二层 User LLM 利用这些特征基于用户的 interaction history 来预测用户的未来兴趣。
大量实验表明,该方法有效利用了开源 LLMs 的 pre-trained capabilities ,进一步的 fine-tuning 可带来显著的性能提升。此外,HLLM 具有出色的 scalability ,the largest configuration 在 item feature extraction 和 user interest modeling 中均采用 7B 参数。同时,HLLM 具备优异的 training 效率和 serving 效率,使其在实际应用中具有可行性。在 PixelRec 和Amazon Reviews 两个大规模数据集上的评估显示,HLLM 取得了 SOTA 的结果,大幅优于传统的 ID-based 的模型。 online A/B testing 中,HLLM 展现出显著收益,验证了其在实际 recommendation 场景中的实用价值。代码可在 https://github.com/bytedance/HLLM 获取。
虽然有
online A/B testing,但是读者猜测:这个模型并未上线。论文并未给出任何 “模型上线” 的描述。
推荐算法是一个经典且复杂的问题,需要理解 user interests 以预测用户在 various items 上的未来行为。有效推荐的关键在于准确建模 item features 和 user features。目前,主流方法主要基于 ID,将 items 和 users 转换为 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 information 或 supplementary information ,例如 user behavior 的 summary 、item 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-shot 和 few-shot 能力,但在大规模推荐数据上训练时,它们的价值尚不明确。
其次,针对推荐任务进行 fine-tuning 的必要性存在疑问。在海量语料上预训练的 LLMs 具有强大的世界知识,但在推荐任务上进一步 fine-tuning 是否会提升或降低性能仍有待观察。
最后,LLMs 的 scalability ——这一标志性特征(在其他领域已被证实的 scaling laws )——需要在推荐系统的背景下进行验证。虽然一些研究已成功在推荐领域验证了 scaling laws ,但这些模型的参数数量远少于 LLMs。参数超过 1B 的模型在推荐领域是否具有良好的 scalability 仍是一个开放问题。
为解决这些挑战,本文提出 Hierarchical Large Language Model (HLLM) 架构。
该方法首先使用 LLM 提取 item features 。为使 LLM 能够有效提取这些特征,我们在每个 item 的 detailed textual description 的末尾添加一个 special token 。然后将这个 augmented description 输入到 LLM (称为 Item LLM ),并将与 special token 对应的输出作为 item feature 。
接着,这些 item features 被输入到第二个 LLM(称为 User LLM),以建模 user interest 并预测未来行为。
通过将大量 item descriptions 转换为简洁的 embeddings,behavior sequences 的长度被缩减到与 ID-based 的模型相当;与其他 text-based LLM 的 LLM 推荐模型相比,显著降低了计算复杂度。我们还验证了 HLLM 相比 ID-based 模型具有显著的训练效率优势,因为它只需少量训练数据就能超越 ID-based 的模型。
我们通过大量实验探索了 pre-training 的价值。尽管 HLLM 并未采用标准 LLMs 的传统的 text interaction (例如 Item LLM 被设计为 feature extractor ,User LLM 的 input 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 LLM(HLLM)框架用于 sequential recommendations。该方法在大规模学术数据集上显著优于经典的 ID-based 模型,并已被验证在实际工业场景中能带来切实收益。此外,该方法还展现出优异的 training 和 serving 效率。
HLLM 有效地将 LLM pre-training stage 所编码的世界知识迁移到推荐模型中,包括 item feature extraction 和 user interest modeling。尽管如此,具有 recommendation objectives 的 task-specific fine-tuning 仍然至关重要。
HLLM 具有出色的 scalability ,性能随数据量和模型参数的增加而持续提升。这种 scalability 凸显了所提出方法在应用于更大数据集和模型规模时的潜力。
该模型在实际使用时,采用三阶段做法:
第一阶段,用较短的序列进行端到端的
fine-tuning,同时训练Item LLM和User LLM。注意:这个阶段需要有一个或者两个可用的
pre-trained LLM。如果没有的话,需要先执行pre-training。第二阶段,冻结
Item LLM,使用更长的序列来微调User LLM。这是一种更高效的继续微调。由于
Item特征已经相对稳定,可以缓存所有物品的嵌入。此时专注于用更长的序列进一步优化User LLM,使其用户建模能力更强。第三阶段,抽取
item representation和user representation。
传统推荐系统:传统推荐系统主要依赖 ID-based embeddings ,并且设计 feature interactions 是一个重要课题。
DeepFM 使用 FM 建模低阶 feature interactions ,使用 DNN 建模高阶 feature interactions。
DCN 通过在每一层显式应用 feature crossing 来建模更高阶的 interactions 。
此外,一些研究人员致力于从用户的历史行为中建模 user interests 。例如:
DIN 和 DIEN 引入 attention 机制,从历史行为中捕获用户的 diverse interests 。
受 Transformer 启发,SASRec 将 self-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》)。
基于语言模型的 Recommendation:LLMs 的成功吸引了众多研究人员探索其在推荐系统中的应用。这些探索可分为三类。
首先,LLMs 被用于总结或补充 users or items 的信息。
例如,RLMRec(《Representation learning with large language models for recommendation》)开发了一种由 LLMs 支持的 user/item profiling 范式,并通过一个 cross-view alignment framework 将 LLMs 的 semantic space 与 representation 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 embeddings 与 textual 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》 )。
然而,这些方法相比传统推荐模型的改进有限。
这里首先介绍问题定义,然后提出 Hierarchical Large Language Model (HLLM),详细解释如何将 pre-trained large language models 适配到推荐系统中,包括 item feature extraction 和 user interest modeling。最后,讨论如何使 HLLM 与推荐系统的 objectives 进行对齐,从而显著提升 HLLM 在推荐任务上的性能。
问题定义:我们研究 sequential recommendations 任务,定义如下:给定用户 next item item 的集合。每个 item ID 和文本信息(例如 title 、tag 等),但本文提出的方法仅使用文本信息。
目前,相当多的 LLM-based 推荐模型将用户的历史行为扁平化为 plain text inputs 从而用于 LLM 。这导致极长的 input sequences;并且由于 LLMs 中的 self-attention 模块,复杂度随 input sequence 长度呈二次增长。为减轻 user sequence modeling 的负担,我们采用一种分层建模方法,称为 Hierarchical Large Language Model (HLLM) ,将 item modeling 与 user 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 modeling 和 user modeling。
具体来说,微调的参数包括:
Item LLM和User LLM中所有的Transformer层的参数(包括自注意力层和前馈网络层等)。在
Item LLM中,special token [ITEM]的embedding。此外,Item LLM的embedding table也需要被微调(论文并未明确提及这一点)。在
User LLM中,由于输入是item embedding,所以可能需要一个线性层将item embedding映射到User LLM的输入空间(如果item embedding的维度与User LLM的hidden dimension不同)。同样,输出层也可能需要一个线性层将User LLM的输出映射回item embedding空间。这些新添加的层的参数也是需要训练的。此外,还有
special token [USER]的embedding(当用于判别式模型)。

Item LLM:用于提取 item features。它将 item 的 text description 作为 input,输出 an embedding representation。LLMs 在文本理解方面表现出色,但它们的使用大多局限于文本生成场景(text generation scenarios),很少有工作将其用作 feature extractors。受先前工作(《Bert: Pre-training of deep bidirectional transformers for language understanding》、《Text and code embeddings by contrastive pre-training》 )启发,我们在 item 的 text description 末尾添加一个 special token [ITEM] 以提取特征。
具体来说,如 Figure 1 所示,对于 item textual attributes 扁平化为 sentence a fixed prompt。经过 LLM tokenizer 后,在末尾额外添加 a special token [ITEM] ,因此 Item LLM 的 input token sequence 可表示为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 layer的all outputs进行均值池化从而作为item representation。
User LLM:用于建模 user interests,这是推荐系统的另一个关键方面。原始用户历史序列 Item LLM 转换为 a historical feature sequence item embedding。User LLM 将这个 historical feature sequence 作为 input,并基于 a sequence of previous interactions 预测 next item embedding。如 Figure 1 所示,User LLM 对应 embedding 。
注意:
User LLM对应的输出是 ,它是预测值; ground-truth值就是。
与传统的 text-in and text-out 格式的 LLMs 不同,此处 User LLM 的 input 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)。
现有 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 。
Generative Recommendation:最近的工作(《Actions speak louder than words: Trillion-parameter sequential transducers for generative recommendations》)提供了一种成功的 generative recommendation solution ,包括 retrieval 和 ranking。我们的方法与它有两个主要区别:
模型架构升级为 large language models with pre-trained weights 。
输入特征从 ID 改为 text-input LLM features 。
上述差异对 training 和 serving 策略的影响最小,因此,我们在很大程度上遵循(《Actions speak louder than words: Trillion-parameter sequential transducers for generative recommendations》)中提出的方法。
对于 generative recommendation 的 training objective,采用 next item prediction,其目的是给定用户历史中 embeddings of the previous items ,生成 the embedding of the next item。具体来说,训练过程中使用 InfoNCE loss 。对于 User LLM 的 output sequence 中的任何 prediction current user sequence 的数据集中随机采样的。loss function 可表示为:
其中:
similarity function。
这个
similarity function是什么?论文并未说明。猜测的形式为:或者:
其中
为温度参数。
history interaction 中的第 item 的 ground-truth embedding (由 Item LLM 生成);item 的 predicted embedding(由 User LLM 预测得到)。
negative embedding 。
为什么负样本需要排除
current user sequence?论文并未说明。读者猜测:如果从current user sequence中挑选负样本,很可能会把用户已经交互过(即喜欢过)的items当作负样本(即不喜欢的items),这会严重误导模型,引入巨大的label noise。不从
current user sequence中挑选负样本,是为了保证训练信号干净、无噪声。负样本必须代表用户真正未接触过或在当前上下文中不相关的items,而不是用户已经明确表示过兴趣的items。这是使对比学习(InfoNCE Loss)和序列推荐模型能够有效工作的基本前提。
batch 内用户的总数,user history interactions 的长度。
在
inference的时候,当获得了predicted item embedding,如何得到predicted item?作者也没说。读者猜测是采用最近邻搜索方法:
在
inference之前,使用训练好的Item LLM计算所有的candidate items的embeddings。这可以离线预计算好,并推送到线上。在
inference的时候,利用最近邻搜索,根据predicted item embedding从这些candidate item embeddings中获取top K candidates作为预测结果。
Discriminative Recommendation:由于判别式推荐模型 (discriminative recommendation models)在工业界仍占主导地位,我们还提出了 HLLM 在判别式推荐模型下的应用方案。判别式模型的 optimization objective 是,给定 a user sequence a target item target item 感兴趣(例如,通过 clicking 、liking、purchasing 等)。
如 Figure 2 所示,discriminative recommendation 有两种 User LLM variants ,而 Item LLM 保持不变。
Early fusion 将 target item embedding 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 embedding 和 target item embedding 一起馈入 prediction head ,预测 final logits 。
Early fusion 由于深度整合了 user interests 和 target item,往往表现更好,但难以同时应用于大量 candidates;相反,late fusion 效率更高,因为不同 candidates 共享相同的 user features,但通常性能会有所下降。
discriminative recommendation 的 training objective 通常是分类任务,例如:预测用户是否会点击等。对于二分类示例, training loss 如下:
其中:label,predicted logit。
根据经验,next item prediction 也可以作为判别式模型中的辅助损失(auxiliary loss),以进一步提升性能。因此,final loss 可表示为:
其中

本节首先介绍基本实验设置,然后进行大量实验以解决以下研究问题:
RQ1:LLM 的通用 pre-training 、以及 fine-tuning with recommendation objectives 是否会提升最终的推荐性能
RQ2:HLLM 是否具有良好的 scalability?
RQ3:与其他 SOTA 的模型相比,HLLM 的优势是否显著?
RQ4:与 ID-based 的模型相比,training 和 serving 的效率如何?
最后,我们展示如何在 online 场景中部署 HLLM 并实现实际收益。
数据集:对于离线实验,我们在两个大规模数据集上评估 HLLM :PixelRec(包括三个子集:200K、1M 和 8M )和 Amazon Book Reviews (Books )。与先前的工作(《An Image Dataset for Benchmarking Recommender Systems with Raw Pixels》、《Actions speak louder than words: Trillion-parameter sequential transducers for generative recommendations》)一致,我们采用相同的数据预处理和评估协议以确保公平比较。预处理后这些数据集的更详细分析如 Table 1 和 Figure 5 所示。
我们采用留一法(leave-one-out)将数据分为训练集、验证集和测试集。所有开源数据集仅用于离线实验的训练和评估。


评估指标:性能使用 Recall@K(R@K)和 NDCG@K(N@K)指标进行衡量。
Baselines:对于基线模型,我们使用两个 ID-based sequential recommenders:SASRec 和 HSTU。它们均针对工业应用,具有SOTA 的性能。
对于离线实验,使用 generative recommendation 以与其他方法保持一致。
对于 online A/B test,使用 discriminative recommendation 以更好地与在线系统对齐。
配置:
在 HLLM-1B 中,Item LLM 和 User LLM 均使用 TinyLlama-1.1B (《Tinyl-lama: An open-source small language model》)。相应地,在 HLLM-7B 中,两者均使用 Baichuan2-7B (《Baichuan 2: Open Large-scale Language Models》)。
由于资源限制,HLLM 在 PixelRec 和 Amazon Reviews 上仅训练 5 epochs,而其他模型分别训练 50 epochs 和 200 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-1B。HSTU-1B 使用与 TinyLlama-1.1B 相同的 hidden size 和层数,但由于删除了传统的 FFN ,仅具有 462M 参数。
从 Table 2 中可以清楚地看到,pre-trained weights 对 HLLM 有益,包括 item feature extraction 和 user interest modeling。

此外,如 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之间的差距代表了通用知识带来的增益。

同样明显的是,对 Item LLM 和 User 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 时,性能仍然非常低。

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

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

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

我们还在大规模工业推荐数据集上进行了更全面的与 scaling up 的消融实验,以证明 HLLM 架构的扩展性,详细实验结果见附录。
在 Table 7 中,我们将 HLLM 与当前 SOTA 的模型进行了性能比较,包括 ID-based 的模型(如 SASRec和 HSTU )以及 text-based 的模型 LEARN (《Knowledge Adaptation from Large Language Model to Recommendation for Practical Industrial Application》),实验在 Pixel8M 和 Amazon Book Reviews 数据集上进行。这些模型均表现出出色的性能,并致力于工业实践。
显然,HLLM 具有显著的性能优势,在所有数据集的所有指标上都明显优于其他模型。在相同的实验设置下,与性能最低的基线相比,HLLM-1B 在 Pixel8M 数据集上平均提升了 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-1B 和 HSTU-1B 相比更小的模型仅表现出相对温和的提升,而在 Books 上,SASRec-1B 的所有指标甚至出现了下降。相比之下,对于 HLLM ,从HLLM-1B 扩展到 HLLM-7B 在推荐任务上仍然带来了相应的性能提升,证明了 HLLM 架构的优越性。

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

先前的大量实验表明,对整个 HLLM 进行 fully fine-tuning 能显著提升性能,但在 inference 时需要对 all items 进行实时编码,这效率低下。得益于 HLLM 中 item encoding 和 user encoding 的解耦,我们的架构可以通过提前缓存 item embeddings 来降低计算复杂度。为了证明 item caching 的可行性,我们在 Pixel8M 数据集中序列长度大于 10 的数据上预训练了 HLLM ,将序列截断到第 10 个位置以避免数据泄露,覆盖了 3M 用户。
选择长度大于
10是因为长序列的数据质量更高。
基于这个 pre-trained HLLM ,我们冻结 Item LLM ,仅在 Pixel8M 上微调 User LLM 。Table 8 中的结果显示,虽然冻结 Item LLM 导致一些指标下降,但性能仍然超过 ID-based 的模型,证明 item caching 更为有效。考虑到工业场景中 user behaviors 的数量远远超过 items 数量,HLLM 的 training 和 serving 成本可以与 ID-based models 相匹配。值得注意的是,我们的 pre-training data 占 Pixel8M 的不到一半,有些 items 没有出现在 pre-training data 中,但我们仍然取得了不错的性能。在工业数据上的实验表明,随着 pre-training data 规模的增加,item caching 和 full fine-tuning 之间的差距在很大程度上被缩小了。
Item Caching策略:
首先用较短的序列来微调得到一个
HLLM。然后冻结
Item LLM,并应用到较长的序列上来微调User LLM。

除了离线实验,HLLM 还成功应用于实际工业实践中。为了简洁、灵活且更好地与在线系统对齐,我们采用了 HLLM-1B ,使用带有 late fusion 变体的判别式推荐方法。考虑到性能和效率之间的平衡,我们的训练过程分为以下三个阶段:
阶段 I:对所有 HLLM 参数进行端到端训练,包括 Item LLM 和 User 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 embeddings 。item embeddings 和 user embeddings 被存储用于 online model training and serving。在这种方法下,在线推荐系统的 inference 时间几乎没有变化。
HLLM仅仅用于抽特征,而不是实时的online inference。
最后,我们在 ranking 任务的 online A/B experiments 中测试了 HLLM 。关键指标显示显著提升了 0.705% 。

本文提出了一种新颖的 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 的实用效率和适用性,标志着推荐系统领域的重大进步。