一种基于神经网络结构的NPU功耗优化方法及系统与流程
未命名
08-02
阅读:84
评论:0

一种基于神经网络结构的npu功耗优化方法及系统
技术领域
1.本发明涉及处理器功耗优化技术领域,尤其涉及一种基于神经网络结构的npu功耗优化方法及系统。
背景技术:
2.随着人工智能领域相关技术的飞速发展,众多行业正进行着智能化的转变。深度学习是机器学习领域一个研究方向,近年来受到广泛的应用。随着应用场景和人们需求的不断变化,所需处理的数据也变得更加的复杂且数据量也显著增加,这就使得ai算法必须能够高效的运行在硬件平台上,因此,对运行硬件也有了更高的要求。在硬件方面,目前主要是使用gpu并行计算神经网络和嵌入式神经网络处理器(npu)。
3.但是,现有技术中,使用嵌入式神经网络处理器npu存在功耗很大的问题,无法更好的解决npu的功耗问题,其能效比还需进行进一步的提升,以更好的满足应用需求。
技术实现要素:
4.本发明的目的在于提出一种基于神经网络结构的npu功耗优化方法及系统,可大大降低npu运行功耗,提高其运行性能。
5.为达此目的,本发明采用以下技术方案:一种基于神经网络结构的npu功耗优化方法,包括以下步骤:s1、获取目标神经网络的基础结构信息,根据目标神经网络的基础结构信息确定npu网络基础架构;s2、根据神经网络的基础结构信息对目标神经网络进行训练,以得到目标神经网络的目标网络参数;s3、基于目标网络参数对npu基础架构进行调整,以得到初始npu网络架构;s4、获取npu的历史运行数据,根据npu的历史运行数据确定功耗指标参数,并形成功耗训练样本;s5、将功耗训练样本投入初始npu网络架构进行训练和验证,以得到功耗验证结果;s6、基于功耗验证结果对初始npu网络架构进行优化调整,以得到目标npu网络架构。
6.优选的,还包括以下步骤:s7、根据目标神经网络的基础结构信息获取npu硬件架构;s8、获取npu的历史运行数据中的硬件特征数据,形成硬件性能数据样本,并将硬件性能数据样本对npu硬件架构进行训练和验证,以得到硬件验证结果;s9、基于硬件验证结果对npu硬件架构进行优化调整,以得到npu硬件优化架构;s10、结合npu硬件优化架构和目标npu网络架构建立最优npu。
7.优选的,所述s3、基于目标网络参数对npu基础架构进行调整,以得到初始npu网络
架构;具体包括以下步骤:s31、获取目标网络参数中的各个参数和其对应的属性特征,其中各个参数包括网络结构特征t、计算量c、参数量n、参数权重、网络层占比p以及依赖关系r,其对应的属性特征是指各个参数的具体量值;s32、对npu基础架构进行拆分,以得到多个架构层,并对各个架构层进行属性标记;s33、基于目标网络参数中的各类参数的属性特征和各个架构层的属性标记对npu基础架构的各个架构层进行调整,以得到初始npu网络架构。
8.优选的,s8、获取npu的历史运行数据中的硬件特征数据,形成硬件性能数据样本,并将硬件性能数据样本对npu硬件架构进行训练和验证,以得到硬件验证结果;具体包括以下步骤:s81、提取npu的历史运行数据中的硬件特征数据,包括硬件资源约束文件、硬件架构描述文件和控制描述文件中的相关特征数据;s82、将硬件特征数据整理为各个类别的历史训练样本;s83、基于获取的各个类别的历史训练样本结合神经网络学习,对各npu硬件架构中的各个参数进行训练和验证,得到对应的验证结果。
9.一种基于神经网络结构的npu功耗优化系统,采用如上述所述的一种基于神经网络结构的npu功耗优化方法,包括:基础架构确定模块,用于获取目标神经网络的基础结构信息,根据目标神经网络的基础结构信息确定npu网络基础架构;模型训练模块,用于根据神经网络的基础结构信息对目标神经网络进行训练,以得到目标神经网络的目标网络参数;架构调整模块,用于基于目标网络参数对npu基础架构进行调整,以得到初始npu网络架构;功耗样本获取模块,用于获取npu的历史运行数据,根据npu的历史运行数据确定功耗指标参数,并形成功耗训练样本;架构训练模块,用于将功耗训练样本投入初始npu网络架构进行训练和验证,以得到功耗验证结果;目标构建模块,用于基于功耗验证结果对初始npu网络架构进行优化调整,以得到目标npu网络架构。
10.优选的,还包括:硬件架构模块,用于根据目标神经网络的基础结构信息获取npu硬件架构;硬件样本训练模块,用于获取npu的历史运行数据中的硬件特征数据,形成硬件性能数据样本,并将硬件性能数据样本对npu硬件架构进行训练和验证,以得到硬件验证结果;架构优化模块,用于基于硬件验证结果对npu硬件架构进行优化调整,以得到npu硬件优化架构;架构融合模块,用于结合npu硬件优化架构和目标npu网络架构建立最优npu。
11.优选的,所述架构调整模块包括:
架构参数获取子模块,用于获取目标网络参数中的各个参数和其对应的属性特征,其中各个参数包括网络结构特征t、计算量c、参数量n、参数权重、网络层占比p以及依赖关系r,其对应的属性特征是指各个参数的具体量值;架构拆分标记子模块,用于对npu基础架构进行拆分,以得到多个架构层,并对各个架构层进行属性标记;架构优化调整子模块,用于基于目标网络参数中的各类参数的属性特征和各个架构层的属性标记对npu基础架构的各个架构层进行优化调整,以得到初始npu网络架构。
12.优选的,所述硬件样本训练模块包括:硬件样本提取子模块,用于提取npu的历史运行数据中的硬件特征数据,包括硬件资源约束文件、硬件架构描述文件和控制描述文件中的相关特征数据;硬件样本整理子模块,用于将硬件特征数据整理为各个类别的历史训练样本;硬件样本训练子模块,用于基于获取的各个类别的历史训练样本结合神经网络学习,对各npu硬件架构中的各个参数进行训练和验证,得到对应的验证结果。
13.一种电子设备,包括:存储器,用于存储一个或多个程序;以及处理器;当所述一个或多个程序被所述处理器执行时,实现如上述所述的一种基于神经网络结构的npu功耗优化方法。
14.一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述所述的一种基于神经网络结构的npu功耗优化方法。
15.上述技术方案中的一个技术方案具有以下有益效果:针对神经网络的基础结构特征去确定好npu网络基础架构,大大方便了后续进行针对性的优化调整,大大提高了其对ai算法的运行效果,降低了功耗。
附图说明
16.图1是本发明在一种基于神经网络结构的npu功耗优化方法的其一实施例流程示意图;图2是本发明在一种基于神经网络结构的npu功耗优化方法的其一实施例的流程示意图;图3为本发明一种基于神经网络结构的npu功耗优化系统的其一实施例的原理示意图;图4为本发明一种基于神经网络结构的npu功耗优化系统的其一实施例的的原理示意图;图5为本发明实施例提供的一种电子设备的结构示意图。
17.附图中:1、基础架构确定模块;2、模型训练模块;3、架构调整模块;4、功耗样本获取模块;5、架构训练模块;6、目标构建模块;7、硬件架构模块;8、硬件样本训练模块;9、架构优化模块;10、架构融合模块;101、存储器;102、处理器;103、通信接口。
具体实施方式
18.下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
19.如图1所示,一种基于神经网络结构的npu功耗优化方法,包括以下步骤:
s1、获取目标神经网络的基础结构信息,根据目标神经网络的基础结构信息确定npu网络基础架构;其中,所述基础结构信息包括网络结构特征t、计算量c、参数量n、参数权重、网络层占比p以及依赖关系r等;s2、根据神经网络的基础结构信息对目标神经网络进行训练,以得到目标神经网络的目标网络参数;s3、基于目标网络参数对npu基础架构进行调整,以得到初始npu网络架构;s4、获取npu的历史运行数据,根据npu的历史运行数据确定功耗指标参数,并形成功耗训练样本;s5、将功耗训练样本投入初始npu网络架构进行训练和验证,以得到功耗验证结果;s6、基于功耗验证结果对初始npu网络架构进行优化调整,以得到目标npu网络架构。
20.为了解决现有技术中的npu的功耗问题,本发明针对神经网络的基础结构特征去确定好npu网络基础架构,大大方便了后续进行针对性的优化调整;同时结合神经网络的基础结构信息中的各个特征数据对目标神经网络进行训练,以确定更精准的目标网络参数;然后结合精准的目标网络参数对npu基础架构进行调整,以得到一个具备更优网络特征的初始npu网络架构;为了进一步提高初始npu网络架构的运行性能,结合历史数据确定相关功耗指标,然后获取针对性的训练样本,一部分用作训练一部分用作验证,对初始npu网络架构进行训练和验证,然后基于验证结果选择更优的参数对初始npu网络架构进行优化,以构建性能更优的目标npu网络架构。本发明对npu神经网络进行优化调整,大大提高了其对ai算法的运行效果,降低了功耗。
21.更进一步的说明,该基于神经网络结构的npu功耗优化方法还包括以下步骤:s7、根据目标神经网络的基础结构信息获取npu硬件架构;s8、获取npu的历史运行数据中的硬件特征数据,形成硬件性能数据样本,并将硬件性能数据样本对npu硬件架构进行训练和验证,以得到硬件验证结果;s9、基于硬件验证结果对npu硬件架构进行优化调整,以得到npu硬件优化架构;s10、结合npu硬件优化架构和目标npu网络架构建立最优npu。
22.为了进一步提高npu的运行性能,在对npu的神经网络的架构进行优化调整的基础上,获取npu硬件架构,基于npu硬件架构中的各个硬件芯片的相关特征获取对应的训练样本对npu硬件架构进行训练和验证,并其进行优化调整,以得到npu硬件优化架构;然后将npu硬件优化架构和目标npu网络架构进行融合,从网络架构和硬件架构两方面进行npu功耗优化,以建立一个最优npu,更好的满足ai算法运行需求。
23.更进一步的说明,所述s3、基于目标网络参数对npu基础架构进行调整,以得到初始npu网络架构;具体包括以下步骤:s31、获取目标网络参数中的各个参数和其对应的属性特征,其中各个参数包括网络结构特征t、计算量c、参数量n、参数权重、网络层占比p以及依赖关系r,其对应的属性特征是指各个参数的具体量值;s32、对npu基础架构进行拆分,以得到多个架构层,并对各个架构层进行属性标记;
s33、基于目标网络参数中的各类参数的属性特征和各个架构层的属性标记对npu基础架构的各个架构层进行调整,以得到初始npu网络架构。
24.为了进一步提高npu的性能,在确定好npu基础架构后,对npu基础架构进行拆分,以得到多个架构层,并基于属性特征对上述的多个架构层分别进行相关参数的添加赋值,针对性的进行分层构建,以得到更优的初始npu网络架构。上述各类参数包括网络结构特征t、计算量c、参数量n、参数权重、网络层占比p以及依赖关系r,其属性特征是指具体的量值。根据各个参数的属性特征与上述标记的属性标记分别进行匹配关联,进而确定对npu基础架构的各个架构层中的层级以及对应的参数等进行调整优化,以达到精准的优化效果。
25.更进一步的说明,所述s8、获取npu的历史运行数据中的硬件特征数据,形成硬件性能数据样本,并将硬件性能数据样本对npu硬件架构进行训练和验证,以得到硬件验证结果;具体包括以下步骤:s81、提取npu的历史运行数据中的硬件特征数据,包括硬件资源约束文件、硬件架构描述文件和控制描述文件中的相关特征数据;s82、将硬件特征数据整理为各个类别的历史训练样本;s83、基于获取的各个类别的历史训练样本结合神经网络学习,对各npu硬件架构中的各个参数进行训练和验证,得到对应的验证结果。
26.具体的,所述硬件资源约束文件包括目标电路面积开销、目标电路功耗开销及目标电路工作频率;所述控制描述文件包括数据调度、存储及计算方式等相关控制参数;所述硬件架构描述文件包括输入数据存储器容量、输入存储器位宽、权重存储器容量、权重存储器位宽、偏置存储器容量、偏置存储器位宽、输出数据存储器容量、输出数据存储器位宽、数据位宽、计算单元宽度、计算单元深度、数据共享标志位及权重共享标志位。
27.基于上述硬件特征数据整理为各个类别的历史训练样本,再结合神经网络学习对各npu硬件架构中的各个参数进行训练和验证,从而判断各个参数是否异常,若异常则进行对应的优化调整,以得到npu硬件优化架构。
28.一种基于神经网络结构的npu功耗优化系统,采用如上述所述的一种基于神经网络结构的npu功耗优化方法,包括:基础架构确定模块1,用于获取目标神经网络的基础结构信息,根据目标神经网络的基础结构信息确定npu网络基础架构;模型训练模块2,用于根据神经网络的基础结构信息对目标神经网络进行训练,以得到目标神经网络的目标网络参数;架构调整模块3,用于基于目标网络参数对npu基础架构进行调整,以得到初始npu网络架构;功耗样本获取模块4,用于获取npu的历史运行数据,根据npu的历史运行数据确定功耗指标参数,并形成功耗训练样本;架构训练模块5,用于将功耗训练样本投入初始npu网络架构进行训练和验证,以得到功耗验证结果;目标构建模块6,用于基于功耗验证结果对初始npu网络架构进行优化调整,以得到目标npu网络架构。
29.更进一步的说明,所述的一种基于神经网络结构的npu功耗优化系统,还包括:
硬件架构模块7,用于根据目标神经网络的基础结构信息获取npu硬件架构;硬件样本训练模块8,用于获取npu的历史运行数据中的硬件特征数据,形成硬件性能数据样本,并将硬件性能数据样本对npu硬件架构进行训练和验证,以得到硬件验证结果;架构优化模块9,用于基于硬件验证结果对npu硬件架构进行优化调整,以得到npu硬件优化架构;架构融合模块10,用于结合npu硬件优化架构和目标npu网络架构建立最优npu。
30.更进一步的说明,所述架构调整模块3包括:架构参数获取子模块,用于获取目标网络参数中的各个参数和其对应的属性特征,其中各个参数包括网络结构特征t、计算量c、参数量n、参数权重、网络层占比p以及依赖关系r,其对应的属性特征是指各个参数的具体量值;架构拆分标记子模块,用于对npu基础架构进行拆分,以得到多个架构层,并对各个架构层进行属性标记;架构优化调整子模块,用于基于目标网络参数中的各类参数的属性特征和各个架构层的属性标记对npu基础架构的各个架构层进行优化调整,以得到初始npu网络架构。
31.更进一步的说明,所述硬件样本训练模块8包括:硬件样本提取子模块,用于提取npu的历史运行数据中的硬件特征数据,包括硬件资源约束文件、硬件架构描述文件和控制描述文件中的相关特征数据;硬件样本整理子模块,用于将硬件特征数据整理为各个类别的历史训练样本;硬件样本训练子模块,用于基于获取的各个类别的历史训练样本结合神经网络学习,对各npu硬件架构中的各个参数进行训练和验证,得到对应的验证结果。
32.为了解决现有技术中的npu的功耗问题,本发系统通过基础架构确定模块,1、模型训练模块2、架构调整模块3、功耗样本获取模块4、架构训练模块5以及目标构建模块6等多个模块的配合,针对神经网络的基础结构特征去确定好npu网络基础架构,大大方便了后续进行针对性的优化调整;上述基础结构信息包括网络结构特征t、计算量c、参数量n、参数权重、网络层占比p以及依赖关系r等;同时结合神经网络的基础结构信息中的各个特征数据对目标神经网络进行训练,以确定更精准的目标网络参数;然后结合精准的目标网络参数对npu基础架构进行调整,以得到一个具备更优网络特征的初始npu网络架构;为了进一步提高初始npu网络架构的运行性能,结合历史数据确定相关功耗指标,然后获取针对性的训练样本,一部分用作训练一部分用作验证,对初始npu网络架构进行训练和验证,然后基于验证结果选择更优的参数对初始npu网络架构进行优化,以构建性能更优的目标npu网络架构。本发明对npu神经网络进行优化调整,大大提高了其对ai算法的运行效果,降低了功耗。
33.如图5所示,第三方面,本技术实施例提供一种电子设备,其包括存储器101,用于存储一个或多个程序;处理器102。当一个或多个程序被处理器102执行时,实现如上述第二方面中任一项的方法。
34.还包括通信接口103,该存储器101、处理器102和通信接口103相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器101可用于存储软件程序及模块,处理器102通过执行存储在存储器101内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口
103可用于与其他节点设备进行信令或数据的通信。
35.其中,存储器101可以是但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
36.处理器102可以是一种集成电路芯片,具有信号处理能力。该处理器102可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
37.在本技术所提供的实施例中,应该理解到,所揭露的方法及系统和方法,也可以通过其它的方式实现。以上所描述的方法及系统实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的方法及系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
38.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
39.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器102执行时实现如上述第二方面中任一项的方法。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
40.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些等同的变型或替换均包含在本技术权利要求所限定的范围内。
技术特征:
1.一种基于神经网络结构的npu功耗优化方法,其特征在于,包括以下步骤:s1、获取目标神经网络的基础结构信息,根据目标神经网络的基础结构信息确定npu网络基础架构;s2、根据神经网络的基础结构信息对目标神经网络进行训练,以得到目标神经网络的目标网络参数;s3、基于目标网络参数对npu基础架构进行调整,以得到初始npu网络架构;s4、获取npu的历史运行数据,根据npu的历史运行数据确定功耗指标参数,并形成功耗训练样本;s5、将功耗训练样本投入初始npu网络架构进行训练和验证,以得到功耗验证结果;s6、基于功耗验证结果对初始npu网络架构进行优化调整,以得到目标npu网络架构。2.根据权利要求1所述的一种基于神经网络结构的npu功耗优化方法,其特征在于,还包括以下步骤:s7、根据目标神经网络的基础结构信息获取npu硬件架构;s8、获取npu的历史运行数据中的硬件特征数据,形成硬件性能数据样本,并将硬件性能数据样本对npu硬件架构进行训练和验证,以得到硬件验证结果;s9、基于硬件验证结果对npu硬件架构进行优化调整,以得到npu硬件优化架构;s10、结合npu硬件优化架构和目标npu网络架构建立最优npu。3.根据权利要求2所述的一种基于神经网络结构的npu功耗优化方法,其特征在于,所述s3、基于目标网络参数对npu基础架构进行调整,以得到初始npu网络架构;具体包括以下步骤:s31、获取目标网络参数中的各个参数和其对应的属性特征,其中各个参数包括网络结构特征t、计算量c、参数量n、参数权重、网络层占比p以及依赖关系r,其对应的属性特征是指各个参数的具体量值;s32、对npu基础架构进行拆分,以得到多个架构层,并对各个架构层进行属性标记;s33、基于目标网络参数中的各类参数的属性特征和各个架构层的属性标记对npu基础架构的各个架构层进行调整,以得到初始npu网络架构。4.根据权利要求3所述的一种基于神经网络结构的npu功耗优化方法,其特征在于,所述s8、获取npu的历史运行数据中的硬件特征数据,形成硬件性能数据样本,并将硬件性能数据样本对npu硬件架构进行训练和验证,以得到硬件验证结果;具体包括以下步骤:s81、提取npu的历史运行数据中的硬件特征数据,包括硬件资源约束文件、硬件架构描述文件和控制描述文件中的相关特征数据;s82、将硬件特征数据整理为各个类别的历史训练样本;s83、基于获取的各个类别的历史训练样本结合神经网络学习,对各npu硬件架构中的各个参数进行训练和验证,得到对应的验证结果。5.根据权利要求1所述的一种基于神经网络结构的npu功耗优化系统,其特征在于,采用如权利要求1-4任一项所述的一种基于神经网络结构的npu功耗优化方法,包括:基础架构确定模块,用于获取目标神经网络的基础结构信息,根据目标神经网络的基础结构信息确定npu网络基础架构;模型训练模块,用于根据神经网络的基础结构信息对目标神经网络进行训练,以得到
目标神经网络的目标网络参数;架构调整模块,用于基于目标网络参数对npu基础架构进行调整,以得到初始npu网络架构;功耗样本获取模块,用于获取npu的历史运行数据,根据npu的历史运行数据确定功耗指标参数,并形成功耗训练样本;架构训练模块,用于将功耗训练样本投入初始npu网络架构进行训练和验证,以得到功耗验证结果;目标构建模块,用于基于功耗验证结果对初始npu网络架构进行优化调整,以得到目标npu网络架构。6.根据权利要求1所述的一种基于神经网络结构的npu功耗优化系统,其特征在于,还包括:硬件架构模块,用于根据目标神经网络的基础结构信息获取npu硬件架构;硬件样本训练模块,用于获取npu的历史运行数据中的硬件特征数据,形成硬件性能数据样本,并将硬件性能数据样本对npu硬件架构进行训练和验证,以得到硬件验证结果;架构优化模块,用于基于硬件验证结果对npu硬件架构进行优化调整,以得到npu硬件优化架构;架构融合模块,用于结合npu硬件优化架构和目标npu网络架构建立最优npu。7.根据权利要求1所述的一种基于神经网络结构的npu功耗优化系统,其特征在于,所述架构调整模块包括:架构参数获取子模块,用于获取目标网络参数中的各个参数和其对应的属性特征,其中各个参数包括网络结构特征t、计算量c、参数量n、参数权重、网络层占比p以及依赖关系r,其对应的属性特征是指各个参数的具体量值;架构拆分标记子模块,用于对npu基础架构进行拆分,以得到多个架构层,并对各个架构层进行属性标记;架构优化调整子模块,用于基于目标网络参数中的各类参数的属性特征和各个架构层的属性标记对npu基础架构的各个架构层进行优化调整,以得到初始npu网络架构。8.根据权利要求1所述的一种基于神经网络结构的npu功耗优化系统,其特征在于,所述硬件样本训练模块包括:硬件样本提取子模块,用于提取npu的历史运行数据中的硬件特征数据,包括硬件资源约束文件、硬件架构描述文件和控制描述文件中的相关特征数据;硬件样本整理子模块,用于将硬件特征数据整理为各个类别的历史训练样本;硬件样本训练子模块,用于基于获取的各个类别的历史训练样本结合神经网络学习,对各npu硬件架构中的各个参数进行训练和验证,得到对应的验证结果。9.一种电子设备,其特征在于,包括:存储器,用于存储一个或多个程序;处理器;当所述一个或多个程序被所述处理器执行时,实现如权利要求1-4中任一项所述的一种基于神经网络结构的npu功耗优化方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被
处理器执行时实现如权利要求1-4中任一项所述的一种基于神经网络结构的npu功耗优化方法。
技术总结
本发明涉及处理器功耗优化技术领域,尤其涉及一种基于神经网络结构的NPU功耗优化方法及系统,其方法包括:S1、获取目标神经网络的基础结构信息,根据目标神经网络的基础结构信息确定NPU网络基础架构;S2、根据基础结构信息对目标神经网络进行训练,以得到目标神经网络的目标网络参数;S3、基于目标网络参数对NPU基础架构进行调整,以得到初始NPU网络架构;S4、获取NPU的历史运行数据,根据NPU的历史运行数据确定功耗指标参数,并形成功耗训练样本;S5、将功耗训练样本投入初始NPU网络架构进行训练和验证,以得到功耗验证结果;S6、基于功耗验证结果对初始NPU网络架构进行优化调整,以得到目标NPU网络架构。本发明大大降低NPU运行功耗,提高其运行性能。提高其运行性能。提高其运行性能。
技术研发人员:黄茂芹
受保护的技术使用者:广东赛昉科技有限公司
技术研发日:2023.04.25
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/