知识蒸馏在广告系统中的应用(一)

上篇文章主要和大家聊的是强化学习在推荐混排中的应用,今天我们会开启一个全新的系列“知识蒸馏在广告系统中的应用”。本文将主要涉及第一部分——背景介绍。背景介绍大致分为三块:简述广告系统的架构、简述知识蒸馏、简述为什么要将知识蒸馏引入到广告系统中。

 

1.广告系统架构

传统的广告系统一般可以粗略地分为两个阶段,召回阶段和排序阶段。召回阶段主要负责从海量的广告库里,快速找回一小部分用户潜在感兴趣的广告,交给排序;排序阶段主要负责对这一小部分用户潜在感兴趣的广告打分,取topN返回。召回的特点是快且相关性强,排序的特点是准且符合广告系统的终极目标(用户、广告主、平台三方利益)。

 

更为实用的工业级广告系统一般分为四个环节,即召回、粗排、精排和重排。

图片

召回的目的上面已经介绍过这里不再赘述。引入粗排主要是因为(1)召回阶段通常采用的是多路召回算法,这些召回算法每路返回的数量是不确定的,且难以确定最终将哪些返回给排序(通常采用暴力截断方式),因此需要加一层粗排对每路召回的结果进行统一的打分排序,把topN的结果送入到精排模块中。(2)整体召回环节返回的广告数量还是太多,在排序环节需要占用大量的机器资源且影响整体的线上耗时,因此在召回和精排之间引入粗排环节。

 

最后说下重排,这个阶段涉及的主要是各种技术以及业务策略,比如曝光去重、多样性打散、固定栏位广告插入等等。重排在系统的最后一个环节,肩负着平衡收益与用户体验的重任。

 

2.知识蒸馏

知识蒸馏是对模型的能力进行迁移,根据迁移方式的不同可以简单的分为基于目标的蒸馏和基于特征的蒸馏。

(1).基于目标的蒸馏

提到基于目标的蒸馏,就不得不提2015年深度学习之父Hinton的封神之作《Distilling the knowledge in a Neural Network》,看了一下目前的被引次数是5846次。在这篇论文中,Hinton主要讨论的是分类问题,分类模型最后一层一般是softmax层,其输出值对应的是相应类别的概率。在知识蒸馏中,我们利用Teacher模型来蒸馏训练Student模型时,可以让Student模型去学习Teacher模型的softmax层输出的类别概率即“soft-labels”。

 

(2).基于特征的蒸馏

提到基于特征的蒸馏,就不得不提这类方法的开山之作《FITNETS:Hints for Thin Deep Nets》看了一下目前的被引次数也有1505次。这篇文章中提出了FITNETS,它强迫Student的某些中间层的网络响应要去尽可能的逼近Teacher对应的中间层的网络响应,即Student不是仅仅去学习Teacher最终的输出,还要去学习Teacher网络结构的中间层特征。

其实,笔者认为中国有句古话说得好“授人以鱼,不如授人以渔“,基于目标的蒸馏似乎对应着前半句——学习结果,而基于特征的蒸馏更像是后半句——学习过程。神经网络的学习和人的学习其实如出一辙,古代圣贤的思想放在今天同样受用。能够从朴实无华的真理中有所感悟,也许会打开科研的另一扇门。

 

3.为什么要将知识蒸馏引入到广告系统中

近几年深度学习的发展势头迅猛,在CV以及NLP领域均涌现出了一些划时代的模型,像CV中的ResNet,NLP中的Bert,这些模型在解决实际问题时均取得了SOTA效果。但是,这些模型的网络结构越来越复杂,网络深度也越来越深,模型的参数量更是几何维度的增长。这会带来一个现实的问题:将这些复杂的模型推上线,模型响应速度太慢,当流量大的时候撑不住。知识蒸馏就是目前常见的解决此类问题的方法。

 

一般知识蒸馏采取Teacher-Student模式:将复杂模型作为Teacher模型,Student模型结构较为简单,用Teacher模型来辅助Student模型的训练,Teacher模型学习能力强,可以将它学到的知识迁移给学习能力相对弱的Student模型,以此来增强Student模型的泛化能力。复杂笨重但是效果好的Teacher模型不上线,就单纯是个导师的角色,真正上线支撑流量的是灵活轻巧的Student小模型。

 

将知识蒸馏与广告系统结合会带来以下一些优势:(1) 在广告系统的各个阶段都高度要求模型性能。受限于网络延时和性能的要求,可以用复杂模型(如带有高阶特征交叉的模型,xDeepFM等)蒸馏的知识指导简单一些的模型进行学习。(2) 相对于精排模型而言,粗排和召回模型本身就很简单。粗排或召回阶段,在优化ground-truth目标时,也可以用精排(Teacher网络)输出的知识指导粗排或者召回模型的训练。

 

4.小结

本文主要和大家讨论了知识蒸馏在广告系统中的应用——背景篇,主要围绕广告系统的架构、知识蒸馏以及为什么要将知识蒸馏引入到广告系统这三个部分展开,希望能给大家留下一个初步的印象,下一篇将带来知识蒸馏在广告系统中的应用(实战篇),敬请期待!

欢迎大家关注计算广告那些事儿哈,除了原创文章之外,也会不定期和大家分享业内大牛的文章哈!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值