CN114528101A - 一种应用于电力边缘计算的神经网络的结构化动态量化方法 - Google Patents
一种应用于电力边缘计算的神经网络的结构化动态量化方法 Download PDFInfo
- Publication number
- CN114528101A CN114528101A CN202210131162.3A CN202210131162A CN114528101A CN 114528101 A CN114528101 A CN 114528101A CN 202210131162 A CN202210131162 A CN 202210131162A CN 114528101 A CN114528101 A CN 114528101A
- Authority
- CN
- China
- Prior art keywords
- group
- bit
- neural network
- method comprises
- budget
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 16
- 238000004364 calculation method Methods 0.000 title claims abstract description 11
- 238000011002 quantification Methods 0.000 title claims description 8
- 230000004913 activation Effects 0.000 claims description 6
- 238000003062 neural network model Methods 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 claims description 3
- 238000010187 selection method Methods 0.000 claims description 2
- 238000013139 quantization Methods 0.000 abstract description 20
- 238000013507 mapping Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241000665848 Isca Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Neurology (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种应用于电力边缘计算的神经网络的结构化动态量化方法,首先将全精度的32位浮点数网络量化至8位整型定点数;对输入特征图沿输入通道进行组划分,每组所包含的特征图像素个数定义为组规模groupsize(GS);将不同组的运算映射到加速器中的不同运算单元上进行;解决了现有技术基于区域的量化方法,根据不同区域的重要程度调整量化精度。但由于重要区域的分布不均匀,导致其在加速器中的运算单元的利用率不高等技术问题。
Description
技术领域
本发明属于机器学习神经网络压缩加速领域;尤其涉及一种应用于电力边缘计算的神经网络的结构化动态量化方法。
背景技术
边缘计算是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。对于电力系统来说,接入的设备数量以及使用者的数量都是十分庞大的,因此需要将部分计算在边缘完成。目前,神经网络已成为人工智能,计算机视觉等领域的强力算法,所涉及的应用也越来越广泛。神经网络的部署平台也越来越广,包括了云端服务器,终端手机设备以及边缘嵌入式设备等。神经网络对运算量与存储空间有庞大的需求,而边缘设备由于其性能和功耗均受限,因此将其搭载到边缘设备上挑战很大。
量化是神经网络模型压缩和加速的一种通用方法,被广泛的应用在各种部署流程中。但是传统的量化方法对所有层使用相同的量化精度,而不同输入特征图的重要程度其实是不一样的,对所有特征图使用相同的量化精度显然存在浪费。尤其是在线性整流ReLU激活函数之后,所有为负数的值均会被转化为0。论文Zhuoran Song, Bangqi Fu, FeiyangWu, Zhaoming Jiang, Li Jiang, Naifeng Jing, Xiaoyao Liang: DRQ: DynamicRegion-based Quantization for Deep Neural Network Acceleration. ISCA 2020:1010-1021提出了一种动态的基于区域的量化方法,可以根据不同区域的重要程度调整量化精度。但由于重要区域的分布不均匀,导致其在加速器中的运算单元的利用率不高。
发明内容
本发明要解决的技术问题:提供一种应用于电力边缘计算的神经网络的结构化动态量化方法,以解决现有技术基于区域的量化方法,根据不同区域的重要程度调整量化精度。但由于重要区域的分布不均匀,导致其在加速器中的运算单元的利用率不高等技术问题。
本发明技术方案:
一种应用于电力边缘计算的神经网络的结构化动态量化方法,首先将全精度的32位浮点数网络量化至8位整型定点数;对输入特征图沿输入通道进行组划分,每组所包含的特征图像素个数定义为组规模groupsize(GS);将不同组的运算映射到加速器中的不同运算单元上进行。
分组时为了避免运算单元间不平衡,要限制每组的运算量。
每组的运算量确定方法为:根据非零激活函数的比例计算出稀疏度,根据稀疏度得出组预算,即每组最大的乘法次数。
所述8位整型定点数被拆分为二个4位的定点数;分别为高4位H4和低4位L4。
H4和L4在做乘法运算的时候方法相同,在最后的累加前将高4位的乘法结果左移4位对齐。
从组中选择小于等于组预算GB个用于计算的4位数时,要保证均方误差最小。
具体选择方法为:先从H4中从大到小选择非零项,若H4中非零项数少于组预算GB,则从L4中继续选择最大值,直到满足组预算。
在实现过程中,验证该方法的实验环境为Pytorch,使用的数据集为ImageNet数据库,使用的深度神经网络模型包括ResNet-18/50,vgg16和MobileNetV2。
本发明的有益效果:
本发明对神经网络输入特征图沿输入通道进行组划分,每组所包含的特征图像素个数定义为组规模groupsize(GS)。不同组的运算将映射到加速器中的不同运算单元上,为了避免运算单元间不平衡,本发明限制了每组的运算量。本发明提出了结构化的动态量化方法,极大地提高计算单元利用率,加速网络推理。
解决了现有技术基于区域的量化方法,根据不同区域的重要程度调整量化精度。但由于重要区域的分布不均匀,导致其在加速器中的运算单元的利用率不高等技术问题。
附图说明
图1为本发明动态量化流程图;
图2为本发明具体实施方式动态量化的代价以及误差示意图。
具体实施方式
以图1为例,详细介绍本发明提出的神经网络结构化的动态量化方法。
首先,全精度的32位浮点数网络会被量化至8位整型定点数。该步骤在神经网络的部署中十分通用,并且不需要额外的训练也可以保持较好的网络分类性能。
进而,本发明对输入特征图沿输入通道进行组划分,每组所包含的特征图像素个数定义为组规模groupsize(GS)。不同组的运算将映射到加速器中的不同运算单元上,为了避免运算单元间不平衡,本发明限制了每组的运算量。
具体而言,本发明根据非零激活函数的比例,可以计算出稀疏度,在根据该稀疏度得出组预算groupbudget(GB),即每组最大的乘法次数。
由于神经网络的特征值会呈现钟形分布,即大部分数值会集中0附近,高位均为0。
进一步,本发明将8位整型定点数拆分为2个4位的定点数。分别即为高4位H4和低4位L4,H4和L4在做乘法运算的时候没有任何差别,只是在最后的累加前需要将高4位的乘法结果左移4位对齐。
本例以组规模为4,组预算为3为例,其中这4个8位定点数分别为0,5,32,82。
进一步,从组中选择小于等于组预算GB个用于计算的4位数。
选取步骤要保证均方误差最小,因此先从H4中从大到小选择非零项。
H4中非零项数为2少于组预算GB的3,则可以从L4中继续选择最大值,直到满足组预算。
可以看到本例中,原本的82在经过动态量化后,由于组预算的限制变为了80。而在图2中的和其他量化方法的比较中,也可以看出,本发明的方法在较小的代价下也可以取得不错的量化结果。
通过这样的规则化,组之间的运算量相同,不会有运算资源的浪费。
在实现过程中,验证该方法的实验环境为Pytorch,使用的数据集为ImageNet数据库,使用的深度神经网络模型包括ResNet-18/50,vgg16和MobileNetV2。
以ResNet18在ImageNet数据集下的结果为例和均匀量化进行对比,将激活值均匀量化至4比特后网络训练的分类性能为66.14%准确率,而使用本发明的方法不仅可以将激活值量化至平均3.1比特,同时还能将网络性能保持在69.74%准确率。
Claims (8)
1.一种应用于电力边缘计算的神经网络的结构化动态量化方法,其特征在于:首先将全精度的32位浮点数网络量化至8位整型定点数;对输入特征图沿输入通道进行组划分,每组所包含的特征图像素个数定义为组规模groupsize(GS);将不同组的运算映射到加速器中的不同运算单元上进行。
2.根据权利要求1所述的一种应用于电力边缘计算的神经网络的结构化动态量化方法,其特征在于:分组时为了避免运算单元间不平衡,要限制每组的运算量。
3.根据权利要求2所述的一种应用于电力边缘计算的神经网络的结构化动态量化方法,其特征在于:每组的运算量确定方法为:根据非零激活函数的比例计算出稀疏度,根据稀疏度得出组预算,即每组最大的乘法次数。
4.根据权利要求1所述的一种应用于电力边缘计算的神经网络的结构化动态量化方法,其特征在于:所述8位整型定点数被拆分为二个4位的定点数;分别为高4位H4和低4位L4。
5.根据权利要求4所述的一种应用于电力边缘计算的神经网络的结构化动态量化方法,其特征在于:H4和L4在做乘法运算的时候方法相同,在最后的累加前将高4位的乘法结果左移4位对齐。
6.根据权利要求1所述的一种应用于电力边缘计算的神经网络的结构化动态量化方法,其特征在于:从组中选择小于等于组预算GB个用于计算的4位数时,要保证均方误差最小。
7.根据权利要求6所述的一种应用于电力边缘计算的神经网络的结构化动态量化方法,其特征在于:具体选择方法为:先从H4中从大到小选择非零项,若H4中非零项数少于组预算GB,则从L4中继续选择最大值,直到满足组预算。
8.根据权利要求1所述的一种应用于电力边缘计算的神经网络的结构化动态量化方法,其特征在于:在实现过程中,验证该方法的实验环境为Pytorch,使用的数据集为ImageNet数据库,使用的深度神经网络模型包括ResNet-18/50,vgg16和MobileNetV2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210131162.3A CN114528101A (zh) | 2022-02-14 | 2022-02-14 | 一种应用于电力边缘计算的神经网络的结构化动态量化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210131162.3A CN114528101A (zh) | 2022-02-14 | 2022-02-14 | 一种应用于电力边缘计算的神经网络的结构化动态量化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114528101A true CN114528101A (zh) | 2022-05-24 |
Family
ID=81623503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210131162.3A Pending CN114528101A (zh) | 2022-02-14 | 2022-02-14 | 一种应用于电力边缘计算的神经网络的结构化动态量化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114528101A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105814538A (zh) * | 2013-10-23 | 2016-07-27 | 芬兰国家技术研究中心股份公司 | 用于仿真共享内存架构的支持浮点的流水线 |
CN108268320A (zh) * | 2016-12-31 | 2018-07-10 | 英特尔公司 | 用于网络规模k均值群集的硬件加速器架构和模板 |
CN109615068A (zh) * | 2018-11-08 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 一种对模型中的特征向量进行量化的方法和装置 |
US20200117993A1 (en) * | 2017-05-31 | 2020-04-16 | Intel Corporation | Tensor-based computing system for quaternion operations |
US20200285949A1 (en) * | 2017-04-04 | 2020-09-10 | Hailo Technologies Ltd. | Structured Activation Based Sparsity In An Artificial Neural Network |
CN111767146A (zh) * | 2020-06-24 | 2020-10-13 | 杭州电子科技大学 | 一种基于网络重配置的分布式机器学习系统加速方法 |
CN112633477A (zh) * | 2020-12-28 | 2021-04-09 | 电子科技大学 | 一种基于现场可编程阵列的量化神经网络加速方法 |
CN112668714A (zh) * | 2020-12-24 | 2021-04-16 | 苏州浪潮智能科技有限公司 | 一种卷积神经网络低比特量化方法、系统及介质 |
-
2022
- 2022-02-14 CN CN202210131162.3A patent/CN114528101A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105814538A (zh) * | 2013-10-23 | 2016-07-27 | 芬兰国家技术研究中心股份公司 | 用于仿真共享内存架构的支持浮点的流水线 |
CN108268320A (zh) * | 2016-12-31 | 2018-07-10 | 英特尔公司 | 用于网络规模k均值群集的硬件加速器架构和模板 |
US20200285949A1 (en) * | 2017-04-04 | 2020-09-10 | Hailo Technologies Ltd. | Structured Activation Based Sparsity In An Artificial Neural Network |
US20200117993A1 (en) * | 2017-05-31 | 2020-04-16 | Intel Corporation | Tensor-based computing system for quaternion operations |
CN109615068A (zh) * | 2018-11-08 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 一种对模型中的特征向量进行量化的方法和装置 |
CN111767146A (zh) * | 2020-06-24 | 2020-10-13 | 杭州电子科技大学 | 一种基于网络重配置的分布式机器学习系统加速方法 |
CN112668714A (zh) * | 2020-12-24 | 2021-04-16 | 苏州浪潮智能科技有限公司 | 一种卷积神经网络低比特量化方法、系统及介质 |
CN112633477A (zh) * | 2020-12-28 | 2021-04-09 | 电子科技大学 | 一种基于现场可编程阵列的量化神经网络加速方法 |
Non-Patent Citations (4)
Title |
---|
MAHMOUD ELJAMMALY: ""Hardware implementation of LU decomposition using dataflow architecture on FPGA"", 《2013 5TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY》, 5 September 2013 (2013-09-05), pages 298 - 302 * |
YU WANG: ""Development And Application of AI Chip-Based Power Vision Edge Computing for Ice Detection Device"", 《2023 3RD INTERNATIONAL CONFERENCE ON ELECTRICAL ENGINEERING AND MECHATRONICS TECHNOLOGY(ICEEMT)》, 29 September 2023 (2023-09-29), pages 822 - 825 * |
李林鹏: ""压缩卷积神经网络的FPGA加速研究与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 2020, 15 February 2020 (2020-02-15), pages 135 - 767 * |
韦易笑: ""定点数优化:性能成倍提升"", Retrieved from the Internet <URL:《https://zhuanlan.zhihu.com/p/149517485》> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378468B (zh) | 一种基于结构化剪枝和低比特量化的神经网络加速器 | |
CN107480770B (zh) | 可调节量化位宽的神经网络量化与压缩的方法及装置 | |
CN109002889B (zh) | 自适应迭代式卷积神经网络模型压缩方法 | |
CN110852416B (zh) | 基于低精度浮点数数据表现形式的cnn硬件加速计算方法及系统 | |
TWI830938B (zh) | 對人工神經網路進行量化的方法及系統以及人工神經網路設備 | |
CN110852434B (zh) | 基于低精度浮点数的cnn量化方法、前向计算方法及硬件装置 | |
CN112200300B (zh) | 卷积神经网络运算方法及装置 | |
CN110175641B (zh) | 图像识别方法、装置、设备和存储介质 | |
CN111062472A (zh) | 一种基于结构化剪枝的稀疏神经网络加速器及其加速方法 | |
US20220004884A1 (en) | Convolutional Neural Network Computing Acceleration Method and Apparatus, Device, and Medium | |
CN111696149A (zh) | 针对基于cnn的立体匹配算法的量化方法 | |
CN110647990A (zh) | 基于灰色关联分析的深度卷积神经网络模型的裁剪方法 | |
TW202022798A (zh) | 處理卷積神經網路的方法 | |
EP4008057A1 (en) | Lossless exponent and lossy mantissa weight compression for training deep neural networks | |
Chu et al. | Group channel pruning and spatial attention distilling for object detection | |
Choi et al. | Hardware-friendly logarithmic quantization with mixed-precision for mobilenetv2 | |
US11507782B2 (en) | Method, device, and program product for determining model compression rate | |
CN113780523A (zh) | 图像处理方法、装置、终端设备及存储介质 | |
CN114528101A (zh) | 一种应用于电力边缘计算的神经网络的结构化动态量化方法 | |
CN114049162B (zh) | 模型训练方法、需求量预测方法、装置、设备和存储介质 | |
CN113177627B (zh) | 优化系统、重新训练系统及其方法及处理器和可读介质 | |
CN113033804B (zh) | 一种面向遥感图像的卷积神经网络压缩方法 | |
CN112561050B (zh) | 一种神经网络模型训练方法及装置 | |
CN114139678A (zh) | 卷积神经网络量化方法、装置、电子设备和存储介质 | |
CN111240606A (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 |