一、SUM [2024]

《Scaling User Modeling: Large-scale Online User Representations for Ads Personalization in Meta》

  1. 有效的 user representations 在个性化广告中至关重要。然而,对 training throughput、serving latency 和 memory 的严格约束,通常限制了在线广告排序模型的复杂度和 input feature set。这一挑战在 Meta 这样的大型系统中被放大,该系统包含数百个具有不同规格的模型,使得为每个模型定制 user representation learning 并不实际。为应对这些挑战,我们提出了 Scaling User Modeling: SUM,这是一个已广泛部署在 Meta 广告排序系统中的框架,旨在促进跨数百个广告模型的高效且 scalable 的 sharing of online user representation。SUM 利用少数指定的 upstream user models,通过先进的建模技术从海量 user features 中合成 user embeddings。这些 embeddings 随后作为 downstream online ads ranking models 的输入,促进高效的 representation sharing。为适应 user features 的动态特性(dynamic nature)并确保 embedding freshness,我们设计了 SUM Online Asynchronous Platform: SOAP,这是一个无延迟的 online serving 系统,辅以 model freshness 和 embedding stabilization,使得能够在每个 user request 时进行频繁的 user model updates 和 online inference of user embeddings。我们分享了 SUM 框架的实际部署经验,并通过全面实验验证了其优越性。迄今为止,SUM 已部署到 Meta 数百个广告排序模型中,每天处理数千亿次 user requests,产生了显著的在线指标增益并提升了基础设施效率。

  2. Personalization 是现代在线广告的基石,既提升广告主回报,也提升用户体验。personalization 的核心是 user understanding,这在传统上依赖人工的 engineered features 和简单的架构。基于深度学习的推荐系统的出现改变了这一范式,利用复杂神经网络模型学习错综复杂的 user representations。然而,training throughput 、serving latency 和 host memory 等实际约束限制了它们充分利用大量用户数据的能力。在 Meta 这样的大型系统中,该系统包含许多不同模型,每天处理数千亿次 user requests,这些局限性更加明显,导致 effective user representation learning 中出现若干相互关联的挑战:

    • Sub-optimal Representations:模型独立地学习 user representations 往往产生较差结果。

    • Feature Redundancy:跨模型重叠的 user features 导致 training pipelines 中不必要的 duplication,带来高存储开销。

    • Data Scarcity for Specialized Models:服务小众细分市场的模型缺乏 robust user understanding 所需的大量训练数据。

    • Intensive Tailoring:为每个模型的 specific performance needs 而定制架构和 feature selection 是不可扩展的。

    解决这些挑战对于支持日益增长的 user modeling 的复杂度,并高效地将 representation learning 进展扩展到众多模型至关重要。

    为应对这些挑战,我们引入了 Scaling User Modeling: SUM,这是一个在 Meta Ads 中革新 user modeling 的在线框架。SUM 旨在利用先进建模技术,同时遵守实际约束,并促进跨模型的高效的、可扩展的 representation sharing。

    SUM 采用 upstream-downstream 范式(Figure 1),灵感来自近期 user history modeling 工作(《Pinner-Former: Sequence Modeling for User Representation at Pinterest》、《Practice on Long Sequential User Behavior Modeling for Click-Through Rate Prediction》、《General-Purpose User Embeddings Based on Mobile App Usage》)。我们的方法包括训练少量的 large-scale upstream user models,采用复杂架构,在 diverse supervisions 下,如 clicks 和 conversions。user models 处理大量 user-side signal (features),以合成紧凑的 user embeddings (representations)。这些 embeddings 随后被无缝集成到各种 downstream production models 中,传播先进的 user modeling 和 representation sharing。

    SUM 的一个关键设计是其对 user features 的 dynamic nature 的适应性。我们的 serving 系统, SUM Online Asynchronous Platform: SOAP,是一个关键组件,支持无延迟且异步的 serving,实现 embedding freshness,同时克服 latency limit,无论模型复杂度如何,大幅超越传统基于离线的解决方案。与 SOAP 互补,我们设计了 a recurrent training regimen,并通过均值池化技术来增强,以保持 model freshness 并稳定 user embeddings。

    自首次部署以来,SUM 已部署到 Meta 数百个 production ads ranking models 中,在离线和在线业务指标上均带来显著提升。其有效性和适应性也促使其扩展到 Meta 的 feed models 和 quality models。本文主要贡献如下:

    • 我们提出 SUM,一个在线 user modeling 框架,专注于在 production constraints 内最优利用所有现有 user features 和复杂模型,并将 representation learning 扩展到数百个模型。

    • 我们详细介绍了一个大规模用户模型架构,对于从大量 input user features 中学习有意义的 user representations 至关重要,该架构作为 SUM 模型的骨干。

    • 我们提出 SOAP,一个无延迟的在线 serving 系统设计,平衡 feature freshness 与 serving constraints,超越离线解决方案并增强可扩展性。

    • 我们提供广泛实验研究和部署 SUM 的实际见解,包括如均值池化等策略,以缓解频繁模型更新带来的 embedding distribution shifts。

1.1 相关工作

  1. Personalization 一直处于广告排序和推荐系统研究的前沿。人们已经提出了大量建模技术来为用户提供定制化的广告。

    • Factorization Machines (《Factorization Machines》、《Factorization Machines with LibFM》)使用矩阵分解(matrix factorization)将高维稀疏特征转换为低维向量。

    • Collaborative Filtering(《Empirical Analysis of Predictive Algorithms for Collaborative Filtering》、《Factorization Meets the Neighborhood: A Multifaceted Collaborative Filtering Model》、《Item-Based Collaborative Filtering Recommendation Algorithms》)利用 similar users and items 的模式来预测用户的 personalized recommendations。

    深度学习的普及使现代广告排序模型和推荐系统能够从大规模数据集中学习高阶的和非线性的 interactions (《Wide & Deep Learning for Recommender Systems》、《DeepFM: A Factorization-Machine Based Neural Network for CTR Prediction》、《Neural Collaborative Filtering》、《Deep & Cross Network for Ad Click Predictions》、《DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-Scale Learning to Rank Systems》)。诸如 Recurrent Neural Networks: RNNs(《Sequential User-Based Recurrent Neural Network Recommendations》)、Transformers(《Pinner-Former: Sequence Modeling for User Representation at Pinterest》、《TransAct: Transformer-Based Realtime User Action Model for Recommendation at Pinterest》)和 Graph Neural Networks: GNNs (《TwHIN: Embedding the Twitter Heterogeneous Information Network for Personalized 》、《Recommendation Billion-Scale Commodity Embedding for E-Commerce Recommendation in Alibaba》)等前沿模型进一步推进了 personalization 的深度和广度。

    尽管如此,严格的 infrastructural constraints 通常限制在线模型中模型架构的复杂度和 user features 的范围,抑制最优 user representation。因此,工业界采用了 embedding-based 的方法,利用 upstream-downstream 范式。

    • upstream model 通常离线被训练和更新,以生成 condensed embeddings。

    • 这些 condensed embeddings 将作为 downstream online production models 的输入特征被消费。

    这样,latency constraints 被放宽,允许更大的模型复杂度。embeddings 主要包括 item embeddings和 user embeddings。

  2. 对于 item embeddings:

    • 来自 Twitter 的 TwHin (《TwHIN: Embedding the Twitter Heterogeneous Information Network for Personalized Recommendation》)从 a heterogeneous knowledge graph 中推导 embeddings,捕获用户、推文和广告的细微差别。

    • 来自 Pinterest 的 PinSage(《Graph Convolutional Neural Networks for Web-Scale Recommender Systems》)结合 random walks 与 graph convolutions 来学习 graph node embeddings。

    • Airbnb (《Real-Time Personalization Using Embeddings for Search Ranking at Airbnb》)提取 listing embeddings 以改善 search ranking,这些 embeddings 离线被预计算并每日存储,以便 online serving 期间实时可用。

    • ItemSage(《ItemSage: Learning Product Embeddings for Shopping Recommendations at Pinterest》)利用 transformer-based 架构从多模态中学习 product embeddings,计算成本高昂。它采用 offline serving 方案,执行每日 batch inference。

    鉴于 item features 固有的稳定性,此类offline serving 方案带来的 embedding staleness 仍然可以接受。但对于 SUM 使用的 user features,它显著损害 user embedding 性能,如后续章节所讨论,这使得确保 embedding freshness 对 SUM productionization 至关重要。

  3. 对于 user embeddings:

    • 来自 Pinterest 的 PinnerFormer (《Pinner-Former: Sequence Modeling for User Representation at Pinterest》)建模 user sequences,依赖 a daily offline batch setting 以减少 infra pressure。

    • 腾讯 《General-Purpose User Embeddings Based on Mobile App Usage 》学习 user app usage embeddings,并为 active users 每日更新,而 upstream model 更新频率低得多,以避免 embedding distribution shift 及相应 downstream model 更新。

    • 阿里 《Practice on Long Sequential User Behavior Modeling for Click-Through Rate Prediction》 通过 end-to-end learning 来挖掘 long-term user behavior,将 user modeling 部分与整个模型解耦,并存储最新 user embeddings 以便在线轻松访问。user embedding updates 由 user behavior events 触发,而非 traffic request 触发。

    先前研究主要集中于学习 user history behavior,并额外努力构建和维护 user-centric behaviors 的 data pipelines。而本工作专注于探索一种可行解决方案,以支持日益增长复杂度的 user modeling,这种复杂度无法直接添加到 production ads models 中,并在大规模广告排序系统中高效扩展 user representation sharing。

1.2 模型架构

  1. 本节中,我们介绍上游 SUM 用户模型的设计。

1.2.1 预备知识

  1. 如 Figure 2 所示,SUM user model 利用广受认可的 DLRM 架构(《Deep Learning Recommendation Model for Personalization and Recommendation Systems》)。它分为两个主要组件:user tower 和 mixed tower。user tower 处理广泛的 user-side input features,将其转换为 a refined set of SUM user embeddings。这些 embeddings 随后被传送到 mixed tower,在那里它们与广告相关的其他类型特征进一步交互。

    本质上这是一种 Model Split 方案,将一个模型拆分为两个部分:

    • 一部分是 user-dependent,这部分就是 SUM 的主体。它依赖于 user profile 和 user history actions,但是不依赖于 context 和 target item。这使得这部分可以 near real-time 来 inference,从而节省 latency。

    • 另一部分是 target item 相关的(包括 context)。这部分依赖于实时的 request,并实时 inference。

    好处是这一套 online user representation 可以共享到多个场景。缺点是,user-item feature cross 是 late cross,导致模型的表达能力有所欠缺。

  2. 我们将 input user features 分为两大类:dense 和 sparse。

    • dense features 是数值变量或连续变量,例如某页面的点击频率。

    • sparse features 通常是具有高基数的 categorical 变量或二元变量,包括 user ID 和 page ID。这些 sparse features 是存储密集型和计算密集型,需要具有极大参数量的 embedding lookup tables 来将原始值映射到 dense embeddings。

    标准模型通常处理少于 300 user sparse features,而更紧凑的模型限制在 100 以下。相比之下,SUM user models 显著更广,容纳多得多的 user features,远超下游模型所管理的特征。

1.2.2 User Tower

  1. user tower 采用类似金字塔的结构,通过连续的 Interaction Modules 有条理地压缩这些 input features。应用 Residual connections(《Deep Residual Learning for Image Recognition》)以促进训练并保留原始信息。在 dense features 和 sparse features 通过 initial embedding layers 后,假设我们有 N0 个维度为 D 的 sparse embeddings 和 Ndense 个维度为 D 的 dense embeddings ,user tower 将它们合并为 NK 个相同维度的 output user embeddings,其中 N0>>NK。

    对于第 n 个 Interaction Module,

    Xn=Concat(Interaction(Xn−1,Xdense),Residual(Xn−1))

    其中:

    • Interaction、Residual 分别表示 Figure 2 中的 Interaction Module 和 Residual Moddule。

    • Xn−1 是第 n 个 Interaction Module 的输入。X0∈RN0×D 为 sparse embeddings。

      注意,对于每一层的 Xn−1,Xn 都是 sparse embeddings,而不包含 dense embeddings 。

    • Xdense∈RNdense×D 是 initial embedding layer 后的 raw dense embeddings。

    这里 Xdense 保持不变且与每一层的 output user embeddings 进行交互。

  2. Residual Moddule 通常是 MLP。Interaction Module 集成多个并行的 feature extractors,旨在捕获一系列 complementary interactions。feature extractor 有不同选项,部分列出如下。

    • MLP:它用于学习通用的非线性 low-level implicit representations。

    • Dot Compression with Attention:Compressing the pairwise dot product matrix 是提高模型容量和效率的有效方式。我们结合带 attention 和 residual connections 的先进 dot compression 来学习 high-level explicit representations,公式为:

      Y=MLP(Concat(LC(Xdense),LC(X)))Z=MLP′(Concat(LC′(Xdense),LC′(X)))output=X(X⊤Y+Z)

      其中:

      • LC(⋅) 表示线性压缩。我们在 Concat(⋅) 之前使用 LC(⋅) 的原因是为了减少 MLP(⋅) 的 input size 以提高模型效率。

        • 对于 dense features ,LC(Xdense)=FC(Xdense)。FC(⋅) 表示没有非线性函数的全连接层。

        • 对于 sparse features,LC(X) 是 X 中 sparse embeddings 的一组加权和。

          这里的 X 就是上述公式中的 Xn−1 ,为 sparse embeddings。

      • Y 是 attention 权重,Z 是 residual 分支。

        X⊤Y 捕获显式的高阶特征交互;Z 是残差分支,保留原始信息、缓解梯度问题。

    • Deep Cross Net:DCN(《Deep & Cross Network for Ad Click Predictions》、《DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-Scale Learning to Rank Systems》)通过有效的 explicit feature crosses 和 implicit feature crosses 来学习 expressive representations。其基本组件是 cross layer,可由以下公式说明。

      Xn+1=X0⊙(WnXn+bn)+Xn

      其中:Wn 和 bn 是可学习的权重和 bias。

      通过堆叠多个 cross layers,模型可以捕获高阶 verctor-level and bit-level interactions。

    • MLP-Mixer:MLP-Mixer (《MLP-Mixer: An all-MLP Architecture for Vision》)是一种全 MLP 架构,最初为计算机视觉而设计。该架构可视为一种独特的 CNN,使用 1x1 卷积进行 channel mixing,并使用 single-channel depth-wise convolutions 进行 token mixing,分别如下公式所示:

      Y=X+W2⋅ReLU(W1⋅LayerNorm(X)⊤)⊤Z=Y+W4⋅ReLU(W3⋅LayerNorm(Y))

      这里的乘积是矩阵乘积。

      其中:W1,W2,W3,W4 是可学习权重。

1.2.3 Mix Tower

  1. mix tower 采用 DHEN 风格架构(《DHEN: A Deep and Hierarchical Ensemble Network for Large-Scale Click-Through Rate Prediction》)。除了来自 user tower 的 SUM user embeddings 外,它不包含任何 user-side features 作为输入。这一战略设计选择旨在提升 upstream training throughput,并鼓励模型主要通过 user tower 来 refine user representations。我们的经验表明,更复杂的 mix tower 架构虽然显示出更强的 upstream model 预测性能,但不会给 user embeddings 质量带来显著改善,也不会产生 downstream 收益。

    我们利用 a multi-task cross-entropy loss:

    L=−1N∑i=1N∑t=1Twt(ytilog⁡y^ti+(1−yti)log⁡(1−y^ti))

    其中:

    • wt 是任务 t,t=1,2,…T 的权重,表示其在 final loss 中的重要性。

    • yti∈{0,1} 是任务 t 中样本 i 的标签,y^ti 是模型对任务 t 中样本 i 的预测值,N 是样本数。

1.3 Online Serving System: SOAP

  1. 与 《ItemSage: Learning Product Embeddings for Shopping Recommendations at Pinterest》 、《TwHIN: Embedding the Twitter Heterogeneous Information Network for Personalized Recommendation》、《Graph Convolutional Neural Networks for Web-Scale Recommender Systems》使用的相对稳定的 item features 相比,SUM user tower 中的 user features 经常剧烈变化。相当一部分这些特征是 categorical 变量,面临 the introduction of new ids 和 shifting semantic meanings of existing ids 的挑战。在这种情况下,offline-based serving 的方案,无论是 batch inference(《ItemSage: Learning Product Embeddings for Shopping Recommendations at Pinterest》、《Pinner-Former: Sequence Modeling for User Representation at Pinterest》)还是 event-triggered inference(《Practice on Long Sequential User Behavior Modeling for Click-Through Rate Prediction》),其 embedding staleness 都会不利地影响 downstream 性能,如实验章节所讨论。因此我们决定在每次 user request 时在线推理 user embeddings。然而,online inference 的 latency budget 通常很紧张。通常,一旦收到 user request,只有 30ms 窗口来执行推理并将 user embeddings 转发给 downstream ranking models,从而限制 user model 的复杂度,并进而限制 SUM user embeddings 的 representative power。

    为应对上述挑战,我们设计了 SUM Online Asynchronous Platform: SOAP,它利用一种新颖的异步服务范式,专为 SUM online inference 而定制。如 Figure 3 所示,当 downstream model 收到 user request 时,SOAP Compute Center 使用 latest snapshot 来计算 current embedding,随后将其写入Feature Store。同时,客户端立即从 Feature Store 读取该用户的 previous embeddings,并将 average pooled embedding 转发给 downstream model,而不等待 Compute Center’s inference 结束。这样,SOAP 将 feature write path 与 read path 解耦。current embedding 的计算和更新作为异步调用被触发。通过将昂贵的且 latency-intensive 的 write path 与 read path 分离,异步服务有效消除了 latency limit,理论上可支持 inference latency 任意长的复杂用户模型(实践中,inference latency 仍会成比例影响 serving 功耗,但不再是 hard blocker)。它显著优于 offline-based 的方法,同时牺牲少量实时性以提升 scaling 潜力,从而产生更好的 ROI,如实验章节详述。

    为进一步减少 inference 时间,SOAP 中仅 serve SUM user model 的 user tower 以生成 user embeddings,而不是 serve 整个模型。

1.4 Productionization

  1. Model Training:SUM user model 以 recurring 的方式离线训练,这使模型能够保留 historical patterns,同时增量地适应 user preferences 的演变。这种频繁的 snapshot 发布,结合 online inference,使 SUM 能够持续向 downstream models 提供最新的 user embeddings。

    “recurring训练” 指的是周期性、滚动式的离线训练:不是只训练一次就固定不动,而是按照固定节奏(如每天)用最新数据重新训练或继续训练 SUM 用户模型,并发布新的模型快照(snapshot),供线上推理使用。

  2. Embedding Distribution Shift:然而,随着 recurring training,user model 不断发布 new snapshots。这意味着即使对于相同的 inference input,computed user embeddings 也会随时间变化。我们称这一现象为 "embedding distribution shift"。如实验章节所示,它显著损害 user embeddings 的有效性。有两种选项可以缓解 embedding distribution shift。

    • Option 1:一种是确保新版本的 embedding features 在 inference 中被使用之前,已被 downstream models 在训练中见过。此选项需要改变 model training、model serving 和 feature logging,给我们的系统带来额外复杂性。

    • Option 2:另一种是通过强制新版本与先前版本是相似的,从而减少 distribution shift。这可以通过各种方式完成,例如正则化(《TwHIN: Embedding the Twitter Heterogeneous Information Network for Personalized Recommendation》)、蒸馏和 post processing with average pooling。

    我们提出通过将最近 2 个 cached embeddings 和当前 computed embedding 进行均值池化,作为该用户 final current embedding 来缓解此问题。均值池化在广告排序和推荐系统中已被广泛采用,尤其用于应对冷启动问题(《On the Consistency of Average Embeddings for Item Recommendation》、《Real-Time Personalization Using Embeddings for Search Ranking at Airbnb》、《Billion-Scale Commodity Embedding for E-Commerce Recommendation in Alibaba》)。我们选择此选项,因为它成本低、带来良好性能,并免费增加 feature coverage。

  3. Feature Storage Optimization:在生产中,我们通常配置 NK=2 和 D=96,意味着一个用户模型生成 2 SUM user embeddings,每个维度为 96。在研究了 NK 值后,我们发现 NK=2 在性能提升和 feature storage efficiency 之间具有良好的 ROI。为进一步减少 online and offline storage use,两个 user embeddings 从 fp32 被量化到 fp16;我们评估了这种量化不会导致 downstream performance 差异。

  4. Distributed Inference:为解除 SUM user model 的内存约束以获得更多性能收益,我们为 user tower 引入了分布式推理(Distributed Inference: DI),使 online inference 工作负载能够有效分布在多个主机上。

1.5 实验

  1. 数据集:在本工作中,所有实验都在工业数据集上完成。我们没有使用公共数据集,因为将其应用到我们的 serving 系统存在差距,且与内部模型的巨大差异使其不适合下游实验。

  2. 评估指标:

    • Normalized Entropy:我们使用归一化熵(Normalized Entropy: NE)作为评估模型离线预测性能的指标。它衡量模型预测用户何时点击广告的准确程度。越低越好。

      NE=−1N∑i=1n(yilog⁡pi+(1−yi)log⁡(1−pi))−(plog⁡p+(1−p)log⁡(1−p)),p=∑i=1NyiN

      其中:

      • N 表示数据集中样本总数。

      • yi∈{0,1} 是 label,i=1,2,…,N。

      • pi 是每次 impression 点击的估计概率,而 p 是平均经验 CTR。

    • Feature Importance Ranking:我们使用特征重要性排名(Feature Importance Ranking: FI) (《A feature selection based on perturbation theory》)来评估一个特征对模型的重要程度。user model 所生成的 SUM embeddings 作为输入被馈送到各种 production models。通过分析SUM embeddings 与一个模型其他可用特征相比的 FI ranks,我们可以理解 SUM user embeddings 的相对价值和影响。

  3. FB CTR SUM User Model:在实践中,我们维护几个 SUM user models,每个都在不同数据集和 supervisions 下训练。作为后续讨论的代表性例子,我们将聚焦于 FB CTR SUM user model。

    FB CTR SUM user model 利用 Facebook mobile app feed 的训练数据集,包含约每日 6 billion 的样本,并以 CTR prediction 任务为目标。user tower 由四个顺序堆叠的 Interaction Modules 组成(即,K=4),采用 MLP, Dot Compression with Attention, and the MLP-Mixer 作为 feature extractors。它处理约 600 user-side sparse features 和 1,000 user-side dense features。结果,user tower 占用 160 GB 大小,并需要 390M inference FLOPs。

1.5.1 Downstream Offline Results

  1. Table 1 列出了 FB CTR SUM 在一些下游模型上的离线 NE 性能。

    • 从 Table 1 可见,SUM embeddings 在各种下游任务中带来统计显著的 NE gain,例如 CTR prediction、inline conversion prediction、mobile app install conversion prediction 以及 offsite conversion prediction in various domains。这强调了 SUM 强大的表征能力和泛化性。预期它们在 CTR 任务中显示更高增益,因为它们训练于 CTR 数据。

    • 一个特殊情况是 Instagram 模型上相对较小的增益,突出需要 Instagram SUM 模型来弥合 FB 和 Instagram 之间的领域差异。

    • 此外,在 Messenger inbox 等模型复杂度低和特征数量少的小模型上,large-scale user representation sharing 的好处更为显著。

    值得注意的是,adding SUM embeddings 给下游模型带来的 training throughput 或其他 infra metrics change 变化几乎可以忽略,因为 embedding features 是 dense representations,不需要 sparse features 所需的计算密集型 embedding look-up tables。

1.5.2 Online Performance

  1. SUM 已部署到 Meta 数百个 production ads models,在离线和在线业务指标上取得显著增益,惠及 IG、FAM、Shop Ads、Messenger Ads 等不同平台。在线 A/B 测试显示,SUM 总共带来 2.67% 在线广告指标增益(0.2% 增益在内部可视为统计显著)。值得注意的是,在实现这些增益的同时,相比于直接将相同复杂度引入每个下游模型,SUM 成功避免了 15.3% 的 serving 容量增加。

1.5.3 Async Serving

  1. 我们进行实验比较 4 种不同 serving 方案。

    • Frozen User Model:user model 仅被训练一次,我们持续使用 initial snapshot 来评估新数据并生成 user embeddings。此 setting 顺利工作的一个重要前提是仅消费稳定的 content-based features 作为 input ,而非 short-lived ID features,这相当限制 input feature space。

      鉴于我们当前 user model setup 尝试利用所有现有 user-side information 而不区分 stable features 和 non-stable features,frozen model setting 可能无法达到 user models 的全部潜力。

    • Offline Batch:初始训练完成后,user model 每日 recurring training。我们使用在 (date - 1)上训练好的 snapshot 来评估 (date) 上的数据以生成 user embeddings。通常有 1 天到 3 天的 staleness,取决于下游模型的 data pipeline 设计。

    • Online Real-time Serving:收到 user request 后,客户端从 Compute Service 获取当前 embedding,并从 Feature Store 获取 previous embeddings,然后转发 average pooled embedding 作为 final current embedding 给下游模型。如果 Compute Service 的 inference 未在规定延迟窗口内结束,则考虑 a fallback。

    • Online Async Serving:细节如 1.3 节所述。

    为公平比较 real-time serving 和 Async serving,本组实验使用的 user model 是更紧凑版本,仅 20M inference FLOPs,因为更大的模型会有非常高的 fallback rates。结果见 Table 2,显示将 model serving 从 real-time 转为 Async 仅造成平均 10% 损失,远小于从 real-time 转为 offline batch setting 的损失。此外,它为利用更复杂的 user models 铺平道路,强调 Async Serving 的好处。

1.5.4 Embedding Distribution Shift

  1. 我们进行离线实验以理解 embedding distribution shift 问题。这里 SUM user model 处于 Offline Batch 模式,以便更容易进行端到端实验,即我们对 user model 进行 daily recurring training,并使用 daily updated moving snapshots 来 dump user embeddings。考虑到 NK=2 ,则输出的两个 user embeddings 记为 Embedding0 和 Embedding1。对于每个用户,我们比较连续日期 embeddings 之间的余弦相似度和 L2 范数变化,并在 Table 3 中报告平均值。附带说明,我们还发现 Embedding1 比 Embedding0 给下游模型带来更大的 training NE 增益,但 Embedding0 可以在 Embedding1 之上带来额外增益。理解为什么一个 embedding 比另一个更稳定,以及为什么更稳定的 embedding 带来更大 training gains,不是本工作的重点。它可能是未来改进的潜在领域。

    采用均值池化之后(最近的 3 个 snapshot),Embedding 0/1 的分布都更稳定了。

  2. 如 Table 4 所示,无均值池化时,观察到良好的 training NE 增益,这意味着训练期间下游模型能够适应 embedding distribution shift。然而,evaluation NE 增益小得多,这是预期的:对于 evaluation,embedding features 由 a new user model snapshot 来生成,new version of embeddings 未在下游模型训练中见过。突然变化导致更差的 evaluation NE 。Average pooling over 3 embeddings 可以显著减少 embedding shift 并提高性能,尤其是在 evaluation NE 方面。

1.6 结论

  1. 本文提出 SUM,一个大规模在线个性化框架,使 Meta 的广告排序模型能够利用由少数 SUM user models 合成的强大 user representations。我们创新的 SOAP serving system 促进 SUM user embeddings 的在线异步推理,辅以 user model freshness 和 embedding stabilization。这不仅比 offline serving 方法增强了 embedding freshness,还释放了潜力来采用更复杂用户模型。我们深入探讨部署 SUM 的挑战和最佳实践。实验结果及其在 Meta 内的成功部署证明了 SUM 的优越性。

    SUM 已部署到 Meta 数百个 production ads models,每天处理数千亿次 user requests。我们相信,本工作提供了一条实用的、可扩展的且高效的路径,通过有效的 user embedding sharing 来改善 ads personalization,并解决在线广告模型在 training throughput、内存和 serving 功耗方面的固有限制。展望未来,我们渴望进一步改进 user modeling 算法和 serving 系统,以实现更细致的 user representations。