字节发布用于序列推荐的分层大模型 HLLM 技术解析
近期,Meta 发布的 HSTU 点燃了业界对 LLM4Rec(大语言模型用于推荐系统)的热情。探索推荐领域的 Scaling Law、实现推荐的 ChatGPT 时刻、取代传统推荐模型等话题引发了广泛讨论。然而,理想与现实之间仍存在差距,尚未有业界公开工作真正复刻 HSTU 的辉煌。这既可能是因为落地过程中存在诸多挑战,也可能是因为 Meta HSTU 的基线设置相对较弱,导致在竞争激烈的国内推荐领域难以产生突破性效果。
尽管实施困难,但总需要先行者迈出这一步。字节跳动于 2024 年 9 月 19 日在 arXiv 上公开了名为 HLLM(Hierarchical Large Language Model,分层大语言模型)的工作。该论文遵循并扩展了 HSTU 的思路,针对序列推荐任务提出了新的架构。
1. 背景与挑战
1.1 传统推荐问题
传统推荐系统的核心在于建模 User 和 Item 的特征。主流方法是基于 ID(ID-based),将用户和物品转化为 ID 并构建对应的 Embedding 表。这种方法存在以下局限性:
- 冷启动问题严重:严重依赖 ID Feature,对于新物品或新用户表现不佳。
- 表达能力有限:模型参数较小,难以建模复杂且多样的用户兴趣变化。
1.2 LLM 在推荐中的探索方向
过往利用 LLM 进行推荐探索主要分为三类:
- 利用 LLM 提供额外信息给推荐系统。
- 将推荐系统转变为对话驱动的形式。
- 修改 LLM 输入输出机制,例如直接输入 ID Feature 给 LLM。
1.3 LLM4Rec 的核心挑战
将 LLM 应用到推荐系统面临两个主要问题:
- 输入复杂度:在相同时间跨度下,相比 ID-based 方法,LLM 的输入更长,计算复杂度更高。
- 性能提升不明显:相对于传统方法,LLM-based 方法的性能提升往往不显著。
为此,研究重点评估了三个关键问题:
- 预训练权重的价值:模型权重蕴含世界知识,如何激活这些知识?是否只能使用文本输入?
- 微调的必要性:直接使用 Pretrain 模型还是需要进行进一步微调?
- Scaling Law 特性:LLM 是否可以应用在推荐系统中并呈现规模效应?
2. 方法详解
HLLM 架构分为 Item LLM 和 User LLM 两部分,两者参数不共享,均可训练并通过 Next Item Predict 进行优化。
2.1 架构设计
- Item LLM:以物品的描述信息作为输入,包括 Title、Tag、Description,最后添加一个特殊 Token
[ITEM]。该 Token 对应的输出代表该物品的 Embedding。可以直接基于预训练好的模型(如 Llama、Baichuan)进行训练。 - User LLM:输入为用户历史交互序列,序列中每个 Item 由 Item LLM 生成的 Embedding 表示。由于输入并非原始文本 Token,因此去除了预训练模型的 Word Embedding 层。
2.2 优化目标
推荐系统通常分为生成式推荐与判别式推荐,HLLM 同时应用了这两种范式。
生成式推荐
针对 User LLM,采用 InfoNCE Loss 作为生成损失。对于某个正样本物品,模型输出其嵌入,随机抽取的其他物品作为负样本。这种将对比学习融入预测的设计非常巧妙。
生成式损失函数定义如下: $$ \mathcal{L}{gen} = -\log \frac{\exp(sim(u_t, i{t+1})/\tau)}{\sum_{k=1}^{K} \exp(sim(u_t, i_k)/\tau)} $$ 其中,$sim$ 为相似度函数,$u_t$ 为用户 $t$ 的历史交互嵌入,$i_{t+1}$ 为目标物品嵌入,$K$ 为负采样数量。


