SUAN

0 阅读4分钟

标题:探索 CTR 模型的缩放定律以提升在线性能
单位:美团
链接:Exploring Scaling Laws of CTR Model for Online Performance Improvement(2025.08)

摘要

点击率(Click-Through Rate,CTR)模型在许多在线个性化服务中对改善用户体验和提升业务收入起着至关重要的作用。然而,目前的 CTR 模型普遍遭遇性能提升瓶颈。受大语言模型(Large Language Model,LLM)缩放定律现象的启发,我们提出了一种改进 CTR 预测的新范式:首先构建一个准确率能够随模型等级和数据规模扩展的 CTR 模型,再将该模型蕴含的知识蒸馏到可在线服务用户的轻量模型中。

为将这一范式付诸实践,我们构建了一个名为 SUAN(Stacked Unified Attention Network,堆叠统一注意力网络)的 CTR 模型。在 SUAN 中,我们提出统一注意力块(Unified Attention Block,UAB)作为行为序列编码器。单个 UAB 既能统一建模序列特征与非序列特征,也能从多个视角衡量每项用户行为特征的重要性。堆叠 UAB 可以将模型配置提升到较高等级,为进一步提升性能铺平道路。

为了利用高等级 SUAN 的高性能,同时规避其推理时间较长的缺点,我们通过稀疏自注意力和并行推理策略改造 SUAN,形成 LightSUAN;随后以高等级 SUAN 为教师,通过在线蒸馏训练低等级 LightSUAN。蒸馏后的 LightSUAN 在保持与原始 LightSUAN 相同推理时间的同时获得更优性能,因此非常适合在线部署。

实验结果表明,SUAN 表现出色,并且在横跨三个数量级的模型等级和数据规模上都遵循缩放定律;蒸馏后的 LightSUAN 甚至优于配置高一个等级的 SUAN。更重要的是,蒸馏后的 LightSUAN 已接入在线服务,在平均推理时间保持可接受的情况下,使 CTR 提升 2.81%2.81\%、千次展示成本(Cost Per Mille,CPM)提升 1.69%1.69\%。源代码见 github.com/laiweijiang…

CCS 概念: 信息系统;推荐系统;在线广告;学习排序。

关键词: CTR 预测;用户建模;缩放定律。

1 引言

在线个性化服务中的点击率预测任务,是估计用户点击目标对象的概率,目标可以是广告、推荐物品或搜索结果。CTR 预测不仅要求高准确率,还受到严格的延迟约束。然而,这两项要求彼此冲突,因为准确率的提升往往会牺牲延迟。因此,CTR 模型一直追求在严格延迟约束下尽可能提高预测准确率。

迄今为止,人们已投入大量精力开发 CTR 模型,通常通过分析特征之间的交互和用户行为序列来改善性能。然而,当前 CTR 模型似乎已经遭遇性能瓶颈。在 CTR 预测任务中,即使 AUC(ROC 曲线下面积)只提高 0.001,也会被视为显著提升;AUC 是衡量离线准确率的常用指标。这种看法部分源于如此微小的提升也可能在工业场景中产生在线收益,但它也凸显了提升 CTR 模型性能的难度。

另一方面,大语言模型已经在多种自然语言处理任务中取得成功。大量实证结果表明,LLM 的性能会随模型规模和数据规模增长而提升,这一现象称为缩放定律。近期实践还表明,基于自注意力、混合专家等特定结构的架构会呈现更明显的缩放定律。与此同时,人们还提出了计算量削减、推理加速等多种训练与推理优化技术,帮助 LLM 落地到不同场景。

受 LLM 显著进展的推动,研究人员也开始在自然语言处理之外的领域探索缩放定律,例如信息检索和计算机视觉。推荐系统领域同样出现了相关研究。然而,在线服务并未从遵循缩放定律的模型中获得显著收益,因为高性能模型通常受到推理时间限制,无法部署到在线服务中。

本文提出一种改进 CTR 预测的新范式。我们首先构建一个遵循缩放定律的 CTR 模型,使其性能能够通过提高模型等级和增加数据规模得到改善。这里的“模型等级”是对模型缩放定律中“模型规模”概念的扩展,被定义为模型规模与输入模型的用户行为序列长度之和。这一定义基于一项共识:面对快速增长的用户行为数据,高性能 CTR 模型应该能够从更长的用户行为序列中获得更多收益。

高等级 CTR 模型具有较高的 CTR 准确率,但计算开销也很高,无法满足推理时间限制。为此,我们进一步使用知识蒸馏技术,将高等级 CTR 模型的整体知识迁移到等级较低、更轻量的 CTR 模型中,使最终模型能够在线部署并为用户服务。

沿着这一思路,我们提出 CTR 模型 SUAN,以提供可扩展的高准确率 CTR 预测。具体而言,我们设计了统一注意力块 UAB,它包含多种注意力机制,用于优化不同特征的表征,并借鉴 LLM 中的 RMSNorm 和 SwiGLU 来增强训练稳定性。随后,我们构建 SUAN 的轻量版本 LightSUAN,并以高等级 SUAN 为教师进行训练。蒸馏后的 LightSUAN 在不增加推理时间的情况下提升了性能,因此能够在线部署。

本文的主要贡献如下:

  1. 设计由堆叠 UAB 组成的 SUAN 模型。每个 UAB 都配备多种注意力机制:自注意力识别序列内特征之间的时空依赖关系;交叉注意力从用户画像的视角判断用户行为特征的重要性;双对齐注意力则有选择地突出信息丰富的特征,同时抑制相关性较弱的特征。
  2. 构建 LightSUAN,即采用稀疏自注意力和并行推理策略的 SUAN。此外,我们使用在线蒸馏同时训练 LightSUAN 和高等级 SUAN,使训练后的 LightSUAN 能够充分利用高等级 SUAN 的优势,本质上使其受益于 SUAN 所遵循的缩放定律。
  3. 在三个数据集上进行了广泛的离线实验。结果表明,与多种竞争方法相比,SUAN 不仅取得了出色的 AUC,而且在横跨三个数量级的模型等级与数据规模上,AUC 均符合缩放定律。蒸馏后的 LightSUAN 优于原始的、高一个等级的 SUAN。在在线 A/B 测试中,蒸馏后的 LightSUAN 在平均推理时间保持可接受的情况下,使 CTR 提升 2.81%2.81\%、CPM 提升 1.69%1.69\%

2 相关工作

2.1 CTR 模型

CTR 模型负责执行与目标对象有关的排序任务,一直是学术界和工业界的研究热点。

目前,CTR 模型已广泛采用深度学习技术,大致可以分为两类:第一类专注于特征建模,以学习特征之间的交互;第二类专注于用户行为序列建模,以学习用户的兴趣和意图。

第一类包含一些经典且知名的模型。例如,DIN 提出局部激活单元来建模用户行为与目标物品之间的关系,对工业界产生了显著影响。CAN 设计了协同作用单元,以微型 MLP 的形式参数化特征嵌入,从而拟合复杂的特征交互,进一步提升特征交互的价值。

CTR 模型近年来的大多数进展属于第二类。例如,DSIN 将会话引入用户行为序列,并使用双向 LSTM 学习会话之间的兴趣演化;BST 使用 Transformer 学习用户行为序列。此外,还有一些 CTR 模型专注于长行为序列建模。SIM、ETA 和 TWIN 等工业实践通常采用两阶段框架,先将长序列分解为多个与目标对象相关的短序列,再在第二阶段对这些短序列进行精确建模。这些模型可以视为序列长度具有可扩展性的 CTR 模型的简化版本。

2.2 推荐系统中的缩放定律

受 LLM 影响,研究人员开始考察推荐系统中的缩放定律。

对于序列推荐任务,LSRM 和 SRT 均声称自身遵循缩放定律,两者都使用 Transformer 编码用户行为序列。具体而言,LSRM 提出逐层自适应 Dropout 和优化器切换策略,在大规模推荐中实现更加稳定的训练;SRT 则通过大规模预训练和下游任务微调来改善性能。

对于 CTR 预测任务,研究发现,单纯扩大 CTR 模型的参数,例如增加嵌入维度或预测层参数,并不足以获得可扩展性。为了使 CTR 预测遵循缩放定律,有工作提出为一个特征学习多个嵌入,从而奠定扩展模型性能的基础;也有工作提出用于特征交互的 Wukong 层,它由因子分解机块和线性压缩块组成,分别执行高阶特征交互和二阶特征交互。HSTU 架构则面向检索或排序任务建模用户行为序列,并声称其性能可以随训练 FLOPs 扩展;训练 FLOPs 的变化来自层数、序列长度和嵌入维度等配置的改变。遗憾的是,在推理时间受限的条件下,如何从遵循缩放定律的 CTR 模型中获益,至今仍未得到深入探索。

与现有工作相比,本文不仅提出了使 CTR 模型获得缩放定律的关键模块,还给出了一种让在线服务受益于遵循缩放定律的 CTR 模型的方法。

3 方法

3.1 概述

给定用户 uu,将其包含 LL 个行为的行为序列记为 S={bi}i=1LS=\{b_i\}_{i=1}^{L},其中 bib_i 表示第 ii 个行为,包含物品 ID、行为发生时间等特征。用户画像记为 pp,其中包含用户年龄、性别等特征。对于与用户 uu 对应的候选物品 cc,它既包含物品 ID、曝光时间等常规特征,也包含该物品最近三天 CTR 等详细特征。

我们的目标是构建一个模型,预测用户 uu 点击候选物品 cc 的概率,即 P(cS,p)=F(S,p,c;θ)P(c\mid S,p)=F(S,p,c;\theta),其中 FF 表示模型,θ\theta 表示模型参数。

为实现这一目标,我们提出图 1 所示的 SUAN。它由输入层、作为编码器的 ll 个 UAB 和预测层组成,其中 ll 表示 UAB 的数量。

与自然语言处理中的词元相比,物品 ID 数量庞大且非常稀疏,也常常会失效或过时。因此,我们将物品 ID、类别 ID 等行为常规特征拼接后输入输入层。这种做法可以缓解稀疏性并提供协同信息,使模型能够更好地建模用户兴趣。此外,我们将候选物品的常规特征附加到用户行为序列末尾,形成目标感知序列;为简化表示,仍使用 LL 表示其长度。这有助于编码器理解用户行为与候选物品之间的关系,使模型关注与候选物品更加相关的行为,对 CTR 任务十分有利。

在输入层中,我们使用统一嵌入表初始化目标感知序列嵌入矩阵 EsRL×n1dE_s\in\mathbb{R}^{L\times n_1d}、用户画像嵌入矩阵 EpRn2×dE_p\in\mathbb{R}^{n_2\times d},以及其他详细特征的嵌入向量 eotherRn3de_{\mathrm{other}}\in\mathbb{R}^{n_3d}。其中,n1n_1n2n_2n3n_3 是相应的特征数量,dd 是嵌入维度。

ll 个 UAB 中,每个块都通过多种注意力机制对目标感知序列建模,捕捉序列内部的复杂关系与模式,详细内容见第 3.2 节。

在预测层中,将最终 UAB 输出中的候选物品表征 Eblock[1,:]E_{\mathrm{block}}[-1,:]、展平 EpE_p 得到的向量 epe_p,以及其他特征 eothere_{\mathrm{other}} 一同输入多层感知机(MLP),并按下式预测候选物品的点击概率 y^\hat{y}

y^=σ(z),z=MLP(Eblock[1,:],ep,eother).(1)\hat{y}=\sigma(z),\qquad z=\operatorname{MLP}\left(E_{\mathrm{block}}[-1,:],e_p,e_{\mathrm{other}}\right).\tag{1}

其中,σ\sigma 是 Sigmoid 函数,zz 表示 Logit。我们采用标准二元交叉熵损失 Lce(y^,y)L_{ce}(\hat{y},y) 优化模型,其中 yy 表示 y^\hat{y} 对应的真实标签。

image.png

3.2 统一注意力块

我们提出 UAB 作为因果编码器,并采用自注意力作为其骨干结构。

在 UAB 开始处,我们通过预归一化策略对目标感知序列嵌入 EsE_s 进行归一化:

Enorm=RMSNorm(Es).(2)E_{\mathrm{norm}}=\operatorname{RMSNorm}(E_s).\tag{2}

RMSNorm 是层归一化的一种变体,只使用均方根进行归一化。这种策略常用于 LLM,本文首次将其引入 CTR 预测。它既充当正则化器,又能减少计算量并维持训练稳定性。

除 RMSNorm 外,一个完整 UAB 还包含自注意力层、自适应融合网络(Adaptive Fusion Network,AFNet)和前馈网络(Feedforward Network,FFN)。这些模块从不同视角发现特征的重要性,从而增强模型的表达能力。

3.2.1 自注意力层

为建模目标感知序列,我们使用自注意力机制识别关键行为,从而捕捉用户兴趣。具体而言,我们在缩放点积注意力分数中加入注意力偏置,以学习序列元素之间的相对位置关系和相对时间关系。本层以归一化后的目标感知序列嵌入 EnormE_{\mathrm{norm}} 为输入,按下式得到自增强序列嵌入 EselfE_{\mathrm{self}}

Q1,K1,V1=EnormW1Q,EnormW1K,EnormW1V.(3)Q_1,K_1,V_1=E_{\mathrm{norm}}W_1^Q,E_{\mathrm{norm}}W_1^K,E_{\mathrm{norm}}W_1^V.\tag{3}
biasij=f1(Δtij)+f2(Δpij),i,j{1,2,,L}.(4)\operatorname{bias}_{ij}=f_1(\Delta t_{ij})+f_2(\Delta p_{ij}),\qquad i,j\in\{1,2,\ldots,L\}.\tag{4}
Attention(Q1,K1,V1)=softmax(Q1K1Tn1d+bias)V1.(5)\operatorname{Attention}(Q_1,K_1,V_1)=\operatorname{softmax}\left(\frac{Q_1K_1^T}{\sqrt{n_1d}}+\operatorname{bias}\right)V_1.\tag{5}
Eself=Concat(Attention1,,Attentionh)W1O.(6)E_{\mathrm{self}}=\operatorname{Concat}(\operatorname{Attention}_1,\ldots,\operatorname{Attention}_h)W_1^O.\tag{6}

其中,W1Q,W1K,W1V,W1ORn1d×n1dW_1^Q,W_1^K,W_1^V,W_1^O\in\mathbb{R}^{n_1d\times n_1d} 是投影矩阵;Δtij\Delta t_{ij}Δpij\Delta p_{ij} 分别表示第 ii 个元素与第 jj 个元素之间的相对时间差和相对位置差;f1()f_1(\cdot)f2()f_2(\cdot) 是将差值映射为可学习变量的映射函数;hh 是注意力头数。用户年龄、性别等用户画像特征之间没有明显的时间关系或关联关系,因此出于效率考虑,我们不使用自注意力层对它们编码。

3.2.2 自适应融合网络

为了在保持特征空间一致性的同时促进序列特征与非序列特征有效交互,我们提出 AFNet,对用户的序列特征和非序列特征进行统一建模。具体而言,AFNet 包含一个交叉注意力层和一个双对齐注意力层。交叉注意力层学习序列特征与非序列特征之间的关系,以生成交叉增强序列嵌入;双对齐注意力则从特征全局分布的视角,自适应地对齐自增强序列嵌入与交叉增强序列嵌入。

交叉注意力层。 本层设计了单向交叉注意力来分析用户行为,旨在从用户画像视角减少噪声并突出关键行为,从而增强序列嵌入的表达能力。

这一设计基于如下事实:与行为特征相比,用户画像特征通常能够更加准确地表示用户,并有效反映其兴趣。因此,将行为特征融入用户画像表征容易引入噪声,影响画像的准确性;反过来,用户画像则能提供精确信息,用于细化用户兴趣。具体而言,我们将自增强序列嵌入 EselfE_{\mathrm{self}} 作为查询,将用户画像嵌入 EpE_p 作为键和值,按下式得到交叉增强序列嵌入 EcrossE_{\mathrm{cross}}

Q2,K2,V2=EselfW2Q,EpW2K,EpW2V.(7)Q_2,K_2,V_2=E_{\mathrm{self}}W_2^Q,E_pW_2^K,E_pW_2^V.\tag{7}
Attention(Q2,K2,V2)=softmax(Q2K2Tn1d)V2.(8)\operatorname{Attention}(Q_2,K_2,V_2)=\operatorname{softmax}\left(\frac{Q_2K_2^T}{\sqrt{n_1d}}\right)V_2.\tag{8}
Ecross=Concat(Attention1,,Attentionh)W2O.(9)E_{\mathrm{cross}}=\operatorname{Concat}(\operatorname{Attention}_1,\ldots,\operatorname{Attention}_h)W_2^O.\tag{9}

其中,W2Q,W2ORn1d×n1dW_2^Q,W_2^O\in\mathbb{R}^{n_1d\times n_1d}W2K,W2VRd×n1dW_2^K,W_2^V\in\mathbb{R}^{d\times n_1d},它们均为投影矩阵。

双对齐注意力层。 自增强序列嵌入 EselfE_{\mathrm{self}} 和交叉增强序列嵌入 EcrossE_{\mathrm{cross}} 分别聚合了行为内部关系和外部画像语义。本层将二者组合起来,以捕捉全面的用户兴趣。对于每个行为,其他行为和画像上下文的重要性并不相同,因此必须学习各项自增强特征与交叉增强特征的重要性。受通道注意力启发,我们提出双对齐注意力,为每个行为自适应地对齐用户行为信息与用户画像信息。首先通过全局平均池化生成逐维统计量 emeane_{\mathrm{mean}}

Esum=Eself+Ecross.(10)E_{\mathrm{sum}}=E_{\mathrm{self}}+E_{\mathrm{cross}}.\tag{10}
emean=1Li=1LEsum(i,:).(11)e_{\mathrm{mean}}=\frac{1}{L}\sum_{i=1}^{L}E_{\mathrm{sum}}(i,:).\tag{11}

随后,我们使用两个全连接(FC)层实现门控机制:第一层抑制用处较小的特征,第二层有选择地强调信息丰富的特征,如下式所示:

eself,ecross=(ρ(emeanW1))W2,(ρ(emeanW1))W3.(12)e_{\mathrm{self}},e_{\mathrm{cross}}=\left(\rho(e_{\mathrm{mean}}W_1)\right)W_2,\left(\rho(e_{\mathrm{mean}}W_1)\right)W_3.\tag{12}
w=softmax([eselfecross])R2×L×n1d.(13)w=\operatorname{softmax}\left(\begin{bmatrix}e_{\mathrm{self}}\\e_{\mathrm{cross}}\end{bmatrix}\right)\in\mathbb{R}^{2\times L\times n_1d}.\tag{13}
wself,wcross=w[0,:,:],w[1,:,:].(14)w_{\mathrm{self}},w_{\mathrm{cross}}=w[0,:,:],w[1,:,:].\tag{14}

其中,ρ\rho 是 ReLU 激活函数,W1Rn1d×n1d4W_1\in\mathbb{R}^{n_1d\times\frac{n_1d}{4}}W2,W3Rn1d4×n1dW_2,W_3\in\mathbb{R}^{\frac{n_1d}{4}\times n_1d}。接下来,按下式得到综合用户序列嵌入 EAFNE_{\mathrm{AFN}}

EAFN=wselfEself+wcrossEcross.(15)E_{\mathrm{AFN}}=w_{\mathrm{self}}\odot E_{\mathrm{self}}+w_{\mathrm{cross}}\odot E_{\mathrm{cross}}.\tag{15}

简而言之,本层通过感知用户行为与用户画像之间的关系,以及序列中的全局特征分布,动态融合自增强序列嵌入与交叉增强序列嵌入。

3.2.3 前馈网络

我们采用基于 SwiGLU 的前馈网络,其形式如下:

EFFN=(ϕ(EAFNW1FFN)EAFNW2FFN)W3FFN.(16)E_{\mathrm{FFN}}=\left(\phi(E_{\mathrm{AFN}}W_1^{\mathrm{FFN}})\odot E_{\mathrm{AFN}}W_2^{\mathrm{FFN}}\right)W_3^{\mathrm{FFN}}.\tag{16}

其中,ϕ\phi 是 Swish 激活函数,W1FFN,W2FFNRn1d×3n1dW_1^{\mathrm{FFN}},W_2^{\mathrm{FFN}}\in\mathbb{R}^{n_1d\times3n_1d}W3FFNR3n1d×n1dW_3^{\mathrm{FFN}}\in\mathbb{R}^{3n_1d\times n_1d}。该 FFN 将 Swish 函数处处可微的性质与 GLU 门控机制的优势结合起来;类似的 FFN 已被用于 LLM。

3.3 部署优化

3.3.1 加速策略

为缓解 SUAN 模型较高的时间复杂度,我们采用稀疏自注意力和并行推理策略,并将修改后的模型称为 LightSUAN。

稀疏自注意力。 自注意力机制相对于序列长度具有平方级时间复杂度,因此当序列较长时,会显著影响模型的训练和推理时间。稀疏自注意力通过减少注意力连接数量来降低计算负担。

本文的稀疏自注意力由局部自注意力与膨胀自注意力组合而成,能够同时有效捕捉近期关系和远距离关系。在局部自注意力中,每个元素只关注局部窗口内的邻近元素,其中 kk 表示窗口大小。在膨胀自注意力中,每个元素只关注间隔为 rr 的元素,其中 rr 表示膨胀率。图 2 中部展示了稀疏自注意力矩阵的计算方式,示例设置为 r=2r=2k=2k=2

并行推理。 对于一位用户,在线 CTR 预测需要对多个候选物品排序。假设存在 m1m_1 个候选物品,传统方法需要执行 m1m_1 次独立推理。CTR 模型对推理时间有严格要求,因此必须提出并行推理策略来加速在线推理。

SUAN 的因果编码器保证行为表征不依赖候选物品表征,这使模型能够通过复用行为表征实现并行推理。并行推理策略需要同时修改在线推理和离线训练。对于在线推理,由于特定在线服务中的 m1m_1 可变,我们每次输入 m2m_2 个候选物品并行推理,其中 m2<m1m_2<m_1,一次推理即可获得 m2m_2 个结果。这样,每位用户所需的推理次数便减少为 m1/m2\lceil m_1/m_2\rceil

为了与在线并行推理匹配,我们还修改了离线训练的实现细节,以模拟在线场景。首先修改训练样本,使其与在线推理的输入保持一致。具体而言,对于原本只包含一个候选物品的训练样本,在该候选物品后附加 m21m_2-1 个占位符。随后修改注意力矩阵的计算方式。图 2 右侧展示了将并行推理与稀疏自注意力机制结合的示例,其中 k=2k=2r=2r=2m2=3m_2=3image.png

3.3.2 在线蒸馏

为了将高等级 SUAN 的知识高效迁移到可部署的低等级 LightSUAN,我们考察了多种蒸馏技术,并设计了一种同时训练两个模型的在线蒸馏方法。

如图 3 所示,低等级 LightSUAN 作为学生模型,以 S,c,pS,c,p 为输入;高等级 SUAN 作为教师模型,以 S,c,pS',c,p 为输入。y^\hat{y}y^\hat{y}' 表示两个模型输出的预测概率,zzzz' 表示两个模型输出的 Logit。此外,令 zt=z/tz_t=z/tzt=z/tz_t'=z'/t,其中 tt 表示温度,由此得到更加平滑的类别概率分布。进一步地,y^t=σ(zt)\hat{y}_t=\sigma(z_t)y^t=σ(zt)\hat{y}_t'=\sigma(z_t')

我们使用三个二元交叉熵损失函数优化两个模型:loss1=Lce(y^,y)loss_1=L_{ce}(\hat{y},y)loss2=Lce(y^,y)loss_2=L_{ce}(\hat{y}',y)loss3=Lce(y^t,y^t)loss_3=L_{ce}(\hat{y}_t,\hat{y}_t'),其中 y^t\hat{y}_t' 作为软标签。

在线蒸馏的最终损失如下:

loss=loss1+loss2+λloss3.(17)loss=loss_1+loss_2+\lambda loss_3.\tag{17}

其中,λ\lambda 是蒸馏损失的权重系数。由于 loss3loss_3 产生的梯度幅值按照 1/t1/t 缩放,我们将 λ\lambda 设为 tt,以抵消这一缩放,确保优化过程中 loss3loss_3 对整体梯度作出适当贡献。 image.png

3.4 复杂度分析

3.4.1 时间复杂度

SUAN 的时间复杂度主要来自 UAB 中的自注意力层与交叉注意力层。采用全注意力的 ll 个 UAB 的主要复杂度为:

O(BlL2n1d+BlLn2n1d),O\left(BlL^2n_1d+BlLn_2n_1d\right),

其中,BB 为批大小。

LightSUAN 使用稀疏自注意力,将时间复杂度降低为:

O(BlL(k+Lr)n1d+BlLn2n1d).O\left(BlL\left(k+\frac{L}{r}\right)n_1d+BlLn_2n_1d\right).

此外,并行推理策略将每位用户的推理时间从

O(m1(BlL(k+Lr)n1d+BlLn2n1d))O\left(m_1\left(BlL\left(k+\frac{L}{r}\right)n_1d+BlLn_2n_1d\right)\right)

降低至

O(m1m2(Bl(L+m2)(k+L+m2r)n1d+Bl(L+m2)n2n1d)).O\left(\frac{m_1}{m_2}\left(Bl(L+m_2)\left(k+\frac{L+m_2}{r}\right)n_1d+Bl(L+m_2)n_2n_1d\right)\right).

3.4.2 空间复杂度

除嵌入外,模型额外的可学习参数主要来自 UAB,包括自注意力层、AFNet 和 FFN。三者的可学习参数量分别为:

O(4ln12d2),O(l(2n12d2+2n1n2d2+3n12d24)),O(9ln12d2).O(4ln_1^2d^2),\qquad O\left(l\left(2n_1^2d^2+2n_1n_2d^2+\frac{3n_1^2d^2}{4}\right)\right),\qquad O(9ln_1^2d^2).

4 实验

4.1 实验设置

4.1.1 数据集

我们使用两个公开数据集和一个工业数据集进行实验。

Eleme 数据集根据饿了么服务日志构建,包含用户 30 天的行为。该数据集拥有丰富的行为特征,包括物品特征和行为特征。Taobao 数据集收集自阿里巴巴展示广告系统,包含从淘宝随机选择的近百万用户在 22 天内的行为。每个用户行为都带有行为类型、行为发生时间等信息。Industry 是工业数据集,用户采样自 2024 年 7 月 6 日至 7 月 12 日这七天内的活跃用户,共计 8800 万人;每位用户最多包含过去一年内的 1000 条行为记录,每个行为都包含物品特征和行为特征。三个数据集的统计信息见表 1。

Eleme 数据集:tianchi.aliyun.com/dataset/131…
Taobao 数据集:tianchi.aliyun.com/dataset/56

表 1:数据集统计信息。 image.png

4.1.2 竞争方法

我们选择来自不同研究路线的八种方法作为竞争方法。其中 DIN 和 CAN 专注于行为特征交互建模,归入第一组;其余六种方法 SoftSIM、HardSIM、ETA、TWIN、BST 和 HSTU 均采用行为序列建模。SoftSIM 和 HardSIM 是 SIM 的两个变体,分别使用嵌入相似度检索和类别检索。在这六种方法中,前四种专为长序列设计,归入第二组;后两种并非专为长序列设计,归入第三组。

4.1.3 评估指标

在离线实验中,我们使用 AUC 作为评估指标。此外,还引入相对提升(RelaImpr)指标衡量模型之间的相对改进。在线 A/B 测试采用 CTR、CPM 和推理时间作为评估指标。

4.1.4 实现细节

所有模型均使用 TensorFlow 实现。为保证公平,所有模型的参数量都配置在同一数量级。具体而言,所有模型的维度均设为 8,并使用相同的预测层:预测层中的 MLP 结构为 [1024,512,256,1][1024,512,256,1],采用 Dice 激活函数。对于本文模型和第三组模型,编码器层数设为 2,注意力头数设为 2。在蒸馏期间,超参数 ttλ\lambda 均设为 2。

对于工业数据集和 Taobao 数据集,第二组模型的序列长度设为 1000,第一组和第三组模型的序列长度设为 100。受 Eleme 数据集限制,第二组模型的序列长度设为 50,第一组和第三组模型的序列长度设为 10。除使用与第一组模型相同序列长度的 SUAN 外,我们还使用 SUAN(L),即序列长度与第二组模型相同的 SUAN,以评估本文模型在长序列上的性能。

所有模型均在 NVIDIA A100-80G 上训练。每个模型训练一个轮次,并使用 Adam 优化器。

4.2 整体性能

性能评估结果见表 2。我们还对本文模型与每种对比模型的 AUC 进行了 tt 检验,并将显著性水平设为 0.05。所有 pp 值均小于 0.05,表明本文模型与其他模型的 AUC 存在统计显著差异。

表 2:性能比较。每项实验均重复三次并报告平均结果,同时报告 SUAN 结果的标准差。每一行中,最佳和次佳结果以粗体标出,第三名结果添加下划线。计算 RelaImpr 时以 DIN 为基准模型。 image.png

从结果中可以发现,面向长序列的 CTR 模型优于 DIN 和 CAN,说明引入更长的用户行为有助于学习更全面的用户兴趣,对 CTR 预测有益。与面向长序列的 CTR 模型相比,第三组模型和 SUAN 使用较短的用户行为序列作为输入,但性能更好。这可能有两个原因。首先,第二组模型将长序列分解为多个短子序列,可能会丢失长序列中蕴含的有价值信息。其次,第三组模型和 SUAN 使用自注意力机制分析用户行为并学习行为之间的关系,因而能更好地理解用户兴趣。

最后也是最重要的一点,本文模型在三个数据集上均显著优于所有竞争方法。SUAN(L) 一列的结果还表明,本文模型可以通过输入更长序列进一步提高性能。

4.3 消融研究

我们构造五个变体来评估 SUAN 各模块的有效性。变体 A 和变体 B 分别从 UAB 中移除 SwiGLU 和 AFNet。变体 C 使用简单策略替换 AFNet 中的双对齐注意力,直接通过加法组合自增强序列嵌入与交叉增强序列嵌入。变体 D 使用纯用户行为序列替代 SUAN 中的目标感知序列,并在预测层直接输入候选物品的特征表征;换言之,变体 D 放弃了 SUAN 中的目标感知序列。变体 E 移除自注意力层中的注意力偏置,以此简化 UAB。

表 3:消融实验结果。 image.png

结果表明,与 SUAN 相比,所有变体的性能都出现不同程度的下降,说明所设计的各个模块均有效。尤其是变体 D 的性能明显恶化,凸显了目标感知序列的重要作用:它利用 CTR 预测任务的独特性质,对改善性能贡献显著。变体 E 的性能下降最大,说明行为之间的相对位置和时间信息对于学习行为关系至关重要。

4.4 缩放定律分析

与现有缩放定律研究类似,判断本文模型是否存在缩放定律现象的方法,是考察模型等级和数据规模对模型性能的影响。在 SUAN 中,模型等级由模型规模和行为序列长度两个因素决定。模型规模通常指非嵌入参数的数量,主要受维度 dd 以及 SUAN 中 UAB 的参数 llhh 影响。数据规模则指输入模型的样本数量。不同于主要关注损失值的既有研究,我们更关心 AUC,因为在 CTR 预测场景中,AUC 比损失值更有价值。受公开数据集规模限制,相关实验均在工业数据集上进行。

4.4.1 扩展模型等级的影响

我们以七天的样本作为输入,在模型规模与序列长度的不同组合下运行 SUAN。模型规模按照表 4 设置,序列长度从 {50,100,200,500,1000}\{50,100,200,500,1000\} 中选择,并为每种组合计算 AUC。

表 4:不同模型规模的配置。 image.png

受既有研究启发,我们提出将 AUC 拟合到幂律函数 AUC(C)=E1A1/(CB1)αAUC(C)=E_1-A_1/(C-B_1)^\alpha,其中 CC 是非嵌入参数数量,E1E_1A1A_1B1B_1α\alpha 是待拟合系数。E1E_1 可以解释为 AUC 值潜在的上界;B1B_1 可以理解为 CTR 预测任务中不受缩放定律支配的参数数量,例如预测层中的参数。我们采用最小二乘法将 AUC 拟合为非线性曲线,结果见图 4(a)。决定系数 R2R^2 接近 1,说明拟合质量很高。结果证实,在数据规模固定时,SUAN 的 AUC 在不同序列长度下均相对于模型规模服从幂律函数。

AUC(C)AUC(C) 类似,我们使用 AUC(L)=E2A2/LβAUC(L)=E_2-A_2/L^\beta 研究 AUC 值与序列长度之间的关系,其中 LL 表示序列长度,E2E_2A2A_2β\beta 是待拟合系数。拟合曲线和公式见图 4(b),证实在输入数据规模固定时,改变序列长度同样符合缩放定律。

根据图 4 中 AUC(C)AUC(C)AUC(L)AUC(L) 的结果可以发现,E1E_1E2E_2 都约等于 0.72,说明在数据规模固定时,AUC 的提升确实存在上界。

4.4.2 扩展数据规模的影响

我们选择 SUAN、HSTU 和 DIN 三种模型,其配置与第 4.1.4 节相同。对于每个模型,我们固定其配置,使用不同数量的样本运行模型。样本分别收集自 {3,7,14,30,45,90}\{3,7,14,30,45,90\} 天,样本数量从 3.43×1083.43\times10^82×10102\times10^{10},横跨三个数量级。我们计算模型每次运行的 AUC,再使用 AUC(D)=E3A3/DγAUC(D)=E_3-A_3/D^\gamma 拟合这些 AUC,其中 DD 是样本数量,E3E_3A3A_3γ\gamma 是待估计系数。曲线与公式见图 4(c)。

与 HSTU 和 DIN 相比,SUAN 的幂律函数具有更高的 E3E_3 和更小的 γ\gamma。这说明本文模型可以更有效地利用训练样本,并且在不同数据规模上均表现出出色的可扩展性。

此外,我们发现 E3E_3 高于 E2E_2E1E_1,而 γ\gamma 小于 α\alphaβ\beta。这意味着,对于本文模型,与提高模型等级相比,增加数据规模能够获得更高的 AUC 上界和更快的增长速度。

image.png 图 4:工业数据集上的Scaling laws:(a)模型规模;(b)序列长度;(c)数据规模。

4.4.3 支持缩放定律的正则化器

我们设置了两个仅模型规模不同的配置,并在每种配置下分别运行 SUAN 和变体 A 至 G 三次,观察其 AUC 差异。其中,变体 F 使用标准 LayerNorm 替换 RMSNorm,变体 G 使用后归一化策略替换预归一化策略。

表 5:不同模型规模下的模型性能。 image.png

结果发现,只有模型规模为 size-4 的变体 F 和变体 G 出现性能退化,表 5 中的平均 AUC 和标准差体现了这一点。它们的性能破坏了缩放定律。我们认为,这是因为 RMSNorm 使用均方根进行层归一化,能够更有效地降低异常值的影响、缓解异常梯度并维持训练稳定性。此外,预归一化在 UAB 开始处执行归一化,可以减少后续复杂运算带来的数值不稳定。后归一化则在 UAB 的所有运算结束后才进行归一化,很容易在深层模型中引发梯度消失或梯度爆炸。

基于这些发现,我们有理由推测 RMSNorm 和预归一化策略有助于维持缩放定律,能够防止异常值和波动破坏缩放规律。

4.5 部署优化分析

4.5.1 稀疏自注意力的影响

我们选择模型规模设为 size-2、窗口大小 kk 设为 2 的 LightSUAN,在工业数据集上观察不同膨胀率 rr 与序列长度组合下的推理速度和 AUC。当 r=1r=1 时,LightSUAN 会退化为采用全注意力的原始 SUAN。

图 5(a)展示了不同膨胀率和序列长度下相对于单位推理速度的结果。单位推理速度根据采用全注意力且序列长度为 100 的模型推理耗时计算。结果表明,随着膨胀率增大,推理速度会明显提升。图 5(b)给出了不同膨胀率和序列长度下的 AUC。结果可以看出,当 r4r\leq4 时,模型性能没有显著下降;随着序列变长,AUC 会快速提高。

image.png 图 5:稀疏自注意力对模型的影响:(a)效率;(b)性能。

4.5.2 在线蒸馏的影响

我们首先训练一个可部署的低等级 LightSUAN,以及三个由于推理时间过长而无法在线部署的高性能、高等级 SUAN。表 6 给出了它们的配置和在工业数据集上的 AUC。随后采用在线蒸馏得到三个蒸馏后的 LightSUAN,表 7 展示了这些蒸馏模型及其在工业数据集上的 AUC。

表 6:模型详情。星号越多表示模型等级越高。 image.png

表 7:蒸馏模型的性能比较。 image.png

结果表明,蒸馏模型能够获得更强性能。值得注意的是,DistilSUAN-3 比 LightSUAN-1 高出 6‰,而且如表 2 所示,它还超过了模型规模更大的 SUAN-1,以及输入序列更长的 SUAN(L)。

4.6 在线 A/B 测试

我们进行了持续三周的在线 A/B 测试。考虑到计算预算有限且在线推理时间受限,我们在某在线服务的实际生产环境中部署原始 SUAN 和 DistilSUAN-3,用于提供列表广告推荐。原始 SUAN 的模型规模为 size-2,序列长度为 100。基线是原先的在线 CTR 模型;该模型已经历多轮升级,吸收了 DIN、CAN、SIM 和其他多行为模型等多种基础模型的精华。

与基线相比,原始 SUAN 使 CTR 提升 2.67%2.67\%、CPM 提升 1.63%1.63\%,平均推理时间从 33 毫秒增至 48 毫秒;蒸馏后的 LightSUAN 使 CTR 提升 2.81%2.81\%、CPM 提升 1.69%1.69\%,平均推理时间为 43 毫秒。

5 结论

本文探索了通过用户行为建模使 CTR 预测性能符合缩放定律的潜力,并提出一种知识蒸馏方法,使在线服务能够受益于遵循缩放定律的 CTR 模型。这项研究不仅为利用 CTR 预测提升工业在线性能提供了新思路,也分享了识别影响 CTR 模型缩放定律的因素(如模型等级)和组件(如正则化器)的实践经验。

致谢

本研究得到国家自然科学基金项目 62072450 和美团的支持。