Deep Learning (DL) has transformed the automation of a wide range of industries and finds increasing ubiquity in society. The high complexity of DL models and its widespread adoption has led to global energy consumption doubling every 3-4 months. Currently, the relationship between the DL model configuration and energy consumption is not well established. At a general computational energy model level, there is both strong dependency to both the hardware architecture (e.g. generic processors with different configuration of inner components- CPU and GPU, programmable integrated circuits - FPGA), as well as different interacting energy consumption aspects (e.g., data movement, calculation, control). At the DL model level, we need to translate non-linear activation functions and its interaction with data into calculation tasks. Current methods mainly linearize nonlinear DL models to approximate its theoretical FLOPs and MACs as a proxy for energy consumption. Yet, this is inaccurate (est. 93\% accuracy) due to the highly nonlinear nature of many convolutional neural networks (CNNs) for example. In this paper, we develop a bottom-level Transistor Operations (TOs) method to expose the role of non-linear activation functions and neural network structure in energy consumption. We translate a range of feedforward and CNN models into ALU calculation tasks and then TO steps. This is then statistically linked to real energy consumption values via a regression model for different hardware configurations and data sets. We show that our proposed TOs method can achieve a 93.61% - 99.51% precision in predicting its energy consumption.
翻译:深度学习(DL)改变了一系列广泛的产业的自动化,发现社会上日益普遍。DL模型的高度复杂性及其广泛采用导致全球能源消耗每3-4个月翻一番。目前,DL模型配置和能源消耗之间的关系尚未完全确立。在一般的计算能源模型一级,对硬件结构(例如内构件配置不同的通用处理器-CPU和GPU,可编程的集成电路-93-FPGA)以及不同的互动能源消费方面(例如数据流动、计算、控制)。在DL模型一级,我们需要将非线性激活功能及其与数据的互动转化为计算任务。目前的方法主要是将非线性DL模型直线化,以近似其理论性FLOP和MACs作为能源消费的代名。然而,这不准确(最高为93-cret.93-准确性),因为许多同级神经网络(CNNs)的高度非线性结构性。例如,我们开发了一种不线性激活功能,通过内部操作(TO)将一种非线级的能源计算方法转换成一个能量计算方法。我们内部的能量结构的能量结构。我们现在可以展示一个直成一个能量结构的能量结构。我们用来转换的能量结构。我们用来演化的能量结构。我们用来演化的能量结构。我们用来演化的计算。我们用来演化一个用来演化的计算。