知识蒸馏论文翻译(3)—— Ensembled CTR Prediction via Knowledge Distillation

本文探讨了如何通过知识蒸馏技术,尤其是Ensembled CTR Prediction via Knowledge Distillation,利用强大的教师模型集合来提高CTR预测的准确性。研究者提出教师门控网络和蒸馏损失的早期停止策略,简化学生模型并实现显著的精度提升。实验证明,这种方法在离线和在线环境中均有效,显著优于传统的模型集成策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

知识蒸馏论文翻译(3)—— Ensembled CTR Prediction via Knowledge Distillation

经由知识蒸馏的集合CTR预测


摘要

最近,基于深度学习的模型已被广泛研究用于点击率(CTR)预测,并在许多工业应用中提高了预测精度。然而,目前的研究主要集中在构建复杂的网络架构,以更好地捕捉复杂的功能交互和动态用户行为。增加的模型复杂性可能会降低在线推理的速度,并阻碍其在实时应用中的采用。相反,我们的工作目标是一种新的基于知识提炼(KD)的模型训练策略。KD是一个师生学习框架,用于将从教师模型学到的知识转移到学生模型。KD策略不仅允许我们将学生模型简化为普通的DNN模型,而且在最先进的教师模型上实现了显著的准确性改进。因此,这些好处促使我们进一步探索如何使用强大的教师团队来进行更准确的学生模型培训。我们还提出了一些新的技术来促进集合CTR预测,包括教师门控和蒸馏损失的早期停止。我们针对12个现有模型和三个行业数据集进行了全面的实验。离线和在线A/B测试结果都表明了我们基于KD的训练策略的有效性。

一、介绍

在许多应用中,如推荐系统、在线广告和Web搜索,点击率(CTR)是商业评估中的一个关键因素,它衡量用户点击(或与)促销商品的概率。CTR预测非常重要,因为对于拥有大量用户的应用程序来说,即使预测准确性有很小的提高,也可能导致整体收入的大幅增加。例如,Google [4,26]和Microsoft [17]的现有研究表明,在工业规模的CTR预测问题中,AUC或logloss的绝对改善1‰被认为是实际上显著的。随着最近深度学习的成功,业界提出了很多深度模型并逐渐采用,如Google的Wide&Deep [4],华为的DeepFM [8],Google的DCN [26],微软的xDeepFM [16]。他们在实践中表现出显著的性能增益。

当前对CTR预测的研究有两个趋势。首先,深度模型在网络架构中趋于变得越来越复杂,例如,通过采用卷积网络[18]、递归网络[7]、注意机制[24、32]和图形神经网络[15]来更好地捕捉复杂的特征交互和动态用户行为。第二,遵循流行的广度和深度学习框架[4],许多深度模型采用两个不同子模型的集成形式来提高CTR预测。典型的例子有DeepFM [8],DCN [26],xDeepFM [16],AutoInt+ [24]等。尽管这些复杂的模型架构和集成提高了预测精度,但它们可能会降低模型推理的速度,甚至会阻碍实时应用的采用。如何利用一个强大的模型集成来达到最好的精度水平,同时仍然保持在线推理的模型复杂性是这项工作的主要课题。

与前述主要关注模型设计的研究工作不同,在本文中,我们提出了一种基于知识提取(KD)的模型训练策略[10]。KD是一个师生学习框架,它用从教师模型中提取的知识指导学生模型的训练。然后,学生模型有望获得比直接训练更好的准确性。

虽然KD传统上被应用于模型压缩[10],但是我们并没有有意地在隐藏层和隐藏单元方面限制学生模型的大小。我们发现,这种训练策略不仅可以将学生模型简化为没有复杂架构的普通DNN模型,还可以显著提高教师模型(如DeepFM [8]、DCN [26]和xDeepFM [16])的精度。

此外,使用KD可以灵活地开发不同体系结构的教师和学生模型,而在线服务只需要学生模型。这些好处激励我们进一步探索作为教师的个体模型的强大集合,这可能产生更准确的学生模型。我们的目标是提供一个基于KD的训练策略,该策略通常适用于许多集合CTR预测模型。为此,我们比较了不同的KD方案(软标签与提示回归)和训练方案(预训练与协同训练)用于CTR预测。

虽然KD是一种现有的技术,但是我们进行了以下扩展:1)我们提出了一种教师门控网络,该网络使得基于样本的教师选择能够自适应地从多个教师学习。2)我们提出了蒸馏损失作为早期停止信号的新用途,这不仅减轻了过拟合,而且提高了模型训练期间验证数据的利用率

我们在三个工业规模的数据集上全面评估了我们的KD策略:两个开放基准(即Criteo和Avazu),以及来自华为应用商店的生产数据集。实验结果表明,经过KD训练后,学生模型不仅获得了比自身更好的准确率,而且还超过了教师模型。我们的整体蒸馏实现了迄今为止最大的离线改进(AUC比DeepFM和Avazu上的DCN提高了1%以上)。在线A/B测试表明,我们基于KD的模型在在线流量方面实现了平均6.5%的CTR提升和8.2%的eCPM (w.r.t收入)提升。

总之,本工作的主要贡献如下:

  • 我们的工作提供了对不同KD方案在CTR预测任务上的有效性的综合评估,其作为KD的潜在工业应用的指南。
  • 我们的工作首次尝试将KD应用于集合CTR预测。我们还提出了新的扩展,以提高学生模型的准确性。
  • 我们进行离线评估和在线A/B测试。结果证实了我们基于KD的训练策略的有效性。

在下文中,第2节介绍了背景知识。第3节描述了我们方法的细节。实验结果见第4节。我们在第5节回顾了相关工作,最后在第6节总结了本文。

二、背景

在这一部分中,我们简要介绍了CTR预测和知识提炼的背景。

2.1 CTR 预测

CTR预测的目标是预测用户点击候选项的概率。在形式上,我们将其定义为 y ^ = σ ( ϕ ( x ) ) \hat{y}=\sigma(\phi(x)) y^=σ(ϕ(x)),其中 ϕ ( x ) \phi(x) ϕ(x)是在给定输入特征x的情况下输出logit(非标准化对数概率)值的模型函数。 σ ( ⋅ ) \sigma(\cdot) σ()是将 y ^ \hat{y} y^映射到[0,1]的sigmoid函数。

深度模型在捕捉复杂的高阶特征交互以进行准确预测方面非常强大。在下文中,我们选择了四种最具代表性的深度模型,即Wide&Deep[4]、DeepFM[8]、DCN[26]和xDeepFM[16],因为它们已经成功地应用于工业中。如等式1~4所述。所有这些模型都遵循通用的广度和深度学习框架,该框架由两部分组成:一部分是深度模型 ϕ D N N ( x ) \phi_{DNN}(x) ϕDNN(x),另一部分是广度模型。具体地说, ϕ L R ( x ) \phi_{LR}(x) ϕLR(x) ϕ F M ( x ) \phi_{FM}(x) ϕFM(x)是广泛使用的浅层模型,而 ϕ C r o s s ( x ) \phi_{Cross}(x) ϕCross(x) ϕ C I N ( x ) \phi_{CIN}(x) ϕCIN(x)则分别用于捕捉位和矢量特征交互。
公式1、2、3、4
最后,对每个模型进行训练,以最小化二元交叉熵损失:
公式5
我们观察到,为了捕捉有效的高阶特征交互,当前的模型趋向于变得越来越复杂。例如,通过使用外积和卷积,xDeepFM的运行速度大约是DeepFM的2倍。虽然这些模型使用两个子模型的集成来提高预测精度,但直接集成更多模型通常过于复杂,无法应用于实时CTR预测问题。我们的工作提出了一种基于KDM的训练策略,以支持强大的集成模型的生产使用。

2.2 知识蒸馏

知识提炼(KD)[10]是一种师生学习框架。KD的核心理念是培养一个学生模型,不仅从真正的标签上进行监督,还从教师模型提供的指导(例如,模仿教师模型的输出)上进行监督。KD的早期目标是模型压缩[10,19],即训练参数较少的紧凑模型,以匹配大型模型的精度。KD的成功在图像分类[19]和机器翻译[25]中得到了广泛的应用。我们的工作首次尝试将KD应用于集成CTR预测。我们的目标不是只压缩模型大小,而是从不同的教师模型或其集合中训练一个统一的模型,以便更准确地预测CTR。

三、综合CTR预测

在本节中,我们将详细介绍集成CTR预测的知识提炼。
图1
图1. 知识提炼的框架

3.1 概述

图1展示了知识提炼的框架,它由教师模型和学生模型组成。假设T是一个教师模型,将输入特征x映射到点击概率 y ^ T \hat{y}_T y^T
同样的特征被输入到学生模型S中,并预测 y ^ S \hat{y}_S y^S。在培训期间,教师和学生模型的损失函数公式如下:
公式6、7
其中 L C E ( ⋅ ) L_{CE}(\cdot) LCE()表示公式5中的二元交叉熵损失, L K D ( S , T ) L_{KD}(S,T) LKD(S,T)表示蒸馏损失(后面在第3.2节中定义)。特别是对于学生损失 L S L_S LS,第一学期 L C E L_{CE} LCE从真实标签中获取监督,第二学期 L K D L_{KD} LKD测量学生和教师模型之间的差异。 β \beta β γ \gamma γ是平衡这两项权重的超参数。通常我们设 β + γ = 1 \beta+\gamma=1 β+γ=1

KD框架允许灵活选择任何教师和学生模型架构。更重要的是,由于在线推理只需要学生模型,我们基于KD的训练策略不会干扰模型服务过程。在这项工作中,我们有意使用一个普通的DNN网络作为学生模型来证明KD的有效性。我们打算证明,即使是一个简单的DNN模型也可以从一个“好”老师那里得到有用的指导。

3.2 从一位老师那里得到的蒸馏

为了实现从教师模型到学生模型的知识转移,人们提出了许多不同的知识发现方法。在本文中,我们关注两种最常见的方法:软标签[10]和提示回归[22]。
3.2. 1软标签
在这种方法中,学生不仅匹配基本真理标签(即硬标签),而且匹配教师模型的概率输出(即软标签)。与硬标签相比,软标签传达了两个样本之间的细微差异,因此与直接从硬标签学习相比,软标签可以更好地帮助学生模型推广。
如图1所示,“KD by soft labels”方法具有以下蒸馏损失,以惩罚教师和学生模型之间的差异。公式8
其中 L C E L_{CE} LCE是公式5中定义的二元交叉熵损失。 z T z_T zT z S z_S zS表示两个模型的逻辑。温度参数 τ \tau τ进一步用于产生更柔和的标签概率分布。最后,用公式7中的蒸馏损失 L K D ( S , T ) L_{KD}(S,T) LKD(S,T)代替student模型的最终损失,该模型结合了硬标签和软标签的监督。
图片2
图2. 自适应集成蒸馏的框架

3. 2. 2.提示回归
虽然软标签为学生模型的输出提供直接指导,但提示回归旨在指导学生学习表征。如图1所示,提示向量 v T v_T vT被定义为教师隐藏层的中间表示向量。同样,我们选择学生的表示向量 v S v_S vS,强迫 v S v_S vS用线性回归逼近 v T v_T vT
公式9
其中 W ∈ R n × m W\in R^{n\times m} WRn×m是一个变换矩阵, v T ∈ R m v_T\in R^m vTRm v S ∈ R n v_S\in R^n vSRn有它们不同的尺寸。在某种程度上,蒸馏损失 L K D L_{KD} LKD作为学生模型的一种正规化形式,帮助学生模仿教师的学习过程。因此,用方程式7中的蒸馏损失 L K D ( S , T ) L_{KD}(S,T) LKD(S,T)代入,得出用于训练学生模型的最终损失。

3.3多教师的蒸馏
模型集成是一种提高预测精度的强大技术,已成为赢得各种推荐竞争(如Kaggle[2],Netflix[1])的主要解决方案。然而,由于训练和推理的高模型复杂度,直接应用模型集成通常是不切实际的。为了实现这一点,我们将KD框架从一名教师扩展到了多名教师。
一个简单的方法是平均化个别教师模型,使之成为一个更强大的整体教师,这样问题就简化为向一名教师学习。然而,由于实践中使用的模型体系结构和培训方案不同,并非所有教师都能提供关于每个样本的同等重要的知识。不称职的老师甚至可能误导学生的学习。为了从多名教师那里获得有效的知识,我们提出了一个自适应集成蒸馏框架,如图2所示,以动态调整他们的贡献。形式上,我们有以下自适应蒸馏损失:
公式10
其中 α i \alpha_i αi是控制M教师 T i T_i Ti贡献的重要权重。 ∑ i = 1 M α i T i \sum^M_{i=1}\alpha_iT_i i=1MαiTi表示教师的集合,其中教师权重应满足 ∑ i = 1 M α i = 1 \sum^M_{i=1}\alpha_i=1 i=1Mαi=1

教师网络。我们不打算设置 α i \alpha_i αi固定参数,而是打算动态地学习 α i \alpha_i αi,使其适应不同的数据样本。为了实现这一点,我们提出了一个教师门控网络来调整教师的重要性权重,从而实现了基于样本的教师选择。更具体地说,我们使用softmax函数作为选通函数。
公式11
其中 { w i , b i } i = 1 M \{w_i,b_i\}^M_{i=1} {wi,bi}i=1M是要学习的参数。直觉上,门控网络使用所有教师的输出来确定彼此的相对重要性。

3.4 训练

3. 4. 1.培训计划
在这项工作中,我们研究了KD的预训练方案和联合训练方案。培训前计划分两个阶段培训教师和学生模型。对于cotrain方案,教师和学生模型都是联合训练的,而蒸馏损失的反向传播是单向的,因此学生模型从教师那里学习,而不是从教师那里学习。联合训练方案比两阶段预训练方案更快,但需要更多的GPU内存。在第4节中,我们还以经验的方式比较了列车前和联运方案之间的性能。2.对于集成蒸馏的情况,我们主要关注预训练方案,因为联合训练方案需要将多个教师模型加载到GPU内存中。我们认为三个最先进的模型(即,DEFFM,DCN,XDIFFM)作为教师,并通过最小化等式6中的损耗来训练它们。当根据等式7训练学生模型时,教师可以为学生模型提供更好的指导。教师门控网络与学生模型一起训练,用于样本选择教师。

3. 4. 2.通过蒸馏损失提前停止
通常采用提前停车来减少过度装配。在培训教师模型时,我们使用遗漏验证集来监控指标(例如AUC),以便提前停止。在训练学生模型时,我们建议使用教师模型的蒸馏损失作为提前停止的信号。它之所以有效,是因为通过提前停止验证集,教师模型经过了减少过度拟合的训练,而学生模型在模仿教师模型时可以继承这种能力。这消除了保留验证集的需要,并通过使用验证集(通常是最新的数据)来丰富训练数据,帮助学生模型更好地概括。

四、实验

五、相关工作

六、结论

模型集成是提高预测精度的有力手段。在本文中,我们尝试将KD应用于集成CTR预测。我们基于KD的培训策略能够使用强大的教师模型集合,并大幅提高准确性。令人惊讶的是,我们证明了用KD训练的普通DNN甚至可以超过合奏教师模型。我们的主要贡献包括对基于KD的培训策略进行深入评估,对样本教师选择进行教师选通,以及通过KD损失提前停止,从而提高验证数据的利用率。离线和在线A/B测试结果都证明了我们方法的有效性。我们希望我们的令人鼓舞的结果能够吸引更多的研究工作来研究CTR预测的训练策略。


DeepSeekV3论文目前尚未有官方的中文翻译版本发布,但可以通过以下方式获取相关信息或尝试翻译: ### 1. 摘要翻译与关键点解读 DeepSeekV3 是一种基于 Transformer 架构的大规模语言模型,其主要特点包括高效解码和性能优化。论文中提到的 **MTP(Multi-Token Prediction)** 方法通过 **Blockwise Parallel Decoding**[^1] 实现了对多个 token 的一次性预测,从而显著提高了生成效率。此外,DeepSeek-V3 在性能评估中表现出色,优于其他开源模型,并且在资源消耗方面具有优势,仅需 2.788M H800 GPU 小时完成全面训练[^2]。 以下是部分关键内容的翻译与解读: - **MTP 方法的核心**:MTP 方法允许模型同时预测多个 token,而不是传统的逐个 token 解码方式。这种技术减少了推理时间并提升了整体效率。 - **Blockwise Parallel Decoding**:该方法将序列分解为多个块,并行处理这些块以加速解码过程。这种方法在保持生成质量的同时,显著降低了延迟[^1]。 - **性能对比**:DeepSeek-V3 在多个基准测试中展现了卓越的性能,尤其是在生成任务上。其性能与闭源模型相当,但训练成本更低[^2]。 ### 2. 获取翻译版本的建议 如果需要完整的中文翻译版本,可以考虑以下几种方式: - **社区资源**:许多机器学习和自然语言处理社区会组织论文翻译活动。可以在 GitHub 或者相关论坛搜索是否有志愿者翻译的版本。 - **自动翻译工具**:使用 Google 翻译、DeepL 等工具对论文进行初步翻译,然后结合专业知识进行校对。 - **专业服务**:一些学术翻译服务提供商可以提供高质量的论文翻译服务。 ### 3. 示例代码:如何使用 DeepSeekV3 模型 以下是一个简单的 Python 示例,展示如何加载和使用 DeepSeekV3 模型进行文本生成: ```python from transformers import AutoTokenizer, AutoModelForCausalLM # 加载模型和分词器 model_name = "deepseek-ai/DeepSeek-V3" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) # 输入提示 prompt = "你好,世界!" # 编码输入文本 input_ids = tokenizer.encode(prompt, return_tensors="pt") # 生成文本 output = model.generate(input_ids, max_length=50, num_return_sequences=1) # 解码输出 generated_text = tokenizer.decode(output[0], skip_special_tokens=True) print(generated_text) ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值