一、InterFormer

《InterFormer: Effective Heterogeneous Interaction Learning for Click-Through Rate Prediction》

  1. 点击率预测(Click-through rate: CTR prediction)是推荐系统中的一项基础任务,旨在预测用户点击广告的概率。异质信息(heterogeneous information),如用户画像(user profile)和用户行为序列(user behavior sequences),的出现从不同方面描绘了用户兴趣。对这些异质信息进行互利整合(mutually beneficial integration)是 CTR prediction 成功的关键。然而,现有大多数方法存在两个基本局限:

    • (1):由于模态间信息流的单向性,导致模态间交互(inter-mode interaction)不足。

    • (2):由于早期总结(early summarization)导致的激进信息聚合(information aggregation),造成过度的信息丢失。

    为解决这些局限,我们提出了一种名为 InterFormer 的新型模块,以交错方式学习 heterogeneous information interaction 。为实现更好的 interaction learningInterFormer 支持双向信息流,实现不同模态间的互利学习(mutually beneficial learning)。为避免激进的信息聚合,我们在每种数据模态中保留完整信息,并使用独立的 Cross Arch 进行有效的 information selectioninformation summarizationInterFormer 已在 Meta Ads 的多个平台部署,与 SOTA 模型相比,实现了 0.15% 的性能提升和 24%QPS 提升,带来了可观的线上影响。

  2. CTR prediction 是各种 applications (如在线广告和推荐系统)的基础任务,旨在预测用户点击某个 item 的概率。CTR prediction 的质量显著影响公司收入和用户体验,引起了学术界和工业界的广泛关注。例如,在广告竞价中,CTR prediction 帮助广告主优化出价并定向(target)最易接受的受众。在内容推荐中,它使平台能够向用户推荐相关内容。

    为了实现更好的 CTR prediction,捕获用户在动态环境中的兴趣至关重要。丰富的异质信息既带来机遇也带来挑战。

    • 一方面,异质信息从不同方面描绘用户兴趣,提供多样的上下文(diverse context)。例如,non-sequence features (如user profile featurescontext features)提供了关于 general user interests 的静态视图(static view),而 behavior sequences 则为建模动态用户兴趣提供了大量信息。

    • 另一方面,数据的异质性需要不同的建模方法以及跨不同信息模态的仔细整合。例如,虽然对 non-sequential information 之间的交互进行建模对个性化推荐至关重要,但捕获序列依赖关系(sequential dependencies)是用户行为建模(user behavior modeling)的主要关注点。

    现有的大多数 CTR prediction 模型分为两类,包括 non-sequential modelssequential models

    • non-sequential models 侧重于通过内积、MLPdeep structured semantic model 进行 feature interaction 来学习informative embeddings,但忽略了用 user behaviors 中的序列信息。

    • 相比之下,sequential models 采用额外的模块,如 CNN modulesRNN modulesAttention modules,来捕获 user behaviors 中的序列依赖关系。

    尽管前景很好,但现有的 sequential methods 大多采用单向信息流,其中 non-sequential information 用于指导 sequence learning,而从 sequence to non-sequence 的逆向信息流则基本被忽略,导致模态间交互(inter-mode interaction)不足。例如,non-sequential information 捕获长期兴趣,而 sequential information 揭示瞬时兴趣(如突然对某类产品产生关注),这可以通过即时偏好(immediate preference)来增强 non-sequential context。此外,由于在大量 non-sequence features 和长序列之间进行 interaction learning 面临计算挑战,通常在早期阶段进行激进的 feature aggregation,例如 sequence summation, pooling, and concatenation,这不可避免地导致过度的信息丢失。

    鉴于上述局限,我们提出了一种新颖的异质交互学习(heterogeneous interaction learning)模块,名为 InterFormer,其思路有两方面。

    • 为避免 inter-mode interaction 不足,我们启用了不同模态之间的双向信息流,使得 non-sequence learningsequence learning 以交错方式进行。具体来说:

      • 为了学习 context-aware sequence embeddingsnon-sequence summarization 通过个性化前馈网络(Personalized FeedForward Network: PFFN)和多头注意力(Multihead Attention: MHA)指导 sequence learning

      • 为了学习 behavior-aware non-sequence embeddingssequence summarization 通过 interaction 模块指导 non-sequence learning

    • 为缓解激进的 information aggregation,我们采用 MHA 进行有效的 information selection,从而保留 input and output tokens 之间的一一映射。

    请注意,我们的框架与各种 interaction learning 模型(如 DCNv2DHEN 等)兼容。

    我们总结主要贡献如下:

    • (1) 挑战:我们识别出 heterogeneous interaction learning 的两个关键瓶颈,即 inter-mode interaction 不足和激进的 information aggregation

    • (2) 模型设计:提出了一个名为 InterFormer 的新型 heterogeneous interaction learning 框架,用于有效的 feature interaction 和选择性的 information aggregation。据我们所知,我们是第一个解决 heterogeneous interaction learning 中互利问题(mutual benefits )的。

    • (3) 实验与分析:大量实验表明, InterFormer 在基准数据集上实现了高达 0.14%AUC 提升,在工业数据集上实现了0.15% 的归一化熵(Normalized Entropy: NE)提升。此外,在 Meta 的内部部署表明,InterFormer 展现出有前景的 scaling 结果,与 SOTACTR 模型相比实现了 0.15% 的性能提升和 24%QPS 提升,并带来了可观的线上影响。

1.1 相关工作

  1. Non-Sequential Methods

    • 绝大多数 non-sequential models 建立在因子分解机(Factorization Machine: FM)(《xdeepfm: Combining explicit and implicit feature interactions for recommender systems》《Factorization machines》《FM2: Field-matrixed factorization machines for recommender systems》)的思想之上,通过线性组合其低维 embeddings 来建模 user-item interaction《Deep learning based recommender system: A survey and new perspectives》)。《Factorization machines》是第一个捕获 pair-wise interactionsFM 模型。

    • 为了建模高阶interactions,不同方法将 FM 与深度神经网络(deep neural networks: DNN)相结合,其中 FM 通过 pairwise operation 来学习低阶 interactionsDNN 通过深度架构学习高阶 interactions。例如,MLP 通过特征间的dense connections 捕获高阶 interactions,注意力机制通过线性组合学习更复杂的 embeddings。这些基于深度学习的方法支持端到端训练,无需手工设计特征,并且能够处理文本、图像和视频等异质信息。

    • 此外,近期工作解决了推荐中的 scaling law,其中 DHEN《DHEN: A deep and hierarchical ensemble network for large-scale click-through rate prediction》)集成了多个 interaction 模块,Wukong《Wukong: Towards a Scaling Law for Large-Scale Recommendation》)堆叠 FM 以学习a hierarchy of interactions

    尽管有前景,但 non-sequential models 无法捕获 user behaviors 中的序列依赖关系,导致次优解。

  2. Sequential Methods:随着推荐系统中序列信息(例如 user interaction history )的近期出现,人们投入了大量努力来捕获不断演化的用户兴趣。序列方法背后的一个关键挑战是如何以互利的方式将 sequential informationnon-sequential information 结合起来。

    • 马尔可夫模型(Markov models )(《Fusing similarity models with markov chains for sparse sequential recommendation》《An MDP-based recommender system》《A hybrid recommender system for sequential recommendation: combining similarity models with markov chains》)将 sequential data 视为离散随机变量上的随机过程,但过度简化的马尔可夫性质限制了模型捕获 long-term sequential dependencies 的能力(《Sequence-aware recommender systems》)。

    • 为了建模长期依赖关系,RNNAttention 机制被用作许多序列方法的骨干模块。例如,人们设计了各种基于注意力的网络(《Deep match to rank model for personalized click-through rate prediction》《Sequence-aware recommender systems》),并且 Transformer《Bert: Pre-training of deep bidirectional transformers for language understanding》《Cats: Mitigating correlation shift for multivariate time series classification》《Attention is all you need》)被用于序列建模(《Behavior sequence transformer for e-commerce recommendation in alibaba》《BERT4Rec: Sequential recommendation with bidirectional encoder representations from transformer》)。

    • 此外,为了建模多方面的用户兴趣,《Efficient Noise-Decoupling for Multi-Behavior Sequential Recommendation》《Deep multi-interest network for click-through rate prediction》 提出从 multi-behavior sequences 中捕获 multiple user interests

    • 最近,TransAct《Transact: Transformer-based realtime user action model for recommendation at pinterest》)采用 hybrid ranking model,结合 real-time user actions 以获取即时偏好、以及 batch user representations 以获取长期兴趣。

      LiRank《LiRank: Industrial Large Scale Ranking Models at LinkedIn》)通过集成多个 interaction 模块并用 quantizationvocabulary compression 来加速,改进了 LinkedInCTR prediction

      CARL《Cache-Aware Reinforcement Learning in Large-Scale Recommender Systems》)通过利用 cached results 并在基于强化学习的框架监控下,在 Kuaishou 实现了大规模推荐中的 fast inference

    虽然大多数现有的 sequential methods 利用 non-sequential information 进行个性化序列建模,但序列信息很少被用于 non-sequence learning。我们认为这种单向设计限制了 learned embeddings 的表达能力,而不同模态之间的双向信息流是实现更好heterogeneous interaction learning 的关键。

1.2 方法

  1. 预备知识:我们用粗体大写字母表示矩阵(例如 X ),粗体小写箭头字母表示向量(例如 x ),小写字母表示标量(例如 n)。我们使用上标 u 表示用户,下标 it 分别表示 item 和时间戳(例如 yitu)。我们用 xj(l) 表示第 l 层的第 jnon-sequence feature,用 sj(l) 表示第 l 层在时间戳 tsequence feature。我们考虑包含 mdense featuresnsparse features 、以及 k 个长度为 Tsequence features 的场景。我们用 d 表示 CTR 模型的 embedding 维度。

    即,这里有 k 个序列(例如,click 序列、 purchase 序列、add cart 序列),每个序列的长度为 T

    CTR prediction在给定 static contextbehavior sequences 等异质信息的情况下,估计用户点击某个 item 的概率。形式上,给定用户集合 Uitem 集合 I ,用户 uUinteraction sequence 定义为 Su=[i1u,i2u,,iTu],其中 ituI 是用户utime step t 交互过的 item。我们的目标是根据 historical interaction sequence Su,估计用户点击 new item iT+1u 的概率,记为 yiT+1u。形式上,我们寻求学习一个函数 f:U×I×S[0,1],其中 S 是所有 possible sequences 的集合,使得:

    P(yiT+1u=1u,iT+1,Su;θ)=f(u,iT+1,Su;θ)

    其中:θ 为模型参数。

  2. 接下来,我们介绍所提出的 InterFormer。我们首先介绍预处理模块,然后介绍三个主要模块,包括 Interaction ArchSequence ArchCross Arch

    • 为了学习 behavior-aware non-sequence embeddingsInteraction Archfeature interactions 进行建模。

    • 为了学习 context-aware sequence embeddings,我们提出 Sequence Arch 从而 optimize sequence

    • Cross Arch 连接 Interaction ArchSequence Arch,实现不同模态之间的有效的 formation summarizationformation exchange

    InterFormer 的概览如 Figure 1 所示。

1.2.1 特征预处理

  1. Non-Sequence Feature Preproessing:考虑两种类型的 non-sequence features,包括 dense features (如用户年龄和 item 价格)和 sparse features (如 user iditem category)。为了统一 non-sequence features 中的异质性,不同特征被转换为相同维度的 embeddings。具体来说:

    • 原始 dense features xdensei(0) 首先被拼接成一个稠密向量 xdense(0)=[xdense1(0),,xdensem(0)]Rm,然后通过线性变换进一步转换为一个 d 稠密 embedding vector,即 xdense(1)=Wdensexdense(0)

    • 类似地,每个原始 sparse feature 首先被编码为一个 one-hot 向量 xsparse(0)Rnvi,其中 nvi是第 isparse featurevocabulary size,然后通过 xsparse(1)=Wsparsexsparse(0) 进一步转换为一个 dembedding vector

    通过拼接 dense embedding vectorssparse embedding vectors,可以得到 input non-sequence embedding matrix 如下:

    X(1)=[xdense(1)xsparse1(1)xsparsen(1)]Rd×(n+1)
  2. Sequence Feature Preprocessing:与 non-sequence feature preprocessing 类似,我们使用一个 embedding layer 使得序列中每个 interacted item 被映射到一个 d 维向量 stbehavior sequences 表示为 item embeddings 的拼接,即 S(0)=[s1(0)sT(0)]Rd×T

    现实场景中经常遇到来自不同 user actions (例如 clickconversion )或不同平台的多个序列。此外,由于 user behaviors 的不确定性,这些序列通常包含 noisy 的和 irrelevantuser-item interactions。为了解决这个问题,我们采用 MaskNet 来统一多个序列并通过 self-masking 来过滤内部噪声。

    具体来说,给定 k 个序列 S1,,Sk,它们首先沿 embedding 维度拼接,即 [S1(0)Sk(0)]R(kd)×T,然后通过 MaskNet 操作处理如下:

    MaskNet(S)=MLPlce(SMLPmask(S))

    其中:

    • MLPmask:R(kd)×TR(kd)×T 计算 self-masking 以从 input sequences 中选择相关信息。

    • MLPlce:R(kd)×TRd×T 将多个 sequences 线性组合为一个,使 non-sequence featuressequence features 的维度相匹配。

    这里的做法明显有问题:多个 action sequence 不能直接拼接起来,它们发生的时间戳都不一样。读者的建议:

    • 按照时间戳的先后顺序将 k 个序列整合为一条序列,长度涨了 k 倍。但是,这会明显增加计算复杂度,因为 Transformer 的时间复杂度为 O(L2) ,其中 L 为序列长度。

    • k 个序列,每个序列都单独处理,然后在模型的最后进行融合。这个读者比较推荐。

1.2.2 Interaction Arch: Towards Behavior-Aware Interaction Learning

  1. Non-sequence features,如 user profilead content,为理解用户对特定 item 的偏好提供了大量信息。对 non-sequence features 之间的 interaction 进行建模是 CTR prediction 成功的关键。虽然 non-sequence features 反映了静态的用户兴趣,但 behavior sequence 提供了从动态视角描绘用户兴趣的补充信息(《Deep interest evolution network for click-through rate prediction》)。例如,虽然 user profile 表现出对电子产品的 general interest,但最近关于智能手机的浏览历史提供了关于当前需求的更具体的和更及时的信息。因此,学习 behavior-aware non-sequence interactions 以适应不断演变的环境至关重要。

  2. 为了学习 behavior-aware non-sequence interaction,我们通过一个 interaction 模块对 non-sequence features 之间的交互、 non-sequence featuressequence summarization 的交互、以及 sequence summarization 之间的交互进行建模。形式化地,给定第 l 层的 non-sequence input X(l)sequence summarization Ssum(l),第 lInteraction Arch 的输出定义为:

    X(l+1)=MLP(l)(Interaction(l)([X(l)Ssum(l)]))

    其中:Interaction(l)()interaction 模块。请注意,我们不拘泥于特定的 interaction 模块,而是可以采用各种骨干模型,如内积、DCNv2DHEN。此外,使用 MLPoutput X(l+1) 转换为与 input X(l) 的形状匹配,从而实现 selective information aggregation 并便于 layer stacking

    论文中使用的是 DHEN 作为 interaction 模块。

    通过在 concatenation 上(X(l)Ssum(l) 的拼接)执行 interaction learningX(l+1) 融合了 non-sequence featuressequence features

    • non-sequence features 之间的交互通过计算 user profiletarget item content 之间的相关性来捕获显式的用户兴趣。

    • non-sequence featuressequence features 之间的交互通过计算 target itemsequence features 中用户当前需求之间的相关性来捕获隐式的用户兴趣。

    • 此外,通过计算 sequence features 之间的交互,具有高 interaction scores 的最具代表性的信息被提升,而得分低的 inactive items 被过滤掉。

    通过堆叠多个层,Interaction Arch 捕获不同阶次的 rich behavior-aware interactions

1.2.3 Sequence Arch: Towards Context-Aware Sequence Modeling

  1. 除了 non-sequence features 中的显式的静态用户偏好外,behavior sequences 背后的隐式的动态用户兴趣提供了补充信息。然而,由于 behavior sequences 具有高度随机性和噪声,仅依靠序列信息是无效的。将 non-sequential context 融入 sequence modeling 非常重要。例如,用户可能在购物平台上随机浏览 items,但考虑到该用户是电子产品爱好者的静态信息, browsing history 中的电子产品(如智能手机和笔记本电脑)提供了需要额外关注的关键信息。

  2. 为了学习 context-aware sequence embeddings,我们基于两个关键思想设计了 Sequence ArchPersonalized FFN: PFFNMulti-Head Attention: MHA

    • 为了实现 non-sequential informationsequential information 之间的交互,我们使用 PFFN 在给定 non-sequence summarization 作为 query 的情况下 transform sequence embeddings。给定第 l 层的 non-sequence summarization Xsum(l)sequence embedding S(l)PFFN 操作定义为:

      PFFN(Xsum(l),S(l))=f(Xsum(l))S(l)Rd×T

      其中:f(Xsum(l)) 是一个 MLP,旨在基于 non-sequence summarization 来学习 sequence 上的线性投影。

      注意:

      • Xsum(l)Rd×nsum ,其中 nsum 是一个比较小的数字且 nsumn

      • f():Rd×nsumRd×d ,它的输出是一个 Rd×d 的投影矩阵。

      • 得到的投影矩阵在 S(l) 的每个位置进行投影。

    • 此外,为了建模序列中事件之间的关系,我们应用 MHA 使模型能够关注序列的不同部分,并捕获长距离依赖关系和上下文信息。为了融入 non-sequential context,在馈入第一个 InterFormer layer 之前,我们将 non-sequence summarization Xsum(1)Rd×nsum 作为 CLS tokens 从而添加到 sequence 开头(有 nsum 个),即 S(1)=[Xsum(1)S(1)]Rd×(T+nsum),因此后续在 CLS token 上的 MHA 可以使用 non-sequential information 作为 query 来聚合 sequential information。这类似于 TransAct 中描述的 early fusion 思想,但我们主要考虑 "append" 而非 "concat" 作为融合方法。

      nsumnnon-sequence summarization 的数量。

      此外,我们在 tokens 上应用 rotary position embeddings《Roformer: Enhanced transformer with rotary position embedding》),以便有效利用序列中的 positional information。总的来说,Sequence Arch 可以写为:

      S(l+1)=MHA(l)(PFFN(Xsum(l),S(l)))

      由于 output S(l+1)input S(l) 形状相同,因此可以避免激进的 aggregation,并且可以轻松堆叠 layers

      注意,仅仅在第一层有 S(1)=[Xsum(1)S(1)] 。后续的层不需要拼接 Xsum(1) ,因为 S(l)Rd×(T+1) 已经包含了 CLS Token

    通过 layer stacking,一方面,sequence embeddings 通过 PFFN 感知不同阶次的 non-sequence interactions ;另一方面,不同层的 MHA 关注序列的不同部分,捕获 multi-scale sequential information。因此,该模型能够学到序列数据中丰富的 context-aware encoding,同时捕获序列中的 local patternsglobal patterns

1.2.4 Cross Arch: Towards Effective Information Selection and Summarization

  1. 尽管在 Interaction ArchSequence Arch 中都实现了 selective information aggregation,但由于 input featuresoutput features 的维度一直保留到最后一层,直接交换这些信息是不可行的,原因在于:

    • (1):由于 noisy information 导致效率低下。

    • (2):由于高维度导致效率低下。

    为了解决这个困境,我们提出了一个 Cross Arch,在交换信息之前 select and summarize information

    • 首先,鉴于 non-sequence embeddingslarge scale,选择性地 summarize 它们以指导 sequence learning 非常重要。为此,我们通过以下 personalized gated selection 机制来突出最有用的信息:

      X~(l)=MLP(X(l))Rd×nsumXsum(l)=Gating(X~(l))=σ(X~(l)MLP(X~(l)))Rd×nsum

      其中:

      • 第一个 MLP:Rd×nRd×nsum ,其中 nsumn 。第二个 MLP:Rd×nsumRd×nsum

      • σ() 为激活函数,如 sigmoidtanh 、甚至恒等映射。

      Self-gating《Highway transformer: Self-gating enhanced self-attentive networks》)在 embeddings 上提供 sparse masking,使得相关信息被保留,而 irrelevant noises 被过滤掉,从而为 sequence learning 提供高质量的上下文。

    • 对于 sequential information,我们精心设计了三种类型的 summarization,包括 CLS tokensPMA tokensrecent interacted tokens

      • MHA 所学到的 CLS tokens SCLSRd×nsum 被选为 context-aware sequence summarization

      • 然而,CLS tokens 的质量在很大程度上依赖于 learned non-sequential context。为了补偿这种强依赖性并提供更多灵活性,我们采用了基于 learnable queriesequence summarization,即 PMA tokens SPMA《Set transformer: A framework for attention-based permutation-invariant neural networks》)。

        PMA tokens 是通过 nplearnable queries 来进行聚合:

        SPMA=attention(Q,WKS,WVS)

        其中:QRd×np 为待学习的 queriesWK,WV 为待学习的投影矩阵。

      • 此外,最近的 Kinteracted tokens Srecent 已被证明能有效捕获用户的近期兴趣。

      上述信息的组合进一步通过 self-gating layer 进行门控,作为 non-sequence interactionbehavior summarization

      Ssum(l)=Gating([SCLS(l)SPMA(l)Srecent(l)])

      实验部分表明:PMA tokens 的影响相当大;而 recent interacted tokens 的影响非常小。

  2. 总的来说,Cross Arch 的好处有两方面:

    • 一方面,通过将 information summarizationInteraction ArchSequence Arch 分离,信息可以在两个 Arch 中保留,避免激进的 information aggregation

    • 另一方面,由于高维的 non-sequence/sequence featuresselectedsummarized 为低维 embeddings,我们可以实现有效的信息交换。

    因此,Cross Arch 在使模型能够捕获 non-sequence informationsequential patterns 之间的复杂交互方面发挥着关键作用,从而对 input data 进行更全面的 representations

1.3 实验

  1. 在本节中,我们进行大量实验来评估提出的 InterFormer。我们首先介绍实验设置。然后,我们在公共基准数据集上对 InterFormer 进行评估。最后,我们所提出的 InterFormer 已在 Meta 部署,然后我们提供了内部工业规模数据集上的发布后结果。

  2. 数据集:我们在三个公共基准数据集上进行评估,包括 AmazonElectronicsTaobaoAd、以及 KuaiVideo,如 table 1 所示。此外,我们使用了一个包含超过 70 billion 条记录的大规模内部数据集,其中有数百个 non-sequential user and item features,以及 10 个长度范围从 200 ~ 1000sequential features

  3. Baseline 模型:我们将所提出的 InterFormer11SOTA 模型进行比较,包括

    • (1) 非序列方法:

      • FM《Factorization machines》)。

      • xDeepFM《xdeepfm: Combining explicit and implicit feature interactions for recommender systems》)。

      • AutoInt+《Autoint: Automatic feature interaction learning via self-attentive neural networks》)。

      • DCNv2《Dcn v2: Improved deep & cross network and practical lessons for web-scale learning to rank systems》)。

      • FmFM《FM2: Field-matrixed factorization machines for recommender systems》)。

      • DOT product

      • DHEN《DHEN: A deep and hierarchical ensemble network for large-scale click-through rate prediction》)。

      • Wukong《Wukong: Towards a Scaling Law for Large-Scale Recommendation》)。

    • (2) 序列方法:

      • DIN《Deep interest network for click-through rate prediction》)。

      • DIEN《Deep interest evolution network for click-through rate prediction》)。

      • BST《Behavior sequence transformer for e-commerce recommendation in alibaba 》)。

      • DMIN《Deep multi-interest network for click-through rate prediction》)。

      • DMR《Deep match to rank model for personalized click-through rate prediction》)。

      • TransAct《Transact: Transformer-based realtime user action model for recommendation at pinterest》)。

    在实验中,我们采用 DHEN 作为 Interaction Arch

  4. 指标:我们采用四个广泛使用的指标从不同方面评估模型,包括:

    • AUC:评估了模型在所有阈值下正确分类正负样本能力。越高越好。

    • gAUC:提供了个性化的 AUC 评估,其中用户按其点击次数加权。越高越好。

    • LogLoss (交叉熵损失 cross-entropy loss ):衡量预测值 y^label y 之间的距离,计算为 L(y,y^)=(ylogy^+(1y)log(1y^))。越低越好。

    • normalized entropy:NE(归一化熵):是 LogLoss 被训练集平均 empirical CTR 归一化后的结果。NE 提供了对模型性能的 data-insensitive evaluation,因为归一化减轻了 background CTRmodel evaluation 的影响。越低越好。

  5. 可复现性:

    • 我们采用 BARS evaluation framework《Bars: Towards open benchmarking for recommender systems》)进行基准实验。

    • 我们采用带有学习率调度器的 Adam optimizer 进行优化,初始学习率在 {1e-1, 1e-2, 1e-3} 中调优。

    • 我们使用 batch size = 2048,训练最多 100 epochs 并提前停止。

    • 基准实验使用 NVIDIA A100,内部实验使用 NVIDIA H100

1.3.1 Benchmark Datasets 上的评估结果

  1. 结果:实验结果如 Table 2 所示。

    • 我们首先观察到,在所有数据集上,序列方法始终优于非序列方法。

      • 对于非序列方法,sequence information 在早期阶段被朴素地聚合,然后与 non-sequence information 一起处理。

      • 而在序列方法中,采用了精心设计的 sequence processing 模块,例如 RNNattention 机制,使得 sequential information 可以在感知 non-sequence context 的情况下进行处理。

      序列方法的普遍优越性验证了不同数据模态应该以不同方式处理。此外,结果表明,在早期阶段不考虑 non-sequence context 的情况下进行激进的 sequence summarization 会损害模型性能。

    • 比较 InterFormer 与其他序列方法,InterFormer 达到了 SOTA 的性能。具体来说,InterFormergAUC 上优于最佳竞争者最多 0.9%,在 AUC 上最多 0.14%,在 LogLoss 上最多 0.54%。这些结果证明了 InterFormer 在不同数据集上的有效性以及在不同推荐任务上的泛化能力。

  2. 模型分析:

    • Interleaving Learning Style:我们分析交错学习风格(interleaving learning style)如何有利于 heterogeneous interaction learning。为了验证 InterFormer 的普适性,我们考虑三种骨干 Interaction Arch,包括点积(DOT)、DCNv2DHEN,以及五种不同场景,包括:

      • sole:仅采用 Interaction Arch,而序列信息在早期阶段被朴素地聚合。

      • sep:禁用模态间交互,SequenceInteraction Arch 分开学习。

      • s2n:仅启用 sequence-to-non-sequence 的信息流,而反方向被禁用。

      • n2s:仅启用 non-sequence-to-sequence 的信息流,而反方向被禁用。

      • int:启用双向信息流。

      Figure 2 所示:

      • 无论骨干 Interaction Arch 如何,int 始终优于其他场景,在 AUC 上最多提升 1.46%,验证了我们提出的 interleaving learning style 带来的普遍益处。

      • 我们还观察到,当不同数据模态之间交换更多信息时,模型性能呈现上升顺序,即 sole < sep < n2s < s2n < int。这验证了我们的主张,即模态间交互(inter-mode interaction)的不足是 heterogeneous interaction learning 的关键瓶颈,而双向信息流使不同数据模态能够以互利的方式学习。

        具体来说,当配备额外的 Sequence Archsep)时,模型性能始终优于没有序列建模的 sole。这不仅显示了为不同数据模态采用不同架构的必要性,也意味着当 heterogeneous data 被朴素整合时可能出现性能下降。此外,鉴于双向信息流 (int)始终优于单向设置(n2s and s2n),我们将 InterFormer 相对于其他 SOTA 序列方法的优越表现归因于双向信息流。

    • Selective Information Aggregation:我们通过与三种激进的 aggregation 变体进行比较来评估 selective information aggregation 的效果,其中 sequence information 首先通过 (1) average pooling(2) MLP(3) MHA 进行压缩,并通过 interaction 模块 DHEN 进一步与 non-sequence features 相结合。实验结果如 Figure 3(b) 所示。

      结果表明,与其他激进的变体相比,selective aggregationInterFormer)始终达到最佳性能。一般来说,我们可以将MLP 视为均值池化的一种更具 selective 的版本,因为 MLP 会渐进地(gradually )压缩序列信息;同样,MHA 处理序列的激进程度也不如 MLP。因此,我们可以得出结论,通过更具选择性的 aggregationCTR prediction 质量得到了提高。

  3. 消融研究:为了更好地理解不同模型设计如何对最终性能做出贡献,我们消融了不同的 ex-changed information(包括 PMA tokensrecent interacted tokens),以及不同的模块(如门控模块、PFFNMHA)。

    结果如 Figure 3(a) 所示,所有 exchanged information 和模块都对模型性能有贡献。具体来说:

    • PMA tokens 在给定 non-sequence context 的情况下提供有效的 sequence summarization,并且非常重要,消融它会使AUC 降低多达 0.004

    • 门控模块有助于从不同数据模态中选择性地 summarize 信息,贡献了多达 0.003AUC 提升。

    • sequence modeling 模块(PFFNMHA )也在一定程度上提升了性能。

1.3.2 Industrial Datasets 上的评估结果

  1. 为了评估工业规模的性能,我们采用了来自 Meta 的大规模内部数据集,包含 70B 样本,数百个 non-sequence features10 个长度从 200 ~ 1000sequence features

  2. 结果:总的来说,一个 3 层的 InterFormer 与内部 SOTA 模型相比,在相似 FLOPs 下实现了 0.15%NE 增益和 24%QPS 增益。结合 feature scalingNE 的增益可以进一步扩大,并且在 512 GPUs 上达到 10%Model FLOPs Utilization: MFUInterFormer 在广泛的模型上显示出良好的泛化能力,具有可观的投入产出比。

  3. Sequence Feature Scaling:我们评估了当内部数据集中 sequence feature scale 增加时 InterFormer 的性能如何变化。除了 6 个长度为 100 的序列外,我们还增加了 2 个长度为 1000 的长序列,观察到 NE 提升了 0.14%

    Figure 4a 所示,与利用 cross-attention 捕获 sequence and non-sequence information 的强内部基线(Internal )相比,InterFormer 表现出更好的 scalability,因为 InterFormerNE 曲线在涉及更多训练样本时持续下降,在 NE 上优于 Internal 0.06%

    此外,我们还尝试合并六个序列生成长度为 600 的单个序列,观察到 QPS+20%)和 MFU+17%)的显著效率提升,NE 损失为0.02%。从建模角度来看,结果验证了 InterFormer 能够扩大 sequence feature scaling 带来的 NE 增益。

  4. Model Scaling:我们评估了当 model scale 增加时 InterFormer 的表现如何。如 Figure 4b 所示,将 InterFormer1 层扩展到 4 层取得了持续的 NE 增益,表现出良好的 scaling 特性。具体来说,与单层 InterFormer 相比,双层 InterFormer 取得了显著的 0.13%NE 增益,堆叠 3 层和 4 层分别获得额外的 0.05%0.04%NE 增益。

  5. Model-System Co-Design:模型架构设计对训练效率及其对 GPU FLOPs 利用率和 GPU 间通信的影响起着至关重要的作用。我们基于 InterFormer 架构突出两项优化,总共将训练效率提高了 30% 以上,包括通信开销减少和计算效率提升。

    • 对于通信开销减少,参数庞大但计算相对较轻的 Interaction Arch DHEN 在分布式训练中往往受限于 FsDP 通信,而Sequence Arch Transformer 具有更高的计算量(FLOPs)与参数比(parameter ratio),通常是计算受限的。为了缓解这种低效,我们的 Interaction ArchSequence Arch 并行设计使得 DHEN 模块的暴露通信(exposed communication)能够与序列计算(sequence computation)有效重叠,与串行执行相比实现了 20%QPS 提升。

    • 对于计算效率,我们执行了一系列优化,包括

      • 1):将 FLOPs 从小型的、低回报的模块重新分配到更大的、高 ROI 的模块。

      • 2):合并较小的 kernels 以更好地利用 GPU 资源。

      这些优化将 interaction 模块的 MFU11% 提高到 16%DHENMFU38% 提高到 45%,整体 InterFormer layerMFU 提高了 19%

  6. 线上影响:InterFormer 已部署在关键的 Ads 模型中,包括通过 《M3C: a Multi-Domain Multi-Objective, Mixed-Modality Framework for Cost-Effective, Industry Scale Recommendation》 的最大模型,在 scaling 方面显示出优于其他 SOTA 架构的ROI2024 年的试点发布使关键指标(topline metrics)提升了 0.6%。我们预计在后续部署中将产生巨大影响。

1.4 结论

  1. 在本文中,我们为 CTR prediction 中的 heterogeneous interaction learning 提出了一个名为 InterFormer 的新型 building block。其关键思想是在不同数据模态之间采用交错学习风格(interleaving learning style),以实现有效的模态间交互以及 selective information aggregation。总的来说,采用 Interaction ArchSequence Arch 分别实现behavior-aware interaction learningcontext-aware sequence modeling。我们进一步提出了 Cross Arch,用于有效的 information selection and summarizationInterFormer 在基准数据集上取得了一致的优越性能,并在内部大规模数据集上将 CTR predictionNE 提高了 0.15%。在关键 Ads 模型中的试点发布使 topline metrics 提升了 0.6%,我们预计后续将产生巨大影响。