近日,加州大学河滨分校GeorgeMason和圣母大学领导的团队提出了单调性延迟可用于从根本上促进硬件自适应NAS——也就是说,不同设备上的神经架构延迟排名通常是相关的。当存在强延迟单调性时,NAS在代理硬件上获得的架构可以重新用于任何新的目标硬件,而不会丢失Pareto最优性。通过这种方式,结合现有的SOTANAS技术,可以将硬件适配NAS的成本降低到一个常数O(1)。目前,该论文已被国际顶级性能建模与分析会议ACMSIGMETRICS2022录用。论文地址:https://arxiv.org/abs/2111.01203项目地址:https://ren-research.github.io/OneProxy/NeuralArchitectureSearch(NAS)神经网络是一个分层结构,每一层可能是一个volumelayer,activationlayerorfullyconnectedlayer等。NAS的过程就像搭积木一样。每一层积木都有多种选择。例如,当当前层是卷积层时,使用多大的卷积核是一个选择。将每一层的选择组合起来后,就形成了一个完整的神经架构。通过NAS,一般会得到多个“最优”架构,比如高精度高延迟架构和低精度低延迟架构。NAS的最终目标就是在精度VS延迟的权衡中找到这样一系列的最优架构(称为Pareto最优架构)。相应地,硬件适配NAS就是在给定的目标设备上进行NAS,从而在当前设备上找到一系列Pareto最优架构。可见,NAS是一个“选择-组合”的过程,所以在这个过程中必然会有很多可供选择的架构。挑选Pareto最优架构的方法是对这些架构的延迟和准确性进行排名,然后选择最好的。对此,本文将使用准确性和推理延迟两个指标来衡量神经架构的性能。工作简介卷积神经网络(CNN)已部署在越来越多样化的硬件设备和平台上。神经网络架构极大地影响了最终的模型性能,例如推理精度和延迟。因此,在NAS的过程中整合目标硬件的影响,即硬件适配的NAS是至关重要的。高效的硬件适配NAS的关键是快速评估目标设备上每个神经架构的推理延迟。如果单纯直接测量各个架构的延迟,单台NAS需要数周甚至数月的时间。所以SOTA硬件适配NAS主要依赖于为每个设备建立一个延迟查找表或预测器。但是,构建延迟预测器非常耗时并且需要大量的工程工作。例如,MIT的ProxylessNAS测量了移动设备上5,000个DNN的平均推理延迟,并以此为基础构建了一个延迟查找表。假设每次测量的理想耗时为20秒(根据TensorFlow官方指南),即使不间断测量,在一台设备上构建延迟预测器也需要27小时以上。同样,Meta提出的ChamNet收集了350,000条延迟记录,用于仅在一台设备上构建延迟预测器。今年ICLR的重点工作HW-NAS-Bench还花了一个月的时间收集NAS-Bench-201和FBNet模型空间的延迟数据,并为六个设备构建延迟预测器。在Microsoft关于nn-meter的最新工作中,仅在边缘设备上收集延迟测量就需要4.4天。这些事实表明,针对SOTA的硬件适配NAS(为每个目标设备构建延迟预测器)的成本高得令人望而却步。更为复杂的是,CNN部署的目标设备极其多样,包括移动CPU、ASIC、边缘设备和GPU。以移动设备为例,市面上的SoC就有2000多款,前30名的SoC份额也勉强超过1%。因此,如何在极其多样化的目标设备上有效地硬件适配NAS成为一个挑战。在这项工作中,作者解决了如何降低不同目标设备上硬件适配NAS的延迟评估成本。作者首先证明了神经架构的延迟单调性是普遍存在的,尤其是在同一平台上的设备之间。延迟单调性意味着不同架构的延迟等级顺序在多个设备之间是相关的。在此基础上,只需选择一个设备作为代理并为其构建延迟预测器就足够了——而不是像SOTA那样为每个单独的目标设备构建延迟预测器。实验结果表明,与专门为每个目标设备优化的NAS相比,仅使用一个代理设备的方法几乎不会失去Pareto最优性。这项工作被SIGMETRICS'22接受。Ubiquitousdelaymonotonicity作为这项工作的基础,作者首先研究了神经架构的延迟单调性,并证明它普遍存在于设备之间,尤其是同一平台上的设备。本文使用斯皮尔曼秩相关系数(SRCC)来定量衡量单调延迟的程度。SRCC的值介于-1和1之间,两个设备上模型延迟的SRCC越大,表明延迟的单调性越好。一般来说,SRCC的值大于0.9就被认为是强单调性。1.同平台设备之间笔者首先在三星GalaxyS5e和TabA、联想MotoTab和万京MatrixPadZ1这四款移动设备上进行了延迟单调实验;并从MobileNet-V2搜索空间模型中随机抽取10k个样本。接下来,我们将这些模型部署在四台设备上并计算它们的平均推理延迟。下图(a)用散点表示这些模型在四个设备上的推理延迟;图(b)使用热图可视化设备间模型延迟的相关系数,每个格子的颜色深度和标记值直观地表示一对设备之间的SRCC大小。作者发现,当一个模型在TabA上运行得更快时,它在其他设备上也更快,并且任何一对设备之间的SRCC都大于0.98,这表明这些10k模型在这些设备上具有非常强的延迟单调性。更多的实验也证明了同样的结论适用于其他平台设备,如CPU、GPU和FPGA。2.跨平台设备之间对于跨平台设备,由于硬件结构通常存在显着差异,因此延迟排名的相关性自然会低于同一平台设备之间的相关性。作者在HW-NAS-Bench开源数据集上的实验也证明了这个结论(详见原文附录)。使用代理设备进行硬件适配NAS硬件适配NAS的目的是从数以亿计的可选神经架构中找到一系列适应当前硬件的Pareto最优架构。其中,不同的硬件只影响架构的延迟,不会改变架构的精度。从上一章我们可以知道,架构在不同硬件上的延迟排名可能有很强的相关性,因为在代理硬件上低延迟高精度的架构在其他硬件上也可能具有低延迟和高精度。那么我们是否可以直接在一个代理硬件上对所有硬件重用Pareto最优架构呢?笔者的回答是:可以,但是需要满足一定的条件。首先,使用代理设备在目标设备上进行NAS并成功搜索到Pareto最优架构的充分条件是强延迟单调性。当代理设备与目标设备之间的SRCC未达到阈值时,NAS在代理设备上搜索到的架构可能与目标的Pareto最优架构略有不同。在实践中,设备之间的低延迟单调性可能并不少见,尤其是对于跨平台设备。针对这种情况,作者提出了一种有效的迁移学习技术,使代理设备的延迟预测器适应目标设备,从而改善适配的“新代理”设备与目标设备之间的延迟SRCC。本文通过大量实验证明,可以成功用作代理设备的延迟SRCC阈值在0.9左右。使用迁移学习技术提高代理设备和目标设备之间的SRCC效果如下。具体细节和算法说明请参考原文相应章节。实验结果作者在多种硬件设备(包括手机、GPU/CPU、ASIC等)上进行了实验,为了利用延迟单调性(结合迁移学习的技术提高单调性),有效性使用代理设备使硬件适应不同的目标设备NAS。总结快速评估目标设备上的推理延迟是在大规模神经架构空间中实现高效优化的关键步骤。目前常用的为每个目标设备构建延迟预测器的方法在实践中无法应对目标设备数量不断增加带来的挑战。在加州大学河滨分校团队提出的基于延迟单调性的新方法中,仅单个代理设备就足以进行硬件适配的神经架构搜索,而不会损失最优性。这节省了构建大量延迟预测器的巨大成本,使得未来可以针对不同平台和设备快速优化神经架构。作者简介卢秉谦,论文第一作者,现为加州大学河滨分校博士研究助理,毕业于浙江大学。博士期间一直从事AutoML和NAS的研究工作,包括自动机器学习模型选择、可扩展的硬件适配神经网络优化、硬件适配NAS。导师任少磊博士,清华大学电子系本科,博士。在加州大学洛杉矶分校。他目前是加州大学河滨分校的副教授。任教授的研究兴趣包括系统和网络优化(数据中心、云计算、边缘计算等),近年来专注于机器学习及其应用(包括强化学习、AutoML、TinyML等)。
