迈向大规模生成式排序_译文
摘要
生成式推荐最近在信息检索领域中成为一种有前景的范式。然而,生成式排序系统仍然缺乏研究,特别是在其在大规模工业环境中的有效性和可行性方面。本文研究了小红书探索页推荐系统在排序阶段的这一主题,该系统服务于数亿用户。具体来说,我们首先研究了生成式排序如何优于当前的工业推荐系统。通过理论和实证分析,我们发现有效性提升的主要来源是生成式架构,而不是训练范式。为了促进生成式排序的高效部署,我们引入了一种新的生成式排序架构,称为GenRank。我们通过在线A/B实验验证了我们方案的有效性和效率。结果表明,GenRank在用户满意度方面取得了显著提升,而所需的计算资源几乎与现有生产系统相当。
1.引言
推荐系统是社交媒体平台的重要组成部分,帮助用户浏览和参与个性化的项目推荐 [4, 3, 7, 23]。为了平衡效率和效果,工业推荐系统通常采用级联管道 [7, 23],包括四个阶段,如图1(右)所示。检索阶段最初从数十亿个项目中选择数万个候选项。接下来是预排序阶段,进行粗略匹配,将候选集缩小到数百个。然后,排序阶段对每个候选项进行精确预测。最后,策略阶段基于顺序信息和商业考虑对几十个候选项进行重新排序,以生成最终推荐。
在现代推荐系统中,排序阶段通常遵循MLP(多层感知器)和嵌入范式 [4],其中顺序建模在捕捉用户兴趣方面取得了显著成功 [8, 29, 16, 10]。生成式推荐的出现进一步增强了顺序方法的能力。与传统方法不同,生成式推荐将推荐问题表述为一个序列生成任务 [13, 23],直接从用户的历史行为中预测目标行为。Rajput等人 [13] 提出通过使用分层语义ID对项目进行量化来实现生成式检索。Yang等人 [22] 更进一步,提出了一种由粗到细的生成过程,以解决量化引起的信息损失。尽管这些方法具有新颖性,但生成式推荐在排序任务中的应用仍未得到充分研究,尤其是在大规模工业环境中。
本文研究了大规模工业场景中的生成式排序系统。特别地,我们首先分析了生成式推荐中潜在的有效性来源,然后利用现有的生成式推荐器进行实验以验证我们的假设 [23]。实验结果表明,生成式架构对于实现强性能至关重要。然而,当前的生成式架构在大规模环境中往往效率不高。为了解决这个问题,我们提出了一种新颖的架构,GenRank,以满足大规模训练和推理的需求。在为数亿用户服务的小红书探索页(图1左)的在线A/B实验中,我们的解决方案展示了其有效性和效率。
本文的主要贡献总结如下:
- 我们识别并分析了生成式推荐中的有效性来源,强调了生成式架构在整体性能中的关键作用。
- 我们提出了一种专为工业场景设计的高效生成式架构,其中包括面向行动的序列组织方法和用于位置和时间偏差的新策略。
- 我们进行了大规模的在线A/B测试,以展示生成式排序在工业推荐系统中的有效性和可行性。
2.问题设定
本文研究了排序阶段的生成式推荐。在这一阶段,推荐系统需要为一组预定义的任务进行预测,例如预测点击率或用户在看到候选项目时预计的停留时间。为了构建离线实验的数据集,我们从小红书的探索页收集了15天内数千亿条项目曝光日志。输入特征分为三类:
- 类别特征:用户ID、项目ID、用户历史行为、标签等。
- 数值特征:用户年龄、项目发布时间、作者粉丝数量等。
- 冻结嵌入:多模态项目嵌入、基于图的作者嵌入等。
根据之前的研究 [4, 26],数值特征通过预定义的边界离散化为类别特征,而类别特征则通过嵌入表转换为密集嵌入。由预训练模型提供的冻结嵌入被视为辅助信息,提供与其相关特征相关的先验知识。我们使用ROC曲线下面积(AUC)作为离线评估指标。值得注意的是,在我们的设置中,主要任务的AUC绝对值提升0.0010被视为显著,因为这通常会为数亿在线用户带来0.5%的关键指标提升。
3.生成式推荐中效果的来源
关于生成式推荐的研究已经有很多[23, 22, 14, 13]。然而,生成式排序的有效性,特别是在大规模工业环境中的应用,尚未得到充分探索。为了更好地理解生成式排序的有效性来源,我们从两个角度进行了实验:
- 生成式推荐范式通过不同的底层机制与传统方法有所区别。我们特别感兴趣的是识别出那些在稍作改动时会导致显著性能下降的机制,因为这些机制可能对生成式排序方法的成功至关重要。
- 当前的排序范式整合了几个成熟的模块,如SIM [10]和内容嵌入[27, 7]。我们检查了在生成式环境中表现出显著性能差异的关键模块,为未来的研究提供宝贵的见解。
具体来说,我们选择HSTU [23]作为基线模型,从上述角度呈现我们的研究结果。默认情况下,块的数量为3,注意力头的数量为8,隐藏维度为768。每个用户序列的最大长度为480,包括历史行为和候选项。我们在NVIDIA H20 GPU上使用混合精度训练策略。
3.1 生成式范式中的关键机制
与从历史行为中学习复杂特征交互的传统范式不同,生成式推荐将排序重新表述为一个序列转换任务[23]。在这种情况下,生成式排序在两个方面有显著区别:序列交互的方式和训练样本的组织。
生成式排序中的序列交互方式是自回归的。注意,HSTU仅在与候选项对应的位置计算损失,如图2(a)所示。这种方法可以看作是监督微调,其中用户信息和候选项作为输入提示。现代大型语言模型在监督微调中采用自回归方式的一个原因是为了保留在预训练期间获得的能力。然而,生成式排序并不涉及预训练阶段。这就引发了一个问题:自回归方式对于生成式排序来说是否真的必要?
为了解答这个问题,我们进行了两组实验。在第一组实验中,我们在与历史行为对应的位置计算损失。我们观察到AUC下降超过0.0100,即使只包含少量历史位置。我们将其归因于Zhang等人[28]描述的单周期问题,其中模型从稀疏特征中学习到不正确的模式。在第二组实验中,我们在历史位置用完全可见的掩码替换了因果掩码。这一修改类似于T5模型[12],其中注意力掩码最大化了提示中的特征交互。然而,这一改变导致AUC下降超过0.0015,并且随着模型规模的增大,下降更加显著。这些结果支持了自回归方式对于生成式排序有效性至关重要的结论。
传统范式中训练样本的组织通常是逐点的,即每个训练样本对应一个物品曝光日志。相比之下,生成式排序将用户在时间上相邻的行为组合成一个训练样本。我们假设这种组织有两个可能的好处。首先,由于来自同一请求的两个曝光日志在特征(特别是用户特征)上显著重叠,在同一批次中处理它们可以提高梯度估计的稳定性。其次,我们从一个实际的视角考虑。在大规模在线分布式训练中,样本处理的顺序并不严格遵循实际的时间顺序,这可能导致信息泄漏。在这种情况下,模型可以在观察到曝光日志之前,从历史行为特征中推断出用户对某一物品的偏好。生成式排序中的组织有助于减轻在早期样本之前训练后期样本的风险。
然而,我们的实证结果并不强烈支持这两个假设。具体来说,我们使用分组的训练样本训练生成式推荐系统,但以逐点的顺序进行,以模拟传统训练。这种方法仅导致AUC略微下降。因此,我们得出结论,生成式推荐的有效性主要源于其架构,而不是训练样本的组织方式。
3.2 跨范式的模块性能比较
为了比较两个范式之间模块的影响,我们进行了实验,测量各种模块带来的性能提升。特别地,我们选择了四个在工业排序系统中常用的重要模块:用于序列建模的SIM,用于个性化表示学习的PPNet,用于先验知识的内容嵌入,以及用于多任务学习的PLE。结果显示,SIM、PPNet和PLE在两种范式中都实现了相当的改进,这表明生成式范式与这些模块兼容。此外,我们观察到在生成式范式下,内容嵌入的AUC提升超过了两倍。我们将这一增强归因于内容嵌入的生成式训练与其在下游任务中的应用之间的架构一致性,从而使其能力得以最佳利用。
我们还研究了特征工程的影响,这对于工业推荐系统的性能至关重要。HSTU建议去除这些特征,因为生成式推荐系统可以充分表达统计模式。我们的实验表明,虽然大多数特征对生成式架构的好处微乎其微,但某些实时统计特征,尤其是基于窗口的特征,仍然在提升性能方面非常有效。我们认为这些特征为模型提供了直接的信号,使生成式架构能够学习复杂的模式。值得注意的是,与特征工程相关的显著计算开销限制了排序模型实时处理大量候选集的能力。生成式架构通过其对特征工程的最小需求解决了这一限制,从而增强了推理的可扩展性。此外,KV缓存机制使生成式架构在候选集规模增加时能够更高效地扩展。我们设想,随着计算开销的持续减少,生成式架构可能在未来系统中统一排序和预排序阶段。
4.工业场景中的高效生成式排序
上一节强调了架构在生成式排序中的重要性。架构不仅对性能至关重要,还影响未来推荐系统的整体设计。本节介绍了一种新颖的生成式架构,GenRank,以实现大规模排序任务的高效训练和推理。GenRank在两个方面与现有工作不同:项目-动作组织(第4.1节)以及位置和时间偏差(第4.2节)。
表1总结了我们在训练性能方面的实证结果。我们使用HSTU作为基线方法。转向面向动作的组织方式实现了78.7%的加速,而采用所提出的位置和时间偏差实现了25.0%的加速。总体而言,GenRank在训练过程中总共实现了94.8%的加速,并且在测试集上的AUC略有提升。
4.1 项目-动作组织
传统的序列推荐方法通常通过将单个项目视为基本单元来构建模型,这种组织框架我们称之为面向项目的架构。为了使这些方法适应排序任务的动作感知形式,HSTU将动作标记视为序列中的一种额外模态。如图2(a)所示,它在单个序列中交错排列项目和动作,从而使模型能够基于上下文序列预测项目或动作。尽管这种方法可以在统一框架内支持检索和排序任务,但由于序列长度加倍,它为排序引入了大量开销。
为了解决这一限制,我们提出了一种新视角:我们将项目视为位置信息,并专注于迭代预测与每个项目相关的动作,我们称之为面向动作的组织。在这一范式中,动作成为序列生成中的基本单元,而项目则作为上下文信号来指导生成过程,如图2(b)所示。这种方法专注于动作预测,在效率方面具有显著优势。这一设计将注意力机制的输入序列长度减半,降低了75%的注意力成本和50%的线性投影成本。
形式上,我们考虑一个按时间顺序排列的N个用户标记列表x1, x2, …, xN,其中xi属于项目集合X。对于每个项目xi,有一个关联的动作ai属于动作集合A,该动作发生在时间戳ti。因此,动作序列为a1, a2, …, aN,相应的时间戳为t1, t2, …, tN。在我们的设置中,模型学习近似分布p(ak|x1, a1, …, xk)。为了实现面向动作的生成式排序,每个输入标记结合了项目和动作嵌入,如图3(a)所示。在用户历史序列的每个位置,标记嵌入通过项目嵌入和动作嵌入的和获得,即ei = φ(xi) + ϕ(ai),其中φ(·)和ϕ(·)分别表示项目和动作嵌入模块。我们的任务是预测用户对下一个候选项目的动作。为此,候选项目的标记嵌入为ej = φ(xj) + M,其中M是一个掩码动作嵌入。需要注意的是,为了防止候选项之间的信息泄漏,应用了候选掩码,如图3(b)右侧所示。
4.2 位置和时间偏差
HSTU [23] 利用可学习的相对注意力偏差来编码位置和时间信息。尽管这一设计对性能至关重要 [5],但它引入了计算瓶颈:注意力偏差的输入/输出操作随着序列长度呈二次方增长,随着上下文窗口的扩大,会产生显著的开销。
5.相关工作
5.1 生成式推荐
生成式推荐在信息检索领域中已成为一种有前景的范式[13, 22, 20, 19, 1]。与传统的推荐方法不同,生成式推荐旨在通过将推荐任务表述为序列生成任务,从用户的历史行为中直接生成推荐。TIGER [13] 是第一个生成式检索框架。它首先通过量化项目的语义嵌入来获取项目的层次化ID,然后训练一个序列到序列的模型来预测下一个项目的语义ID。ColaRec [20] 和 LETTER [18] 研究了在量化过程中增强协同信号的问题,以整合内容知识和协同交互。COBRA [22] 通过一种粗到细的生成机制解决了量化带来的信息损失,使生成建模更加具表现力。尽管取得了一些进展,生成式排序在现实世界的大规模场景中的有效性和可行性仍未得到充分探索。HSTU [23] 是第一个研究生成式排序任务的工作。它引入了一种交错的组织方式,通过将用户行为视为一种新模态来预测动作。相比之下,GenRank 将项目视为位置指示器,并将推荐重新表述为一个面向动作的生成问题。此外,我们系统地分析了生成式推荐中的效能驱动因素,为理解生成式排序范式和指导未来架构设计提供了重要的见解。
5.2 推荐系统中的规模法则
在自然语言处理和计算机视觉领域中,规模法则已经被广泛验证[9, 24],它描述了模型性能与模型大小、数据集大小以及计算资源等因素之间的可预测关系。在推荐系统领域,也观察到了类似的规模行为,并在检索[23, 5, 1]和排序[23, 26]等管道的各个阶段得到了验证。在最近的进展中,HSTU [23] 成为生成式推荐中的一种有前景的方法。然而,在大规模现实场景中部署此类模型需要仔细考虑效率问题。在本文中,我们介绍了一种用于排序任务的高效生成架构,同时保持与当前工业推荐系统相当的开销。
6.在线实验
为了验证生成式排序在产品场景中的有效性和可行性,我们在小红书的探索页进行了在线实验。所有模型均追溯了超过三个月的数据,并以在线方式进行训练。对于对照组,我们随机选择了小红书10%的用户并应用生产排序模型。对于实验组,我们对随机选择的10%用户应用了GenRank。每个组包含数千万用户,且组间没有重叠。
从离线指标来看,主要任务的AUC和GAUC提升均超过0.0020,而其他任务的提升范围在0.0005到0.0015之间。在线指标方面,我们选择了四个指标来衡量在线性能:停留时间、阅读次数、互动次数和7天内的生命周期(LT7)。在为期15天的实验周期内,在线A/B测试结果如表2所示,其中GenRank在所有指标上均优于生产排序模型。特别值得注意的是,GenRank在冷启动项目上的提升尤为显著。我们认为这种提升源于GenRank在利用内容嵌入的世界知识方面的增强能力。
在开销方面,GenRank和生产排序模型所需的总体资源是相当的。具体来说,GenRank的训练成本较高,但推理和存储成本较低。此外,GenRank在P99响应时间上有显著改善,超过生产排序模型25%以上。这突显了测试时扩展优化的潜力。
7.结论
在本文中,我们研究了生成式排序在大规模工业环境中的有效性和可行性。通过理论分析和实证结果,我们发现生成式架构是生成式推荐中效果的主要来源。我们还引入了一种新的生成式架构,名为GenRank,该架构将项目视为位置信息,专注于迭代预测用户行为,以解决现有方法中的低效问题。大量的大规模离线和在线实验证明了我们提出的解决方案的有效性和效率。