CN113570037A - 神经网络压缩方法及装置 - Google Patents
神经网络压缩方法及装置 Download PDFInfo
- Publication number
- CN113570037A CN113570037A CN202110791944.5A CN202110791944A CN113570037A CN 113570037 A CN113570037 A CN 113570037A CN 202110791944 A CN202110791944 A CN 202110791944A CN 113570037 A CN113570037 A CN 113570037A
- Authority
- CN
- China
- Prior art keywords
- neural network
- compression
- hyper
- quantization
- parameter
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- G06N3/045—Combinations of networks
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种神经网络压缩方法及装置,方法包括:将目标加速器内载的神经网络作为环境,以确定压缩超参数组合;将压缩超参数组合作为动作,对神经网络进行压缩,以确定压缩神经网络后的奖励值;根据压缩后的神经网络,对环境、压缩超参数组合、动作和奖励值进行更新,并在满足预设条件时,停止更新;根据最后一次更新后的压缩超参数组合,对神经网络进行压缩。所述装置用于执行上述方法。本发明提供的神经网络压缩方法及装置,通过对加速器进行分析,得到适合于该加速架构的压缩超参数组合,从而比传统非自适应压缩更加有效地降低神经网络在加速器上的计算开销,提高神经网络在加速器上的推理过程能效。
Description
技术领域
本发明涉及计算机信息处理技术领域,尤其涉及一种神经网络压缩方法及装置。
背景技术
近年来,随着边缘侧神经网络应用的巨大需求,专用的ASIC(ApplicationSpecific Integrated Circuit)神经网络加速器得到了迅速的发展。依托于神经网络加速器,大部分运算可以在边缘侧本地完成。相比于基于云端服务器的解决方案,基于网络加速器的边缘侧解决方案具有高能效、高实时性和隐私保护等特点。
然而,为了追求更强的泛化能力,现有的诸如第三代通用预训练转换器(GeneralPre-trained Transformer-3,GPT-3)、AlphaFold等前沿模型都采取了越来越大的网络规模。举例来说,对于面向自然语言处理的GPT-3模型,其训练采用了超过1万个GPU,总参数规模达到了175Billion。即使是常见的ResNet34模型,其模型大小也达到了83.2MB。而对于现有ASIC加速器来说,其片上存储空间往往不超过1MB。过大的模型规模会导致芯片面积过大、外接DRAM访问功耗过高、内存墙等严峻的挑战。
使用神经网络压缩,包括模型剪枝、模型量化等,对模型规模进行有效地降低。模型剪枝通过将网络中的冗余神经元强制置零,从而在推理中跳过这些神经元而大大降低计算和存储开销。模型量化通过将浮点运算转化为定点运算而有效降低计算功耗。然而,实际中存在压缩算法与加速器架构之间的冲突,从而导致压缩算法的性能无法得到充分发挥。
发明内容
本发明提供的神经网络压缩方法,用于克服现有技术中存在的上述问题,通过对加速器进行分析,得到适合于该加速架构的压缩超参数组合,从而比传统非自适应压缩更加有效地降低神经网络在加速器上的计算开销,提高神经网络在加速器上的推理过程能效。
本发明提供的一种神经网络压缩方法,包括:
将目标加速器内载的神经网络作为环境,以确定压缩超参数组合;
将所述压缩超参数组合作为动作,对所述神经网络进行压缩,以确定压缩所述神经网络后的奖励值;
根据压缩后的神经网络,对所述环境、所述压缩超参数组合、所述动作和所述奖励值进行更新,并在满足预设条件时,停止更新;
根据最后一次更新后的压缩超参数组合,对所述神经网络进行压缩。
根据本发明提供的一种神经网络压缩方法,所述将目标加速器内载的神经网络作为环境,以确定压缩超参数组合,包括:
将目标加速器内载的神经网络作为环境,通过分析所述目标加速器的数据流,以确定压缩所述神经网络的量化参数和稀疏参数;
根据所述量化参数和所述稀疏参数,确定所述压缩超参数组合。
根据本发明提供的一种神经网络压缩方法,所述分析所述目标加速器的数据流,确定压缩所述神经网络的量化参数,包括:
基于所述数据流中处理引擎PE阵列,确定压缩所述神经网络所采用的目标量化方式;
基于所述数据流中存储单元的访问带宽和访问方式,确定所述目标量化方式的量化位宽;
根据所述目标量化方式和所述量化位宽,确定所述量化参数。
根据本发明提供的一种神经网络压缩方法,所述分析所述目标加速器的数据流,确定压缩所述神经网络的稀疏参数,包括:
基于所述数据流中目标存储和PE阵列间的交互方式,确定压缩所述神经网络所采用的目标稀疏方式;
基于所述数据流中PE阵列并行度,确定所述目标稀疏方式的稀疏尺寸;
根据所述目标量化方式和所述稀疏尺寸,确定所述稀疏参数。
根据本发明提供的一种神经网络压缩方法,所述目标量化方式,至少包括如下任一种方式:
对称量化方式、非对称量化方式和零点偏移方式。
根据本发明提供的一种神经网络压缩方法,所述目标稀疏方式,至少包括如下任一种方式:
规则稀疏方式和非规则稀疏方式。
根据本发明提供的一种神经网络压缩方法,所述预设条件,包括:
更新后的奖励值达到预设奖励值阈值;或
更新次数达到预设更新次数阈值。
本发明还提供一种神经网络压缩装置,包括:参数确定模块、压缩奖励模块、参数更新模块以及网络压缩模块;
所述参数确定模块,用于将目标加速器内载的神经网络作为环境,以确定压缩超参数组合;
所述压缩奖励模块,用于将所述压缩超参数组合作为动作,对所述神经网络进行压缩,以确定压缩所述神经网络后的奖励值;
所述参数更新模块,用于根据压缩后的神经网络,对所述环境、所述压缩超参数组合、所述动作和所述奖励值进行更新,并在满足预设条件时,停止更新;
所述网络压缩模块,用于根据最后一次更新后的压缩超参数组合,对所述神经网络进行压缩。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述神经网络压缩方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述神经网络压缩方法的步骤。
本发明提供的神经网络压缩方法及装置,通过对加速器进行分析,得到适合于该加速架构的压缩超参数组合,从而比传统非自适应压缩更加有效地降低神经网络在加速器上的计算开销,提高神经网络在加速器上的推理过程能效。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的神经网络压缩方法的流程示意图;
图2是本发明提供的神经网络压缩装置的结构示意图;
图3是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了在边缘设备上实现图像识别、人脸识别等应用,一种常见的解决方法是使用专用集成电路ASIC神经网络加速器在边缘设备上执行神经网络的推理阶段。但是,现有神经网络大部分计算复杂度较高。因此还需要网络压缩技术(剪枝、量化)降低神经网络在加速器上的计算量和计算功耗。通过模型压缩,加速器执行网络推理过程时可以忽略网络中的冗余计算并允许加速器用低功耗的定点算子取代高功耗的浮点算子,从而提高网络在加速器上的推理过程能效。
首先,对于不同的加速器架构,通过架构分析模块得到最适合该架构的压缩方案,从而使得压缩后的模型在目标加速器上能更充分发挥作用。与之相比,传统压缩方法得到的压缩后模型存在剪枝图案pattern过大或者过小,剪枝pattern分布不规则,量化位宽不适配等问题。其次,本发明提供的神经网络压缩算法,可以针对架构特点更精确、细粒度地调整神经网络中不同位置的压缩超参数。比如通过强化学习模块我们可以在网络不同层甚至不同卷积块block之间调整网络压缩率以及量化位宽。从而能够在保持更高网络检测精度(比如对人脸的检测准确率)前提下更充分的降低网络计算复杂度。具体实现如下:
图1是本发明提供的神经网络压缩方法的流程示意图,如图1所示,方法包括:
S1将目标加速器内载的神经网络作为环境,以确定压缩超参数组合;
S2、将压缩超参数组合作为动作,对神经网络进行压缩,以确定压缩神经网络后的奖励值;
S3、根据压缩后的神经网络,对环境、压缩超参数组合、动作和奖励值进行更新,并在满足预设条件时,停止更新;
S4、根据最后一次更新后的压缩超参数组合,对神经网络进行压缩。
需要说明的是,上述方法的执行主体可以是计算机设备。
可选地,对于目标加速器内载的神经网络,具体为一个全精度的浮点模型(被压缩前神经网络模型),强化学习的智能体agent会通过迭代搜索最佳的压缩方案。具体来说,该神经网络作为强化学习的环境environment,在每次迭代时,智能体均会产生一组量化超参数作为压缩神经网络的压缩超参数组合,其中,压缩超参数组合可以包括每层的稀疏图案pattern、稀疏度以及量化位宽。
将压缩超参数组合作为动作action,这些action作用到上述神经网络并产生相应的奖励值Reward。一般来说Reward主要包含两部分,一部分是神经网络模型压缩后的相对精度损失,另一部分则是目标加速器能量、能效、每秒浮点运算次数(Floating-pointOperations Per Second,FLOPS)等优化指标。
例如采用加速器能量作为优化指标,为了提升算法运行速度,在具体实现中采取快速评估和建立能量模型的手段获取Reward。具体来说,基于智能体agent产生的action,神经网络会被压缩并短暂地微调Finetune。微调的主要目的在于模型压缩导致模型权重发生了明显变化,但是诸如批量归一化batchnorm层中的均值和方差等网络参数仍保持原值,这导致压缩后加速器内的神经网络模型精度与最终模型精度不成正比,需要Finetune调整参数(例如目标加速器内的神经网络的权重)适应模型压缩带来的变化。
而对于能量模型来说,主要是降低实际硬件测试模型功耗的巨大开销,核心思想是通过DC仿真等手段分析硬件平台各关键模块的功耗开销,并结合通过分析目标加速器得到的数据流建立一个硬件功耗和压缩倍率、量化位宽等压缩超参数组合之间的关系模型,从而可以在实际迭代中快速评估硬件功耗。
根据压缩后的神经网络,对环境进行更新,根据更新后的环境对压缩超参数组合进行更新,并将更新后的压缩超参数组合作为更新后的动作,再次对神经网络进行压缩,并得到压缩后神经网络后获得的奖励值Reward,通过reward的反馈,强化学习智能体调整、优化产生的压缩超参数组合,重复上述过程,直至满足预设条件时,停止对环境、压缩超参数、动作和奖励值的更新,并根据最后一次迭代后更新的压缩超参数组合,对上述神经网络进行压缩。
最优的压缩超参数组合会被选中,基于选出的压缩超参数组合(压缩方案)会对上述神经网络进行实际压缩并训练足够的时间以尽可能恢复压缩后模型的精度。
本发明提供的神经网络压缩方法,通过对加速器进行分析,得到适合于该加速架构的压缩超参数组合,从而比传统非自适应压缩更加有效地降低神经网络在加速器上的计算开销,提高神经网络在加速器上的推理过程能效。
进一步地,在一个实施例中,步骤S1可以具体包括:
S11、将目标加速器内载的神经网络作为环境,通过分析目标加速器的数据流,以确定压缩神经网络的量化参数和稀疏参数;
S12、根据量化参数和稀疏参数,确定压缩超参数组合。
可选地,通过例如架构分析模块分析目标加速器的数据流,其中,数据流可以包括片上(目标加速器)片外存储交互、片上存储与PE计算阵列交互、PE阵列计算过程等。从而总结出该目标加速器在稀疏模式(即最小零值神经元模块的大小、形状),稀疏倍率和量化位宽等关键超参数方面的关键约束。这些关键约束可以有效地制约压缩神经网络的搜索空间,从而收敛到更适合目标加速器中神经网络的压缩方案。
需要说明的是,上述关键约束可以具体为:允许的量化位宽范围、允许的稀疏度范围及允许的稀疏pattern(即稀疏尺寸),比如有些加速器对于一个N×C×K×K的权重矩阵只支持沿着N维度一个C×K×K大小的数据块同时为0或不为0,有的则允许更细粒度比如连续8个元素,通过这些关键约束来决定压缩上述神经网络的量化参数和稀疏参数。
根据得到的量化参数和稀疏参数,可以获得压缩上述神经网络的压缩超参数组合。
本发明提供的神经网络压缩方法,通过分析加速器的数据流确定压缩神经网络的量化参数和稀疏参数,在面对不同的加速器时,可以通过针对不同加速器的数据流具体分析,得到适用于不同加速器内载的神经网络的量化参数和稀疏参数,有针对性的实现对不同加速器内载的神经网络进行压缩,从而得到不同加速器的最佳压缩方案。
进一步地,在一个实施例中,步骤S11可以具体包括:
S111、基于数据流中处理引擎PE阵列,确定压缩神经网络所采用的目标量化方式;
S112、基于数据流中存储单元的访问带宽和访问方式,确定目标量化方式的量化位宽;
S113、根据目标量化方式和量化位宽,确定量化参数。
进一步地,在一个实施例中,步骤S11还可以具体包括:
S114、基于数据流中目标存储和PE阵列间的交互方式,确定压缩神经网络所采用的目标稀疏方式;
S115、基于数据流中PE阵列并行度,确定目标稀疏方式的稀疏尺寸;
S116、根据目标量化方式和稀疏尺寸,确定稀疏参数。
可选地,对于神经网络的模型量化,基于处理引擎PE阵列判断选择压缩上述神经网络所采用的目标量化方式,例如采用对称量化方式还是非对称量化方式、是否采用零点偏移等量化方式,并基于目标加速器中的存储单元的访问带宽和访问方式决定目标量化方式的量化位宽,如确定量化位宽取值范围,根据量化位宽取值范围得到最终的量化位宽。最后根据目标量化方式和量化位宽得到压缩神经网络的量化参数。
对于神经网络的模型稀疏,基于目标存储和PE阵列间的交互方式,得到压缩神经网络所采用的目标稀疏方式例如采用规则稀疏方式还是非规则稀疏方式。其中,目标存储可以具体包括片上存储(一般用动态随机存储器SRAM实现)和片下存储(一般用静态随机存储器DRAM实现);PE阵列间的交互方式可以包括PE和片上存储间交互以及片上存储和片下存储交互。
基于数据流中的PE阵列并行度(具体为PE一个周期可以执行多少运算)决定目标稀疏方式的稀疏尺寸,并根据得到的目标稀疏方式和稀疏尺寸得到稀疏参数。
本发明提供的神经网络压缩方法,通过分析加速器的数据流,得到压缩神经网络的量化参数和稀疏参数,为后续确定压缩超参数组合奠定了基础,同时,能够通过分析不同加速器的数据流,自适应的调整对应的量化参数和稀疏参数,从而能够在保持更高网络检测精度的前提下更充分的降低网络计算复杂度。
进一步地,在一个实施例中,步骤S111中的目标量化方式至少包括如下任一种方式:
对称量化方式、非对称量化方式和零点偏移方式。
可选地,对上述神经网络进行压缩所采用的目标量化方式可以具体为如下方式中的任意一种:对称量化方式、非对称量化方式和零点偏移方式。
神经网络的模型量化是神经网络推理过程的内存容量和内存带宽的问题,通过将神经网络参数的浮点数类型转换称整型存储的一种模型压缩技术。
对于非对称量化方式:
由浮点到定点的量化公式如下:
其中,R代表真实的浮点值,Q代表量化后的定点值,Z代表0浮点值对应的量化定点值,S代表定点量化后可表示的最小刻度,S和Z的计算公式如下:
其中,Rmax代表最大的浮点值,Rmin代表最小的浮点值,Qmax代表最大的定点值,Qmin代表最小的定点值。
Z=Qmax-Rmax÷S
由定点到浮点反量化方式如下:
R=(Q-Z)×S
例如,在进行int8的量化时,数据范围为[-128,127],最大值和最小值分别为Xmax,Xmin,Xq代表量化后的数据,Xf代表浮点数据。
Xq=Xf/scale+zero
scale=(Xmax-Xmin)/(127-(-128))
zero=0-round(Xmin/scale)
对于对称量化,只需将原浮点数的范围由[Xmin,Xmax]扩列到[-Xmax,Xmax],然后按照上述量化公式进行转换即可。
采用零点偏移方式可以将浮点0量化之后映射到0~255中间的一个数字,使得量化之后的数字更准确。
本发明提供的神经网络压缩方法,采用对称量化方式、非对称量化方式和零点偏移方式,能够在可接受的精度损失换取更少的存储、带宽需求、计算速度及更低的能耗。
进一步地,在一个实施例中,在步骤S114中的目标稀疏方式,至少包括如下任一种方式:
规则稀疏方式和非规则稀疏方式。
可选地,对神经网络的稀疏方式可以采用规则稀疏方式和非规则稀疏方式,其中,非规则稀疏方式指的是稀疏尺寸比较小,规则稀疏方式指的是稀疏尺寸比较大。例如,对于一个N×C×K×K的权重矩阵只支持沿着N维度一个C×K×K大小的数据块同时为0或不为0,有的则允许更细粒度比如连续8个元素同时为0或不为0,此时,小于等于8个元素同时为0或不为0的稀疏处理方式即为非规则稀疏方式,反之,则为规则稀疏方式。
需要说明的是,上述具体元素的个数设置根据要稀疏的神经网络的权重矩阵的维度可以自由设置,本发明对此不作具体限定。
本发明提供的神经网络压缩方法,通过对神经网络进行稀疏处理,能够实现神经网络推理过程的特征自动选择,进而提高推理过程的准确度。
进一步地,在一个实施例中,步骤S3中预设条件可以具体包括:
更新后的奖励值达到预设奖励值阈值;或
更新次数达到预设更新次数阈值。
可选地,智能体根据预设更新次数阈值对压缩超参数组合进行更新,当更新次数达到预设更新次数阈值时,停止对压缩超参数组合的更新,并根据最后一次更新后的压缩超参数组合,对上述神经网络进行压缩。
或,根据更新过程中,压缩超参数组合作用到神经网络所产生的奖励值与预设奖励值阈值之间的关系,若更新后的压缩超参数组合作用到神经网络的奖励值大于等于预设奖励值阈值,则认为达到压缩收敛条件,并根据最后一次更新后的压缩超参数组合,对上述神经网络进行压缩。
实际应用中,本发明提出的神经网络压缩算法,经由算法设计和实际芯片测试流程,在图像分类上进行验证。针对采用台积电65nm工艺制程的STICKER稀疏神经网络加速芯片进行验证,对于Cifar10和Cifar100数据集上VGG16和ResNet18网络,可以在10倍能耗降低的情况下没有精度损失,同时,相比于现有的非硬件适应的独立稀疏、量化,可以在同等压缩倍率的情况下取得25%的能耗降低。
本发明提供的神经网络压缩方法,能够使得压缩超参数组合快速收敛的同时,若将加速器能耗作为优化指标,并得到奖励值,可以在实际对压缩超参数组合进行更新中快速评估加速器能耗损失。
下面对本发明提供的神经网络压缩装置进行描述,下文描述的神经网络压缩装置与上文描述的神经网络压缩方法可相互对应参照。
图2是本发明提供的神经网络压缩装置的结构示意图,如图2所示,包括:参数确定模块210、压缩奖励模块211、参数更新模块212以及网络压缩模块213;
参数确定模块210,用于将目标加速器内载的神经网络作为环境,以确定压缩超参数组合;
压缩奖励模块211,用于将压缩超参数组合作为动作,对神经网络进行压缩,以确定压缩神经网络后的奖励值;
参数更新模块212,用于根据压缩后的神经网络,对环境、压缩超参数组合、动作和奖励值进行更新,并在满足预设条件时,停止更新;
网络压缩模块213,用于根据最后一次更新后的压缩超参数组合,对神经网络进行压缩。
本发明提供的神经网络压缩装置,通过对加速器进行分析,得到适合于该加速架构的压缩超参数组合,从而比传统非自适应压缩更加有效地降低神经网络在加速器上的计算开销,提高神经网络在加速器上的推理过程能效。
图3是本发明提供的一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communication interface)311、存储器(memory)312和总线(bus)313,其中,处理器310,通信接口311,存储器312通过总线313完成相互间的通信。处理器310可以调用存储器312中的逻辑指令,以执行如下方法:
将目标加速器内载的神经网络作为环境,以确定压缩超参数组合;
将压缩超参数组合作为动作,对神经网络进行压缩,以确定压缩神经网络后的奖励值;
根据压缩后的神经网络,对环境、压缩超参数组合、动作和奖励值进行更新,并在满足预设条件时,停止更新;
根据最后一次更新后的压缩超参数组合,对神经网络进行压缩。
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机电源屏(可以是个人计算机,服务器,或者网络电源屏等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
进一步地,本发明公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的神经网络压缩方法,例如包括:
将目标加速器内载的神经网络作为环境,以确定压缩超参数组合;
将压缩超参数组合作为动作,对神经网络进行压缩,以确定压缩神经网络后的奖励值;
根据压缩后的神经网络,对环境、压缩超参数组合、动作和奖励值进行更新,并在满足预设条件时,停止更新;
根据最后一次更新后的压缩超参数组合,对神经网络进行压缩。
另一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的神经网络压缩方法,例如包括:
将目标加速器内载的神经网络作为环境,以确定压缩超参数组合;
将压缩超参数组合作为动作,对神经网络进行压缩,以确定压缩神经网络后的奖励值;
根据压缩后的神经网络,对环境、压缩超参数组合、动作和奖励值进行更新,并在满足预设条件时,停止更新;
根据最后一次更新后的压缩超参数组合,对神经网络进行压缩。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机电源屏(可以是个人计算机,服务器,或者网络电源屏等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种神经网络压缩方法,其特征在于,包括:
将目标加速器内载的神经网络作为环境,以确定压缩超参数组合;
将所述压缩超参数组合作为动作,对所述神经网络进行压缩,以确定压缩所述神经网络后的奖励值;
根据压缩后的神经网络,对所述环境、所述压缩超参数组合、所述动作和所述奖励值进行更新,并在满足预设条件时,停止更新;
根据最后一次更新后的压缩超参数组合,对所述神经网络进行压缩。
2.根据权利要求1所述的神经网络压缩方法,其特征在于,所述将目标加速器内载的神经网络作为环境,以确定压缩超参数组合,包括:
将目标加速器内载的神经网络作为环境,通过分析所述目标加速器的数据流,以确定压缩所述神经网络的量化参数和稀疏参数;
根据所述量化参数和所述稀疏参数,确定所述压缩超参数组合。
3.根据权利要求2所述的神经网络压缩方法,其特征在于,所述分析所述目标加速器的数据流,确定压缩所述神经网络的量化参数,包括:
基于所述数据流中处理引擎PE阵列,确定压缩所述神经网络所采用的目标量化方式;
基于所述数据流中存储单元的访问带宽和访问方式,确定所述目标量化方式的量化位宽;
根据所述目标量化方式和所述量化位宽,确定所述量化参数。
4.根据权利要求2所述的神经网络压缩方法,其特征在于,所述分析所述目标加速器的数据流,确定压缩所述神经网络的稀疏参数,包括:
基于所述数据流中目标存储和PE阵列间的交互方式,确定压缩所述神经网络所采用的目标稀疏方式;
基于所述数据流中PE阵列并行度,确定所述目标稀疏方式的稀疏尺寸;
根据所述目标量化方式和所述稀疏尺寸,确定所述稀疏参数。
5.根据权利要求3所述的神经网络压缩方法,其特征在于,所述目标量化方式,至少包括如下任一种方式:
对称量化方式、非对称量化方式和零点偏移方式。
6.根据权利要求4所述的神经网络压缩方法,其特征在于,所述目标稀疏方式,至少包括如下任一种方式:
规则稀疏方式和非规则稀疏方式。
7.根据权利要求1所述的神经网络压缩方法,其特征在于,所述预设条件,包括:
更新后的奖励值达到预设奖励值阈值;或
更新次数达到预设更新次数阈值。
8.一种神经网络压缩装置,其特征在于,包括:参数确定模块、压缩奖励模块、参数更新模块以及网络压缩模块;
所述参数确定模块,用于将目标加速器内载的神经网络作为环境,以确定压缩超参数组合;
所述压缩奖励模块,用于将所述压缩超参数组合作为动作,对所述神经网络进行压缩,以确定压缩所述神经网络后的奖励值;
所述参数更新模块,用于根据压缩后的神经网络,对所述环境、所述压缩超参数组合、所述动作和所述奖励值进行更新,并在满足预设条件时,停止更新;
所述网络压缩模块,用于根据最后一次更新后的压缩超参数组合,对所述神经网络进行压缩。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述神经网络压缩方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述神经网络压缩方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110791944.5A CN113570037A (zh) | 2021-07-13 | 2021-07-13 | 神经网络压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110791944.5A CN113570037A (zh) | 2021-07-13 | 2021-07-13 | 神经网络压缩方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113570037A true CN113570037A (zh) | 2021-10-29 |
Family
ID=78164661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110791944.5A Pending CN113570037A (zh) | 2021-07-13 | 2021-07-13 | 神经网络压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113570037A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024087512A1 (zh) * | 2022-10-24 | 2024-05-02 | 浪潮电子信息产业股份有限公司 | 一种图神经网络压缩方法、装置、电子设备及存储介质 |
-
2021
- 2021-07-13 CN CN202110791944.5A patent/CN113570037A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024087512A1 (zh) * | 2022-10-24 | 2024-05-02 | 浪潮电子信息产业股份有限公司 | 一种图神经网络压缩方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tung et al. | Clip-q: Deep network compression learning by in-parallel pruning-quantization | |
CN110880036B (zh) | 神经网络压缩方法、装置、计算机设备及存储介质 | |
CN107092959B (zh) | 基于stdp非监督学习算法的脉冲神经网络模型构建方法 | |
Sung et al. | Resiliency of deep neural networks under quantization | |
US10949737B2 (en) | Method for neural network and apparatus performing same method | |
CN110969251B (zh) | 基于无标签数据的神经网络模型量化方法及装置 | |
CN109002889B (zh) | 自适应迭代式卷积神经网络模型压缩方法 | |
KR101700145B1 (ko) | 뉴럴 역학을 수정하기 위한 자동화 방법 | |
CN112215353B (zh) | 一种基于变分结构优化网络的通道剪枝方法 | |
WO2021042857A1 (zh) | 图像分割模型的处理方法和处理装置 | |
Chang et al. | Prune Deep Neural Networks With the Modified $ L_ {1/2} $ Penalty | |
Lopes et al. | Deep belief networks (DBNs) | |
Tang et al. | Image denoising via graph regularized K-SVD | |
CN113570037A (zh) | 神经网络压缩方法及装置 | |
Qi et al. | Learning low resource consumption cnn through pruning and quantization | |
WO2022197615A1 (en) | Techniques for adaptive generation and visualization of quantized neural networks | |
CN113344182A (zh) | 一种基于深度学习的网络模型压缩方法 | |
CN112766492A (zh) | 模型处理方法、装置、电子设备及存储介质 | |
CN117151178A (zh) | 一种面向fpga的cnn定制网络量化加速方法 | |
Chatterjee et al. | Towards optimal quantization of neural networks | |
Xu et al. | LRP-based policy pruning and distillation of reinforcement learning agents for embedded systems | |
Xu et al. | Batch-normalization-based soft filter pruning for deep convolutional neural networks | |
Lin et al. | Collaborative Framework of Accelerating Reinforcement Learning Training with Supervised Learning Based on Edge Computing | |
Jiang et al. | Single-shot pruning and quantization for hardware-friendly neural network acceleration | |
TW202232431A (zh) | 神經網路之自適應調節批量大小的訓練方法 |
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 |