Abstract像点击率预估这样的在线实时响应系统对响应时间的要求非常严格,结构复杂,层数较深的深度模型无法满足苛刻的要求。响应时间限制。为了获得满足响应时间限制的性能优异的模型,我们提出了一个新的框架:在训练阶段,同时训练两个复杂度差异明显的网络。简单的网络称为光网。这个复杂的网络称为助推器网络(boosternet),它的学习能力比前者更强。这两个网络共享一些参数并分别学习类别标签。另外,轻量级网络通过学习booster的软目标来模仿booster的学习过程,从而获得更好的训练效果。在测试阶段,仅使用轻量级网络进行预测。我们的方法称为“火箭发射”系统。在公共数据集和阿里巴巴的在线展示广告系统上,我们的方法在不增加在线响应时间的情况下提高了预测效果,展示了其在在线模型中应用的巨大价值。研究背景响应时间直接决定了在线响应系统的效果和用户体验。例如,在在线展示广告系统中,对于用户来说,需要在几毫秒内估算出数百个候选广告的点击率。因此,如何在严格的响应时间内提高模型的在线预测效果,是业界面临的巨大难题。现有方法介绍目前,解决模型响应时间问题的方法有两种:一方面,在模型结构和参数固定的情况下,可以通过计算数值压缩来减少推理时间,还有也更加精简模型和改变模型计算的工作,比如MobileNet和ShuffleNet;另一方面,使用复杂模型辅助简化模型的训练,在测试阶段,使用学习到的小模型进行推理,如KD、MIMIC。这两个方案并不冲突。在大多数情况下,第二种方案可以通过第一种方案进一步减少推理时间。同时,考虑到相对于严格的在线响应时间,我们有更多的自由训练时间,有能力训练复杂的模型,所以我们使用第二种思路设计我们的方法。研究动机和创新火箭发射过程,初始阶段助推器与运载器一起前进,第二阶段助推器分离,运载器单独前进。在我们的框架中,在训练阶段,有两个简单和复杂的网络一起训练,复杂网络充当助推器,通过参数共享和信息提供促进轻量级网络更好的训练;在预测阶段,boosterserver网络与系统分离,轻量级网络单独发挥作用,在不增加预测开销的情况下提高预测效果。整个过程类似于火箭发射,所以我们将系统命名为“火箭发射”。训练方法的创新我们的框架的创新在于其新颖的训练方法:1.传统模型和简化模型一起训练,协同训练有以下好处:a)一方面,它缩短了总训练时间:与传统的师生范式相比,教师网络和学生网络是分开训练的。我们的协同训练过程减少了总训练时间,这对于每天获取大量训练数据并且模型不断更新的在线广告系统非常有用。b)另一方面,booster网络全程向轻量级网络提供软目标信息,从而达到指导轻量级网络整个求解过程的目的,使得我们的方法可以获得比轻量级网络更多的指导信息传统的方法,从而达到更好的效果。2、采用梯度固定技术:在训练阶段,将两个网络的softtarget限制在相似的loss,仅用于lightweight网络的梯度更新,不更新booster网络,使得booster网络不受轻量级网络的影响,仅从真实标签中学习信息。该技术使booster网络有更强的自由度去学习更好的模型,booster网络效果的提升也会提升轻量级网络的训练效果。结构创新的booster网络和轻量级网络共享部分层的参数,共享的参数可以根据网络结构的变化而变化。通常,两个网络可以共享较低层。在神经网络中,下层可以用来学习信息表示,下层网络的共享可以帮助轻量级网络获得更好的信息表示能力。方法框架:图1:网络结构如图1所示。在训练阶段,我们同时学习两个网络:LightNet和BoosterNet,两个网络共享部分信息。我们将大多数模型理解为表示层学习和判别层学习。表示层学习对输入信息进行一些高级处理,而判别层学习与当前子任务目标相关的内容。我们认为表示层的学习是可以共享的,比如多任务学习中的思想。因此,在我们的方法中,共享信息是底层参数(比如图像领域的前几个卷积层,NLP中的embedding),这些底层参数可以在一定程度上反映输入信息的基本描述。在整个训练过程中,网络的损失如下:Loss由三部分组成:第一项是lightnet对groundtruth的学习,第二项是boosternet对groundtruth的学习,而第三项是两个网络的softmax前logits的均方误差(MSE),作为hintloss,用来让两个网络学习到的logits尽可能相似。Co-Training两个网络一起训练,让boosternet全程监督轻量级网络的学习。boosternet在一定程度上指导了lightnet的整个求解过程。这和一般的teacher-studentparadigm,学习大模型,只用大模型的固定输出作为软目标来监督小网络的学习有明显区别,因为虽然每个的输出boosternet的迭代不能保证预测值非常接近标签,有利于在达到此解后找到最终值。收敛解。HintLossGradientBlockExperimentalResults在实验方面,我们验证了方法中每个子部分的必要性。同时,在公开的数据集上,我们还与知识蒸馏(KD)、注意力转移(AT)等几种师生方法进行了对比。为了与目前运行良好的AT进行公平比较,我们采用了与它们具有相同网络结构的宽残差网络(WRN)。实验网络结构如下:图2:实验中使用的网络结构。红色+黄色表示光网,蓝色+红色表示增压网。(a)表示两个网络共享bottomblock,符合我们一般的共享结构设计。(b)表示两个网络共享每个组的底部块。这种分享方式与AT在每组之后进行注意力转移的概念是一致的。各创新点的效果通过各种对比实验,我们验证了参数共享和梯度固定都可以带来效果的提升。各种损失影响比较轻。火箭发射总能取得比KD更好的性能,说明lightnet总能从boosternet获取有价值的信息。可视化效果通过可视化实验,我们观察到通过我们的方法,lightnet可以学习boosternet底层组的特征表示。公开数据集效果对比除了验证自己方法的效果外,我们还在公开数据集上进行了几组实验。在CIFAR-10上,我们尝试了不同的网络结构和参数共享方法,我们的方法明显优于现有的师生方法。在大多数实验设置中,我们的方法叠加了KD,效果会进一步提升。这里WRN-16-1,0.2M表示宽残差网,深度16,宽度1,参数量0.2M。同时在CIFAR-100和OnSVHN中,在实际应用中也取得了同样优异的性能。同时,在阿里展示广告数据集上,我们的方法相比单纯跑光网,GAUC可以提升0.3%。我们在线的模型在后面的全连接层只要同时增加参数量和深度,就会有提升,但是在线的时候很大一部分计算时间消耗在全连接层(embedding只是一个fetch操作,随着参数数量的增加耗时不明显),所以后端一个deepwide的模型压力会比较大直接上线。表格列出了我们的模型参数对比和离线效果对比:总结在线响应时间对于在线系统来说非常重要。本文提出的火箭发射训练框架在不增加预测时间的情况下提高了模型的预测性能。为提高在线响应模型的效果提供了一种新的思路。目前的RocketLaunching框架为在线CTR预估系统弱化在线响应时限与复杂模型结构之间的矛盾提供了可靠的解决方案。当在线计算压缩8倍时,我们的技术可以达到同样的性能。在日常生活中,它可以减少我们在线服务机器的资源消耗,双十一高峰流量场景是保证算法技术不退化的可靠解决方案。来源《Rocket Launching: A Universal and Efficient Framework for Training Well-performing Light Net》团队名称:阿里妈妈事业部作者:周国瑞、范颖、边伟杰、朱小强、盖坤点击查看完整版:PDF
