《有序混乱:针对边缘设备的不规则连接神经网络的内存感知调度》(一)

摘要

最近通过神经架构搜索和随机网络生成器实现机器学习自动化的进展,产生了在相同硬件资源限制(例如内存容量、带宽、功能单元数量)下提供更高准确率的网络。然而,这些新生成的网络往往由不规则的连接构成,这使得它们的执行变得复杂,因为它们偏离了传统的层、节点连接和计算的规律模式。这种不规则性导致了一个新的问题空间,其中节点的调度和顺序显著影响推理过程中的激活内存占用。同时,由于效率、连接性和隐私问题,越来越多的需求促使神经模型在资源受限的边缘设备上部署。为了使不规则连接的神经网络从云端顺利迁移到边缘设备,我们着手设计一种编译器优化,该优化限制并最小化边缘设备的内存占用。这种优化是在一个难以处理的可能解决方案空间中寻找节点调度。我们提出并利用这样的见解,即部分调度导致搜索中的重复子路径,并利用图的特性生成这些重复的签名。通过这些签名,动态编程可作为优化算法的基础。然而,由于神经元和连接的庞大数量,搜索空间可能仍然过于庞大。因此,我们设计了一种自适应软预算技术,在动态编程过程中进行轻量级的元搜索,以找到适当的内存预算,从而修剪次优路径。尽管如此,任何调度算法(包括我们的方法)生成的调度仍然受到正在编译的神经图拓扑的限制。为了缓解这一内在限制,我们开发了一种身份图重写方案,能够在不改变神经网络数学完整性的前提下,进一步降低内存占用。我们使用代表性的不规则连接神经网络评估了所提出的算法和方案。与广泛使用的边缘设备框架 TensorFlow Lite 相比,所提出的框架在内存占用上减少了 1.86 倍,外部芯片流量减少了 1.76 倍,并且平均额外编译时间少于一分钟。

引言

越来越多的研究集中在通过神经架构搜索(NAS)自动化机器学习(AutoML)(Zoph & Le, 2017; Cortes et al., 2017; Zoph et al., 2018; Liu et al., 2019a; Cai et al., 2019; Real et al., 2019; Zhang et al., 2019)以及现在甚至是随机网络生成器(Xie et al., 2019; Wortsman et al., 2019)来实现,这些方法生成了具有不规则连接的模型,并显示出这种不规则连接的神经网络能够显著提升分类性能。这些偏离规律拓扑的网络甚至可以适应一些硬件的限制(例如,内存容量、带宽、功能单元数量),使其在目标边缘设备时尤其有用。因此,解除规律性条件为 NAS 提供了显著的自由度,并扩展了搜索空间(Cortes et al., 2017; Zhang et al., 2019; Xie et al., 2019)。

总体目标是通过在神经元的规律连接与更高的资源效率之间进行权衡,使神经智能能够在资源受限的设备上进行部署。重要的是,将神经执行推向边缘是解决日益增长的隐私问题(Mireshghallah et al., 2020)的一种方式,并能够在连接到云受限的情况下有效使用(Wu et al., 2019)。然而,新的挑战在于如何协调这些不规则连接的神经网络在边缘设备上的执行,因为执行过程中的工作内存占用经常超过这些设备的内存容量限制。这些微型设备缺乏多级内存层次,进一步加剧了这一问题,因为如果内存占用超过容量,网络甚至无法执行。因此,尽管不规则连接的神经网络具有显著潜力,但其复杂的执行模式与之前规律拓扑模型的流线型执行形成对比,使得传统框架在将这些网络应用于边缘设备时显得无能为力,因为其峰值内存占用较大。尽管峰值内存占用在很大程度上依赖于神经元的调度,但当前的深度学习编译器(Chen et al., 2018; Vasilache et al., 2018)和框架(Abadi et al., 2016; Paszke et al., 2019; Jia et al., 2014)依赖于基本的拓扑排序算法,这些算法对峰值内存占用并不敏感,而是关注于平铺和内核级优化的正交问题。本文是将峰值内存占用作为深度学习调度器的一项首要约束的初步尝试,以释放新兴不规则连接神经网络的潜力。因此,本文做出了以下贡献:

(1) 针对不规则连接神经网络的内存感知调度。这些网络的调度是一个拓扑排序问题,涉及枚举一个难以处理的庞大可能调度空间。我们提出并利用这样的见解,即部分调度会导致搜索中的重复子路径,并利用图的特性生成这些重复的签名,同时嵌入运行内存使用的概念。这些签名使得动态编程可以作为优化算法的基础。

(2) 自适应软预算以实现可处理的编译时间。即使以动态编程作为基础,由于神经元和连接的数量庞大,搜索空间在实际中可能仍然过大(呈指数级增长)。因此,我们设计了一种自适应软预算技术,利用轻量级的元搜索机制找到适当的内存预算,以修剪次优路径。该技术旨在找到一个拐点,超过该拐点后,更紧的预算可能导致没有解决方案,而更松的预算则会大大延长调度时间,使优化处于可疑的效用位置。

(3) 身份图重写以实现更高的内存减少潜力。任何调度算法,包括我们的方法,仍然受到正在编译的神经图拓扑的限制。为了放宽这一内在限制,我们设计了一种身份图重写方案,能够在不改变神经网络数学完整性的前提下,交换子图,从而降低内存占用。

结果显示,与广泛使用的边缘设备框架 TensorFlow Lite 相比,我们的自适应调度算法使不规则连接的神经网络的峰值内存占用减少了 1.68 倍。我们的图重写技术额外提供了降低峰值内存占用 10.7% 的机会。此外,我们的框架甚至在具有多级内存层次的设备上实现了外部芯片流量减少 1.76 倍,在某些情况下,通过将内存占用限制在片上内存容量以下,甚至消除了流量。这些收益的额外编译时间平均少于一分钟。

在这里插入图片描述
图 1. 来自 NAS 和随机网络生成器的网络模型架构,这种网络的拓扑结构包括节点之间显著的不规则连接。

挑战与我们的方案

2.1 不规则连接的神经网络

在自动化机器学习(AutoML)(Feurer et al., 2015; Dean, 2017; He et al., 2018; Elthakeb et al., 2018; Wang et al., 2019; Laredo et al., 2019) 中,最近的兴奋点旨在实现机器学习系统开发中人类的“出局”。这包括神经架构搜索(NAS)(Zoph & Le, 2017; Zoph et al., 2018; Liu et al., 2019a; Cai et al., 2019; Real et al., 2019; Zhang et al., 2019) 和随机网络生成器 (Xie et al., 2019; Wortsman et al., 2019),它们专注于神经架构设计的自动化。图 1 表明,这类网络的特点是其独特的不规则图拓扑,与具有规律图拓扑的传统网络相比,它们具有更多的不规则连接(数据流)。本文将这些网络称为不规则连接的神经网络。

在这里插入图片描述
图 2. ImageNet 准确率与乘法累加次数的关系, 不规则连接的神经网络在相同计算条件下表现出比规律拓扑神经网络更高的性能。参数数量的图也显示出相似的趋势。

在这里插入图片描述
图 3. 不规则连接神经网络不同可能调度的峰值内存占用的累积分布函数(CDF)

从性能的角度来看,这些网络在准确性方面已经证明比手动设计的架构表现更好,同时使用更少的资源。事实上,在以减少资源为主要目标的比赛中,获胜的大多数神经架构 (Gauen et al., 2017) 都依赖于 NAS,这表明其在这方面的有效性。图 2 显示了不同模型在给定计算量下的准确率。该图清楚地显示,不规则连接的神经网络来自 NAS 和随机网络生成器的帕累托前沿优于手工设计的规律拓扑模型。这表明,在固定资源条件下,不规则连接的神经网络在准确性方面的效率更高

猜你喜欢

转载自blog.csdn.net/weixin_38498942/article/details/143026453