华人女博士提出高效NAS算法:AutoML一次「训练」适配亿万硬件( 二 )


在本项工作中 , 作者解决了如何在不同目标设备上降低硬件适配NAS的延迟评估成本 。 作者首先证明了神经架构的延迟单调性普遍存在 , 尤其是同一平台的设备间 。 延迟单调性意味着不同架构的延迟排名顺序在多个设备上相关 。
在此基础上 , 只需要选择一个设备作为代理并为它构建延迟预测器——而不是像SOTA那样为每个单独的目标设备构建延迟预测器——就足够了 。
实验结果表明 , 与专门针对每个目标设备进行优化的NAS相比 , 仅使用一个代理设备的方法几乎不会损失Pareto最优性 。 本项工作被收录于SIGMETRICS’22 。
作为本项工作的根基 , 作者首先研究了神经架构的延迟单调性 , 并证明它普遍存在于设备间 , 尤其是同一平台的设备 。 本文使用Spearman等级相关系数(SRCC)来定量地衡量延迟的单调程度 。 SRCC的值介于-1和1之间 , 两个设备上模型延迟的SRCC越大表明延迟的单调性越好 。 通常 , SRCC的值大于0.9时被视为强单调性 。
作者首先在四个移动设备上进行了延迟单调性实验 , 分别是三星GalaxyS5e和TabA , 联想MotoTab和VankyoMatrixPadZ1;并从MobileNet-V2搜索空间随机sample了10k个模型 。 接下来在四个设备上分别部署这些模型并计算它们的平均推理延迟 。
下图(a)用散点表示这些模型在四个设备上的推理延迟;图(b)用热力图来可视化设备之间模型延迟的相关系数 , 每个方格的颜色深浅和所标数值直观地表示一对设备间的SRCC大小 。
作者发现 , 当一个模型在TabA上运行得更快时 , 在其他设备上也更快 , 并且任意一对设备间的SRCC都大于0.98 , 这表明这10k个模型在这些设备上有非常强的延迟单调性 。
华人女博士提出高效NAS算法:AutoML一次「训练」适配亿万硬件
文章图片
更多的实验还证明 , 同样的结论对于其他平台的设备间也成立 , 例如CPU , GPU , 和FPGA 。
华人女博士提出高效NAS算法:AutoML一次「训练」适配亿万硬件
文章图片
华人女博士提出高效NAS算法:AutoML一次「训练」适配亿万硬件
文章图片

对于跨平台的设备 , 由于硬件结构通常显著不同 , 延迟排名的相关性自然而然会低于同平台的设备间 。 作者在HW-NAS-Bench开源数据集上的实验也证明了此结论(详情见原文附录) 。
华人女博士提出高效NAS算法:AutoML一次「训练」适配亿万硬件
文章图片
硬件适配NAS的目的是从数以亿计的可选神经架构中找到适配当前硬件的一系列Pareto最优架构 。 其中 , 不同硬件只会影响架构的延迟 , 而不改变架构精度 。
通过前一个章节可以知道不同硬件上架构的延迟排名可能有很强的相关性 , 既然代理硬件上延迟低精度高的架构可能在其他硬件上也延迟低精度高 。 那么能不能直接复用一个代理硬件上的Pareto最优架构给所有硬件呢?
作者的回答是:能 , 但是需要满足一定的条件 。
首先 , 用一个代理设备在目标设备上进行NAS并成功搜索出Pareto最优架构的充分条件是强延迟单调性 。 当代理设备和目标设备之间的SRCC达不到阈值时 , 代理设备上NAS搜索出的架构可能与目标的Pareto最优架构有些差距 。
实际情况中 , 设备之间的低延迟单调性可能并不少见 , 尤其对于跨平台的设备间 。 针对这种情况 , 作者提出了一种有效的迁移学习技术来使代理设备的延迟预测器适应到目标设备 , 从而提高适应后的「新代理」设备和目标设备之间的延时SRCC 。
本文通过大量实验证明 , 可以成功作为代理设备的延迟SRCC阈值在0.9左右 。 使用迁移学习技术来提高代理设备和目标设备间SRCC的效果如下 , 具体细节以及算法描述可以参考原文的对应章节 。