一、Hiformer [2023]

《Hiformer: Heterogeneous Feature Interactions Learning with Transformers for Recommender Systems》

  1. learning feature interaction 是构建推荐系统的核心支柱。在大型互联网 applications 中,由于 input feature space 的稀疏性和高维性,learning feature interaction 面临巨大挑战;同时,由于 feature interactions 的解空间(solution space)呈指数级增长,手动设计有效的 feature interactions 的方法已不现实。本文提出利用带有 attention layersTransformer-based 架构来自动捕获 feature interactions

    Transformer 架构已在自然语言处理、计算机视觉等多个领域取得显著成功,但在工业界的 feature interaction modeling 中尚未得到广泛应用,本文旨在填补这一空白。我们发现,将原始 Transformer 架构应用于 web-scale recommender systems 时存在两个关键挑战:

    • (1)Transformerself-attention layer 无法捕获异构的 feature interactions

    • (2)Transformer 架构的 serving latency 可能过高,难以部署在 web-scale recommender systems 中。

    为此,我们首先提出一种异构的 self-attention layer,通过对 Transformer 中的 self-attention layer 进行简单而有效的改进,以兼顾 feature interactions 的异构性。随后,我们引入 Heterogeneous Interaction Transformer: Hiformer 模型,进一步提升模型的表达能力。通过低秩近似(low-rank approximation )和模型剪枝(model pruning)技术,Hiformer 实现了快速推理,适用于在线部署(online deployment)。大量离线实验结果验证了 Hiformer 模型的有效性和高效性。我们已成功将 Hiformer 模型部署到 Google Playlarge scale App ranking model 中, key engagement 指标实现了显著提升(最高达2.66% )。

  2. 互联网上信息海量,用户难以高效浏览并定位相关内容。推荐系统通过过滤信息,为用户呈现最相关的内容。通常,推荐系统被构建为有监督的机器学习问题,目标是提高用户对推荐内容的 positive engagements,例如点击(clicks)、观看(watches)或购买(purchases)等行为。因此,部署具有 high prediction accuracy 的推荐系统至关重要,这直接影响企业的销售、收入等财务业绩。

    feature interactions 指多个 featuresprediction 产生复杂的协同影响(collaborative effects),是推荐系统的关键组成部分之一。例如,观察发现用户常在用餐时段下载外卖(food deliveryapplication,这表明 app ids(如外卖 apps)和时间上下文(如用餐时段)的 feature interactions,能为 predicting user behaviormaking personalized recommendations 提供重要信号。然而,在 web-scale recommender systems 中建模 feature interactions 面临三大显著挑战:

    • 首先,有效的 feature interactions 往往是 domain-specific,手动设计 feature interactions 既耗时又需要 domain knowledge

    • 其次,在 web-scale applications 中,由于原始 features 数量庞大,search of possible feature interactions 的解空间(solution space )呈指数级增长,手动抽取所有 interactions 已不现实。

    • 最后,extracted feature interactions 在其他任务中的泛化能力可能较差。

    鉴于其重要性,feature interaction 一直受到学术界和工业界的广泛关注。

    近年来,deep neural networks: DNNs 凭借出色的模型性能和 representation learning 能力,在多个研究领域备受关注。DNNs 已被广泛应用于推荐系统,用于 sparse input features representation learningfeature interaction learningDNNs 已经成为将 large and sparse input 映射到低维语义空间的强大工具。在 feature interaction learning 方面,一些近期研究基于显式特征交互函数(explicit feature interaction functions),例如 Factorization Machine: FM、内积(inner product: IP)、kernel Factorization Machine: kFMCross Network: CN 等。此外,DNNs 还通过带有非线性激活函数的 multiple layers ,用于学习隐式的 feature interactions

    另一类研究基于 attention 机制,特别是采用 Transformer 架构进行 feature interaction learningTransformer 架构已成为计算机视觉(CV)、自然语言处理(NLP)等多个任务的 SOTA模型。AutoIntInterHAt《Interpretable click-through rate prediction through hierarchical attention》)提出利用 multi-head self-attention layer 进行 feature interaction learning。然而,与 NLP 领域不同,推荐系统中的 feature semantics 在不同上下文下具有动态性(dynamic)。

    假设我们向用户推荐外卖 apps,涉及的特征包括 app_idhour_of_day 、以及 user_country。在这种情况下,app_idapp_id & hour_of_day 交互时的语义,可能与它在 app_id & user_country 交互时的语义不同。要实现不同 features 间的有效的 interaction ,需要语义感知(semantic awareness)和语义空间对齐(semantic space alignment)的能力,而Transformer 模型并未考虑这一点。在原始 attention layer 中,所有 features 通过相同的投影矩阵(即 WQWK)进行投影,且这些矩阵在所有 features 间共享。这种设计适用于 feature semantics 与上下文无关的场景(如 text token);但在推荐系统中,feature semantic 往往依赖于上下文,这种同质化设计(homogeneous design)会限制模型的表达能力。

    除了无法捕获 heterogeneous feature interactions 这一局限外,Transformer 模型的另一问题是 latency。在 web-scale applications 中,用户数量和 requests 数量庞大;模型必须能够处理极高的 queries per second: QPS,以提供最佳用户体验。然而,Transformer 架构的推理成本(inference cost)随 input length 呈二次方增长,这使得其在 web-scale recommender systems 中难以实现 real-time inference

    尽管存在这些局限,我们仍认为针对 feature interaction 来研究和改进 Transformer-based 架构,具有重要意义。

    • 首先,由于 Transformer 架构在多个领域的成功,已有大量针对该架构的改进和优化工作,提升其性能和能力。将 Transformer-based feature interaction models 应用于推荐系统,可为 Transformer 架构的最新进展向推荐领域的迁移搭建桥梁。

    • 其次,随着 Transformer 的广泛应用,硬件设计(如芯片设计)可能更倾向于 Transformer-like 架构,因此基于Transformer 架构的推荐系统有望受益于硬件层面的优化。

    • 最后,基于 Transformer 的模型基于 attention 机制,具有良好的模型可解释性,在 web-scale applications 中构建 recommender models with attention mechanism ,可能会开辟新的研究方向。

    本文针对原始 Transformer 模型的局限性,提出一种新模型,Heterogeneous Feature Interaction Transformer: Transformer ,用于推荐系统中的 feature interaction learningHiformer 具有 feature semantic aware 的能力;且更重要的是,其适用于 online deployment 的高效性。

    • 为了在 feature interaction learning 中实现 feature semantic awareness,我们设计了一种新颖的 heterogeneous attention layer

    • 为了满足 web-scale applications 严格的 latency 要求,我们利用低秩近似(low-rank approximation)和模型剪枝(model pruning)技术来提升效率。

    我们以 Google Playlarge-scale App ranking model 为案例进行研究,通过离线实验和在线实验验证 Hiformerfeature interaction modeling 中的有效性(effectiveness)和 efficiency in serving。据我们所知,本文首次证明 Transformer-based 架构(即 Hiformer)在 feature interaction learning 中能够优于现有的 SOTA 推荐模型。目前,我们已成功将 Hiformer 部署为 production 模型。

    总结而言,本文的贡献如下:

    • 提出 Hiformer 模型,其包含新颖的 heterogeneous attention layer,能够捕获 feature interaction learningfeatures 的复杂协同效应(complex collaborative effects)。与现有的基于原始 Transformer 的方法相比,该模型具有更强的表达能力。

    • 利用低秩近似和模型剪枝技术,在不损害模型性能的前提下,降低 Hiformer 的推理延迟(serving latency)。

    • 通过一个大型数据集进行广泛的离线对比实验,验证了捕获 heterogeneous feature interactions 的重要性,并证明了 Transformer-based 架构的 Hiformer 能够优于 SOTA 的推荐模型。

    • 进行 online A/B testing,衡量不同模型对 key engagement 指标的影响,结果表明 Hiformerlatency 增加有限的情况下,相比 baseline 模型实现了显著的 online 性能提升。

1.1 相关工作

  1. 在深度学习时代之前,人们通常手动构建 cross features 并将其添加到 logistic regression: LR 模型中以提升性能,也有研究利用 decision tree based 模型(《Practical lessons from predicting clicks on ads at facebook》)来学习 feature crosses 。随后,embedding 技术的发展催生了Factorization Machines: FMs《Factorization machines》),该模型通过两个 latent vectors 的内积来建模二阶 feature interactions

  2. 近年来,DNNs 已成为工业界许多模型的核心。为了提高 feature cross learning 的效率,许多研究通过设计函数 g(xi,xj) 来显式地建模特征 xixj 之间的 feature interactions,同时利用 DNNs 学习隐式的 feature crosses

    • Wide & Deep 模型(《Wide & deep learning for recommender systems》)将 DNN 模型与一个 wide 组件相结合,其中这个 wide 组件包含原始特征的 crosses

    • 此后,许多研究通过引入 FM-like 操作(即,内积 inner products)或 Hadamard products,从而自动化 Wide & Deep 中的 manual feature cross 工作:

      • DeepFM《Deepfm: a factorization-machine based neural network for ctr prediction》)和 DLRM《Deep learning recommendation model for personalization and recommendation systems》)在模型中采用 FM

      • Neural FM《Neural collaborative filtering》)通过融入 Hadamard productFM 进行泛化;

      • PNN《Product-based neural networks for user response prediction》)也使用内积(inner products )和外积(outer products)来捕获 pairwise feature interactions

      然而,这些方法最多只能建模二阶 feature crosses

    • 此外,还有一些研究能够建模高阶 feature interactions

      • Deep Cross Network: DCN《Deep & cross network for ad click predictions》)设计了 cross network,用于显式地学习高阶 feature interactions,其 interaction 阶数随网络深度增加。

      • DCN-V2《Dcn v2: Improved deep & cross network and practical lessons for web-scale learning to rank systems》)增强了 DCN 的表达能力,使其更适用于 large-scale industrial settings

      • xDeepFM《xdeepfm: Combining explicit and implicit feature interactions for recommender systems》)同样改进了 DCNcross network 的表达能力,并依赖 Hadamard product 来捕获高阶的 feature crosses

    • 另一类研究利用 Transformer 模型中的 attention 机制来捕获 feature interactions

      • AutoInt《Autoint: Automatic feature interaction learning via self-attentive neural networks》)提出通过 multi-head self-attention layer 来捕获 feature interaction 。然而,由于 Transformer 最初设计用于建模 context independent 的关系(如 text tokens ),直接将 multi-head self-attention layer 应用于 feature interaction 导致模型的表达能力非常有限。

      • 类似地,InterHAt《Interpretable click-through rate prediction through hierarchical attention》)基于 attention 机制,通过 cross-product transformation 来捕获 hierarchical attention ,但缺乏 feature awarenesssemantic alignment 的能力。

  3. Heterogeneous Graph Transformer《Heterogeneous graph transformer》)与本文相关,该研究在 heterogeneous mutual attention layer 中考虑了 node types 。尽管动机有相似之处,但本文的工作存在显著差异:Hiformer 模型旨在捕获web-scale recommender system 中的 feature interactionsthe design of the Hiformer attention layer 具有更强的表达能力。

    field-aware factorization machine: FFM《Field-aware factorization machines for ctr prediction》)也与本文相关:FFM 通过独立的 embedding lookup tables 实现 feature interaction learningfeature awareness ,而本文提出的方法通过 heterogeneous attention layer 中的 information transformation 来实现。

    PNN《Product-based neural networks for user response prediction over multi-field categorical data》)利用kernel Factorization Machine 考虑 feature interaction learning 中的 feature dynamics,这与 heterogeneous attention layer 有相似之处。

    • heterogeneous attention layer 基于 attention 机制,而 PNN 源于 factorization machine

    • 此外,本文通过 Query and Key projection 来学习 heterogeneous feature interactions ,而 PNN 基于 kernel matrices

    此外,我们在 Hiformer 中进一步提升了模型表达能力,并降低了计算成本。

1.2 问题定义

  1. 推荐系统的目标是提高用户的 positive engagement ,例如 clicksconversion 等行为。与以往工作类似,我们将其构建为用于 engagement predictions 的有监督机器学习任务。

  2. Recommender System 的定义:设 xRdx表示一对 (user, item) pairfeatures,包含 categorical features xCdense features xDcategorical features 采用 one-hot encoding 来表示,dense features 可视为 embedding size = 1special embedding featurescategorical features 数量和 dense features 数量分别为 |C||D| 。推荐系统的任务是:基于 input features x,预测 user 是否会与 item 产生交互。

    如前所述,feature interaction learning 使模型能够捕获 features 间更复杂的关系,从而为更准确的 recommendations 提供有效信息。接下来,我们正式定义 heterogeneous feature interaction learning

  3. Heterogeneous z-order Feature Interaction:给定包含 |F| 个特征的输入 x={xi}i=1|F|zfeature interaction 是学习一个独特的 non-additive 的映射函数 ρZ(),该函数将包含 z 个特征的 feature list Z(即 [xi1,,xiz])映射为新的 representation 或标量,以捕获该 feature list Zfeatures 之间的复杂关系。当 z=2 时,ρZ() 捕获二阶 feature interactions

    例如:

    • g([x1,x2])=w1x1+w2x2 不属于二阶 feature interaction ,因为 w1x1+w2x2additive 的。

    • g([x1,x2])=x1x2 属于二阶 feature interaction ,且 ρ1,2()=ρ2,1()=x1x2,即 heterogeneous feature interaction 具有对称性。

  4. 在深入模型细节之前,我们定义符号:小写字母(例如,a,b, )表示标量,粗体箭头小写字母(例如,a,b,)表示向量,粗体大写字母(例如,A,B, )表示矩阵。

1.3 模型

  1. 本节首先介绍整体框架,然后提出 heterogeneous attention layer ,并基于该层进一步介绍 Hiformer 模型。

    这是一个 multi-task model,基于 transformer 架构来实现的。是否可以考虑利用 MMOE

    Transformer-based` 多任务学习:

    • 优点:

      • 参数效率高:只需要少量额外参数(即,task token embedding)。

      • 模型尺寸小:与单任务模型几乎相同,内存占用小。

      • 隐式知识迁移:共享底层 representation 促进跨任务知识迁移。对于相关性强的任务,可以提升学习效率。

      • 架构简单:没有复杂的路由机制。训练和推理流程统一。

    • 缺点:

      • 任务干扰:所有任务采用同一组参数,可能导致任务冲突,也难以平衡不同任务的学习进度。

      • 容量限制:单个模型可能不足以捕获所有任务的复杂模式。而且任务数量增加时可能遇到瓶颈。

      • 优化困难:可能遇到严重的梯度冲突问题。

    MMoE 多任务学习:

    • 优点:

      • 任务解耦:每个专家用于特定任务,减少任务间负面干扰。

      • 灵活组合:门控机制可以动态选择专家组合。

      • 容量可扩展:增加专家数量即可扩展模型容量,可以处理更多或更复杂的任务。

    • 缺点:

      • 参数效率低:参数数量随专家数量线性增长,内存和计算成本高。

      • 专家稀疏化问题:某些专家可能训练不足,需要精心设计门控和训练策略。

1.3.1 整体框架

  1. Input Layerinput layer 包含 categorical featuresdense features。此外,我们还有 task embeddingtask embedding 可视为 CLS token《Bert: Pre-training of deep bidirectional transformers for language understanding》)。该框架可轻松扩展至多任务场景,通过多个 task embeddings 来实现,每个 task embedding 代表对应 training objective 的信息。input layers 中的 task embeddings 是模型参数,通过端到端的 model training 进行学习。我们将 task embeddings 的数量记作 t

  2. Preprocessing Layerpreprocessing layerinput layer 转换为 a list of feature embeddings(包含 task embeddings ),从而作为 feature interaction layersinput。针对不同类型的特征,我们设计了对应的 preprocessing layer

    • Categorical Featuresinput categorical features 通常是稀疏的且高维的,直接使用 one-hot encoding 进行模型训练容易导致过拟合。因此,常用的策略是将 categorical features 投影到低维稠密空间。具体而言,我们为每个 categorical feature 学习一个投影矩阵 WiCRVi×d

      ei=xiCWiCRd

      其中:xiC{0,1}Vione-hot encoding 向量;Vione-hot encoding 维度,d 为模型维度;eiembedding 向量。{WiC}i=1|C|是模型参数,称为 embedding look-up tables

      随后,我们将 dense embedded vector ei 作为 categorical feature xiCrepresentation

    • Dense Scalar Featuresdense scalar features 是数值型特征。由于不同 dense scalar features 的分布可能差异较大,需要将其转换为相似分布(即均匀分布)以保证数值稳定性(《Feature transformation for neural ranking models》)。

      此外,在 web-scale applications 中,dense scalar features 的数量较多,但远少于 categorical features。因此,我们将所有 dense scalar features 聚合后,投影为 nDembeddings《Deep learning recommendation model for personalization and recommendation systems》);其中 nD 是通过经验结果选择的超参数,且 nD|D|,以减少 features 总数。投影函数 fD() 可以是带有非线性激活的多层感知机(multilayer perceptron: MLP):

      ei=spliti(fD(concat(normalize({xjD}j=1|D|))),SplitSize = d)Rd,i=1,2,,nD

      其中:

      • concat() 是向量拼接函数,normalize()feature transformation 函数;fD() 为投影函数。

      • spliti(,SplitSize) 是将 input tensor 分割为多个 dimension = SplitSizesub tensors 并输出第 isub tensor

      transformer-based 的架构中,推理成本随 input embedding list 的长度呈二次方增长。通过将 |D|dense scalar features 聚合为 nDembeddings ,减少了 length of feature embeddings,从而降低了推理成本,同时仅需额外引入fD() 作为代价。

      注意:需要先对数值特征进行归一化;然后把所有数值特征聚合起来;最后通过一个 R|D|×(nD×d) 的矩阵投影为 (nD×d) 维向量。

    综上所述,preprocessing layers|C|categorical features|D|dense scalar featuresttask embeddings ,转换为 a list of embeddingsembeding size 为模型维度 dpreprocessing layersoutput embeddings 数量为 L=|C|+nD+t。为方便讨论,task embeddings 也被视为 embedding list 中的 special features。因此,feature interactions 不仅指 features 之间的交互,还包括 features and tasks 之间的交互。

  3. Feature Interaction Layerfeature interaction layer 用于学习 features 之间的复杂的协同效应(collaborative effects),这对于捕获不同 context 下的用户的偏好至关重要。feature interaction layer 的输入是 preprocessing layers 输出的 embedding list

  4. Output Layer and Training Objectives:我们仅使用 feature interaction layer 输出的 encoded task embeddings 进行任务预测。通过训练一个 MLP tower,将 encoded task embedding 投影到 final predictionstraining tasks 可根据 recommendation application 场景灵活配置,例如:

    • labelsclick, installation, or purchase 等等,则 training task 为分类任务。

    • labelswatch time 等等,则 training task 为回归任务。

    不失一般性,本文考虑分类任务,其中 0 表示 negative engagement1 表示 positive engagement 。因此,training objective 可构建为二元分类问题,采用 Binary Cross Entropy(即 Log Loss)作为损失函数:

    =1Ni=1N[yilogpi+(1yi)log(1pi)]

    其中:yipi 分别是第 i 个样本的 ground truth labelpredictionN 是训练样本总数。

1.3.2 Heterogeneous Feature Interactions

  1. Transformer 架构已成为 NLPCV 等多个任务的事实标准,multi-head self-attention layer 在建模序列中的复杂关系方面取得了显著性能。然而,Transformer 架构尚未在 web-scale recommender systems 中得到广泛应用。研究发现, Transformer-based 的架构(如 AutoInt )在应用于 web-scale recommender systems 时,可能无法达到最优性能。

    回顾原始 Transformerattention score computation 过程,在 multi-head self-attention layer 中,feature interactions learning 的参数在所有 feature groups 之间共享。这种 parameter sharing designNLP 任务中是自然的,因为 NLP 任务中 Transformer 的输入通常是由 a list of text embeddings 所表示的句子。text embeddings 主要编码与上下文无关的信息。我们将这种 setup 称为 homogeneous feature interactionsTransformer 架构的详细示意图如 Figure 4(a) 所示。

    相比之下,推荐系统中存在多样化的上下文信息,学到的 embedding representations 更具动态性,且包含多方面的信息。以外卖 app 推荐为例,涉及三个特征:app_id(如 Zomato )、hour_of_day(如 12pm)和 user_country(如 India)。app Zomato 所学到的 embedding representations 编码了多种隐式信息,包括 app 类型、所流行的国家、常用时段、用户语言等。但在特定的 feature interaction learning 中,并非所有 encoded information 都有用。例如,在学习 app_iduser_countryfeature interaction 时,与app 所流行国家相关的信息可能比其他信息重要得多。因此,heterogeneous feature interaction learning 的核心是提供 contextual awareness 能力,用于 information selection and transformation,以实现更准确的 feature interaction learning

1.3.3 Heterogeneous Attention Layer

  1. 首先,我们对 Transformer 模型中的 multi-head self-attention layer 进行简单而有效的改进,提出 heterogeneous multi-head self-attention layer (简称 heterogeneous attention layer),用于捕获异构的二阶的 feature interactions。相应地,采用该层的模型称为 heterogeneous attention model。具体而言,我们重新设计了 feature ijmulti-head self-attention score computation

    Atth(i,j)=exp(ϕi,jh(ei,ej))m=1Lexp(ϕi,mh(ei,em)),h{1,2,,H},i,j{1,2,,L}

    其中:h 表示 Hattention head 中的第 h 个,Lembedding list 的长度,ϕi,jh(ei,ej) 衡量 attention head h 下两个 embeddings eiej 之间的语义相关性(semantic correlation)。

    可以将它与 GatedAttention 结合起来。

    注意,这里没有 position embedding 。因为两个 features 之间的语义相关性与位置无关。

    我们将原始的 self-attention layer 称为同构注意力层(homogeneous attention layer)。

    对于每个 feature pair (i,j),我们使用 uniqueϕi,jh(,) 来衡量 semantic correlation。换句话说,ϕi,jh(,) 的作用是从 eiej 中选择与feature pair (i,j) 的上下文最相关的信息。ϕi,jh(,) 可以是任意函数:[Rd,Rd]R,例如一些显式的且 non-additive 的函数、带有非线性变换的神经网络等。为简洁起见,我们选择点积(dot-product)函数,即:

    ϕi,jh(ei,ej)=(eiQih)(ejKih)dkR

    其中:QihRd×dk,KjhRd×dk 分别是 feature iquery 投影矩阵、以及 feautre jkey 投影矩阵;dk 用于归一化点积的幅值(magnitude),通常设置 dk=d/H

    利用计算得到的 attention weightsheterogeneous attention layer 的输出可计算如下:

    oi=concat({j=1LAtth(i,j)ejVjh}h=1H)Oi

    其中: VjhRd×dvfeature jvalue 投影矩阵、OiR(Hdv)×dfeature ioutput 投影矩阵,dv 通常设置为dv=d/H

    对于 heterogeneous attention layerfeature iquery/key/value/output 投影矩阵都是 feature-specific 的:Qih,Kih,Vih,Oi ,因此称之为异构的。

    相比之下,原始的 self attention layer 中, query/key/value/output 投影矩阵是 feature-shared 的:Qh,Kh,Vh,O ,因此称之为同构的。

  2. heterogeneous attention layer 类似,我们还为每个特征设计了异构的全连接前馈网络(heterogeneous FFN)。FFN 通过两个带有高斯误差线性单元(GELU)激活的线性变换函数来实现:

    FFNGELUi(oi)=GELU(oiW1i+b1i)W2i+b2i

    其中:

    • W1iRd×dfW2iRdf×db1iRdfb2iRdfeature-specific 的待学习的参数。

    • df 是中间层(intermediate layer )的维度;参考现有的研究(《Attention is all you need》),设置 df=4d,其中 d 是模型维度。

    • GELUGELU(x)=x×Φ(x) ,其中 Φ(x) 为标准高斯分布的累积分布函数(CDF)。

    另一种做法(这种做法的效果会更差,因为模型容量不足):

    • 首先将 {ei}i=1L 经历一个 featue-specific 投影,从而投影到公共子空间:ei=eiW0i

    • 然后采用标准的 self-atention layer 和标准的 FFN

  3. 可以看出,与 self-attention layer 相比,heterogeneous attention layer 的关键改进在于:为每个 feature 学习独立的query/key/value/output 投影矩阵。因此,与原始 Transformer 模型相比,heterogeneous attention layer 的参数数量有所增加,且参数数量与 input embedding list 的长度呈线性关系。但值得注意的是,heterogeneous attention layerhomogeneous attention layerTransformer 中的标准 multi-head self-attention layer)的浮点运算量(FLOPs)总量相同,因为两者的运算操作完全一致,仅参数化方式不同。

  4. 我们在 Figure 2 中可视化了学到的 attention pattern Att(,)

    • Figure 2(a) 中原始 Transformer 模型的 attention pattern 相对稀疏,且呈现明显的对角线模式,表明该层可能无法有效地捕获不同特征间的协同效应(collaborative effects)。

    • Figure 2(b)heterogeneous attention layerattention pattern 更稠密。直观来看,这一现象可解释为:由于heterogeneous attention layer 通过变换矩阵(transformation matrix )(即, query/key/value/output 投影矩阵)实现了特征语义对齐(feature semantic alignment),因此更擅长捕获特征间的协同效应。

1.3.4 Hiformer 模型

  1. 接下来,我们介绍 Hiformer 模型。通过在 query/key/value 投影中引入复合特征学习(composite feature learning ),进一步提升模型的表达能力。以 key projection为例,我们不再为每个特征学习 key projection 矩阵,而是重新定义 key projection 如下:

    [k^1,,k^L]=concat([e1,,eL])K^h

    其中:K^hR(Ld)×(Ldk)

    1.3.3 节中的 key projection 矩阵 [Kih,,KLh]Rd×(Ldk) 相比,新的 key projection 通过增加参数数量提升了模型表达能力,我们将这种新的投影 K^h 称为复合投影(composite projection)。从数学角度来看,该方法并非通过 feature pairs 来显式地学习 feature interactions,而是首先将 feature embedding list 转换为 composite features (作为 keysvalues),然后学习复合特征( composite features )与 task embeddings 之间的 heterogeneous feature interaction

    类似地,我们对 query projectionsvalue projections 也采用 cross projection

    [q^1,,q^L]=concat([e1,,eL])Q^h[v^1,,v^L]=concat([v1,,vL])V^h

    然后,Hiformer 计算 query qikey kj 之间的 attention scores 为:

    AttCompositeh(i,j)=exp(q^ih(k^jh)/dk)m=1Lexp(q^ih(k^mh)/dk)

    利用 attention scoreHiformer 模型中 attention layer 的输出可计算为:

    o^i=concat({j=1LAttCompositeh(i,j)v^j}h=1H)Oi

    为什么要提出 composite features ?这是为了后续的低秩近似(Low-rank approximation)。用单个矩阵来替代 L 个矩阵,更便于管理。

  2. Hiformer 的模型结构如下图所示。

1.3.5 Hiformer 的高效性优化

  1. Transformer 模型和 heterogeneous attention layer 相比,Hiformer 模型具有更强的表达能力,但同时也增加了推理过程中的计算成本。由于引入了 Composite attention layer ,现有的高效 Transformer 架构无法直接应用于 Hiformer

    feature embedding list 的长度为 L=|C|+nD+t,模型维度为 dHiformer 的推理成本分解如下:

    • query/key/value projection3L2d2

    • attention score computation2L2d

    • output projectionLd2

    • FFN network8Ld2

    因此,总计算复杂度为 O(L2d2+L2d+Ld2)。为了将 Hiformer 部署于 real-time inference 的场景,我们通过低秩近似(low-rank approximation)和剪枝(pruning)技术降低其推理成本。

  2. Low-rank approximation:可以看出,Hiformer 推理成本的主要部分是 query/key/value projection ,其计算复杂度为O(L2d2)

    对于 composite key projection K^h,我们可以通过低秩近似(low-rank approximation )进行逼近:

    K^h=Lkh(Rkh)

    其中:LkhR(Ld)×rkRkhR(Ldk)×rkrkK^h 的低秩近似的 rank

    低秩近似将 composite key projection 的计算成本降低至 O(Lrk(d+dk))。类似地,可将低秩近似应用于 composite query projectioncomposite value projection ,对应的 rank 分别为 rqrv。当 rq<Ldq/2,rk<Ldk/2,rv<Ldv/2 时,计算成本将显著降低。数据分析也验证了这些投影矩阵的低秩结构(low-rank structure):以 V^h为例,Figure 3 展示了其奇异值(singular values)分布,可见 V^h 矩阵确实具有低秩结构。

    应用低秩近似后,Hiformer 的模型复杂度计算如下:

    • query and key projectionO(Lrk(d+dk))

    • value projectionO(Lrv(d+dv))

    • attention layerO(L2d)

    • output projectionO(Ld2)

    • FFN layerO(Ld2)

    dk=d/H,dv=d/H,且 rk<dk,rv<dv 时,计算复杂度简化为 O(L2d+Ld2),随 input embedding list 长度 L 呈二次方增长。

  3. Model Pruning:回顾 Output Layer(见 Figure 1),我们仅使用 encoded task embeddings 进行 final objective training and predictions。因此,通过剪枝 encoding feature embeddings 的计算过程,可以节省 Hiformer 模型最后一层的计算量。

    具体而言,剪枝(pruning)操作是在 Hiformer attention layer 中,仅将 task embeddings 作为 query,将 task embedding and feature embeddings 均作为 keyvalue。因此,Hiformer 最后一层的计算复杂度为:

    • query projectionO(trq(d+dq))

    • key projectionO(Lrk(d+dk))

    • value projectionO(Lrv(d+dv))

    • attention layer computationO(Ltd)

    • output projectionO(td2)

    • FFN layerO(td2)

    假设任务数量 tL 为常数,则 Hiformer 最后一层的计算复杂度变为 O(L(rk+rv)d+Ltd+td2)

    剪枝技术将 Hiformer 最后一层的计算复杂度从与 L 呈二次方增长,降低为与 L 呈线性增长。该剪枝技术可应用于所有Transformer-based 的架构。近期一些研究(如 Perceiver《Perceiver: General perception with iterative attention》)也引入了类似思想,将 Transformer 模型的推理成本从二次方增长降低为线性增长。

    本质上是因为:在最后一层 transformer layer,我们仅仅关心 task representations;其它位置的 representation 我们不关心,因此也无需计算。

1.4 实验

  1. 我们在 Google Playweb-scale App ranking model 上,对所提出的模型架构进行了全面的实证验证。通过离线实验和在线实验,旨在回答以下研究问题:

    • Q1:与原始 Transformer 模型相比,heterogeneous attention layer 是否能够捕获 heterogeneous feature interactions,从而提供更优的推荐效果?

    • Q2:由于 Hiformer 模型具有更强的表达能力,其是否能进一步提升模型性能?

      即,与 SOTA 模型相比的预测能力如何。

    • Q3:与 SOTA 模型相比,Hiformer 的推理效率如何?

    • Q4hyper-parameter settings 如何影响模型性能和 serving latency ?如何在性能和效率之间进行权衡?

1.4.1 Offline Evaluation Setup

  1. 数据集:对于 offline evaluation,我们使用 ranking modellogged datauser engagements 作为 training labels0 表示 no engagement1 表示has engagement ),training loss 采用 LogLoss。我们使用 35 天的滚动窗口数据(rolling-window data)进行模型训练,在第 36 天的数据上进行评估。模型每天使用最新数据进行重新训练。数据集包含 31categorical features30dense scalar features,用于描述 apps, (如 app idapp titleuser language 等)。categorical featuresvocabulary size 从数百到数百万不等。

  2. 评估指标:AUCAUC 可解释为:随机选择一个正例和一个负例,模型将正例排在负例之前的概率。在 web-scale application dataset 中,由于 evaluation dataset 规模庞大,AUC 提升 0.001 即可达到统计显著性。

    • 此外,我们以 Transformer one layer 模型为 baseline,报告 normalized LogLoss

    • 模型在 TPU 上进行训练,通过 training 的每秒查询量(QPS)衡量 training 速度。

    • inference latency 通过离线模拟来估算:在 20 batchesbatch size = 1024)的样本上进行 inference,然后将所有模型的 latency 相对于 baselinea one-layer Transformer model with pruning)进行归一化。由于 online serving requests 数量巨大,serving latencytraining QPS 更为关键。

  3. 模型架构:注意,本文的研究重点是基于 Transformerfeature interaction learning ,与基于 Transformeruser history sequence modeling 有显著区别。因此,我们将所提出的模型与以下 SOTAfeature interaction models 进行对比:

    • AutoInt:通过 multi-head self-attention layer 学习 feature interaction,然后通过多层感知机(MLP)进行最终预测。

    • DLRM:通过 factorization machine: FM 学习 explicit feature interactions,再通过 MLP layer 学习 implicit feature interactions ,最终完成预测。

    • DCN(即 DCN-v2):web-scale applicationfeature interaction learningSOTA 模型之一,其 cross network 显式生成有界的 feature crossesfeature interaction 阶数随网络深度增加。

    • Transformer:采用 multi-head self-attention layer 进行 feature interaction learningTransformerAutoInt 的主要区别在于:

      • 1)Transformer 使用 encoded task embeddings 进行预测,而 AutoInt 使用 all encoded feature and task embeddings

      • 2)Transformer 架构包含 FFN layer,而 AutoInt layer 没有。

    • Transformer + PE:在 Transformer 架构中添加 Position Encoding,为每个特征额外学习一个 embedding 作为 feature encoding

    • HeteroAtt:本文提出的 Heterogeneous Attention layer,用于捕获 heterogeneous feature interactions

      HeteroAtt 没有composite feature learning

    • Hiformer:本文提出的模型,结合了低秩近似和模型剪枝技术。

  4. 实现细节:

    • 模型 trainingserving 基于 TensorFlow 2Model Garden 来构建。

    • 为保证公平对比,除 feature interaction layers 外,所有模型组件保持一致。

    • embedding layer 中,所有模型的 embedding size 均设置为 128

    • 注意,对于 Transformer 架构、HeteroAttHiformer,我们仅使用 encoded CLS token(即 learned task token)进行 final task predictions

    • 对于 Transformer 模型,设置模型维度 d=128attention head 数量 H=4FFN 的中间层维度 df=512dk=d/H,dv=d/H

      对于其他 Transformer-based 的模型中,我们设置 dk=16dv=64。对于其他模型,通过超参数调优获取最佳性能。

    • 在线实验中,基于某一天(如 21 日)的数据进行超参数调优,并在后续日期(即 22 日之后)固定该设置。

1.4.2 同构特征交互 vs. 异构特征交互 (Q1)

  1. Table 1 所示:

    • 首先,观察到 Transformer+PE 模型的性能与原始 Transformer 模型相近,这与我们的假设一致:尽管 Transformer+PE 增加了参数,但 feature encoding 仅为每个特征学习一个 bias embedding 项,不足以实现 heterogeneous feature interaction learning 所需的 feature transformation

    • 其次,带有 heterogeneous attention layerTransformer 模型( HeteroAtt)的性能显著优于原始 Transformer 模型。这一结果验证了我们的论点:HeteroAtt 通过 transformation matrices (即, query/key/value/output 投影矩阵),能够有效捕获复杂的 feature interactions

      此外,两层 HeteroAtt 模型的参数数量远多于两层 Transformer 模型,因为 HeteroAtt 具有更强的模型表达能力。因此,我们可以对 Q1 给出肯定答案:具有更好特征上下文感知能力的 heterogeneous feature interaction,对于提供个性化推荐至关重要。

1.4.3 模型性能对比 (Q2)

  1. baseline 模型与所提出模型的离线对比结果如 Table 1 所示,报告了每个模型在对应层数下的最佳性能。

    • 深入分析 AutoIntDLRM 和原始 Transformer 模型:这些模型的 feature interaction learning 缺乏 feature awarenesssemantic alignment 能力,因此性能相对较弱。

    • DCN 模型中,Cross Net 隐式地生成所有的 pairwise crosses,然后投影到低维空间;all pairwise crosses 的参数化方式是不同的,类似于提供了 feature awareness 能力,因此 DCN 模型的性能与 HeteroAtt 模型相当。

    • heterogeneous attention layer(即,HeteroAtt )相比,Hiformer 模型在 query/key/value projection 中具有更强的表达能力,仅需一层即可实现最佳模型性能,优于 HeteroAtt 模型和其他 SOTA 模型。

1.4.4 Serving Efficiency (Q3)

  1. 我们对比了所有模型的 serving效率。

    • 首先,对比两层的 Transformer 模型和一层的 Transformer 模型(如 Table 1 所示):两层模型的延迟(latency)是一层模型的两倍多,这是因为我们仅对两层模型的第二层应用了剪枝,而一层模型已完全应用剪枝。

      类似地,HeteroAtt 模型也得出相同结论,因为这两种模型的运算操作相同,因此延迟一致。然而,AutoInt 模型无法应用此类剪枝技术,因此一层 AutoInt 模型的推理成本远高于一层原始 Transformer 模型和一层 HeteroAtt 模型。

    • 其次,对比一层的 Hiformer 模型和一层的 HeteroAtt 模型:两者均受益于剪枝带来的 inference optimization ,但由于Hiformerquery/key/value projection 具有更强的表达能力,其推理成本比 HeteroAtt50.05%

    • 值得注意的是,若不采用低秩近似,Hiformer 的推理成本会显著更高。在实验中,设置 query and keyrankrk=128valuerankrv=1024Table 2 对比了 with and without low-rank approximationHiformer 模型:低秩近似使 inference 延迟降低了 62.7%,且模型性能无显著损失——这与我们预期的一致,因为观察到的 Hiformerquery/key/value projection 矩阵是低秩结构(例如 Figure 3 中的 V^h 矩阵)。

1.4.5 参数敏感性分析 (Q4)

  1. 由于降低 serving latency 是核心挑战之一,我们同样关注 Q4 中的参数敏感性(parameter sensitivity)问题。如前所述,本文并未直接设置 dk=d/Hdv=d/H,而是发现对于 HeteroAttHiformer 模型,dkdv 的选择需要在模型性能和 serving latency 之间进行权衡。

    • 首先,对于 Figure 5(a)HeteroAttHdk:当 Hdkd=128 降低到 64 时,模型性能无损失,但 serving latency 获得了 3% 的“无成本”的改善;若进一步降低 Hdk,则模型性能会显著下降。因此,我们选择 Hdk=64(如图中灰色线所示)。

      相比之下,增加 HeteroAtt 模型的 Hdv会提升模型性能,但也会导致 serving latency 显著增加(见 Figure 5(b))。综合性能和延迟权衡,设置Hdv=256

    • 类似地,在 Figure 5(c) 中观察到,对于 Hiformer 模型,将 Hdk 降低到 64 时性能无损失;但与 HeteroAtt 模型不同,几乎没有 serving latency 。这是因为 query/key/value projection 中的低秩近似(特别是设置的 query/key rank rk=256 相对于 value rank 较小,其中 value rank rv=1024),使得 query projection 成为计算成本的主要部分。

      Figure 5(d) 所示,增加 Hdv 会导致 latency 显著增加。

    • HeteroAttHiformer 模型在 Hdv 的性能与 latency 权衡方面的这一观察结果具有独特性,可作为以 latency 为代价调整模型容量的工具。例如,当 QPS 相对较小时,可以通过增加 dv 来提升模型性能——而这种工具在其他 SOTA 模型(如DCN )中可能并不具备。

1.4.6 Online A/B Testing

  1. 除了广泛的离线实验外,我们还基于所提出的模型框架进行了 online A/B testing 实验。control grouptreatment groups 各包含 1% 的随机选择用户,这些用户将接收基于不同 ranking algorithms 所输出的 item recommendations。为了验证 heterogeneous feature interaction learning 带来的提升,baseline model 采用 one-layer Transformer model 捕获 feature interactions 。我们收集了 10 天的 user engagement 指标,结果如 Table 3 所示:

    • one layer HeteroAtt 模型显著优于 one layer Transformer 模型,这与离线分析结果一致。

    • 此外,two layer HeteroAtt 模型相比one layer HeteroAtt 进一步提升了性能。

    • Hiformer 模型在所有模型(包括 DCN 模型)中表现最佳。

    这一观察结果表明,Transformer-based 的架构能够优于 SOTAfeature interaction 模型。目前,我们已成功将 Hiformer 模型部署到生产环境中。

1.5 结论与未来工作

  1. 本文提出了一种 heterogeneous attention layer ,通过对 self-attention layer 进行简单而有效的改进,为 feature interaction learning 提供 feature awareness 能力。

    随后,我们进一步提升模型表达能力,提出 Hiformer 模型以改进 feature interaction learning 。同时,我们优化了Hiformerserving 效率,使其能够满足 web-scale applicationsserving latency 要求。

    本文方法的核心创新在于:在 attention 机制中识别不同特征之间的异质关系,从而在学到的 feature embeddings 中捕获动态信息的语义相关性(semantic relevance )。在全球领先的数字分发服务平台上进行的离线实验和在线实验,验证了本文方法的有效性和高效性。实验结果表明,基于 Transformerfeature interaction learning 模型在 web-scale applications 中能够优于 SOTA 的方法。

    本文的工作为将 Transformer-based 的架构应用于 web-scale recommender system 搭建了桥梁。未来,我们计划探索其他领域(如 NLPCV )中 Transformer 架构的最新进展如何迁移到推荐系统中。此外,本文引入的新 feature interaction 组件,也可用于神经架构搜索(neural architecture search),以进一步改进推荐系统。