NeuralPower:Predict and Deploy Energy-Efficient Convolutional Neural Networks
Sun Hao

来 源:Proceedings of The 9th Asian Conference on Machine Learning, ACML 2017, Seoul, Korea, November 15-17, 2017

原文速递:NeuralPower: Predict and Deploy Energy-Efficient Convolutional Neural Networks

1. Background & Motivation

具有相近性能的网络模型运行时可能存在高达40倍的能耗(图1),为了设计节能的CNN网络,进行准确的时延、能耗预测是至关重要的。然而该文发现现有的性能预测方法存在一些不足:1)通常使用的CNN复杂度指标(如FLOPs)太粗略以至于无法预测真实平台的能耗,运行CNN的能耗不仅与网络结构有关,还需要考虑软硬件平台;2)未能定量地捕捉到CNN架构变化对运行时间、功率和能耗地影响。

图1 多种CNN架构的测试误差和能耗

该文提出一种CNN时延、功率、能耗预测框架——NeuralPower,不需要在目标平台上实际运行CNN网络就可以在部署阶段预测网络的时延、功率和能耗。

图2 NeuralPower预测过程

2. Contributions

1)提出基于学习的多项式回归方法NeuralPower,是第一个预测CNN能耗的框架;

2)NeuralPower能够预测CNN运行时间,相比现有方法取得68.5%的准确度提升;

3)除了网络总体运行时延和能耗的预测,NeuralPower能够分析网络不同部分(每层)的时延和能耗,帮助模型设计人员分析模型瓶颈,更好地平衡精度和能耗。

3. Design Details

3.1 单层时延和能耗模型

与其他工作不同,该文的目标是在不需要了解平台详细信息的情况下,使预测模型能够灵活应用到各种软硬件平台。该文提出一个基于学习的多项式回归模型用于学习不同CNN层类型的系数。

层级时延模型:CNN模型一层的运行时延可以被表示为:

该模型由两部分组成,第一部分是对输入向量的多项式函数,的第项,是多项式第项对于的指数,是要学习的系数。包含的层配置参数(如batch尺寸、输入输出尺寸等),对不同层类型,的维度有所不同。第二部分是特殊的多项式项,封装了每层的物理操作(如内存访问的总次数和浮点运算的总次数),特殊多项式的项数根据层类型变化,是需要学习的参数。

层级能耗模型:层能耗预测同样使用基于多项式的方法:

该模型同样由两部分组成,第一部分是输入向量的多项式函数,是多项式第项对于的指数,是要学习的系数。在模型的第二部分,为第项需要学习的系数。

该文注意到能耗的固有限制(计算负载增加时,能耗不再线性增长,存在一定上限),该文引入输入特征的对数项应对这种趋势以提高准确度。

3.2 完整模型时延和能耗模型

完整模型时延模型:对于一个层串行模型,模型总时延可通过层时延预测值的加和获得:

完整模型功耗模型:平均功耗可由下式获得:

完整模型能耗模型:整个网络的能耗可由下式获得:

3.3 模型选择

(1)运行时间模型

NeuralPower通过改变多项式模型的次数调整特征空间的尺度,应用Lasso压缩估计为每个多项式模型选择最佳模型,选择具有最低交叉验证均方根误差(RMSE)的模型,如图3,此时选择次数为2的模型更加合理。

图3 针对全连接层的最优多项式模型和其他多项式次数模型对比

卷积层:卷积层是最耗时间和能耗的CNN部件,该文使用3次的多项式模型对该层建模,选择的特征向量包括:batch尺寸、输入tensor尺寸、卷积和尺寸、步长、padding尺寸和输出tensor尺寸。对于特殊项,使用能表示总计算量和内存访问量的多项式。

全连接层:该文使用2次多项式回归模型,特征向量为:batch尺寸、输入tensor尺寸和输出tensor尺寸。

池化层:该文使用3次多项式回归模型,输入的特征向量为:输入tensor尺寸、步长、卷积核尺寸和输出tensor尺寸。

(2)能耗模型

该文使用原始特征的对数形式作为多项式模型的特殊特征,并发现使用2次多项式模型对三种CNN层类型能取得最优交叉验证误差。

3.4 模型评估

(1)层级运行时间模型

表1 NeuralPower的层级时延模型与SOTA方法对比

(2)层级能耗模型

表2 CNN通用层的能耗模型

(3)完整模型运行时间模型

该文完整模型运行时间的计算建模为各层时延的加和:

表3 完整模型时延预测性能对比

该文发现各层运行时延的加和与完整模型运行时延相近。

(4)完整模型能耗模型

表4 完整模型功耗预测性能
表5 完整模型能耗预测性能

4. Comments

1)该文考虑到其他基于单网络复杂度指标(e.g. FLOPs)方法的局限性,该文提出基于多项式模型的模型性能预测方法;

2)该文不仅进行了模型运行时延预测,还设计了能耗的预测方法;

3)该文的完整模型时延预测是对各层时延的加和,实验发现各层运行时延的加和与完整模型运行时延相近,该说法是否可靠还待考究。

 Comments