CN111563589B - 一种神经网络模型的量化方法及装置 - Google Patents
一种神经网络模型的量化方法及装置 Download PDFInfo
- Publication number
- CN111563589B CN111563589B CN202010290732.4A CN202010290732A CN111563589B CN 111563589 B CN111563589 B CN 111563589B CN 202010290732 A CN202010290732 A CN 202010290732A CN 111563589 B CN111563589 B CN 111563589B
- Authority
- CN
- China
- Prior art keywords
- layer
- bit width
- neural network
- quantization bit
- determining
- 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
- 238000003062 neural network model Methods 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000011002 quantification Methods 0.000 title description 2
- 238000013139 quantization Methods 0.000 claims abstract description 142
- 238000013507 mapping Methods 0.000 claims abstract description 22
- 238000000638 solvent extraction Methods 0.000 claims abstract description 8
- 230000002787 reinforcement Effects 0.000 claims description 32
- 238000011156 evaluation Methods 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 12
- 238000005457 optimization Methods 0.000 claims description 12
- 230000000903 blocking effect Effects 0.000 claims description 11
- 238000005192 partition Methods 0.000 abstract description 14
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
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/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例涉及一种神经网络模型的量化方法及装置,所述方法包括:在第一约束条件下确定神经网络模型每一层的第一量化位宽,第一约束条件依赖指定的电阻随机存取存储器ReRAM加速器的资源设置;针对神经网络模型的每一层,依据该层的第一量化位宽对该层的权重进行量化并将量化结果映射至ReRAM加速器,以及依据映射结果确定该层对应的第二约束条件;针对神经网络模型的每一层,对该层中的权重进行分块,针对每一分块,在该层对应的第二约束条件下确定该分块的第二量化位宽,并依据第二量化位宽对该分块中的权重进行量化。由此,可以实现最终确定出的量化方案既可以使得ReRAM加速器的资源利用率最高,又可以使得量化之后的神经网络模型的精度最高。
Description
技术领域
本发明实施例涉及神经网络技术领域,尤其涉及一种神经网络模型的量化方法及装置。
背景技术
目前,神经网络在计算机视觉、语音处理等领域已经取得了突破性的进展,进而成为现代人工智能应用的基础。随着物联网技术的发展,越来越多的神经网络模型需要部署到端设备或者边缘设备上以满足各式各样的需求,例如人脸识别、物流自动分拣等。由于端设备的性能和资源往往受限,在使用GPU或TPU加速的神经网络往往很难在端设备上运行,因此很多适用于端设备的加速器逐渐出现,其中基于忆阻器技术的ReRAM加速器由于其具有低漏电流、高计算密集度,存算一体的特性而获得了很多关注。将神经网络部署在ReRAM加速器通常需要将网络模型的权重进行一定精度的量化以适应忆阻器单元的表示精度,此外由于网络模型的尺寸和ReRAM计算阵列往往不匹配,导致直接进行模型映射会使很多单元处于空闲状态,极大浪费了加速器外围的电路资源(ADC/DAC、缓存、IO带宽等)。基于ReRAM技术的加速器特性决定了,可以通过调整权重的位宽来调整模型在加速器上的映射方式,因此采用何种量化位宽对神经网络模型的权重进行量化,以充分利用加速器的硬件资源成为亟待解决的问题。
发明内容
鉴于此,为解决上述技术问题或部分技术问题,本发明实施例提供一种神经网络模型的量化方法及装置。
第一方面,本发明实施例提供一种神经网络模型的量化方法,所述方法包括:
在第一约束条件下确定神经网络模型每一层的第一量化位宽,所述第一约束条件依赖指定的电阻随机存取存储器ReRAM加速器的资源设置;
针对所述神经网络模型的每一层,依据该层的第一量化位宽对该层的权重进行量化并将量化结果映射至所述ReRAM加速器,以及依据映射结果确定该层对应的第二约束条件;
针对所述神经网络模型的每一层,对该层中的权重进行分块,针对每一分块,在该层对应的第二约束条件下确定该分块的第二量化位宽,并依据所述第二量化位宽对该分块中的权重进行量化。
在一个可能的实施方式中,所述针对神经网络模型的每一层,对该层中的权重进行分块,包括:
所述针对神经网络模型的每一层,按照指定的量化位宽对该层中的权重进行量化,并将量化结果映射至所述ReRAM加速器;
依据映射结果,将该层中被映射至同一交叉开关阵列crossbar的权重划分至同一分块,被映射至不同crossbar的权重划分至不同分块。
在一个可能的实施方式中,所述在第一约束条件下确定神经网络模型每一层的第一量化位宽,包括:
利用已训练的强化学习模型确定神经网络模型每一层的第一量化位宽;
所述在该层对应的第二约束条件下确定该权重分块的第二量化位宽,包括:
利用已训练的强化学习模型确定该权重分块的第二量化位宽;
其中,所述强化学习模型包括决策网络和评估网络,所述决策网络用于在所述第一约束条件下确定神经网络模型每一层的第一量化位宽,或在所述第二约束条件下确定所述权重分块的第二量化位宽,所述评估网络用于确定所述决策网络确定出的第一量化位宽对应的评价值,或确定所述决策网络确定出的第二量化位宽对应的评价值。
在一个可能的实施方式中,在利用已训练的强化学习模型确定神经网络模型每一层的第一量化位宽时,以量化后的神经网络模型的精度最高为优化目标;
在利用已训练的强化学习模型确定该权重分块的第二量化位宽时,以对该权重分块中的权重进行量化并将量化结果映射至所述ReRAM加速器之后,所述ReRAM加速器中crossbar的利用率最大为优化目标。
第二方面,本发明实施例提供一种神经网络模型的量化装置,所述装置包括:
第一确定模块,用于在第一约束条件下确定神经网络模型每一层的第一量化位宽,所述第一约束条件依赖指定的电阻随机存取存储器ReRAM加速器的资源设置;
第一量化模块,用于针对所述神经网络模型的每一层,依据该层的第一量化位宽对该层的权重进行量化并将量化结果映射至所述ReRAM加速器,以及依据映射结果确定该层对应的第二约束条件;
分块模块,用于针对所述神经网络模型的每一层,对该层中的权重进行分块;
第二确定模块,用于针对每一分块,在该层对应的第二约束条件下确定该分块的第二量化位宽;
第二量化模块,用于依据所述第二量化位宽对该分块中的权重进行量化。
在一可能的实施方式中,所述分块模块针对神经网络模型的每一层,对该层中的权重进行分块,包括:
所述针对神经网络模型的每一层,按照指定的量化位宽对该层中的权重进行量化,并将量化结果映射至所述ReRAM加速器;
依据映射结果,将该层中被映射至同一交叉开关阵列crossbar的权重划分至同一分块,被映射至不同crossbar的权重划分至不同分块。
在一可能的实施方式中,所述第一确定模块在第一约束条件下确定神经网络模型每一层的第一量化位宽,包括:
利用已训练的强化学习模型确定神经网络模型每一层的第一量化位宽;
所述第二确定模块在该层对应的第二约束条件下确定该权重分块的第二量化位宽,包括:
利用已训练的强化学习模型确定该权重分块的第二量化位宽;
其中,所述强化学习模型包括决策网络和评估网络,所述决策网络用于在所述第一约束条件下确定神经网络模型每一层的第一量化位宽,或在所述第二约束条件下确定所述权重分块的第二量化位宽,所述评估网络用于确定所述决策网络确定出的第一量化位宽对应的评价值,或确定所述决策网络确定出的第二量化位宽对应的评价值。
在一可能的实施方式中,所述第一确定模块在利用已训练的强化学习模型确定神经网络模型每一层的第一量化位宽时,以量化后的神经网络模型的精度最高为优化目标;
所述第二确定模块在利用已训练的强化学习模型确定该权重分块的第二量化位宽时,以对该权重分块中的权重进行量化并将量化结果映射至所述ReRAM加速器之后,所述ReRAM加速器中crossbar的利用率最大为优化目标。
第三方面,本发明实施例提高一种电子设备,包括处理器、通信接口、存储器和通信总线;
其中,所述处理器、通信接口、存储器通过所述通信总线进行相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现本发明神经网络模型的量化方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明神经网络模型的量化方法的步骤。
本发明实施例提供的神经网络模型的量化方法,通过在第一约束条件下确定神经网络模型每一层的第一量化位宽,然后针对神经网络模型的每一层,依据该层的第一量化位宽对该层的权重进行量化并将量化结果映射至ReRAM加速器,以及依据映射结果确定该层对应的第二约束条件,最后针对神经网络模型的每一层,对该层中的权重进行分块,针对每一分块,在该层对应的第二约束条件下确定该分块的第二量化位宽,并依据第二量化位宽对该分块中的权重进行量化,可以实现从粗粒度到细粒度逐步地确定神经网络模型的量化位宽,并且最终确定出的量化方案既可以使得ReRAM加速器的资源利用率最高,又可以使得量化之后的神经网络模型的精度最高。
附图说明
图1为ReRAM加速器的结构示意图;
图2为本发明一示例性实施例提供的一种神经网络模型的量化方法的实施例流程图;
图3为本发明一示例性实施例提供的一种神经网络模型的量化装置的实施例框图;
图4为本发明一示例性实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
请参见图1,为ReRAM加速器的结构示意图。
目前ReRAM加速器由于具有接近零漏电流、高密度存储以及存储内计算的特性而备受关注,其具有图1所示例的层次化结构。具体的,ReRAM加速器的底层为计算阵列和外围电路。其中,计算阵列为ReRAM组成的交叉开关阵列(一个交叉开关阵列包含多个存储单元以及固定规模的外围电路,一个存储单元可存储1至7个比特数据,以下简称crossbar),该阵列用于实现存储和计算功能。外围电路则包括DAC/ADC、移位累加器等,其中,DAC用于将数字量化后的网络激活值转换为模拟值作为计算阵列的输入,ADC将输入和权重乘加后的模拟值转换为数字电路可识别的数字值,累加器则用于完成部分和的累加。
多个计算阵列共同组成上层结构,上层结构中的阵列共享数字电路模块,例如激活函数、最大池化模块、输入/输出缓存、IO等。
基于图1所示例的ReRAM加速器,在将神经网络模型的权重量化之后,将量化结果映射至crossbar的多个存储单元中,其中,一个多比特的权重会分多个bit存储在多个存储单元中,因此可以灵活调整存储单元的数量来支持任意精度的神经网络。
为了提高crossbar的利用率,本发明提供一种神经网络模型的量化方法。如下,示出下述实施例对该神经网络模型的量化方法进行说明:
请参见图2,为本发明一示例性实施例提供的一种神经网络模型的量化方法的实施例流程图,包括以下步骤:
步骤210、在第一约束条件下确定神经网络模型每一层的第一量化位宽。
在一实施例中,上述第一约束条件依赖指定的ReRAM加速器的资源设置。作为一个示例,可以依赖ReRAM加速器中crossbar的数量设置。
在本申请实施例中,首先将神经网络模型,例如VGG11按照层进行划分,然后在第一约束条件下确定该神经网络模型每一层的量化位宽(以下为了描述方便,将每一层的量化位宽称为第一量化位宽),其中,不同的层可以选取不同的量化位宽。
在一实施例中,可以应用已训练的强化学习模型在第一约束条件下确定神经网络模型每一层的第一量化位宽。
其中,强化学习模型包括决策网络和评估网络,决策网络用于在第一约束条件下确定神经网络模型每一层的第一量化位宽,评估网络用于确定决策网络确定出的第一量化位宽对应的评价值。在一个例子中,上述强化学习模型可以采用DDPG(Deep DeterministicPolicy Gradient,深度决策性策略梯度)算法实现。
需要说明的是,在本步骤中,应用已训练的强化学习模型在第一约束条件下确定神经网络模型每一层的第一量化位宽时,以量化后的神经网络模型的精度最高为优化目标。也就是说,通过执行本步骤,可以得到一个可以使得量化后的神经网络模型的精度最高的量化方案。
步骤220、针对神经网络模型的每一层,依据该层的第一量化位宽对该层的权重进行量化并将量化结果映射至ReRAM加速器,以及依据映射结果确定该层对应的第二约束条件。
上述第二约束条件依赖依据第一量化位宽对权重进行量化并将量化结果映射至ReRAM加速器之后,对ReRAM加速器的资源占用情况设置。
步骤230、针对神经网络模型的每一层,对该层中的权重进行分块,针对每一分块,在该层对应的第二约束条件下确定该分块的第二量化位宽,并依据第二量化位宽对该分块中的权重进行量化。
以下首先对如何对神经网络模型每一层中的权重分块进行说明:
在一实施例中,可以针对神经网络模型的每一层,按照指定的量化位宽,例如8比特,对该层中的权重进行量化,并将量化结果映射至ReRAM加速器(此时假设ReRAM加速器的存储资源无限大),然后根据该层中的权重在ReRAM加速器中的分布情况,对该层的权重进行分块,使得被映射至同一个crossbar上的权重划分至一个分块,而被映射至不同crossbar上的权重划分至不同的分块。
后续,则针对每一分块,在该层对应的第二约束条件下确定该分块的量化位宽(以下为了描述方便,将分块的量化位宽称为第二量化位宽)。也就是说,被映射至同一个crossbar上的权重使用相同的第二量化位宽,而被映射至不同crossbar上的权重可以使用相同的第二量化位宽,也可以使用不同的第二量化位宽,本发明对此不做限制。
以下则对如何针对每一分块,在该层对应的第二约束条件下确定该分块的量化位宽进行说明:
与步骤220类似,在本步骤230中,可以利用已训练的强化学习模型确定该权重分块的第二量化位宽,其中,强化学习模型中的决策网络用于在第二约束条件下确定该权重分块的第二量化位宽,评估网络用于确定所述决策网络确定出的第二量化位宽对应的评价值。
需要说明的是,在本步骤中,应用已训练的强化学习模型在第二约束条件下确定每一分块的第二量化位宽时,以对该权重分块中的权重进行量化并将量化结果映射至ReRAM加速器之后,ReRAM加速器中crossbar的利用率最大为优化目标。也就是说,通过执行本步骤,可以得到一个可以使得ReRAM加速器的资源利用率最高的量化方案。
由上述实施例可见,通过在第一约束条件下确定神经网络模型每一层的第一量化位宽,然后针对神经网络模型的每一层,依据该层的第一量化位宽对该层的权重进行量化并将量化结果映射至ReRAM加速器,以及依据映射结果确定该层对应的第二约束条件,最后针对神经网络模型的每一层,对该层中的权重进行分块,针对每一分块,在该层对应的第二约束条件下确定该分块的第二量化位宽,并依据第二量化位宽对该分块中的权重进行量化,可以实现从粗粒度到细粒度逐步地确定神经网络模型的量化位宽,并且最终确定出的量化方案既可以使得ReRAM加速器的资源利用率最高,又可以使得量化之后的神经网络模型的精度最高。
请参见图3,为本发明一示例性实施例提供的一种神经网络模型的量化装置的实施例框图,该装置包括:第一确定模块31、第一量化模块32、分块模块33、第二确定模块34,以及第二量化模块35。
其中,第一确定模块31,用于在第一约束条件下确定神经网络模型每一层的第一量化位宽,所述第一约束条件依赖指定的电阻随机存取存储器ReRAM加速器的资源设置;
第一量化模块32,用于针对所述神经网络模型的每一层,依据该层的第一量化位宽对该层的权重进行量化并将量化结果映射至所述ReRAM加速器,以及依据映射结果确定该层对应的第二约束条件;
分块模块33,用于针对所述神经网络模型的每一层,对该层中的权重进行分块;
第二确定模块34,用于针对每一分块,在该层对应的第二约束条件下确定该分块的第二量化位宽;
第二量化模块35,用于依据所述第二量化位宽对该分块中的权重进行量化。
在一实施例中,所述分块模块33针对神经网络模型的每一层,对该层中的权重进行分块,包括:
所述针对神经网络模型的每一层,按照指定的量化位宽对该层中的权重进行量化,并将量化结果映射至所述ReRAM加速器;
依据映射结果,将该层中被映射至同一交叉开关阵列crossbar的权重划分至同一分块,被映射至不同crossbar的权重划分至不同分块。
在一实施例中,所述第一确定模块31在第一约束条件下确定神经网络模型每一层的第一量化位宽,包括:
利用已训练的强化学习模型确定神经网络模型每一层的第一量化位宽;
所述第二确定模块34在该层对应的第二约束条件下确定该权重分块的第二量化位宽,包括:
利用已训练的强化学习模型确定该权重分块的第二量化位宽;
其中,所述强化学习模型包括决策网络和评估网络,所述决策网络用于在所述第一约束条件下确定神经网络模型每一层的第一量化位宽,或在所述第二约束条件下确定所述权重分块的第二量化位宽,所述评估网络用于确定所述决策网络确定出的第一量化位宽对应的评价值,或确定所述决策网络确定出的第二量化位宽对应的评价值。
在一实施例中,所述第一确定模块31在利用已训练的强化学习模型确定神经网络模型每一层的第一量化位宽时,以量化后的神经网络模型的精度最高为优化目标;
所述第二确定模块34在利用已训练的强化学习模型确定该权重分块的第二量化位宽时,以对该权重分块中的权重进行量化并将量化结果映射至所述ReRAM加速器之后,所述ReRAM加速器中crossbar的利用率最大为优化目标。。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
请继续参见图4,本申请还提供一种计算机设备,包括处理器401、通信接口402、存储器403,以及通信总线404。
其中,处理器401、通信接口402、存储器403通过通信总线404进行相互间的通信;
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的计算机程序,处理器401执行所述计算机程序时实现本申请提供的任一神经网络模型的量化方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请提供的任一神经网络模型的量化方法的步骤。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种神经网络模型的量化方法,其特征在于,所述方法包括:
在第一约束条件下确定神经网络模型每一层的第一量化位宽,所述第一约束条件依赖指定的电阻随机存取存储器ReRAM加速器的资源设置;
针对所述神经网络模型的每一层,依据该层的第一量化位宽对该层的权重进行量化并将量化结果映射至所述ReRAM加速器,以及依据映射结果确定该层对应的第二约束条件;
针对所述神经网络模型的每一层,对该层中的权重进行权重分块,针对每一权重分块,在该层对应的第二约束条件下确定该权重分块的第二量化位宽,并依据所述第二量化位宽对该权重分块中的权重进行量化;
所述在第一约束条件下确定神经网络模型每一层的第一量化位宽,包括:
利用已训练的强化学习模型确定神经网络模型每一层的第一量化位宽;
所述在该层对应的第二约束条件下确定该权重分块的第二量化位宽,包括:
利用已训练的强化学习模型确定该权重分块的第二量化位宽;
其中,所述强化学习模型包括决策网络和评估网络,所述决策网络用于在所述第一约束条件下确定神经网络模型每一层的第一量化位宽,或在所述第二约束条件下确定所述权重分块的第二量化位宽,所述评估网络用于确定所述决策网络确定出的第一量化位宽对应的评价值,或确定所述决策网络确定出的第二量化位宽对应的评价值;
在利用已训练的强化学习模型确定神经网络模型每一层的第一量化位宽时,以量化后的神经网络模型的精度最高为优化目标;
在利用已训练的强化学习模型确定该权重分块的第二量化位宽时,以对该权重分块中的权重进行量化并将量化结果映射至所述ReRAM加速器之后,所述ReRAM加速器中交叉开关阵列crossbar的利用率最大为优化目标。
2.根据权利要求1所述的方法,其特征在于,所述针对神经网络模型的每一层,对该层中的权重进行权重分块,包括:
所述针对神经网络模型的每一层,按照指定的量化位宽对该层中的权重进行量化,并将量化结果映射至所述ReRAM加速器;
依据映射结果,将该层中被映射至同一交叉开关阵列crossbar的权重划分至同一权重分块,被映射至不同crossbar的权重划分至不同权重分块。
3.一种神经网络模型的量化装置,其特征在于,所述装置包括:
第一确定模块,用于在第一约束条件下确定神经网络模型每一层的第一量化位宽,所述第一约束条件依赖指定的电阻随机存取存储器ReRAM加速器的资源设置;
第一量化模块,用于针对所述神经网络模型的每一层,依据该层的第一量化位宽对该层的权重进行量化并将量化结果映射至所述ReRAM加速器,以及依据映射结果确定该层对应的第二约束条件;
权重分块模块,用于针对所述神经网络模型的每一层,对该层中的权重进行权重分块;
第二确定模块,用于针对每一权重分块,在该层对应的第二约束条件下确定该权重分块的第二量化位宽;
第二量化模块,用于依据所述第二量化位宽对该权重分块中的权重进行量化;
所述权重分块模块针对神经网络模型的每一层,对该层中的权重进行权重分块,包括:
所述针对神经网络模型的每一层,按照指定的量化位宽对该层中的权重进行量化,并将量化结果映射至所述ReRAM加速器;
依据映射结果,将该层中被映射至同一交叉开关阵列crossbar的权重划分至同一权重分块,被映射至不同crossbar的权重划分至不同权重分块;
所述第一确定模块在第一约束条件下确定神经网络模型每一层的第一量化位宽,包括:
利用已训练的强化学习模型确定神经网络模型每一层的第一量化位宽;
所述第二确定模块在该层对应的第二约束条件下确定该权重分块的第二量化位宽,包括:
利用已训练的强化学习模型确定该权重分块的第二量化位宽;
其中,所述强化学习模型包括决策网络和评估网络,所述决策网络用于在所述第一约束条件下确定神经网络模型每一层的第一量化位宽,或在所述第二约束条件下确定所述权重分块的第二量化位宽,所述评估网络用于确定所述决策网络确定出的第一量化位宽对应的评价值,或确定所述决策网络确定出的第二量化位宽对应的评价值;
所述第一确定模块在利用已训练的强化学习模型确定神经网络模型每一层的第一量化位宽时,以量化后的神经网络模型的精度最高为优化目标;
所述第二确定模块在利用已训练的强化学习模型确定该权重分块的第二量化位宽时,以对该权重分块中的权重进行量化并将量化结果映射至所述ReRAM加速器之后,所述ReRAM加速器中crossbar的利用率最大为优化目标。
4.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线;
其中,所述处理器、通信接口、存储器通过所述通信总线进行相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-2任一所述方法的步骤。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-2任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290732.4A CN111563589B (zh) | 2020-04-14 | 2020-04-14 | 一种神经网络模型的量化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290732.4A CN111563589B (zh) | 2020-04-14 | 2020-04-14 | 一种神经网络模型的量化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111563589A CN111563589A (zh) | 2020-08-21 |
CN111563589B true CN111563589B (zh) | 2024-01-16 |
Family
ID=72070423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010290732.4A Active CN111563589B (zh) | 2020-04-14 | 2020-04-14 | 一种神经网络模型的量化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111563589B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112561049B (zh) * | 2020-12-23 | 2022-06-17 | 首都师范大学 | 一种基于忆阻器的dnn加速器的资源分配方法及装置 |
CN112990444B (zh) * | 2021-05-13 | 2021-09-24 | 电子科技大学 | 一种混合式神经网络训练方法、系统、设备及存储介质 |
CN113469349B (zh) * | 2021-07-02 | 2022-11-08 | 上海酷芯微电子有限公司 | 多精度神经网络模型实现方法及系统 |
CN114169513B (zh) * | 2022-02-11 | 2022-05-24 | 深圳比特微电子科技有限公司 | 神经网络的量化方法、装置、存储介质及电子设备 |
CN115357554B (zh) * | 2022-10-24 | 2023-02-24 | 浪潮电子信息产业股份有限公司 | 一种图神经网络压缩方法、装置、电子设备及存储介质 |
CN116561050A (zh) * | 2023-04-07 | 2023-08-08 | 清华大学 | 面向rram存算一体芯片的细粒度映射方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451659A (zh) * | 2017-07-27 | 2017-12-08 | 清华大学 | 用于位宽分区的神经网络加速器及其实现方法 |
CN109543815A (zh) * | 2018-10-17 | 2019-03-29 | 清华大学 | 神经网络的加速方法及装置 |
CN110378468A (zh) * | 2019-07-08 | 2019-10-25 | 浙江大学 | 一种基于结构化剪枝和低比特量化的神经网络加速器 |
CN110852439A (zh) * | 2019-11-20 | 2020-02-28 | 字节跳动有限公司 | 神经网络模型的压缩与加速方法、数据处理方法及装置 |
CN110969251A (zh) * | 2019-11-28 | 2020-04-07 | 中国科学院自动化研究所 | 基于无标签数据的神经网络模型量化方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11645493B2 (en) * | 2018-05-04 | 2023-05-09 | Microsoft Technology Licensing, Llc | Flow for quantized neural networks |
-
2020
- 2020-04-14 CN CN202010290732.4A patent/CN111563589B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451659A (zh) * | 2017-07-27 | 2017-12-08 | 清华大学 | 用于位宽分区的神经网络加速器及其实现方法 |
CN109543815A (zh) * | 2018-10-17 | 2019-03-29 | 清华大学 | 神经网络的加速方法及装置 |
CN110378468A (zh) * | 2019-07-08 | 2019-10-25 | 浙江大学 | 一种基于结构化剪枝和低比特量化的神经网络加速器 |
CN110852439A (zh) * | 2019-11-20 | 2020-02-28 | 字节跳动有限公司 | 神经网络模型的压缩与加速方法、数据处理方法及装置 |
CN110969251A (zh) * | 2019-11-28 | 2020-04-07 | 中国科学院自动化研究所 | 基于无标签数据的神经网络模型量化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111563589A (zh) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111563589B (zh) | 一种神经网络模型的量化方法及装置 | |
US20220374688A1 (en) | Training method of neural network based on memristor and training device thereof | |
CN106570559A (zh) | 一种基于神经网络的数据处理方法和装置 | |
CN111079899A (zh) | 神经网络模型压缩方法、系统、设备及介质 | |
Long et al. | Q-pim: A genetic algorithm based flexible dnn quantization method and application to processing-in-memory platform | |
CN111814973B (zh) | 一种适用于神经常微分方程网络计算的存内计算系统 | |
CN108764458B (zh) | 一种减少移动设备存储空间消耗以及计算量的方法及系统 | |
JP2019046072A (ja) | ニューロモルフィック素子を含むアレイの制御装置、離散化ステップサイズの演算方法およびプログラム | |
CN109740737B (zh) | 卷积神经网络量化处理方法、装置及计算机设备 | |
CN110874626B (zh) | 一种量化方法及装置 | |
CN112561049B (zh) | 一种基于忆阻器的dnn加速器的资源分配方法及装置 | |
CN116502691A (zh) | 一种应用于fpga的深度卷积神经网络混合精度量化方法 | |
CN110826692B (zh) | 一种自动化模型压缩方法、装置、设备及存储介质 | |
CN111344719A (zh) | 基于深度神经网络的数据处理方法、装置及移动设备 | |
CN115759238B (zh) | 一种量化模型的生成方法及装置、电子设备及存储介质 | |
JP7215572B2 (ja) | 推論処理装置および推論処理方法 | |
CN111860810A (zh) | 一种基于fpga的神经网络运算方法、装置及设备 | |
CN113554097B (zh) | 模型量化方法、装置、电子设备和存储介质 | |
CN115392441A (zh) | 量化神经网络模型的片内适配方法、装置、设备及介质 | |
CN111984652B (zh) | 一种位图数据中空闲块的查找方法及相关组件 | |
CN111767204B (zh) | 溢出风险检测方法、装置及设备 | |
CN114139678A (zh) | 卷积神经网络量化方法、装置、电子设备和存储介质 | |
CN112148483A (zh) | 一种容器迁移方法及相关装置 | |
CN114826951B (zh) | 服务自动降级方法、装置、计算机设备和存储介质 | |
CN116187140B (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 | ||
CB02 | Change of applicant information |
Address after: Room 701-710, 728-731, 7th Floor, Building 8, Artificial Intelligence Industrial Park, No. 266 Chuangyan Road, Qilin Technology Innovation Park, Nanjing City, Jiangsu Province, 211135 Applicant after: Zhongke Wuqi (Nanjing) Technology Co.,Ltd. Address before: Room 1248, 12 / F, research complex building, Institute of computing technology, Chinese Academy of Sciences, No. 6, South Road, Haidian District, Beijing 100086 Applicant before: JEEJIO (BEIJING) TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |