神经网络模型的剪枝方法、装置、设备和人工智能芯片制造方法及图纸

技术编号:22187025 阅读:75 留言:0更新日期:2019-09-25 03:53
本发明专利技术实施例提供了一种神经网络模型的剪枝方法、装置、设备和人工智能芯片。神经网络模型的剪枝方法包括:获取对第一神经网络模型中的多个层进行训练过程中逐层分析时每层所使用的第一功耗;根据第一功耗分别制定每层对应的第一剪枝策略;根据第一剪枝策略对第一神经网络模型中的每层选择性地进行剪枝以获得剪枝完成的第二神经网络模型,从而有效减少神经网络模型训练过程中的功耗。

Pruning Method, Device, Equipment and Artificial Intelligence Chip of Neural Network Model

【技术实现步骤摘要】
神经网络模型的剪枝方法、装置、设备和人工智能芯片
本专利技术涉及神经网络模型的
,特别涉及一种神经网络模型的剪枝方法、装置、设备和人工智能芯片。
技术介绍
随着神经网络不断地变深,其网络规模及复杂程度都在不断地变大,同时也会使得网络参数的数量变得越来越多,运算的过程变得越来越复杂,因而导致网络运行所占用的运算资源越来越大,所需的运算时间也越来越多,运算所需要的硬件资源(内存、CPU等)也越来越高,然而这并不利于神经网络在移动和嵌入式等资源受限型设备上的部署。为了降低运算和存储成本,目前已有许多研究者对神经网络模型进行压缩与加速的研究,参数剪枝则是其中的一种方法。然而,目前现有的参数剪枝方法大多基于通道对神经网络模型进行剪枝,这样并不能保证剪枝后,系统的功耗能够最大化降低。
技术实现思路
有鉴于此,本专利技术实施例为解决上述问题提供了一种神经网络模型的剪枝方法、装置、设备和人工智能芯片,有效减少了神经网络模型训练过程中的功耗。本专利技术实施例的第一方面提供一种神经网络模型的剪枝方法,该方法包括:获取对第一神经网络模型中的多个层进行训练过程中逐层分析时每层所使用的第一功耗;根据第一功耗分别制定每层对应的第一剪枝策略;根据第一剪枝策略对第一神经网络模型中的每层选择性地进行剪枝以获得剪枝完成的第二神经网络模型。本专利技术一实施例中,上述根据第一功耗分别制定每层对应的第一剪枝策略,包括:当第一神经网络模型的多个层中的第一层的第一功耗大于预设阈值时,第一层对应的第一剪枝策略为对第一层进行剪枝,当多个层中的第一层的第一功耗小于或等于预设阈值时,第一层对应的第一剪枝策略为不对第一层进行剪枝。本专利技术一实施例中,上述根据第一剪枝策略对第一神经网络模型中的每层选择性地进行剪枝以获得剪枝完成的第二神经网络模型,包括:根据第一剪枝策略对第一神经网络模型中的每层采用权衰减法、灵敏度计算方法或相关性剪枝方法选择性地进行剪枝以获得剪枝完成的第二神经网络模型。本专利技术一实施例中,该神经网络模型的剪枝方法还包括:对第二神经网络模型进行再训练;获取对第二神经网络模型中的多个层进行训练过程中逐层分析时每层所使用的第二功耗;判断每层所使用的第二功耗是否均小于或等于预设阈值;当每层所使用的第二功耗中存在至少一层的第二功耗大于预设阈值时,根据第二功耗分别制定每层对应的第二剪枝策略,并根据第二剪枝策略对第二神经网络模型中的每层选择性地进行剪枝以获得剪枝完成的第三神经网络模型;当每层所使用的第二功耗均小于或等于预设阈值时,结束再训练以获得目标神经网络模型。本专利技术一实施例中,在对第二神经网络模型进行再训练之前,该神经网络模型的剪枝方法还包括:设置最大迭代次数;判断再训练的次数是否大于最大迭代次数;当再训练的次数大于最大迭代次数时,结束再训练以获得目标神经网络模型。本专利技术一实施例中,第一神经网络模型包括卷积神经网络模型、循环神经网络模型或深层神经网络模型。本专利技术实施例的第二方面提供一种神经网络模型的剪枝装置,包括:获取模块,用于获取对第一神经网络模型中的多个层进行训练过程中逐层分析时每层所使用的第一功耗;制定模块,用于根据第一功耗分别制定每层对应的第一剪枝策略;剪枝模块,用于根据第一剪枝策略对第一神经网络模型中的每层选择性地进行剪枝以获得剪枝完成的第二神经网络模型。本专利技术实施例的第三方面提供一种人工智能芯片,该人工智能芯片上执行有通过如本专利技术实施例的第一方面中的任一项所述的神经网络模型的剪枝方法而获得的神经网络模型。本专利技术实施例的第四方面提供一种神经网络模型的剪枝设备,包括:存储器,用于存储计算机程序;处理组件,用于执行计算机程序时实现如本专利技术实施例的第一方面中任一项所述的神经网络模型的剪枝方法。本专利技术实施例的第五方面提供一种计算机可读存储介质,其上存储有计算机可执行指令,可执行指令被处理器执行时实现如本专利技术实施例的第一方面中任一项所述的神经网络模型的剪枝方法。根据本专利技术实施例提供的技术方案,通过获取对第一神经网络模型中的多个层进行训练过程中逐层分析时每层所使用的第一功耗;根据第一功耗分别制定每层对应的第一剪枝策略;根据第一剪枝策略对第一神经网络模型中的每层选择性地进行剪枝以获得剪枝完成的第二神经网络模型,从而有效减少神经网络模型训练过程中的功耗。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1所示为本专利技术一实施例提供的一种神经网络模型的剪枝方法的流程示意图。图2所示为本专利技术另一实施例提供的一种神经网络模型的剪枝方法的流程示意图。图3所示为本专利技术一实施例提供的一种神经网络模型的剪枝装置的结构示意图。图4所示为本专利技术一实施例提供的一种人工智能芯片的结构示意图。图5所示为本专利技术一实施例提供的一种神经网络模型的剪枝设备的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有相关实施例,都属于本专利技术保护的范围。还需要说明的是,本专利技术实施例中的“第一”、“第二”、“第三”等仅仅是为了彼此之间相互区分,并不用于限定具有固定的顺序,也不用于限定具有固定的数量。本专利技术实施例中提供了一种神经网络模型的剪枝方法、装置、设备和人工智能芯片,以下分别进行详细说明。图1所示为本专利技术一实施例提供的一种神经网络模型的剪枝方法的流程示意图。该剪枝方法可以由服务器执行。该剪枝方法包括以下步骤。S110:获取对第一神经网络模型中的多个层进行训练过程中逐层分析时每层所使用的第一功耗。具体而言,第一神经网络模型进行训练过程中,对第一神经网络模型中的多个层进行逐层分析,服务器获取进行逐层分析时每层所使用的第一功耗。服务器可直接通过读取检测功耗的设备中检测到的功耗从而获取到每层所使用的第一功耗;服务器也可直接计算从而获取到每层所使用的第一功耗,本专利技术实施例对服务器如何获取到每层所使用的第一功耗的方式不做具体限定。第一功耗可以是通过primeTime-PX进行功耗分析得来的,也可以是通过功耗测量仪器如智能插座表等测量得来的,本专利技术实施例对第一功耗的检测方法不做具体限定。每层所使用的第一功耗可以相同,也可以不同,本专利技术实施例对多个层中每层所使用的第一功耗是否相同不做具体限定S120:根据第一功耗分别制定每层对应的第一剪枝策略。具体而言,服务器根据每层所使用的第一功耗分别制定每层对应的第一剪枝策略。每层对应的第一剪枝策略可以为对该层进行剪枝,也可以为不对该层进行剪枝,本专利技术实施例对每层对应的第一剪枝策略的具体内容不做具体限定。S130:根据第一剪枝策略对第一神经网络模型中的每层选择性地进行剪枝以获得剪枝完成的第二神经网络模型。具体而言,服务器分别根据每层对应的第一剪枝策略对第一神经网络模型中的每本文档来自技高网...

【技术保护点】
1.一种神经网络模型的剪枝方法,其特征在于,包括:获取对第一神经网络模型中的多个层进行训练过程中逐层分析时每层所使用的第一功耗;根据所述第一功耗分别制定每层对应的第一剪枝策略;根据所述第一剪枝策略对所述第一神经网络模型中的每层选择性地进行剪枝以获得剪枝完成的第二神经网络模型。

【技术特征摘要】
1.一种神经网络模型的剪枝方法,其特征在于,包括:获取对第一神经网络模型中的多个层进行训练过程中逐层分析时每层所使用的第一功耗;根据所述第一功耗分别制定每层对应的第一剪枝策略;根据所述第一剪枝策略对所述第一神经网络模型中的每层选择性地进行剪枝以获得剪枝完成的第二神经网络模型。2.根据权利要求1所述的剪枝方法,其特征在于,所述根据所述第一功耗分别制定每层对应的第一剪枝策略,包括:当所述第一神经网络模型的多个层中的第一层的第一功耗大于预设阈值时,所述第一层对应的第一剪枝策略为对所述第一层进行剪枝,当所述多个层中的第一层的第一功耗小于或等于预设阈值时,所述第一层对应的第一剪枝策略为不对所述第一层进行剪枝。3.根据权利要求1所述的剪枝方法,其特征在于,所述根据所述第一剪枝策略对所述第一神经网络模型中的每层选择性地进行剪枝以获得剪枝完成的第二神经网络模型,包括:根据所述第一剪枝策略对所述第一神经网络模型中的每层采用权衰减法、灵敏度计算方法或相关性剪枝方法选择性地进行剪枝以获得剪枝完成的第二神经网络模型。4.根据权利要求1所述的剪枝方法,其特征在于,所述剪枝方法还包括:对所述第二神经网络模型进行再训练;获取对所述第二神经网络模型中的多个层进行训练过程中逐层分析时每层所使用的第二功耗;判断所述每层所使用的第二功耗是否均小于或等于预设阈值;当所述每层所使用的第二功耗中存在至少一层的第二功耗大于所述预设阈值时,根据所述第二功耗分别制定每层对应的第二剪枝策略,并根据所述第二剪枝策略对所述第二神经网络模型中的每...

【专利技术属性】
技术研发人员:刘小涛张韵东徐祥
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1