《Scaling Recommender Transformers to One Billion Parameters》
尽管大型 Transformer 模型已成功应用于许多现实世界应用,如自然语言处理、计算机视觉和语音处理,但为推荐系统 scaling transformers 仍然是一个具有挑战性的问题。最近,Generative Recommenders 框架被提出,作为一种超越典型 Deep Learning Recommendation Models: DLRMs 的方法。通过将 recommendation 重新表述为一个 sequential transduction 任务,它在 compute 方面改善了 scaling 特性。然而,HSTU 作者报告的最大 encoder configuration 仅为 176 million 参数——远小于语言模型中现已常见的 billions 参数(甚至 trillions 参数)。
在这项工作中,我们提出了一种训练具有多达 one billion 参数的大型 transformer recommenders 的方案。我们表明,autoregressive learning on user histories 自然地分解为两个子任务,即 feedback prediction 和 next-item prediction,并证明这种分解在广泛的 transformer sizes 下都能有效地 scale。此外,我们报告了在一个服务数百万用户的大规模音乐平台上的成功部署。在 online A/B tests 中,所提出的模型将总收听时间(total listening time)提高了 +2.26%,并将 the likelihood of user likes 提高了 +6.37%,这(据我们所知)构成了该平台历史上任何 deep learning-based system 所报告的最大的 recommendation quality 改进。
推荐系统是我们日常生活中不可或缺的一部分。它们帮助我们从相关曲目(tracks)、图集(pins)和视频中找到灵感;与他人建立联系并随时了解世界;并为我们日常需求提供广泛的选择。它们还帮助创作者、艺术家和供应商找到他们的受众。
为了确定展示哪些内容,推荐系统使用机器学习来预测 user feedback ——例如用户是否会忽略、喜欢或不喜欢某个特定 item。这项任务带来了许多挑战:item catalog 庞大且不断变化,user preferences 是动态的,user-item interactions 是稀疏的。在这种情况下,像 deep learning 这样的复杂方法变得至关重要。
Deep learning 已被证明是处理涉及大量 unstructured data(如文本或图像)问题的强大方法。传统方法严重依赖 manual feature engineering 和 domain knowledge,而 neural networks 可以从 raw inputs 中自动学习 complex patterns。此外,scaling hypothesis (《Scaling Laws for Neural Language Models》)声称,随着训练数据集大小和模型容量的增加,这种能力会显著增长。在过去十年中,scaling 已在计算机视觉、自然语言处理和语音处理等领域发挥了关键作用。
由于 item catalogs 极其庞大且 latency constraints 极其严格,recommendation 任务通常分多个阶段进行。
第一阶段是 retrieval ,使用轻量级模型从整个 catalog 中筛选可能的 items。
第二阶段是 ranking,将更复杂的架构应用于 reduced set of candidates。
推荐系统主要有两种神经网络原型(neural network archetypes):
Early fusion rankers:强调跨 user, item, and user-item features 的 feature interactions。它们通常包括一个embedding layer,后面跟着一个 feature interaction layers、以及一个 feedforward network: FFN。通常采用Multi-task learning 来预测 multiple components of user feedback。Submodules 被用于构建 user embeddings 和 item embeddings,这些 embeddings 可以作为上游模型而单独被训练(例如,SUM 《Scaling User Modeling: Large-scale Online User Representations for Ads Personalization in Meta》),或与下游模型联合训练(例如,TransAct 《TransAct: Transformer-based Realtime User Action Model for Recommendation at Pinterest》、DIN 《Deep Interest Network for Click-Through Rate Prediction》)。由于这些 rankers 依赖于 early fusion,它们不适用于 retrieval。
Sequential recommenders:将 users 视为 sequences of events,通常被训练以预测 future interactions(例如,SASRec(《Self-Attentive Sequential Recommendation》)、PinnerFormer 《PinnerFormer: Sequence Modeling for User Representation at Pinterest》)。由于 decoder layer(decoder layer 生成 next-item probability distribution)的线性结构,这些模型可以转换为具有独立 user encoder 和 item encoder 的双塔架构,从而在 retrieval 阶段实现 approximate nearest neighbor search。此外,它们还可以作为下游 rankers 中强大的 submodules(《PinnerFormer: Sequence Modeling for User Representation at Pinterest》)。
与其他 deep learning domains 类似,我们的目标是在推荐系统中利用 scaling hypothesis。有四个主要的 scaling 选项:
Embeddings:Recommender 模型包含大量的 categorical features,其 cardinalities 从 2 到数十亿不等(《Unified embedding: battle-tested feature representations for web-scale ML systems》)。因此,针对 trainable ID-based embeddings 增加 embedding dimensions 会迅速导致非常大的 embedding matrices。不幸的是,large embedding layers 对于 achieving good performance 至关重要,因为它们代表了 raw data 和模型之间的信息瓶颈(参见 golf analogy 《Unified embedding: battle-tested feature representations for web-scale ML systems》)。例如:
Meta 的 embedding tables 范围从 675B (《Wukong: Towards a Scaling Law for Large-Scale Recommendation》)到 13T (《Software-hardware co-design for fast and scalable training of deep learning recommendation models》)个参数。
而自 YouTubeDNN (《Deep Neural Networks for YouTube Recommendations》)以来,谷歌据报道大约有十亿个参数。
即使是长期提倡 inductive PinSage embeddings (《Graph Convolutional Neural Networks for Web-Scale Recommender Systems》)的 Pinterest,也在其最新工作中转向了 large ID-based embedding matrices(《Taming the One-Epoch Phenomenon in Online Recommendation System by Two-stage Contrastive ID Pre-training》)。
Context length:在现代 ranking 系统中,大量的 feature engineering 已用于增加 context length。这些系统中的特征数量从数百个到数千个不等。与此同时,user history for sequential recommenders 仍然相对较短:the gold standard 大约是 100 interactions 或 256 interactions。
Training dataset size。正如 《Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations》 所指出的,推荐系统可以以惊人的速度生成训练数据,每天生成相当于数百个GPT-3 规模(《Language models are few-shot learners》)的数据集。行业标准长期以来涉及数十亿个样本:2B(《Deep Interest Network for Click- Through Rate Prediction》)、2.1B(《End-to-end training of Multimodal Model and ranking Model》)、3B(《TransAct: Transformer-based Realtime User Action Model for Recommendation at Pinterest》)、60B(《Software-hardware co-design for fast and scalable training of deep learning recommendation models》)、超过 100B(《Deep Neural Networks for YouTube Recommendations》、《DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems》)、146B(《Wukong: Towards a Scaling Law for Large-Scale Recommendation》)和 500B(《Wide & Deep Learning for Recommender Systems》)。
Encoder capacity:在 early fusion rankers 中,谷歌报告其 production models 简化版本中的 dense parts 包含的参数在 1M (《Recommending what video to watch next: a multitask ranking system》)到 68M(《Improving Training Stability for Multitask Ranking Models in Recommender Systems》)之间。对于 sequential recommenders,通常使用多达 two transformer layers,四到五层较为罕见(例如,Kuaishou 《KuaiFormer: Transformer-Based Retrieval at Kuaishou》)。hidden size 通常保持在几百,导致最多只有几百万个参数。
尽管 embedding matrices 和 training datasets 已经非常庞大,但 context length 和 encoder capacity 在 scaling 方面仍未得到充分探索。我们假设 scaling potential of early fusion rankers 受到 specialized network layers 的限制,如DCN-v2(《DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems》)或 MaskNet(《MaskNet: Introducing Feature-Wise Multiplication to CTR Ranking Models by Instance-Guided Mask》),它们引入了强烈的 inductive bias。相比之下,sequential recommenders 没有这些结构限制,然而业界和学术界报告的 encoders 仍然相对较小。
scaling research 的一个重要进展是 Meta 的 Generative Recommenders: GR 框架(《Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations》)。对于 user modeling,作者通过统一的生成式方法,弥合了 early fusion rankers 和 sequential recommenders 之间的差距。他们训练了 a sequential model with a large context(8000 events)、大规模数据集(100B samples)和约万亿参数 embedding tables。尽管如此,该工作中简要提到的最大 HSTU encoder配置(24层,1024 维 embeddings)仅有 176 million 个参数。
一个拥有 176 million 参数的语言模型性能将远不如当前最大的语言模型。当用 sequences of user-interaction events 替换natural language tokens 时,我们能实现类似的收益吗?成功 scaling recommender transformer encoders 可能会显著改善个性化服务,通过更细致地理解 user interests,使全球数十亿用户受益。在这项工作中,我们专注于 scaling recommender transformer encoders。
本文的主要贡献如下:
与 Monty Python 的亚瑟王(King Arthur)不同,我们确实实现了目标:我们将 recommender transformers 扩展到 a billion 参数,并观察到推荐性能的显著提升。
我们提出了 a fundamental pre-training task,该任务自然地分解为两个互补的 objectives:user feedback prediction 和 next-item prediction,同时在广泛的模型规模下都能有效地 scaling。
我们引入了一个计算高效的 fine-tuning 阶段,将 large transformer encoder 转换为双塔架构,实现 offline inference,并为下游模型提供强大的 ranking feature。
我们在一个拥有数百万 users 和 items、行业领先的音乐平台上部署了一个具有 126M 参数、上下文长度 8192 的Transformer 模型。据我们所知,此次部署在该平台所有 neural-network-based recommender models 中取得了最大的质量提升。
我们将我们的方法命名为 ARGUS(AutoRegressive Generative User Sequential framework)。
核心要点就是两个:
用
HSTU encoder在next item prediction和user feedback prediction这两个任务上混合地训练:。 对于
pre-trained HSTU encoder作为user tower,利用双塔模型来进行微调。论文的内容组织比较乱,写的不清不楚。
Scaling deep learning:
AlexNet(《ImageNet Classification with Deep Convolutional Neural Networks》)是 deep learning 的首次重大成功,也是 scaling 的关键里程碑,因为 ImageNet 比以往任何数据集都大得多。
《Revisiting Unreasonable Effectiveness of Data in Deep Learning Era》通过在大型但有噪声的 JFT 数据集上进行 pre-training,改进了 ImageNet classifier,证明了性能随数据集大小呈对数增长。
《Deep Learning Scaling is Predictable, Empirically》 验证了跨机器翻译、语言建模、图像处理和语音识别的 scaling laws。
《Exploring the Limits of Weakly Supervised Pretraining》 使用来自 Instagram 的大规模弱监督数据来预训练 ImageNet classifier。
《Scaling and Benchmarking Self-Supervised Visual Representation Learning》表明,有限的模型容量会减少 data scaling 带来的收益;他们还强调了 self-supervised learning 的重要性以及识别 appropriate pre-training tasks 的必要性。
《Scaling Laws for Neural Language Models》 将 scaling 表述为 compute allocation 问题,探索模型大小和数据集大小之间的权衡;他们得出结论,更大的模型具有更高的样本效率,增加模型大小几乎总能带来更好的性能。
《Training compute-optimal large language models》表明,由于 suboptimal training(包括 learning-rate scheduling),《Scaling Laws for Neural Language Models》 提出的模型是 undertrained 的。
《Language Models are Unsupervised Multitask Learners》 深入探讨了 language modeling,将 next-token prediction 形式化为一个 extreme multi-task learning 问题,从而展现出强大的 scaling 行为。
Early fusion neural rankers:
Wide&Deep(《Wide & Deep Learning for Recommender Systems》)将一个 deep neural network: DNN 与一个 linear model 结合起来从而用于 ranking ,而 YouTubeDNN(《Deep Neural Networks for YouTube Recommendations》)则完全放弃了 linear component。
关于 early fusion rankers 的 cross-feature 和 feature-interaction modeling,有大量研究。这类模型通常包含极其庞大的 embedding matrices,参数多达 12 trillion(《Software-hardware co-design for fast and scalable training of deep learning recommendation models》),而 dense encoder part 最多通常只包含数千万个参数。
另一方向的研究考察了 scaling of neural rankers。
《Understanding Scaling Laws for Recommendation Models》 测试了 scaling DLRMs 从而用于 CTR prediction ,并得出结论:“对于所研究的模型架构,parameter scaling 已失去动力,在出现更高性能的模型架构之前,data scaling 是前进的道路”。
Wukong(《Wukong: Towards a Scaling Law for Large-Scale Recommendation》)重新引入了 stacked factorization machines 的概念,并展示了 scaling up 到 10B 参数的能力。然而,据我们所知,后续工作并未复现 Wukong 的 scaling results。与 《From Features to Transformers: Redefining Ranking for Scalable Impact》类似,我们自己使用 Wukong 的实验也未复现报告的结果。
Sequential modeling for ranking:
YouTubeDNN (《Deep Neural Networks for YouTube Recommendations》)对 last-watched videos and search queries 应用均值池化以形成 user embeddings,然后将其用于 ranking 和 retrieval。
DIN (《Deep Interest Network for Click-Through Rate Prediction》)在 user history 上采用 pointwise target-aware attention。
BST(《Behavior sequence transformer for e-commerce recommendation in Alibaba》)、TransAct (《TransAct: Transformer-based Realtime User Action Model for Recommendation at Pinterest》)和 LiRank(《LiRank: Industrial Large Scale Ranking Models at LinkedIn》)在下 downstream ranker 中加入了一个小型 target-aware transformer,用于处理 recent user history。
HSTU(《Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations》)通过将 actions 和 items 交错放置在到单个序列中,将 impression-level ranking 重新定义为 generative task。
Sequential modeling for retrieval:
YouTubeDNN (《Deep Neural Networks for YouTube Recommendations》)将 retrieval 表述为预测用户 next video watch 。
CASER(Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding)、GRU4Rec(《Session-based Recommendations with Recurrent Neural Networks》)和 SASRec(《Self-Attentive Sequential Recommendation》)分别使用 CNN、RNN 和 Transformer 将用户表示为 a sequence of positive user-item interactions,以预测 the next positive interaction。
PinnerFormer(《Pinner-Former: Sequence Modeling for User Representation at Pinterest》)额外在 user history 中包含 negative user-item interactions,并训练以预测 future positive interaction。
HSTU retrieval (《Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations》)采用类似方法,基于 full interaction history 预测 next positive interaction。
《Latent Cross: Making Use of Context in Recurrent Recommender Systems》 为 YouTube 提出了一个 RNN-based retrieval model ,而 《Top-K Off-Policy Correction for a REINFORCE Recommender System》 将 recommendation 形式化为强化学习问题,并对同一模型(《Latent Cross: Making Use of Context in Recurrent Recommender Systems》 )应用了 REINFORCE with off-policy correction 算法。
Scaling sequential recommenders:
CLUE(《Scaling law for recommendation models: towards general-purpose user representations》)使用 contrastive learning 在来自 multiple domains 的 user histories 上训练 transformer encoder,展示了在训练数据、上下文长度和模型大小方面的 scaling。
《Pivotal Role of Language Modeling in Recommender Systems: Enriching Task-specific and Task-agnostic Representation Learning》 将用户表示为 a sequence of textual item descriptions,并训练 transformer encoder 来预测 next item;他们也报告了 scaling model size 的好处。
《Scaling generative pre-training for user ad activity sequences》 训练了一个 transformer 用于 next-event prediction,将 events 分解为 separate features,并将模型大小 scale 到 85M 参数。
《Scaling Law of Large Sequential Recommendation Models》训练了一个 transformer 用于 next-item prediction,报告了比 NLP 更好的 scaling law。
《Scaling New Frontiers: Insights into Large Recommendation Models》探索了 HSTU 架构的扩展,我们将在后面进一步讨论。
然而,这些研究大多使用众所周知的 leave-one-out 评估方案,而没有适当的时间划分(temporal split)(《A Critical Study on Data Leakage in Recommender System Offline Evaluation》、《Take a Fresh Look at Recommender Systems from an Evaluation Standpoint》)。虽然这对于小模型可能可以接受,但由于其记忆容量,对大模型省略 temporal split 是有问题的。
HSTU (《Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations》)通过在专有工业数据集上使用适当的时间协议(temporal protocol)进行评估,并报告在线指标,从而解决了这个问题。作者将 encoder 扩展到 8k context 和 100B 样本,并引入了一种新架构。不过,所提到的最大 encoder 仅包含 176M 参数。
本文符号如下表所示。

如果模型 (1) 具有足够的容量, (2) 在 a fundamental task 上,(3) 使用海量数据进行预训练,那么 scaling deep learning 就保证会成功。在推荐系统中,user feedback 会产生海量的训练数据,而 transformer 似乎非常适合对 user-history sequences 进行建模。但关键问题仍然存在:training task 应该是什么?近十年来,行业标准一直是 next-item prediction,即训练模型来预测 next positive user-item interaction。然而,它并未在实践中显示出明显的 scaling benefits。在本节中,我们提出了一个 pre-training objective,该 objective 在广泛的模型规模下都能有效地 scale。
考虑大型语言模型:尽管是在有噪声的大规模 internet data 上训练的,它们仍然能产生合理的回复。Prompting such a model 通常会产生 an average internet-style answer,这可能是次优的或仅部分准确。然而,modifying the prompt ——例如,使用像 "Let’s say you are very knowledgeable" 这样的前缀——可以将 output distribution 偏向客观上更好的回复 (《Language models are few-shot learners》)。这反映了模型同时利用 prefix context 及其在预训练期间获得的 internal world knowledge 来优化其 outputs 的能力。在 reinforcement learning 术语中,模型通过结合它对环境的理解(world knowledge 和 abstract patterns),改进了它模仿的 logging policy(internet answers)。imitation of the logging policy 和 world knowledge accumulation 都发生在 pre-training 期间。
受我们与大型语言模型类比的启发,我们从概念上将 recommendation 重新定义为一个 reinforcement learning 问题,类似于《Top-K Off-Policy Correction for a REINFORCE Recommender System》:
recommender system 是一个 agent。
action space 对应于被推荐给用户的 items。在最简单的情况下,一个 action 包括 recommending a single item。
user interests、browsing habits、interaction patterns 定义了 environment,该 environment 独立于任何 single recommender 而存在。
state 捕获了 user history 并自然地满足马尔可夫性质。
马尔可夫性质:数学上,对一个随机过程
,如果满足 ,就说它具有马尔可夫性质。也就是说,当前状态 已经包含了预测下一步所需的全部信息。
policy 将 user states 映射到 item distributions。
在这个框架内,生成训练数据的 production recommender system 充当 logging policy ——我们可以直接模仿的 behavior 。同时,user behavior 提供了 world knowledge:关于不依赖于任何 particular system 的 preferences 的洞察,这些洞察通过 user feedback 和 organic transitions可见(organic user event 指的是不受 explicit system recommendations 影响的 events ,例如 search activity)。借鉴我们的语言模型类比,我们提出了一个具有 dual objectives 的 pre-training task:
(1):学习模仿(learning to imitate)先前的推荐系统。
(2):从 feedback 和 organic navigation patterns 中学习 user preferences。
请注意,我们的训练完全离线且是监督式的;我们不进行 online reinforcement learning。我们使用 RL 术语作为概念透镜(conceptual lens):
next-item prediction 对应于策略模仿(policy imitation)。
而 feedback prediction 鼓励学习 user response 规律,这个规律可被解释为 environment modeling。
上面一大段话都是废话,它们介绍了一些关于强化学习的概念。实际上,本篇论文跟强化学习无关。
Next-item prediction:在我们的方法中,模型看到 a sequence of context-item-feedback triplets contextual features(如 surface),item,user feedback。next-item prediction task 是:
我们在 all item interactions 上训练,包括 non-positive feedback。至关重要的是,interaction surface,这表明 exposure 是 recommended 的还是 organic 的;并且对于 recommended impressions,通常标识该 surface 特定的 serving policy 。因此,以 interaction types:它可以重现 surface-specific recommendation behavior,同时也能学习反映 user preferences 的 organic navigation patterns。
为了优化此任务,我们使用 logQ-corrected sampled softmax(《Sampling-bias-corrected neural modeling for large corpus item recommendations》)和 mixed negative sampling(《Mixed Negative Sampling for Learning Two-tower Neural Networks in Recommendations》):
其中:
context-aware embedding item embedding
in-batch negatives 和 items。
mixed sampler 下 negative sampling probability 的估计(使用 a count-min sketch 来维护,如 《Sampling-bias-corrected neural modeling for large corpus item recommendations》 中所述)。
这句话里的
是负采样分布:在训练时,负样本 被采样器抽到的概率。这里: 其中:
表示,在已经决定从 in-batch通道取负样本时,item被抽到的条件概率。它是 in-batch negatives的采样概率,它等于, freq()表示给定样本被采样到batch中的概率,为所有样本集合。考虑到 freq()难以精确统计,因此用count-min sketch来近似估计。
表示,从 in-batch通道取负样本的概率,它等于。
表示,在已经决定从 uniform通道取负样本时,item被抽到的条件概率。它是均匀分布,就等于 。
表示,从 uniform通道取负样本的概率,它等于。 为什么要做
logQ校正?核心原因是:负样本不是均匀采样的,直接算sampled softmax会有偏差。如果不做logQ校正,相当于假设每个负样本被采到的概率一样,即是常数。 但实际上:
in-batch negatives偏向热门item,热门item会作为负样本频繁出现。如果直接把它计入分母,模型会以为 “这个item经常是负样本”,从而过度压低热门item的分数。这会引入流行度偏差,损害推荐质量。
[0.01, 100] 。
Feedback prediction:虽然 next-item prediction 捕获了 logging policy behavior patterns 和 organic user behavior patterns,但 modeling actual user preferences 需要一个额外的 feedback-prediction component:
在实践中,feedback 通常是多变量(multivariate)的(例如,skip/like,listening duration),并且可以分解为
为简化起见,我们假设这些组件在给定状态下是条件独立的:
这将 feedback prediction 变成了一个 multi-task learning 问题。overall loss 为:
其中:其中 feedback 维度的 logit。此 objective 通过显式建模用户对 items 的反应来补充 next-item prediction。
我们将这两个 objectives 组合成 final pre-training loss :
如 Figure 1 所示。

Differences with SASRec:传统的序列模型如 SASRec (《Self-Attentive Sequential Recommendation》)也依赖于 next-item prediction,但通常只考虑 positive interactions。这将 item 被展示的可能性与获得 positive feedback 的可能性混为一谈,并忽略了许多 neutral interactions (这些 neutral interactions 对 modeling real-world behavior 至关重要)。
相比之下,我们的模型既包含了系统推荐产生的 impressions (无论 user response 如何),也包含了 user-driven (organic) events,并显式地对 user feedback 进行建模。
Simplified architecture:将每个 user-item interaction 表示为三元组 interactions 的序列的长度为 long user histories 的计算成本很高。为降低复杂度,我们将每个三元组进行合并为一个 interaction embedding。具体来说,encoder 现在对每个 interaction 输出一个 hidden state Figure 2)。
这种压缩在 context 和 item 信息的表示方式、以及跨任务重用方面引入了权衡。
对于 next-item prediction,我们无法再获得a fully context-aware hidden state previous hidden state current context embedding MLP 投影来近似它:
因为
已经包含了 的信息。但是我们的目标就是预测 。直接应用 会带来信息信息泄漏。实际上,在 时刻不知道 target item、也不知道用户反馈 ,但是可以知道 。因此,这里用 的信息来近似 。
类似地,对于 feedback prediction,我们失去了对 target item 的直接访问(target awareness 《Deep Interest Network for Click-Through Rate Prediction》)。我们将 target-aware state 近似为:
.
这一段也讲的不清不楚。本质上就是
在 input的时候聚合为一个hidden representation。但是预测的时候:
next-item prediction task:利用来预测 。
feedback prediction task:利用来预测 。

有多种方法可以使我们的 pre-trained model 适配下游任务。在这项工作中,我们专注于 fine-tuning,并将其他适配方法留待未来工作。
我们的主要下游目标是 item reranking。一种广泛采用的训练方法是 impression-aware pointwise training(《Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations》),定义为:
其中:
用户 item like)。
user、item 和 user-item features(《Deep Learning Recommendation Model for Personalization and Recommendation Systems》)的 ranking 模型。
在实践中,pointwise loss 可以根据 application 被替换为 pairwise loss 或 listwise loss。在我们的生产环境中,我们使用一个 pairwise ranking objective,这将在实验章节中详细讨论。
从概念上讲,这个 ranking objective 与 modeling feedback pre-training goal 一致。然而,practical considerations 和 task-specific constraints 促使我们采用 a separate fine-tuning procedure:
Domain shift:我们的 pre-training domain 比 final task domain 更广泛:模型最初暴露于所有 contexts(包括 purely organic contexts)的 feedback,而 final ranking 只需要预测 recommended items 的 feedback。在 fine-tuning 期间,我们将 training 限制在 recommendation-based contexts 的 items 上。
Daily inference:Pre-training 假设 data delivery 是零延迟的,并依赖于资源密集型的 real-time inference。由于效率考虑,我们更倾向于将计算卸载到 offline batch workloads。一种常见的方法(《Pinner-Former: Sequence Modeling for User Representation at Pinterest》)是训练一个具有 simulated data delivery delay 的双塔模型:我们每天计算一次 user embeddings 和 item embeddings,将 user embeddings 存储在 key-value system 中,然后在 serving 时使用点积。
Causal pre-training:模拟 24-hour data delivery delay 、或在 pre-training 期间采用复杂的 pairwise ranking loss 或 listwise ranking loss,这将需要更复杂的 attention masking 方案。相比之下,我们的 fine-tuning 过程保留了 pre-training 期间使用的简单 causal masking。
Figure 3 说明了我们为解决上述挑战而设计的 impression-aware, one-pass, two-tower fine-tuning 过程。我们对用户的整个历史通过 a causal transformer 进行单次前向传递,形成 a sequence of user representations。Impressions(recommended items)形成 a separate sequence,并通过 timestamp 和 simulated latency 与 user hidden states 进行匹配。然后我们计算每个 impression 的 embedding 与相应 user representation 之间的点积以获得 ranking score,并将结果馈入合适的 ranking loss function(例如,pointwise 或 listwise):
其中: impressed item 的 embedding,timestamp-aligned user representation。
我们将此配置作为一个连贯的 scaling 方案,而不是一组独立的启发式方法(a set of independent heuristics)。虽然像 feedback prediction 或 pecific attention mechanisms 这样的 individual components 可以进一步进行消融研究,但我们的结果表明,这种特定组合提供了一条稳定且可复现的路径,可以将 scaling recommender transformers 到 billion-parameter 规模。
Figure 3其实就是双塔方案(微调阶段):
Historical Impressions:这是item tower。下面的
inputs -> Transformer -> Historical user states:这就是user tower。微调期间,对于
user tower,一次inference会输出多个user representation(对应于不同的时间戳);然后将多个target impression item与这些user representation配对,每个user represenation可能对应多个target impression item,每个配对作为正样本。然后随机采样一些作为负样本。这比每个target impression item都重新编码用户历史高效得多。

我们旨在回答以下研究问题:
RQ1:ARGUS 是否有效 scale ?
RQ2:HSTU 与标准 transformer encoder 相比如何?
RQ3:我们的两阶段 training pipeline 是否必要?我们能简化它吗?
RQ4:context length scaling 是否能提高音乐领域的推荐质量?
RQ5:ARGUS 在现实世界的推荐场景中表现如何?
数据集:数据集的选择基于以下标准:
Scalability:数据集必须足够大,以支持训练和评估具有数亿甚至数十亿参数的模型。小型数据集要么会导致 one-epoch 训练下的欠拟合,要么会在 multiple epochs 训练时过拟合。
Content Coverage:为了按上述定义来同时学习 next-item prediction 和 feedback- prediction 任务,数据集应同时包括 impressed items 和 user feedback,以及各种 contexts —— recommendation-based and organic ones。
Applicability:数据集应反映现实世界的使用场景,并适用于在生产环境中验证模型。理想情况下,能够进行 A/B test。
由于没有公开数据集(据我们所知)满足这些要求,我们通过从我们的音乐流媒体平台中采样数千万用户的一年的活动数据,构建了自己的数据集。该数据集包含超过 300B user-item interactions 跨数百万 items,包括 ItemID、ArtistID 和其他 item features。它涵盖了 implicit signals(如 listening duration 和 skips),explicit feedback(如 likes),以及 contextual features(包括 surface type、device、以及 recommendation settings)。
对于 pre-training,我们将每个用户的 history 划分为 fixed-length chunks。每个 chunk 被视为一个单独的训练样本。对于fine-tuning,我们使用 pairwise logistic loss,从时间上相邻的且具有不同 feedback outcomes 的 interactions 中形成 impression pairs。
Baselines:为了评估 model scaling 和两阶段训练的效果,我们主要在相同的 architecture family 内比较模型。我们将 modeling family 固定为应用于 user interaction histories 的标准 transformer,它作为研究 scaling behavior 的一般性的和代表性的基线。此外,我们还通过将 transformer 替换为 HSTU 来进行 encoder replacement 比较,HSTU 的作者认为其在推荐任务上比 transformer 具有更好的可扩展性。
我们下游 utility 的主要 benchmark 是面对我们的 production ranking model:一个 gradient-boosted decision tree: GBDT 的 ensemble 模型,使用 pairwise logistic loss 在数千个特征上训练。这些特征包括标准启发式方法(counters、ratios)、手工设计的信号,以及来自早期几代 transformer-based two-tower models 的输出。我们在后续章节中更详细地描述了这些先前的模型。
对于下游评估,我们不与传统的 sequential recommenders(如 SASRec)进行比较。此类模型通常针对 next-item prediction 进行优化,主要用于 retrieval-style settings,而不是 impression-level ranking;因此,它们不太适合我们的 ranking setup,并且会明显表现不佳。我们也不与 HSTU 的 target-aware ranking formulations 进行比较:它们依赖于 real-time data 和 explicit target awareness(以 candidate item为条件),这在计算上比我们天级别处理 user sequences 和 offline inference 的 two-tower setup 昂贵得多。
Evaluation Metrics:我们使用 global temporal split 来评估模型,将 training period 之后的一周作为测试集。与 scaling studies 中常用的 random splits 不同,严格的 temporal evaluation 对于大规模模型至关重要。它可以防止因数据泄露(记住 future interactions)导致的性能高估,并从根本上测试模型对 distribution shift 的鲁棒性。
为了评估 pre-trained model,我们关注两个核心能力:next-item prediction 和 user feedback modeling:
Feedback prediction:我们根据从经验频率(empirical frequencies)中估计而来的 baseline feedback distribution 来测量归一化熵(normalized entropy)(如 《Practical Lessons from Predicting Clicks on Ads at Facebook》 中所述)。
Next-item prediction:Normalized entropy 是相对于 a unigram item distribution (从 user-item interactions 计算到)计算而来的,使用与 training 相同的 sampled softmax setup(8192 个均匀负样本、以及 8192 个 in-batch 负样本)。
pre-training 之后,我们在两种场景下评估模型对 impressions 进行排序的能力:
(1):独立排序:模型直接对 impressions 进行排序。
(2):Feature integration:模型的 output 作为一个额外特征提供给我们的 production ranker。
我们测量 pairwise accuracy,它将模型的 ordering 与实际的 user preferences 进行比较。形式上,设 impression pair positive feedback 多于 skipped track 差于完成率高于某个阈值的 track,后者又差于 explicit like)。那么:
然后,我们定义相对于我们 production ranker 的 pair accuracy uplift:
其中: production ranker 的 pairwise accuracy。
Positive PAU 表示相对于 baseline 的改进,而 Negative PAU 表示性能下降。与标准的 ROC-AUC(它对所有可比较的 pairs 进行聚合)不同,我们的指标将 comparisons 限制在 a user sequence 内时间相邻的 impressions。
为什么不用
AUC而用PAU?
standalone ranking 中的 negative uplift (例如,Large 的 -4.78% )应在上下文中解释:我们的模型以离线模式运行,具有 24 小时的数据延迟,并且仅使用 user history。相比之下,production baseline 是一个复杂的 ensemble 模型,利用 serving 时可用的数百个实时特征。一个单一的 offline transformer 能够接近这一性能水平的事实凸显了其表达能力。
实现细节:所有实验均使用 PyTorch 2.x 和分布式数据并行(Distributed Data Parallel: DDP),在 64-256 个 A100 80GB GPU 上运行。训练持续时间从 1 day 到 1week 不等,具体取决于模型大小。遵循生产实践(《Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations》),我们对数据集训练一个 epoch。除非另有说明,所有模型均使用以下配置进行训练:
ARGUS (simplified):没有 context-item-feedback interleaving;每个 interaction 以单个 embedding 来表达。
Unified embeddings for categorical features(《Unified embedding: battle-tested feature representations for web-scale ML systems》):我们对 item ID 使用 3-way lookup。所有实验中使用的相同 embedding matrix size ,包含 130M 参数( 512k 个大小为 256 的 embeddings)。请注意,这些是额外参数,不计入 encoder size。
Absolute trainable positional embeddings。
Output embedding size:对 users 和 items 均为 512。
Sequence length:512(pre-training),2048(fine-tuning)。
Encoder:medium transformer configuration(L10 H1024)。
Latency simulation during fine-tuning:matching impressions to user states延迟 24 小时。
Table 2 总结了主要超参数。我们为 backbone 与 task-specific heads 分配不同的学习率:backbone 参数使用 linear warmup 后接恒定学习率;而 head 参数使用较大的学习率,采用 linear warmup 后接 linear decay。

在 Table 3 中,我们比较了四种 ARGUS encoders ,范围从 3.2M(Mini)到 1B(Large)参数。我们在大约对数参数尺度上选择模型大小,以便能够一致地评估 scaling laws。
我们评估 pre-training 性能(通过 feedback and next-item prediction 的 normalized entropy)和下游性能(通过对 temporally adjacent item impressions的 pairwise accuracy uplift)。
随着模型大小的增加,我们观察到所有指标的一致改进。Feedback prediction entropy 提高了 3% ~ 7%,next-item entropy 下降了超过 10%,pairwise accuracy uplift 增加了 +1.35%(Mini)到 +2.66%(Large)。这些结果,也在 Figure 4 中展示,表明 transformer-based recommenders 存在清晰的 scaling 趋势。


HSTU 是最近提出的 encoder 架构,被定位为 recommendation 中 transformer 的替代方案。作者认为它能更好地捕获 counting-style signals,并报告了在 academic benchmarks 上替代 transformer encoder 时取得的强劲结果和有利的 scaling。由于我们的工作研究 transformer-based recommenders 的 scaling,我们将此 comparison 作为 a sanity check:如果 HSTU 具有显著的 scaling 优势,它可能会降低在我们的设置中 transformer scaling 的实际相关性(practical relevance)。
我们将我们的 medium transformer encoder 与 《Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations》 报告的 largest HSTU configuration 进行比较。尽管 HSTU 的参数多约 1.5 倍,但 transformer 在 pre-training metrics 和 ranking uplift 方面均取得了相差无几的结果( Table 3 )。总体而言,在我们的 setup 中,我们没有观察到 HSTU 相对于标准 transformer 具有明显的 scaling-driven 的优势。

我们通过分离 pre-training 和 fine-tuning 的贡献来评估我们两阶段方法的有效性。Table 4 中的结果表明,这两个组成部分对于获得最佳性能都是必要的。
在没有 pre-training 的情况下,即使进行整整一年的 fine-tuning,feature setting 也只能达到 +1.17% 的提升,远低于 pre-trained fine-tuned model(+2.32%)。
有趣的是,即使在 pre-training 之后,fine-tuning 也必须保持较大规模。使用相同的 pre-trained backbone,将 fine-tuning 时间从一周延长到一年,可将 feature-based uplift 从 +0.63% 提高到 +2.32%,这是一个显著的收益。这表明,与常见的 LLM 流程(fine-tuning set 相对于 pre-training 很小)不同,在我们的 setting 中,impression-level ranking 需要相当规模的 fine-tuning。
综上所述,这些结果验证了我们的流程设计:pre-training 提供了一个强大的 backbone,而 large-scale fine-tuning 使模型与下游 ranking objective 对齐。

我们考察增加 context length( past historical user interactions数量)是否能提高推荐质量。我们将 pre-training context length 固定为 512,仅改变 fine-tuning context length。
如 Table 5 所示,longer histories 在 pairwise accuracy uplift 方面带来了一致的改进。
将上下文长度从 512 interactions 增加到 2048 interactions 带来了显著的收益( feature-based ranking 中从 +1.01% 到 +2.32%)。
进一步扩展到 8192 interactions带来了额外的提升(+2.77%),与将模型大小从 100M 扩展到 1B 参数的收益相当。

在过去的几年里,我们将一系列 transformer-based ranking models 部署到我们的音乐推荐流程中。所有先前的模型都遵循双塔架构。它们采用传统的 next-item prediction pre-training(例如,预测 next like),然后进行 impression-level fine-tuning 从而用于 ranking。
Table 6 总结了每次部署的 A/B test 收益:
Offline V1:在最近的 512 engagement-based feedback events(例如,likes)上训练。
Offline V2:扩展到 consumption-based signals(例如,streams with provided completion rate information)。
Offline V3:将上述两种信号类型合并为 a heterogeneous user sequence。
Real-time V1:通过将 encoder 缩减 6 倍从而优化 low-latency inference。
每一代新模型在总收听时间(total listening time: TLT)和 like likelihood 方面都带来了可测量的提升,并通过针对现有production stack 的 A/B tests 进行评估。由于所有部署都是累积的,每次改进都建立在先前的 transformer models 和其他non-deep-learning enhancements 的基础上。
Offline V4 (ARGUS) 结合了多项进步:显著更大的 encoder(126M 参数)、扩展的 user context(最多 8192 events)以及本文提出的 training pipeline。ARGUS 实现了迄今为止最强的 transformer-driven online gains:总收听时间增加了 +2.26%,like likelihood 增加了 +6.37%。虽然理想情况下我们希望测量最大的 1B configuration 的在线提升,但由于大规模在线实验的高计算成本,这超出了范围。
自本文初次提交以来,我们进一步将 ARGUS 的一个较小的 real-time variant 直接集成到 production ranker 中,观察到与 daily offline embeddings 结合时具有互补的收益。

Relation to HSTU:除了实验章节中的 encoder comparison 外,我们还强调了 HSTU 和 ARGUS 之间的几个实际差异,这些差异对于解释结果很重要。
Two pipelines vs. a unified formulation:原始的 HSTU 论文采用了两种不同的过程:
一个包含了 interleaved item-action tokens 的 ranking task。
一个包含 negative interactions 但将 predictions 限制在 positive events 的 retrieval task 。
相比之下,ARGUS 利用统一的 pre-training objective,结合了 feedback prediction(在概念上类似于 HSTU 的 ranking loss)和第二项任务(预测 all item interactions,包括 negative interactions)。
Context modeling:HSTU 将 context changes 表示为 separate events。ARGUS 将 context 视为每个 interaction 的一部分:要么作为 stream 中的 an explicit token(full version),要么融合到 a single interaction embedding 中(simplified version)。
Serving cost for ranking:ARGUS 被设计为在 serving 时成本低廉,尤其是在 offline setting 中:我们 fine-tune 为双塔模型,每日刷新 user embedding 并使用 dot-product scoring。这使得 impression-level ranking 比 real-time target-aware 方案便宜得多(real-time target-aware 方案需要将 user state 与每个 candidate item 联合地编码)。
Practical Considerations:
Generalization across domains:虽然本文专注于音乐推荐,但我们在其他 large-scale domains 也应用了相同的架构,包括电子商务市场、杂货配送和广告,观察到了一致的收益。
Cold start:ARGUS 不依赖于 an itemID lookup:item representations 可以从任意 content and metadata features 来形成,并且可以完全省略 ItemID feature。在我们跨多个领域的部署中,我们尝试了不同的 item-feature configurations,并观察到了一致的性能,表明该方法没有 fundamental cold-start limitations。
Additional fine-tuning scenarios:自初次提交以来,我们探索了 impression-level ranking 之外的 additional fine-tuning 场景。特别是,在几个领域,我们已经部署了一个 candidate-generation model:使用相同的 pre-training 方案,我们微调 backbone 以预测 future positive interactions。我们还测试了更具挑战性的 objectives,例如生成用户的整个 next session,并发现相同的 backbone 可以支持这些更丰富的 targets。
我们提出了一个 scalable 的框架,用于训练大型 recommender transformer,并成功部署在现实世界的音乐推荐系统中。受强化学习和大型语言模型进展的启发,我们引入了一种新颖的 autoregressive pre-training task,该任务统一了 next-item prediction 和 feed-back prediction,鼓励模型既模仿 observed behavior,又进行超越它的泛化。