CN111985495B - 模型部署方法、装置、系统及存储介质 - Google Patents
模型部署方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN111985495B CN111985495B CN202010656190.8A CN202010656190A CN111985495B CN 111985495 B CN111985495 B CN 111985495B CN 202010656190 A CN202010656190 A CN 202010656190A CN 111985495 B CN111985495 B CN 111985495B
- Authority
- CN
- China
- Prior art keywords
- layer
- quantization
- weight
- scaling factor
- model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000013139 quantization Methods 0.000 claims abstract description 212
- 238000006243 chemical reaction Methods 0.000 claims abstract description 73
- 238000012549 training Methods 0.000 claims abstract description 51
- 238000013135 deep learning Methods 0.000 claims abstract description 33
- 230000004913 activation Effects 0.000 claims description 69
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 9
- 238000013473 artificial intelligence Methods 0.000 description 11
- 238000013136 deep learning model Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 101100317378 Mus musculus Wnt3 gene Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/625—License plates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明适用于深度学习技术领域,提供了一种模型部署方法、装置、系统及存储介质,该方法包括:通过对接收到的预训练模型执行第一格式转换操作,根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化,得到量化参数和量化后的模型参数,对量化参数和量化后的模型参数执行第二格式转换操作并输出,得到量化后的模型,将量化后的模型部署到ASIC人工智能芯片上,从而实现了不同深度学习框架预训练模型在ASIC人工智能芯片上的量化部署。
Description
技术领域
本发明属于深度学习技术领域,尤其涉及一种模型部署方法、装置、系统及存储介质。
背景技术
自AlexNet横空出世,深度学习模型为了提高网络精度通常带有大量的参数和层,导致模型存储大小急剧增加,推理速度缓慢。推理缓慢使得很多精度高的深度学习网络一直只能运行在计算能力较高的GPU系统上,落地应用困难。
随着深度学习在近年来的逐步升温,智能边缘计算应用需求增大,边缘侧的软硬件一体化人工智能芯片成本低效率高,ASIC(Application Specific Integrated Circuit,专用集成电路)人工智能芯片应运而生,ASIC人工智能芯片通过加速深度学习中的运算使深度学习可以加速运行,同时ASIC人工智能芯片可以定制配置运行在低功耗计算资源较少的终端侧,但也是由于端侧的计算资源较少,能耗要求较高,传统的深度学习模型通常需要量化到精度较低的数据类型才可以达到落地的指标要求,例如检测速度。
由于落地的迫切需求,近年来学术界出现了不少的量化方案和量化实现。但是这些实现都没有考虑ASIC人工智能芯片的情况,深度学习ASIC人工智能芯片通常计算资源较少,尤其位宽、中间值位宽与现在的通用芯片有较大区别,导致传统的深度学习模型通常并不能直接部署到ASIC人工智能芯片上。
发明内容
本发明的目的在于提供一种模型部署方法、装置、系统及存储介质,旨在解决现有技术中深度学习模型无法直接部署到ASIC人工智能芯片上的问题。
一方面,本发明提供一种模型部署方法,所述方法包括下述步骤:
对接收到的预训练模型执行第一格式转换操作,其中,所述第一格式转换操作用于将所述预训练模型由第一深度学习框架下的存储格式转换到预定存储格式;
根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化,得到量化参数和量化后的模型参数,其中,所述量化位宽根据待部署ASIC人工智能芯片确定;
对所述量化参数和量化后的模型参数执行第二格式转换操作并输出,得到量化后的模型,其中,所述第二格式转换操作用于将所述量化参数和量化后的模型参数由所述预定存储格式转换到第二深度学习框架下的存储格式;
将所述量化后的模型部署到所述ASIC人工智能芯片上。
优选地,所述根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化的步骤,包括:
根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行权重量化、激活值量化和偏置量化。
优选地,根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行权重量化的步骤,包括:
依次遍历所述预训练模型中各层的权重,找到各层对应的最大权重和最小权重,将求取到的所述最大权重和所述最小权重对应的最大绝对极值作为权重量化阈值;
根据所述权重量化阈值和所述量化位宽确定各层对应的权重缩放因子,所述权重缩放因子其中,/>表示l层对应的权重缩放因子,bw表示所述量化位宽,/>表示l层对应的权重量化阈值;
将各层的权重与所述权重缩放因子相乘后进行四舍五入处理,得到权重量化值。
优选地,根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行激活值量化的步骤,包括:
将测试数据集输入到所述预训练模型中进行前向传播,获取各层的激活值;
将各层的激活值转换为以2048个bin的形式保存的直方图,遍历所有的bin的值,作为量化阈值,使用KL散度或信息熵找到各层对应的信息熵最小的量化阈值,将所述信息熵最小的量化阈值作为激活值量化阈值;
根据所述激活值量化阈值和所述量化位宽确定各层对应的激活值缩放因子,所述激活值缩放因子其中,/>表示l层对应的权重缩放因子,bw表示所述量化位宽,/>表示l层对应的激活值量化阈值。
优选地,根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行偏置量化的步骤,包括:
根据所述权值缩放因子和激活值缩放因子确定各层的偏置缩放因子,所述偏置缩放因子其中,/>表示l层对应的偏置缩放因子,/>表示l层对应的权重缩放因子,l-1表示l层的输入层,/>表示l层的输入层对应的激活值缩放因子;
将各层的偏置与所述偏置缩放因子相乘后进行四舍五入处理,得到偏置量化值。
优选地,所述量化参数包括层缩放因子,所述层缩放因子的计算公式为其中,/>表示l层对应的激活值缩放因子,/>表示l层对应的偏置缩放因子,/>表示l层对应的权重缩放因子,l-1表示l层的输入层,/>表示l层的输入层对应的激活值缩放因子。
优选地,所述方法还包括:
根据公式得到层的输出量化值,其中,Yq表示输出量化值,Wq表示权重量化值,Xq表示输入量化值,Bq表示偏置量化值,k表示移位的位数,sl表示l层对应的层缩放因子,/>表示l层对应的层缩放因子量化值,n表示超参数,n的取值使/>在可用下的最高位数。
优选地,所述移位的位数为的数量级。
另一方面,本发明提供了一种模型部署装置,所述装置包括:
第一格式转换单元,用于对接收到的预训练模型执行第一格式转换操作,其中,所述第一格式转换操作用于将所述预训练模型由第一深度学习框架下的存储格式转换到预定存储格式;
模型量化单元,用于根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化,得到量化参数和量化后的模型参数,其中,所述量化位宽根据待部署ASIC人工智能芯片确定,所述量化参数包括层缩放因子;以及
第二格式转换单元,用于对所述量化参数和量化后的模型参数执行第二格式转换操作并输出,得到量化后的模型,其中,所述第二格式转换操作用于将所述量化参数和量化后的模型参数由所述预定存储格式转换到第二深度学习框架下的存储格式;
模型部署单元,用于将所述量化后的模型部署到所述ASIC人工智能芯片上。
另一方面,本发明还提供了一种模型部署系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
本发明通过对接收到的预训练模型执行第一格式转换操作,根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化,得到量化参数和量化后的模型参数,对所述量化参数和量化后的模型参数执行第二格式转换操作并输出,得到量化后的模型,将量化后的模型部署到所述ASIC人工智能芯片上,从而实现了不同深度学习框架预训练模型在ASIC人工智能芯片上的量化部署。
附图说明
图1是本发明实施例一提供的模型部署方法的实现流程图;
图2是本发明实施例二提供的模型部署装置的结构示意图;以及
图3是本发明实施例三提供的模型部署系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的模型部署方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S101中,对接收到的预训练模型执行第一格式转换操作。
在本发明实施例中,预训练模型中通常包括深度学习模型的结构定义和深度学习模型的参数,不同的深度学习框架产生的预训练模型在硬盘中的存储格式不同,且不同的深度学习框架和深度学习模型不能互相读取,因此,在接收到预训练模型时,需要对其进行第一格式转换,以便于后续的量化在统一的数据存储格式下进行。其中,第一格式转换操作用于将预训练模型由第一深度学习框架下的存储格式转换到预定存储格式,其中,第一深度学习框架可以为任意一种深度学习框架,例如,Caffe、PyTorch或TensorFlow等,预定存储格式可以为现有深度学习模型的任意一种存储格式,优选地,预定存储格式可以为开放神经网络交换(Open Neural Network Exchange,ONNX)格式,从而通过第一深度学习框架下的存储格式与开放神经网络交换格式的转换,实现了对不同深度学习框架预训练模型的处理,降低了为ASIC人工智能芯片开发模型的不同团队的部署压力。
在步骤S102中,根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化,得到量化参数和量化后的模型参数。
在本发明实施例中,对于ASIC人工智能芯片而言,尽管其功耗低、峰值计算性能较高,但通常内部具备较小的计算位宽,不同的ASIC人工智能芯片略有不同,因此,量化位宽需要根据ASIC人工智能芯片的位宽确定,以支持任一ASIC人工智能芯片。该量化位宽可以为int4、int8或int16等,在此不作限定。
在根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化时,可包括权重量化和激活值量化,优选地,对执行第一格式转换操作后的预训练模型的全整型量化包括权重量化、激活值量化和偏置量化,以通过激活值的量化平衡整个量化过程带来的误差。
在根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行权重量化时,优选地,依次遍历预训练模型中各层的权重,找到各层对应的最大权重max_wl和最小权重min_wl,将求取到的最大权重max_wl和最小权重min_wl对应的最大绝对极值作为权重量化阈值权重量化阈值的公式表达为/>根据权重量化阈值和量化位宽确定各层对应的权重缩放因子/>权重缩放因子的公式表达为/>将各层的权重W与权重缩放因子相乘后进行四舍五入处理,得到权重量化值W′,权重量化值/>以完成权重的量化。其中,max()和abs()分别代表取最大值函数和取绝对值函数,round()表示的是四舍五入近似取整函数,/>表示l层对应的权重缩放因子,bw表示量化位宽,/>表示l层对应的权重量化阈值,W表示原始权重值,Wq表示权重量化值。
在根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行激活值量化时,优选地,将测试数据集输入到预训练模型中进行前向传播,获取各层的激活值,将各层的激活值转换为以2048个bin的形式保存的直方图,遍历所有的bin的值,将遍历到的bin的值依次作为量化阈值,使用KL散度或信息熵找到各层对应的信息熵最小的量化阈值,将信息熵最小的量化阈值作为激活值量化阈值根据激活值量化阈值和量化位宽确定各层对应的激活值缩放因子/>激活值缩放因子/>从而通过离线的方式实现了激活值的量化,提高了量化速度。其中,/>表示l层对应的权重缩放因子,bw表示量化位宽,/>表示l层对应的激活值量化阈值。
在根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行偏置量化时,考虑到偏置在神经网络中的占比非常少,所以开销不会很大,优选地,根据权值缩放因子和激活值缩放因子确定各层的偏置缩放因子 将各层的偏置B与偏置缩放因子相乘后进行四舍五入处理,得到偏置量化值Bq,偏置量化值的公式表达为从而在一定程度上平衡整个量化过程带来的误差。其中,/>表示l层对应的偏置缩放因子,/>表示l层对应的权重缩放因子,l-1表示l层的输入层,/>表示l层的输入层对应的激活值缩放因子,B表示原始偏置值,Bq表示偏置量化值。
在将前一层的网络结果输出至下一层前,需要对量化的数据进行恢复,从而优选地,量化参数包括层缩放因子,以通过层缩放因子对量化的数据进行恢复,具体实现中,将层缩放因子与激活值相乘以对量化的数据进行恢复。其中,层缩放因子的计算公式为其中,sl表示l层对应的层缩放因子,/>表示l层对应的激活值缩放因子,/>表示l层对应的偏置缩放因子,/>表示l层对应的权重缩放因子,l-1表示l层的输入层,/>表示l层的输入层对应的激活值缩放因子。
由于sl为浮点数,为使量化后的输出值能用整型表示,同时使计算过程不涉及浮点运算,在根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化时,优选地,通过公式对层缩放因子进行量化,其中,/>表示l层对应的层缩放因子量化值,n表示超参数,n的取值使/>在可用下的最高位数,即,n的取值需要被优化才能够保证较好的精度。以8bit量化为例,n的取值需使/>在64-127之间,以保证其有7位有效数字。此时,层的输出量化值/>其中,Yq表示输出量化值,Xq表示输入量化值。以8bit量化为例,其中括号内的值超过了8bit,sl则将其缩放回8bit。根据大量的数据统计,结果发现sl总为一个小于0.5的数字,这也使得n总是大于7,尽管所有数字都为8bit整型,但因为有超过两个数字参加,所以计算仍不被支持。
从而优选地,先对WqXq+bq进行移位操作,此时,输出量化值的计算公式为其中,k表示移位的位数,进一步优选地,k的值为/>的数量级,以提高量化结果的准确性和适用场景的广泛性。同样以8bit量化为例,WqXq+bq的值至少需要15bit,数据统计表明15bit在大多数情况下能够满足需求,因此,可以对WqXq+Bq的值先做7个左移位取整,超出8bit的部分则被截断。此时计算公式为 即乘法的操作数均为8bit整型数字。
在步骤S103中,对量化参数和量化后的模型参数执行第二格式转换操作并输出,得到量化后的模型。
在本发明实施例中,第二格式转换操作用于将量化参数和量化后的模型参数由预定存储格式转换到第二深度学习框架下的存储格式,由于不同的ASIC人工智能芯片支持的深度学习模型可能不同,因此,对量化参数和量化后的模型参数执行第二格式转换操作并输出,以得到任一学习框架下的量化模型,从而提高了系统的泛化能力,其中,第二深度学习框架同样可以为任意一种深度学习框架,第二深度学习框架与第一深度学习框架相同或不同。
在步骤S104中,将量化后的模型部署到ASIC人工智能芯片上。
在本发明实施例中,经第二格式转换后输出的模型可直接部署到ASIC人工智能芯片上,在将量化后的模型部署到ASIC人工智能芯片上之前,可以通过预先准备好的测试数据集对输出的模型进行测试,根据测试结果判断该模型的精度损失是否低于预设的阈值,当该模型的精度损失低于预设的阈值时,将该模型部署到ASIC人工智能芯片上。
以下结合实验例验证该方法的精度损失:
一、实验环境:
a.在本实验例中使用PyTorch作为预训练模型的训练框架,Python作为实现语言,部署平台使用Caffe框架。
b.使用车牌识别的预训练模型,选取2000张图片的数据集。
二、实验描述
1)接收PyTorch的存储格式作为输入;
2)转换为通用的开放神经网络交换格式;
3)设置ASIC人工智能芯片的位宽为8、中间值位宽为16;
4)采用步骤S102描述的方法依次对该预训练模型进行权值量化、激活值量化和偏置量化,得到量化参数和量化后的模型参数;
5)将量化参数和量化后的模型参数从开放神经网络交换格式转换到Caffe格式,完成量化并进行测试。
(3)实验结果
将量化后的车牌识别模型部署在ASIC人工智能芯片上并进行测试,结果显示与全精度模型对比,精度未损失。
通过以上实验例可知,本发明确实实现了深度学习模型在ASIC人工智能芯片上的量化部署,同时有较好的性能表现。
在本发明实施例中,对接收到的预训练模型执行第一格式转换操作,根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化,得到量化参数和量化后的模型参数,对量化参数和量化后的模型参数执行第二格式转换操作并输出,得到量化后的模型,将量化后的模型部署到ASIC人工智能芯片上,从而实现了不同深度学习框架预训练模型在ASIC人工智能芯片上的量化部署。
实施例二:
图2示出了本发明实施例二提供的模型部署装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
第一格式转换单元21,用于对接收到的预训练模型执行第一格式转换操作,其中,第一格式转换操作用于将预训练模型由第一深度学习框架下的存储格式转换到预定存储格式;
模型量化单元22,用于根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化,得到量化参数和量化后的模型参数,其中,量化位宽根据待部署ASIC人工智能芯片确定;
第二格式转换单元23,用于对量化参数和量化后的模型参数执行第二格式转换操作并输出,得到量化后的模型,其中,第二格式转换操作用于将量化参数和量化后的模型参数由预定存储格式转换到第二深度学习框架下的存储格式;以及
模型部署单元24,用于将量化后的模型部署到ASIC人工智能芯片上。
优选地,模型量化单元还包括:
模型量化子单元,用于根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行权重量化、激活值量化和偏置量化。
优选地,模型量化子单元包括:
第一阈值获取单元,用于依次遍历预训练模型中各层的权重,找到各层对应的最大权重和最小权重,将求取到的最大权重和最小权重对应的最大绝对极值作为权重量化阈值;
第一确定单元,用于根据权重量化阈值和量化位宽确定各层对应的权重缩放因子,权重缩放因子其中,/>表示l层对应的权重缩放因子,bw表示量化位宽,表示l层对应的权重量化阈值;以及
权重量化单元,用于将各层的权重与权重缩放因子相乘后进行四舍五入处理,得到权重量化值。
优选地,模型量化子单元包括:
激活值获取单元,用于将测试数据集输入到预训练模型中进行前向传播,获取各层的激活值;
第二阈值获取单元,用于将各层的激活值转换为以2048个bin的形式保存的直方图,遍历所有的bin的值,作为量化阈值,使用KL散度或信息熵找到各层对应的信息熵最小的量化阈值,将信息熵最小的量化阈值作为激活值量化阈值;以及
第二确定单元,用于根据激活值量化阈值和量化位宽确定各层对应的激活值缩放因子,激活值缩放因子其中,/>表示l层对应的权重缩放因子,bw表示量化位宽,/>表示l层对应的激活值量化阈值。
优选地,模型量化子单元包括:
第三确定单元,用于根据权值缩放因子和激活值缩放因子确定各层的偏置缩放因子,偏置缩放因子其中,/>表示l层对应的偏置缩放因子,/>表示l层对应的权重缩放因子,l-1表示l层的输入层,/>表示l层的输入层对应的激活值缩放因子;以及
偏置量化单元,用于将各层的偏置与偏置缩放因子相乘后进行四舍五入处理,得到偏置量化值。
优选地,该量化参数包括层缩放因子,层缩放因子的计算公式为 其中,sl表示l层对应的层缩放因子,/>表示l层对应的激活值缩放因子,/>表示l层对应的偏置缩放因子,/>表示l层对应的权重缩放因子,l-1表示l层的输入层,/>表示l层的输入层对应的激活值缩放因子。
优选地,该装置还包括:
输出量化单元,用于根据公式得到层的输出量化值,其中,/>Yq表示输出量化值,Wq表示权重量化值,Xq表示输入量化值,Bq表示偏置量化值,k表示移位的位数,sl表示l层对应的层缩放因子,/>表示l层对应的层缩放因子量化值,n表示超参数,n的取值使/>在可用下的最高位数。
优选地,移位的位数为的数量级。
在本发明实施例中,模型部署装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。模型部署装置的各单元的具体实施方式可参考前述方法实施例的描述,在此不再赘述。
实施例三:
图3示出了本发明实施例三提供的模型部署系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的模型部署系统3包括处理器30、存储器31以及存储在存储器31中并可在处理器30上运行的计算机程序32。该处理器30执行计算机程序32时实现上述各方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,处理器30执行计算机程序32时实现上述各装置实施例中各单元的功能,例如图2所示单元21至24的功能。
在本发明实施例中,通过对接收到的预训练模型执行第一格式转换操作,根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化,得到量化参数和量化后的模型参数,对量化参数和量化后的模型参数执行第二格式转换操作并输出,得到量化后的模型,将量化后的模型部署到ASIC人工智能芯片上,从而实现了不同深度学习框架预训练模型在ASIC人工智能芯片上的量化部署。
实施例四:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤,例如,图1所示的步骤S101至S104。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图2所示单元21至24的功能。
在本发明实施例中,通过对接收到的预训练模型执行第一格式转换操作,根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化,得到量化参数和量化后的模型参数,对量化参数和量化后的模型参数执行第二格式转换操作并输出,得到量化后的模型,将量化后的模型部署到ASIC人工智能芯片上,从而实现了不同深度学习框架预训练模型在ASIC人工智能芯片上的量化部署。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种模型部署方法,其特征在于,所述方法包括下述步骤:
对接收到的预训练模型执行第一格式转换操作,其中,所述第一格式转换操作用于将所述预训练模型由第一深度学习框架下的存储格式转换到预定存储格式;
根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化,得到量化参数和量化后的模型参数,其中,所述量化位宽根据待部署ASIC人工智能芯片确定,所述全整型量化包括权重量化、激活值量化和偏置量化,所述量化参数包括层缩放因子,所述层缩放因子的计算公式为 其中,sl表示l层对应的层缩放因子,/>表示l层对应的激活值缩放因子,/>表示l层对应的偏置缩放因子,/>表示l层对应的权重缩放因子,l-1表示l层的输入层,/>表示l层的输入层对应的激活值缩放因子,根据公式/>得到层的输出量化值,其中,/>Yq表示输出量化值,Wq表示权重量化值,Xq表示输入量化值,Bq表示偏置量化值,k表示移位的位数,sl表示l层对应的层缩放因子,/>表示l层对应的层缩放因子量化值,n表示超参数,n的取值使/>在可用下的最高位数;
对所述量化参数和量化后的模型参数执行第二格式转换操作并输出,得到量化后的模型,其中,所述第二格式转换操作用于将所述量化参数和量化后的模型参数由所述预定存储格式转换到第二深度学习框架下的存储格式;
将所述量化后的模型部署到所述ASIC人工智能芯片上;
根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行权重量化的步骤,包括:
依次遍历所述预训练模型中各层的权重,找到各层对应的最大权重和最小权重,将求取到的所述最大权重和所述最小权重对应的最大绝对极值作为权重量化阈值,根据所述权重量化阈值和所述量化位宽确定各层对应的权重缩放因子,所述权重缩放因子其中,/>表示l层对应的权重缩放因子,bw表示所述量化位宽,/>表示l层对应的权重量化阈值,将各层的权重与所述权重缩放因子相乘后进行四舍五入处理,得到权重量化值;
根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行激活值量化的步骤,包括:
将测试数据集输入到所述预训练模型中进行前向传播,获取各层的激活值,将各层的激活值转换为以2048个bin的形式保存的直方图,遍历所有的bin的值,作为量化阈值,使用KL散度或信息熵找到各层对应的信息熵最小的量化阈值,将所述信息熵最小的量化阈值作为激活值量化阈值,根据所述激活值量化阈值和所述量化位宽确定各层对应的激活值缩放因子,所述激活值缩放因子其中,/>表示l层对应的激活值缩放因子,bw表示所述量化位宽,/>表示l层对应的激活值量化阈值;
根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行偏置量化的步骤,包括:
根据所述权重缩放因子和激活值缩放因子确定各层的偏置缩放因子,所述偏置缩放因子其中,/>表示l层对应的偏置缩放因子,/>表示l层对应的权重缩放因子,l-1表示l层的输入层,/>表示l层的输入层对应的激活值缩放因子,将各层的偏置与所述偏置缩放因子相乘后进行四舍五入处理,得到偏置量化值。
2.如权利要求1所述的方法,其特征在于,所述移位的位数为的数量级。
3.一种模型部署装置,其特征在于,所述装置包括:
第一格式转换单元,用于对接收到的预训练模型执行第一格式转换操作,其中,所述第一格式转换操作用于将所述预训练模型由第一深度学习框架下的存储格式转换到预定存储格式;
模型量化单元,用于根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行全整型量化,得到量化参数和量化后的模型参数,其中,所述量化位宽根据待部署ASIC人工智能芯片确定,所述全整型量化包括权重量化、激活值量化和偏置量化,所述量化参数包括层缩放因子,所述层缩放因子的计算公式为其中,sl表示l层对应的层缩放因子,/>表示l层对应的激活值缩放因子,/>表示l层对应的偏置缩放因子,/>表示l层对应的权重缩放因子,l-1表示l层的输入层,/>表示l层的输入层对应的激活值缩放因子,根据公式/>得到层的输出量化值,其中,Yq表示输出量化值,Wq表示权重量化值,Xq表示输入量化值,Bq表示偏置量化值,k表示移位的位数,sl表示l层对应的层缩放因子,/>表示l层对应的层缩放因子量化值,n表示超参数,n的取值使/>在可用下的最高位数;
第二格式转换单元,用于对所述量化参数和量化后的模型参数执行第二格式转换操作并输出,得到量化后的模型,其中,所述第二格式转换操作用于将所述量化参数和量化后的模型参数由所述预定存储格式转换到第二深度学习框架下的存储格式;以及
模型部署单元,用于将所述量化后的模型部署到所述ASIC人工智能芯片上;
所述模型量化单元在根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行权重量化时,包括:
依次遍历所述预训练模型中各层的权重,找到各层对应的最大权重和最小权重,将求取到的所述最大权重和所述最小权重对应的最大绝对极值作为权重量化阈值,根据所述权重量化阈值和所述量化位宽确定各层对应的权重缩放因子,所述权重缩放因子其中,/>表示l层对应的权重缩放因子,bw表示所述量化位宽,/>表示l层对应的权重量化阈值,将各层的权重与所述权重缩放因子相乘后进行四舍五入处理,得到权重量化值;
所述模型量化单元在根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行激活值量化时,包括:
将测试数据集输入到所述预训练模型中进行前向传播,获取各层的激活值,将各层的激活值转换为以2048个bin的形式保存的直方图,遍历所有的bin的值,作为量化阈值,使用KL散度或信息熵找到各层对应的信息熵最小的量化阈值,将所述信息熵最小的量化阈值作为激活值量化阈值,根据所述激活值量化阈值和所述量化位宽确定各层对应的激活值缩放因子,所述激活值缩放因子其中,/>表示l层对应的激活值缩放因子,bw表示所述量化位宽,/>表示l层对应的激活值量化阈值;
所述模型量化单元在根据接收到的量化位宽对执行第一格式转换操作后的预训练模型进行偏置量化时,包括:
根据所述权重缩放因子和激活值缩放因子确定各层的偏置缩放因子,所述偏置缩放因子其中,/>表示l层对应的偏置缩放因子,/>表示l层对应的权重缩放因子,l-1表示l层的输入层,/>表示l层的输入层对应的激活值缩放因子,将各层的偏置与所述偏置缩放因子相乘后进行四舍五入处理,得到偏置量化值。
4.如权利要求3所述的模型部署装置,其特征在于,所述移位的位数为的数量级。
5.一种模型部署系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1所述方法的步骤。
6.一种模型部署系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求2所述方法的步骤。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求2所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010656190.8A CN111985495B (zh) | 2020-07-09 | 2020-07-09 | 模型部署方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010656190.8A CN111985495B (zh) | 2020-07-09 | 2020-07-09 | 模型部署方法、装置、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111985495A CN111985495A (zh) | 2020-11-24 |
CN111985495B true CN111985495B (zh) | 2024-02-02 |
Family
ID=73438564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010656190.8A Active CN111985495B (zh) | 2020-07-09 | 2020-07-09 | 模型部署方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111985495B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112734040A (zh) * | 2021-01-22 | 2021-04-30 | 中国人民解放军军事科学院国防科技创新研究院 | 一种嵌入式人工智能计算框架及应用方法 |
CN112861934A (zh) * | 2021-01-25 | 2021-05-28 | 深圳市优必选科技股份有限公司 | 一种嵌入式终端的图像分类方法、装置及嵌入式终端 |
CN113408696A (zh) * | 2021-05-17 | 2021-09-17 | 珠海亿智电子科技有限公司 | 深度学习模型的定点量化方法及装置 |
CN113222121B (zh) * | 2021-05-31 | 2023-08-29 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法、装置及设备 |
CN115481562B (zh) * | 2021-06-15 | 2023-05-16 | 中国科学院微电子研究所 | 多并行度优化方法、装置、识别方法和电子设备 |
CN114191267A (zh) * | 2021-12-06 | 2022-03-18 | 南通大学 | 一种轻量级的复杂环境下智能辅助盲人出行方法及其系统 |
CN115062777B (zh) * | 2022-08-17 | 2022-11-22 | 珠海亿智电子科技有限公司 | 卷积神经网络的量化方法、量化装置、设备及存储介质 |
CN116108896B (zh) * | 2023-04-11 | 2023-07-07 | 上海登临科技有限公司 | 模型量化方法、装置、介质及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108053028A (zh) * | 2017-12-21 | 2018-05-18 | 深圳云天励飞技术有限公司 | 数据定点化处理方法、装置、电子设备及计算机存储介质 |
CN109902745A (zh) * | 2019-03-01 | 2019-06-18 | 成都康乔电子有限责任公司 | 一种基于cnn的低精度训练与8位整型量化推理方法 |
CN110210619A (zh) * | 2019-05-22 | 2019-09-06 | 上海商汤智能科技有限公司 | 神经网络的训练方法及装置、电子设备和存储介质 |
CN110309877A (zh) * | 2019-06-28 | 2019-10-08 | 北京百度网讯科技有限公司 | 一种特征图数据的量化方法、装置、电子设备及存储介质 |
CN110555508A (zh) * | 2018-05-31 | 2019-12-10 | 北京深鉴智能科技有限公司 | 人工神经网络调整方法和装置 |
CN110610237A (zh) * | 2019-09-17 | 2019-12-24 | 普联技术有限公司 | 模型的量化训练方法、装置及存储介质 |
WO2020057000A1 (zh) * | 2018-09-19 | 2020-03-26 | 深圳云天励飞技术有限公司 | 网络量化方法、业务处理方法及相关产品 |
WO2020056718A1 (zh) * | 2018-09-21 | 2020-03-26 | 华为技术有限公司 | 在设备中的神经网络模型的量化方法和装置 |
CN111028226A (zh) * | 2019-12-16 | 2020-04-17 | 北京百度网讯科技有限公司 | 算法移植的方法及装置 |
CN111260022A (zh) * | 2019-11-22 | 2020-06-09 | 中国电子科技集团公司第五十二研究所 | 一种卷积神经网络全int8定点量化的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10373050B2 (en) * | 2015-05-08 | 2019-08-06 | Qualcomm Incorporated | Fixed point neural network based on floating point neural network quantization |
US20190050710A1 (en) * | 2017-08-14 | 2019-02-14 | Midea Group Co., Ltd. | Adaptive bit-width reduction for neural networks |
US11216719B2 (en) * | 2017-12-12 | 2022-01-04 | Intel Corporation | Methods and arrangements to quantize a neural network with machine learning |
US20200202213A1 (en) * | 2018-12-19 | 2020-06-25 | Microsoft Technology Licensing, Llc | Scaled learning for training dnn |
-
2020
- 2020-07-09 CN CN202010656190.8A patent/CN111985495B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108053028A (zh) * | 2017-12-21 | 2018-05-18 | 深圳云天励飞技术有限公司 | 数据定点化处理方法、装置、电子设备及计算机存储介质 |
CN110555508A (zh) * | 2018-05-31 | 2019-12-10 | 北京深鉴智能科技有限公司 | 人工神经网络调整方法和装置 |
WO2020057000A1 (zh) * | 2018-09-19 | 2020-03-26 | 深圳云天励飞技术有限公司 | 网络量化方法、业务处理方法及相关产品 |
WO2020056718A1 (zh) * | 2018-09-21 | 2020-03-26 | 华为技术有限公司 | 在设备中的神经网络模型的量化方法和装置 |
CN109902745A (zh) * | 2019-03-01 | 2019-06-18 | 成都康乔电子有限责任公司 | 一种基于cnn的低精度训练与8位整型量化推理方法 |
CN110210619A (zh) * | 2019-05-22 | 2019-09-06 | 上海商汤智能科技有限公司 | 神经网络的训练方法及装置、电子设备和存储介质 |
CN110309877A (zh) * | 2019-06-28 | 2019-10-08 | 北京百度网讯科技有限公司 | 一种特征图数据的量化方法、装置、电子设备及存储介质 |
CN110610237A (zh) * | 2019-09-17 | 2019-12-24 | 普联技术有限公司 | 模型的量化训练方法、装置及存储介质 |
CN111260022A (zh) * | 2019-11-22 | 2020-06-09 | 中国电子科技集团公司第五十二研究所 | 一种卷积神经网络全int8定点量化的方法 |
CN111028226A (zh) * | 2019-12-16 | 2020-04-17 | 北京百度网讯科技有限公司 | 算法移植的方法及装置 |
Non-Patent Citations (4)
Title |
---|
A low bit-width parameter representation method for hardware-oriented convolution neural networks;Qiang Chen,等;《IEEE》;第148-151页 * |
Detecting Text in News Images with Similarity Embedded Proposals;Miaotong Jiang,等;《IEEE》;第520-525页 * |
Quantization and training of object detection networks with low-precision weights and activations;Bo Yang,等;《Journal of Electronic Imaging》;第27卷(第1期);第013020页 * |
基于卷积神经网络压缩算法的关键词识别系统设计;孙锰阳;《中国优秀硕士学位论文全文数据库 信息科技辑》(第06期);I136-191 * |
Also Published As
Publication number | Publication date |
---|---|
CN111985495A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111985495B (zh) | 模型部署方法、装置、系统及存储介质 | |
US11580719B2 (en) | Dynamic quantization for deep neural network inference system and method | |
US10929746B2 (en) | Low-power hardware acceleration method and system for convolution neural network computation | |
CN110555450B (zh) | 人脸识别神经网络调整方法和装置 | |
US11308406B2 (en) | Method of operating neural networks, corresponding network, apparatus and computer program product | |
US11604987B2 (en) | Analytic and empirical correction of biased error introduced by approximation methods | |
CN113159276B (zh) | 模型优化部署方法、系统、设备及存储介质 | |
CN112508125A (zh) | 一种图像检测模型的高效全整数量化方法 | |
US11861467B2 (en) | Adaptive quantization for execution of machine learning models | |
CN111178258B (zh) | 一种图像识别的方法、系统、设备及可读存储介质 | |
CN111178514A (zh) | 神经网络的量化方法及系统 | |
CN111476362B (zh) | 确定fl值的方法及装置 | |
CN114943335A (zh) | 一种三值神经网络逐层优化方法 | |
CN114049530A (zh) | 混合精度神经网络量化方法、装置及设备 | |
CN112686384A (zh) | 一种自适应比特位宽的神经网络量化方法及其装置 | |
CN112446461A (zh) | 一种神经网络模型训练方法及装置 | |
US20220207346A1 (en) | Data processing method and device used in neural network | |
CN112561050B (zh) | 一种神经网络模型训练方法及装置 | |
CN111767204B (zh) | 溢出风险检测方法、装置及设备 | |
CN117521737B (zh) | 网络模型的转换方法、装置、终端及计算机可读存储介质 | |
CN117114075B (zh) | 神经网络模型量化方法、装置、设备及介质 | |
US20220309351A1 (en) | Structure transformation device, structure transformation method, and computer readable medium | |
CN116776926B (zh) | 一种对话模型的优化部署方法、装置、设备及介质 | |
CN117391175A (zh) | 一种用于类脑计算平台的脉冲神经网络量化方法及系统 | |
US20230252757A1 (en) | Image processing method, device and apparatus |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |