CN114217688B - 一种基于神经网络结构的npu功耗优化系统和方法 - Google Patents
一种基于神经网络结构的npu功耗优化系统和方法 Download PDFInfo
- Publication number
- CN114217688B CN114217688B CN202111599349.8A CN202111599349A CN114217688B CN 114217688 B CN114217688 B CN 114217688B CN 202111599349 A CN202111599349 A CN 202111599349A CN 114217688 B CN114217688 B CN 114217688B
- Authority
- CN
- China
- Prior art keywords
- network
- npu
- random
- execution parameter
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000005457 optimization Methods 0.000 title abstract description 16
- 238000012549 training Methods 0.000 claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000001105 regulatory effect Effects 0.000 abstract 1
- 238000012360 testing method Methods 0.000 description 13
- 238000013135 deep learning Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 12
- 230000035945 sensitivity Effects 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013145 classification model Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明公开了一种基于神经网络结构的NPU功耗优化系统和方法。其中,该系统包括:网络特征提取器,用于提取待推理神经网络的目标结构特征;随机网络生成器,用于训练预测网络;执行参数预测器,用于根据所述目标结构特征对所述预测网络进行训练,以确定所述待推理神经网络的最佳执行参数组合;所述最佳执行参数组合包括NPU的最佳执行频率和最佳执行核数;推理任务执行模块,用于根据所述最佳执行参数组合对NPU进行频率调整,以及对NPU内部的计算核进行调度。本发明通过探究在NPU特殊的架构下,NPU的频率调整对神经网络应用的性能和功耗的影响,在执行神经网络应用时合理调节NPU的频率以及任务的分配方式,以降低NPU功耗。
Description
技术领域
本发明实施例涉及处理器功耗优化技术领域,尤其涉及一种基于神经网络结构的NPU功耗优化系统和方法。
背景技术
以人工智能为代表的第四次科技革命取得了众多成果,众多行业正进行着智能化的转变。深度学习是机器学习领域一个研究方向,近年来在语音识别、计算机视觉、自然语言处理等多类应用中取得突破性的进展。由于使用场景变多,所需处理的数据量变大,人们的需求也更高,这就使得AI算法必须能够高效的运行在硬件平台上。在硬件方面,目前主要是使用GPU并行计算神经网络,同时还有嵌入式神经网络处理器(NPU)和FPGA异军突起的趋势。
虽然NPU已经有了令人印象深刻的能效比,但是由于对性能的不断增长的需求以及功率预算和经济成本的限制,提高能效比是高性能计算的一项持续挑战。因此有必要探索基于NPU的异构系统中所有可用的功耗感知技术。动态电压和频率缩放(DVFS)是一种节能技术,其目的是降低组件的电源状态,同时仍然满足运行工作负载的性能要求。
目前动态电压和频率缩放技术已经在CPU和GPU上有了广泛的应用。由于NPU的整体架构、任务类型、计算方式等方面的与CPU和GPU存在较大差异,NPU并不适合直接使用CPU与GPU的动态电压和频率缩放技术的方法。
发明内容
本发明提供一种基于神经网络结构的NPU功耗优化系统和方法,旨在探究任务级数据并行和频率调整对NPU性能和能效比的影响,分析神经网络结构与NPU执行的关系,在执行神经网络应用时合理调节NPU的频率,降低NPU功耗。
第一方面,本发明实施例提供了一种基于神经网络结构的NPU功耗优化系统,包括:
网络特征提取器,用于提取待推理神经网络的目标结构特征;
随机网络生成器,用于训练预测网络;
执行参数预测器,用于根据所述目标结构特征对所述预测网络进行训练,以确定所述待推理神经网络的最佳执行参数组合;所述最佳执行参数组合包括NPU的最佳执行频率和最佳执行核数;
推理任务执行模块,用于根据所述最佳执行参数组合对NPU进行频率调整,以及对NPU内部的计算核进行调度。
可选的,所述目标结构特征包括:网络结构特征T、计算量C、参数量N、网络层占比P以及依赖关系R。
可选的,所述随机网络生成器具体用于:
生成随机网络并通过随机网络生成器记录各随机网络的结构特征;
在不同执行参数组合的基础上对各随机网络执行推理过程,并记录各随机网络的各执行参数组合的能效比,将各随机网络能效比最高的执行参数组合作为该随机网络的最佳执行参数组合;
将各随机网络的结构特征和对应的最佳执行参数组合组成预测网络模型的训练集。
可选的,所述执行参数预测器包括:
网络模板库单元,用于保存随机网络生成器所产生的训练集,以及实际推理过程中遇到的网络结构;
预测网络单元,用于根据训练集来预测待推理神经网络的最佳执行参数组合。
可选的,所述推理任务执行模块包括:
调度决策器,用于根据最佳执行参数组合对NPU内部的计算核进行调度;
DFS调频器,用于根据最佳执行参数组合对NPU进行频率调整。
可选的,该装置还包括硬件参数采集器,用于对计算资源的可调执行参数进行收集,并在所述网络模板库单元中进行反馈。
第二方面,本发明实施例还提供了一种基于神经网络结构分析的NPU功耗优方法,包括:
提取待推理神经网络的目标结构特征;
训练预测网络;
根据所述预测网络对所述目标结构特征进行训练,以确定所述待推理的神经网络的最佳执行参数组合;所述最佳执行参数组合包括NPU的最佳执行频率和最佳执行核数;
根据所述最佳执行参数组合对NPU进行频率调整,以及对NPU内部的计算核进行调度。
本发明的有益效果:
本发明提出了一种基于神经网络结构的NPU功耗优化系统和方法,通过探究在NPU特殊的架构下,NPU的频率调整对神经网络应用的性能和功耗的影响,在执行神经网络应用时合理调节NPU的频率以及任务的分配方式,以降低NPU功耗。
附图说明
图1是本发明中的探究神经网络应用特性对NPU频率的敏感程度结果示意图;
图2是本发明中的多核深度学习处理器架构的示意图;
图3是本发明中的3种频率的VGG19和VGG16模型能效比折线图;
图4是本发明中的3种频率的Resnet101和Resnet152模型能效比折线图;
图5是本发明中的面向国产智能计算资源的功耗优化软件的结构示意图。
图6是本发明中的神经网络特征提取示意图;
图7是本发明中的最佳参数预测神经网络示意图;
图8是本发明中的优化后FPS性能提升百分比图(INT16);
图9是本发明中的优化后能效比提升百分比图(INT16)。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
本发明旨在探究符合NPU的硬件特性的NPU DVFS调整策略。首先根据NPU DVFS对不同类型神经网络应用程序性能和功耗的影响,在执行神经网络应用程序时动态调整运行时的电压和频率达到节约能耗的目的,然后合理安排任务在集群中的分配和执行,在满足任务截止时间的情况下降低任务能耗,实现降低集群整体功耗的目标,优化集群能效比。
接下来分别从以下几个方面介绍本发明方案的理论基础。
1.频率调整对NPU功耗和性能的影响。
动态电压和频率缩放(DVFS)是一种常用的电源管理策略。这种策略是指在任务处理的过程中改变处理器的电压/频率,它可以有效的节省能源或者提升性能。
NPU是深度学习处理器,在其设计之初就考虑到了深度学习算法的各种特点,因此其对于矩阵运算和向量运算都有针对性的设计。但是为了满足一定的通用性,它也可以处理一些逻辑,但是相比CPU,其处理逻辑的能力较弱。
因此对于神经网络而言,NPU在处理不同的层时,可能会有不同的数据通路与计算逻辑,此时对于频率的需求是不一样的。比如全连接层主要是向量的运算,可能需要大量的VFU进行计算,而卷积层主要是矩阵运算,可能需要大量的MFU运算。
在执行两种不同的层的时候,数据通路不一样,其能效比最高的频率也就不一致。因为一层的运算可能只需要数微秒甚至纳秒,我们不可能在这么短的时间内频繁变换频率。所以权衡利弊,我们最后选择在整个神经网络程序推理过程中保持同一频率,以此来获得整个程序的最佳能效比,推理的整个过程中保持同一频率。
因此,对于NPU的频率调节,应该与神经网络结构密切相关,神经网络的结构就决定了该神经网络任务在NPU上运行时的最佳频率。接下来详述在NPU上的神经网络推理过程中,不同的结构特征与NPU推理频率的具体关系。
由于不同的神经网络应用程序对NPU频率变化的敏感程度不同,有的神经网络应用在NPU频率变化时执行时间变化小,有的神经网络应用在NPU频率变化时执行时间变化大,因此本节主要讨论是哪些因素造成这种敏感程度的差异。这部分的主要目的是将神经网络分解,探究不同的神经网络的元素和特性对NPU频率调节的敏感程度。
人工神经网络主要架构是由神经元、层和网络三个部分组成。输入层只从外部环境接收信息,是由输入单元组成,而这些输入单元可接收样本中各种不同的特征信息。该层的每个神经元相当于自变量,不完成任何计算,为下一层传递信息;隐藏层介于输入层和输出层之间,这些层完全用于分析,其函数联系输入层变量和输出层变量,使其更配适数据。而最后,输出层生成最终结果,每个输出单元会对应到某一种特定的分类,为网络送给外部系统的结果值,整个网络由调整链接强度的程序来达成学习的目的。
推理过程中神经网络的计算主要是由隐藏层产生,隐藏层主要有三种典型层,分别是卷积层、池化层以及全连接层。相应地,这三种层都涉及三种常见的算子:全连接、卷积和池化。NPU针对这三种算子都进行了针对性的优化,在计算和访存上三种算子具备完全不同的处理方式。因此三种典型层,在计算量、计算方式、访存方式各不相同,如表1所示。可以分别考虑三种典型层对NPU频率调节的敏感度。
表1 不同层的计算特点
使用三种典型网络层构建数个不同规模的神经网络,每种网络分别在NPU板卡上以不同频率进行实验,观察其在NPU上执行时间变化情况,如图1所示,不同神经网络结构在在同一频率下对应执行时间不同。根据实验结果可知,在三种典型的网络层由于巨大的差异,对NPU内核计算频率变化的敏感度不同。
在考虑三种典型网络层的同时,还需要考虑三种网络层对存储的访问方法各不相同。由于NPU极大程度的利用了局部性原理,神经网络的规模与NPU的性能也息息相关。如果神经网络的规模较大,数据局部性与计算局部性较少,会影响到NPU的计算能力。同时如果网络规模较大,访存较多,内存的频率也会限制神经网络参数的读取速度,进而限制到神经网络的计算速度,与之匹配的NPU频率也就存在上限。理论上,三种典型网络层,具备不同的访存规模,也就在不同的规模下具备不同的NPU频率上限。
另外,三种典型网络层的参数量,计算量也各不相同,访存指令占比等等都是影响NPU计算能力的关键因素。这就需要进行大量实验探究神经网络应用程序特性与NPU计算频率的关系,以及各种神经网络应用对NPU计算频率的敏感程度。
综上,本部分的实验验证了不同的神经网络的元素和特性对NPU频率调节的敏感程度不同。
2.分析NPU多核架构与神经网络任务的关系,完成频率调整和任务级数据并行对NPU的影响实验。
深度学习处理器核心都具备控制,运算,存储的功能,所以每一个核心都可以单独处理深度学习任务。提升深度学习处理器的计算能力,一种简单的方法是直接在单个核心中直接堆叠计算单元和存储单元,但是这种方式会使得处理器面积不断增大,内部延迟变长,进而导致主频降低,这并不是一个明智的做法。
另一种普遍采用的方式就是在一个芯片中集成多个深度学习处理器核心,以获得全芯片更高的计算峰值。接下来研究NPU的多核心架构,分析其优势与劣势。
深度学习处理器架构如图2所示,采用分层设计,其中包括Chip级,Cluster级和Core级三级架构。其中一个Chip由多个Cluster组成,一个Cluster由多个Core组成。
首先是Cluster级别的设计,可以看到Cluster中除多个Core以外,还有一个MEMCORE用来完成存储和通信的功能。MEMCORE中包含共享存储模块(SMEM),广播总线(broadcast),Cluster直接内存访问模块(CDMA)和全局直接内存访问模块(GDMA)。
其中SMEM是一个普通的片上共享存储模块,可以被同一个Cluster中的多个Core共享。广播总线可以实现多播,即在一次传输过程中同时将数据发送给多个Core,非常高效。CDMA用于实现多个Cluster之间的通信,可以迅速的将数据在Cluster之间共享。GDMA负责每个Cluster的片外访存。
片上共享存储模块和多播的设计充分考虑了神经网络运算的特性。由于每一个核心都是进行权重和神经元的计算,所以经常发生权重的复用,这种共享存储和多播的设计使得只需要一次访存操作就可以将相同的权重同时分享给四个Core。片上网络的设计使得多个cluster之间也能快速共享数据。
所以,这种体系结构的设计的最大优点就是多核可以快速共享数据,减少访存。但是多核协同计算也有缺点,缺点是使用多核心计算时需要任务划分与任务同步。这就可能导致大量的通信和等待,导致多核协同计算的性能可能弱于多个核心分别运行一个小任务。
另外,一个巧妙的设计可以被利用来加速数据并行,就是实际的访存是由cluster负责的,每个cluster具备自己的DRAM控制器,这就为任务并行创造了更好的执行条件。
3.验证调整频率和任务级数据并行对神经网络任务的影响
首先需要确定频率和任务级数据并行参数能够对神经网络任务进行影响,并且与神经网络结构相关,这是本申请相关研究有意义的前提。
其中,频率可以影响深度学习处理器的处理速度是显而易见的,再此不做过多的阐述。
任务级数据并行是指将一个大任务分解为几个小的任务进行执行。
例如一个任务是:1600张图片需要使用VGG16网络在16核心的深度学习处理器MLU270上进行推理分类。这个任务有如下几种执行方法:
1.在MLU270上运行1个16核心的VGG16的推理程序,进行1600张图片的推理。
2.在MLU270上运行2个8核心的VGG16的推理程序,每个程序推理800张图片。
3.在MLU270上运行4个4核心的VGG16的推理程序,每个程序推理400张图片。
4.在MLU270上运行16个1核心的VGG16的推理程序,每个程序推理100张图片。
这几种任务级数据并行的方法看似不和常理,但是由于深度学习处理器的特殊架构,大任务和小任务可能获得不同的能效比,所以多个小任务也有可能获得更高的能效比。
所以设计如下实验:测试Resnet系列人工神经网络和VGG系列人工神经网络在所有执行参数(5种频率和4中并行方式的组合)下的性能和能效比。实验结果如图3、4所示。
从上述实验中可以看出,不同的任务级数据并行的粒度对神经网络程序的推理具有较大的影响。而在此基础上,其受到频率的影响也各有不同。同时可以观察到,对于不同的神经网络结构,执行参数对推理程序的影响各不相同。这就证明了最佳推理参数与神经网络结构之间的相关性。
在上述理论验证的基础上,本发明提供一种基于神经网络结构的NPU功耗优化系统,本实施例的上述系统以面向国产智能计算资源的处功耗优化软件为例,进一步参见图5,该软件系统包括:
网络特征提取器,用于提取待推理神经网络的目标结构特征。本实施例中的目标结构特征包括:网络结构特征T、计算量C、参数量N、网络层占比P以及依赖关系R五个维度表征神经网络的主要特征,如图6所示。
随机网络生成器,用于训练预测网络,预测网络的训练过程具体包括:
a.生成随机网络并通过随机网络生成器记录各随机网络的结构特征;
b.在不同执行参数组合的基础上对各随机网络执行推理过程,并记录各随机网络的各执行参数组合的能效比,将各随机网络能效比最高的执行参数组合作为该随机网络的最佳执行参数组合;
c.将各随机网络的结构特征和对应的最佳执行参数组合组成预测网络模型的训练集。
执行参数预测器,用于根据所述目标结构特征对所述预测网络进行训练,以确定所述待推理神经网络的最佳执行参数组合;所述最佳执行参数组合包括NPU的最佳执行频率和最佳执行核数。
执行参数预测器由网络模板库和预测网络组成。网络模板库用以保存随机网络生成器所产生的训练集,以及实际推理过程中遇到的网络结构,保存以上数据用以之后的预测网络反馈再训练。
为构建预测模型去预测各网络的最佳执行参数,本实施例根据当前主流的网络结构提取网络主要特征,其中包括:参数量、计算量、网络层数、各类网络层占比、最大分支数等27个特征,并以此作为网络特征向量通过子注意力模型进行自动特征交叉组合,最后通过多层全连接层进行最佳执行参数预测,最终输出的为多分类结果,每一个值即是每套执行参数为最佳的概率,模型结构如图7所示。预测模型的输入为网络特征与当前计算频率,输出为概率最高的最佳执行参数组合。
通过生成大量的随机网络并测试其在各执行参数(特定频率与核数)下的能效比,之后以各网络的最佳执行参数作为标签,以网络特征作为数据对以上模型进行训练,最终可通过网络特征预测出针对该网络的最佳执行参数。
推理任务执行模块,用于根据所述最佳执行参数组合对NPU进行频率调整,以及对NPU内部的计算核进行调度。
具体的,所述推理任务执行模块包括:
调度决策器,用于根据最佳执行参数组合对NPU内部的计算核进行调度;通过多核协同推理对NPU性能和功耗进行优化。此外,调度决策器还负责监控核间负载差异,并以此对各项资源进行调度。
DFS调频器,用于根据最佳执行参数组合对NPU进行频率调整,以节约功耗。
进一步的,该系统还包括硬件参数采集器,用于对计算资源的可调执行参数进行收集,并在所述网络模板库单元中进行反馈。由于计算资源中结构设计信息的不断更新,内部设计逻辑代码的逐步开源,可调的执行参数也会不断变化。本实施例通过设计硬件参数采集器对计算资源的可调执行参数进行收集,并再网络模板库中进行反馈,之后对预测网络再训练时便会加入新的可调执行参数重新生成数据集,并重新训练。
实验验证
本发明将以上功耗优化软件在国产智能计算节点(海光CPU+国产NPU MLU270)上试运行,主要测试图像分类模型和目标识别模型在NPU上的功耗优化收益。针对分类模型,本测试以torchvision中基于ImageNet数据集的预训练模型作为基础模型,其中包括:resnet18,resnet34,resnet50,resnet101,resnet152,vgg16,vgg19,alexnet等;针对目标识别模型,本测试选用了ssd和yolov3两个模型作为基础模型,其中ssd模型以vgg16为backbone、以300x300为图片输入尺寸,yolov3模型以darknet53为backbone、以416x416为图片输入尺寸。在MLU270平台和TensorRT框架中,均是根据以上模型进行移植量化等转换,以适配特定平台的加速推理。
在测试集选取中,对以上分类模型我们选用ImageNet数据集中随机的16000张图片,并以batchsize为16的大小进行推理;对以上目标识别模型我们采用VOC 2007数据集中的测试集,共9963张,依旧采用batchsize=16进行推理。(PyTorch框架中yolov3由于显存不足,采用batchsize=8进行推理)
基于以上测试计划本申请将以上功耗优化方法用在国产智能计算节点上,国产智能计算节点使用海光CPU+国产NPU MLU270的平台配置,精度为INT16,具备完整的测试方案,通过自动化测试可以得出如表2的结果(本次测试包含了MLU270-S4和MLU270-X5K两种型号的板卡)。
表2 MLU270测试数据表(INT16)
通过优化后的数据对比如表3、4所示。
表3 MLU270-S4优化前后测试数据(INT16)
表4 MLU270-X5K优化前后测试数据(INT16)
以上两种板卡在FPS和能效比上的提升对比图8、9所示。
根据以上数据可知,在MLU270-S4板卡中,数据集推理计算中FPS提升比例平均可达85%,能效比的平均提升比例达到48%;在MLU270-X5K板卡中的优化FPS和能效比的平均提升比例为80%和49%。
实施例1
在智能驾驶中,由各个传感器发起的大量智能任务需要各种智能设备的推理执行,并返回计算结果。为了提高整体的推理效率,优化推理计算的能效比,设备的选择需要涉及多种类型以平衡算力和功耗的限制,当然也不排除NPU。
智能驾驶中需要在提高算力的同时保证整体功耗在符合的限制条件下,为此我们需要对NPU进行能效比优化。采用上述基于神经网络结构分析的NPU功耗优化方法对车载NPU进行优化,在每次接受到推理任务后,先对网络结构进行分析,再用上述的最佳执行参数预测网络进行预测,以最优执行参数指导模型部署推理,优化NPU的能效比,降低整体功耗。
实施例2:
随着物联网、人工智能、智能嵌入式设备等技术的发展,网络边缘接入设备数量快速增长。边缘计算与云计算不同,边缘计算在多种场景下,对设备所提供的算力和功耗都有着较严格的限制,多数情况下采用多种异构设备组合以满足限制要求。为组合方案可以更加多样化,提高单个设备的能效比是最直接的方法。采用本专利所提到的功耗优化方法对NPU的推理进行优化,可以大幅度提高NPU的单设备性能,为设备组合方案提供更多的选择。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (5)
1.一种基于神经网络结构的NPU功耗优化系统,其特征在于,包括:
网络特征提取器,用于提取待推理神经网络的目标结构特征,所述目标结构特征包括:网络结构特征T、计算量C、参数量N、网络层占比P以及依赖关系R;
随机网络生成器,用于训练预测网络;
执行参数预测器,用于根据所述目标结构特征对所述预测网络进行训练,以确定所述待推理神经网络的最佳执行参数组合;所述最佳执行参数组合包括NPU的最佳执行频率和最佳执行核数;
推理任务执行模块,用于根据所述最佳执行参数组合对NPU进行频率调整,以及对NPU内部的计算核进行调度;
所述随机网络生成器具体用于:
生成随机网络并通过随机网络生成器记录各随机网络的结构特征;
在不同执行参数组合的基础上对各随机网络执行推理过程,并记录各随机网络的各执行参数组合的能效比,将各随机网络能效比最高的执行参数组合作为该随机网络的最佳执行参数组合;所述执行参数为特定频率与核数;
将各随机网络的结构特征和对应的最佳执行参数组合组成预测网络模型的训练集;
随机网络的结构特征包括参数量、计算量、网络层数、各类网络层占比、最大分支数。
2.根据权利要求1所述的系统,其特征在于,所述执行参数预测器包括:
网络模板库单元,用于保存随机网络生成器所产生的训练集,以及实际推理过程中遇到的网络结构;
预测网络单元,用于根据训练集来预测待推理神经网络的最佳执行参数组合。
3.根据权利要求1所述的系统,其特征在于,所述推理任务执行模块包括:
调度决策器,用于根据最佳执行参数组合对NPU内部的计算核进行调度;
DFS调频器,用于根据最佳执行参数组合对NPU进行频率调整。
4.根据权利要求2所述的系统,其特征在于,还包括硬件参数采集器,用于对计算资源的可调执行参数进行收集,并在所述网络模板库单元中进行反馈。
5.一种基于神经网络结构分析的NPU功耗优方法,其特征在于,包括:
提取待推理神经网络的目标结构特征,所述目标结构特征包括:网络结构特征T、计算量C、参数量N、网络层占比P以及依赖关系R;
训练预测网络;
根据所述目标结构特征对所述预测网络进行训练,以确定所述待推理的神经网络的最佳执行参数组合;所述最佳执行参数组合包括NPU的最佳执行频率和最佳执行核数;
根据所述最佳执行参数组合对NPU进行频率调整,以及对NPU内部的计算核进行调度;
预测网络的训练过程具体包括:
生成随机网络并通过随机网络生成器记录各随机网络的结构特征;
在不同执行参数组合的基础上对各随机网络执行推理过程,并记录各随机网络的各执行参数组合的能效比,将各随机网络能效比最高的执行参数组合作为该随机网络的最佳执行参数组合;所述执行参数为特定频率与核数;
将各随机网络的结构特征和对应的最佳执行参数组合组成预测网络模型的训练集;
随机网络的结构特征包括参数量、计算量、网络层数、各类网络层占比、最大分支数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111599349.8A CN114217688B (zh) | 2021-12-24 | 2021-12-24 | 一种基于神经网络结构的npu功耗优化系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111599349.8A CN114217688B (zh) | 2021-12-24 | 2021-12-24 | 一种基于神经网络结构的npu功耗优化系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114217688A CN114217688A (zh) | 2022-03-22 |
CN114217688B true CN114217688B (zh) | 2024-05-10 |
Family
ID=80705642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111599349.8A Active CN114217688B (zh) | 2021-12-24 | 2021-12-24 | 一种基于神经网络结构的npu功耗优化系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114217688B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292053B (zh) * | 2022-09-30 | 2023-01-06 | 苏州速显微电子科技有限公司 | 移动端cnn的cpu、gpu、npu统一调度方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475790A (zh) * | 2013-09-06 | 2013-12-25 | 中国科学院计算技术研究所 | 一种智能移动终端功耗管理方法 |
CN109478251A (zh) * | 2017-05-23 | 2019-03-15 | 上海寒武纪信息科技有限公司 | 处理方法及加速装置 |
CN111339027A (zh) * | 2020-02-25 | 2020-06-26 | 中国科学院苏州纳米技术与纳米仿生研究所 | 可重构的人工智能核心与异构多核芯片的自动设计方法 |
WO2021007812A1 (zh) * | 2019-07-17 | 2021-01-21 | 深圳大学 | 一种深度神经网络超参数优化方法、电子设备及存储介质 |
EP3779641A1 (en) * | 2019-08-16 | 2021-02-17 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and device for adjusting neural-network-based wireless modem, and storage medium |
CN112381211A (zh) * | 2020-11-20 | 2021-02-19 | 西安电子科技大学 | 基于异构平台执行深度神经网络的系统及方法 |
DE202021102832U1 (de) * | 2021-05-25 | 2021-06-24 | Albert-Ludwigs-Universität Freiburg | Vorrichtung zum Training neuronaler Netzwerke im Hinblick auf den Hardware- und Energiebedarf |
CN113485801A (zh) * | 2021-06-25 | 2021-10-08 | 中国科学技术大学苏州高等研究院 | 基于神经网络相似度建模的实时dnn调度系统及方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10942767B2 (en) * | 2018-02-27 | 2021-03-09 | Microsoft Technology Licensing, Llc | Deep neural network workload scheduling |
US11435813B2 (en) * | 2018-08-29 | 2022-09-06 | Advanced Micro Devices, Inc. | Neural network power management in a multi-GPU system |
KR20210100277A (ko) * | 2020-02-06 | 2021-08-17 | 삼성전자주식회사 | 전력 최적화 스케쥴러의 동작 방법 및 전력 최적화 스케쥴러를 포함하는 컴퓨팅 장치 |
-
2021
- 2021-12-24 CN CN202111599349.8A patent/CN114217688B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103475790A (zh) * | 2013-09-06 | 2013-12-25 | 中国科学院计算技术研究所 | 一种智能移动终端功耗管理方法 |
CN109478251A (zh) * | 2017-05-23 | 2019-03-15 | 上海寒武纪信息科技有限公司 | 处理方法及加速装置 |
WO2021007812A1 (zh) * | 2019-07-17 | 2021-01-21 | 深圳大学 | 一种深度神经网络超参数优化方法、电子设备及存储介质 |
EP3779641A1 (en) * | 2019-08-16 | 2021-02-17 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and device for adjusting neural-network-based wireless modem, and storage medium |
CN111339027A (zh) * | 2020-02-25 | 2020-06-26 | 中国科学院苏州纳米技术与纳米仿生研究所 | 可重构的人工智能核心与异构多核芯片的自动设计方法 |
CN112381211A (zh) * | 2020-11-20 | 2021-02-19 | 西安电子科技大学 | 基于异构平台执行深度神经网络的系统及方法 |
DE202021102832U1 (de) * | 2021-05-25 | 2021-06-24 | Albert-Ludwigs-Universität Freiburg | Vorrichtung zum Training neuronaler Netzwerke im Hinblick auf den Hardware- und Energiebedarf |
CN113485801A (zh) * | 2021-06-25 | 2021-10-08 | 中国科学技术大学苏州高等研究院 | 基于神经网络相似度建模的实时dnn调度系统及方法 |
Non-Patent Citations (1)
Title |
---|
朱虎明 ; 李佩 ; 焦李成 ; 杨淑媛 ; 侯彪 ; .深度神经网络并行化研究综述.计算机学报.2018,(08),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114217688A (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021057713A1 (zh) | 用多核处理器实现神经网络模型拆分方法及相关产品 | |
Heo et al. | Real-time object detection system with multi-path neural networks | |
CN109257429A (zh) | 一种基于深度强化学习的计算卸载调度方法 | |
Nan et al. | Deep model compression for mobile platforms: A survey | |
Bateni et al. | Predjoule: A timing-predictable energy optimization framework for deep neural networks | |
Daghero et al. | Energy-efficient deep learning inference on edge devices | |
CN112817730B (zh) | 深度神经网络服务批处理调度方法、系统及gpu | |
Huang et al. | Accelerating sparse deep neural networks on FPGAs | |
CN114217688B (zh) | 一种基于神经网络结构的npu功耗优化系统和方法 | |
Li et al. | An intelligent collaborative inference approach of service partitioning and task offloading for deep learning based service in mobile edge computing networks | |
Gadiyar et al. | Artificial intelligence software and hardware platforms | |
CN111831355A (zh) | 权重精度配置方法、装置、设备及存储介质 | |
CN111831359A (zh) | 权重精度配置方法、装置、设备及存储介质 | |
Sun et al. | Evaluating performance, power and energy of deep neural networks on CPUs and GPUs | |
Song et al. | Adaptive and collaborative edge inference in task stream with latency constraint | |
CN110427263B (zh) | 一种面向Docker容器的Spark大数据应用程序性能建模方法、设备及存储设备 | |
CN112434785B (zh) | 一种面向超级计算机的分布式并行深度神经网络性能评测方法 | |
Banerjee et al. | Memory-aware efficient deep learning mechanism for iot devices | |
US11461662B1 (en) | Compilation time reduction for memory and compute bound neural networks | |
Escobar et al. | Time-energy analysis of multilevel parallelism in heterogeneous clusters: the case of EEG classification in BCI tasks | |
Shuang et al. | Task scheduling based on Grey Wolf optimizer algorithm for smart meter embedded operating system | |
CN110415162B (zh) | 大数据中面向异构融合处理器的自适应图划分方法 | |
Wu et al. | Learning compact DNN models for behavior prediction from neural activity of calcium imaging | |
CN111984418B (zh) | 稀疏矩阵向量乘并行任务粒度参数自动调优方法和装置 | |
CN116188239B (zh) | 多请求并发的gpu图随机游走优化实现方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |