CN109993296A - 量化实现方法及相关产品 - Google Patents

量化实现方法及相关产品 Download PDF

Info

Publication number
CN109993296A
CN109993296A CN201910259380.3A CN201910259380A CN109993296A CN 109993296 A CN109993296 A CN 109993296A CN 201910259380 A CN201910259380 A CN 201910259380A CN 109993296 A CN109993296 A CN 109993296A
Authority
CN
China
Prior art keywords
value
quantization
layer
target
interval
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.)
Granted
Application number
CN201910259380.3A
Other languages
English (en)
Other versions
CN109993296B (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Cambricon Information Technology Co Ltd
Original Assignee
Beijing Zhongke Cambrian Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zhongke Cambrian Technology Co Ltd filed Critical Beijing Zhongke Cambrian Technology Co Ltd
Priority to CN201910259380.3A priority Critical patent/CN109993296B/zh
Publication of CN109993296A publication Critical patent/CN109993296A/zh
Application granted granted Critical
Publication of CN109993296B publication Critical patent/CN109993296B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Neurology (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种量化实现方法及相关产品,该量化实现方法应用于神经网络芯片,该神经网络芯片设置于板卡上,该板卡包括:存储器件,用于存储数据;接口装置,用于实现神经网络芯片与外部设备之间的数据传输;控制器件,用于对神经网络芯片的状态进行监控。采用本申请实施例能够提升网络量化精度。

Description

量化实现方法及相关产品
技术领域
本申请涉及数据处理领域,尤其涉及一种量化实现方法及相关产品。
背景技术
随着信息技术的不断发展和人们日益增长的需求,人们对信息及时性的要求越来越高了。为了提升深度神经网络在MLU100上推理的运行效率,MLU100支持int8推理运算。现有的大部分深度神经网络采用浮点数(fp32)进行运算和存储,因此需要将现有的神经网络模型量化为MLU100支持的int8模型。现有的量化实现方法一般采取绝对值最大值不失真准则,即将绝对值最大值映射到int8的最大值上,这种量化实现方法与量化时网络的输入图片相关,量化出的网络精度具有一定随机性,导致量化精度较低,因此,如何提升网络量化精度的问题亟待解决。
发明内容
本申请实施例提供一种量化实现方法及相关产品,能够提升网络量化精度。
第一方面,本申请实施例提供一种量化实现方法,所述方法包括:
根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值;
根据所述最大绝对值确定M个间隔,将所述目标网络层的绝对值化后的输入数据的元素值放入所述M个间隔中;
根据所述M个间隔内的元素值生成Q个量化分布,Q为大于1的整数;
获取所述目标网络层的输入数据对应的原始量化分布;
依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数。
在一个可能的示例中,所述根据所述M个间隔内的元素值生成Q个量化分布,包括:
获取P个截断阈值,所述截断阈值为所述M个间隔中任一间隔的端点值或者间隔的端点值的均值,P为正整数;
基于所述P个截断阈值将所述目标网络层划分为Q个区间,每一区间包括至少一个间隔;
基于所述Q个区间中每一区间中的元素值生成Q个量化分布,每一区间对应一个量化分布。
在一个可能的示例中,所述依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数,包括:
确定所述Q个量化分布中每一量化分布与所述原始量化分布之间的相似度值,得到Q个相似度值;
从所述Q个相似度值中选取最大相似度值,并根据所述最大相似度值确定目标截断值;
根据所述目标截断值确定所述目标网络层的量化参数。
在一个可能的示例中,所述量化参数包括定点型数据的小数点位置和缩放因子,所述根据所述目标截断值确定所述目标网络层的量化参数,包括:
根据所述目标截断值确定所述小数点位置;
根据所述小数点位置、所述目标截断值确定所述缩放因子。
在一个可能的示例中,所述确定所述Q个量化分布与所述原始量化分布之间的相似度值,包括:
采用欧氏距离或者相对熵确定所述Q个量化分布中每一量化分布与所述原始量化分布之间的相似度值。
在一个可能的示例中,所述目标网络层包括以下网络层中的至少一种:卷积层、全连接层、反卷积层、归一化层。
在一个可能的示例中,所述间隔的间隔大小为128的整数倍。
在一个可能的示例中,所述根据目标数据集,确定待量化目标网络层输入数据中的最大绝对值,包括:
将所述目标数据集输入到预设浮点型神经网络模型进行正向运算,对所述目标网络层中的输入数据的元素值进行绝对值化处理,并选取元素值的最大值作为最大绝对值。
在一个可能的示例中,所述方法还包括:
根据所述量化参数将所述目标网络层的输入数据中全部或者部分执行浮点型数据转化为定点型数据,得到全部定点数据或者混合数据,该混合数据包括:部分定点数据以及部分浮点数据。
在一个可能的示例中,所述浮点型数据为以下一种:32位浮点型数据、64位浮点型数据。
在一个可能的示例中,所述定点型数据为以下一种:8位定点型数据、16位定点型数据。
第二方面,本申请实施例还提供了一种量化实现装置,所述装置包括:第一确定单元、生成单元、获取单元和第二确定单元,其中,
所述第一确定单元,用于根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值;以及根据所述最大绝对值确定M个间隔,将所述目标网络层的绝对值化后的输入数据的元素值放入所述M个间隔中;
所述生成单元,用于根据所述M个间隔内的元素值生成Q个量化分布,Q为大于1的整数;
所述获取单元,用于获取所述目标网络层的输入数据对应的原始量化分布;
所述第二确定单元,用于依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数。
第三方面,本申请实施例还提供了一种神经网络芯片,所述机器学习芯片包括如第二方面所述的量化实现装置,或者,用于执行如第一方面所述的方法。
第四方面,本申请实施例还提供了一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及如第三方面所述的神经网络芯片;
其中,所述神经网络芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;
所述存储器件,用于存储数据;
所述接口装置,用于实现所述芯片与外部设备之间的数据传输;
所述控制器件,用于对所述芯片的状态进行监控。
第五方面,本申请实施例还提供了一种电子设备,所述电子设备包括如第三方面所述的芯片,或者,所述电子设备包括如第四方面所述的板卡,或者,用于执行如第一方面所述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
第七方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,在本申请实施例的方案中,根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值,根据最大绝对值确定M个间隔,将目标网络层的绝对值化后的输入数据的元素值放入M个间隔中,根据M个间隔内的元素值生成Q个量化分布,Q为大于1的整数,获取目标网络层的输入数据对应的原始量化分布,依据Q个量化分布、原始量化分布确定目标网络层的量化参数,由于M个间隔本身容纳了所有的输入数据,利用量化分布之间的相似性从这些输入数据中选取最能代表整个输入数据的输入数据,确定目标截断值,这样的目标截断值更能反映输入数据的特性,进而,能够基于目标截断值得到精准的量化参数,有助于提升网络模型的量化精度。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本申请实施例提供的一种量化实现方法的结构示意图;
图1B为本申请实施例提供的一种数据间隔实现演示示意图;
图1C为本申请实施例提供的一种截断阈值实现演示示意图;
图2为本申请实施例提供的另一种量化实现方法的结构示意图;
图3为本申请实施例提供的另一种量化实现方法的结构示意图;
图4是本申请实施例提供的一种电子设备的结构示意图;
图5A是本申请实施例提供的一种量化实现装置的功能单元组成框图;
图5B是本申请实施例提供的另一种量化实现装置的功能单元组成框图。
具体实施方式
以下分别进行详细说明。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
电子设备可以包括各种具有无线通信功能的手持设备、车载设备、无线耳机、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(userequipment,UE),移动台(mobile station,MS),终端设备(terminal device)等等,电子设备例如可以为智能手机、平板电脑、耳机盒等等。为方便描述,上面提到的设备统称为电子设备。
上述电子设备可以应用于以下(包括但不限于)场景中:数据处理、机器人、电脑、打印机、扫描仪、电话、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备等各类电子产品;飞机、轮船、车辆等各类交通工具;电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机等各类家用电器;以及包括核磁共振仪、B超、心电图仪等各类医疗设备。
请参阅图1A,图1A是本申请实施例提供的一种量化实现方法的流程示意图,如图所示,本量化实现方法包括步骤101-步骤105,具体如下:
101、根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值。
其中,目标数据集可以为一维数据集、二维数据集或者三维数据集等等,在此不作限定。例如,目标数据集为图片,目标数据集为预设网络下的数据集,预设网络为以下至少一种:分类网络、检测网络等等,在此不作限定。目标数据集的数据量处于预设范围,预设范围可以由用户自行设置或者系统默认,以图片为例,例如500-1000张图片。具体实现中,可以将目标数据集输入到神经网络模型中进行正向运算,再获取其输入数据的元素值的最大绝对值。
在一个可能的示例中,上述步骤101,根据目标数据集,确定待量化目标网络层输入数据中的最大绝对值,可按照如下方式实施:
将所述目标数据集输入到预设浮点型神经网络模型进行正向运算,对所述目标网络层中的输入数据的元素值进行绝对值化处理,并选取元素值的最大值作为最大绝对值。
其中,上述预设浮点型神经网络模型可以预先设置或者系统默认,具体地,可以响应正向计算指令,将目标数据集输入到预设浮点型神经网络模型进行正向运算,上述正向计算指令包括但不限于:卷积运算指令、矩阵乘法指令、向量乘法指令、激活指令等等,本申请具体实施方式并不限制上述正向计算指令的具体表现形式或具体的类别,在正向运算之后,进一步可以获取待量化目标网络层中的输入数据的元素值进行绝对值化处理,即将目标网络层中的所有输入数据的元素值均取绝对值,得到绝对值化后的输入数据的元素值,并从该绝对值化后的输入数据的元素值中选取最大绝对值,以500张图片为例,最大绝对值可以为该500张图片输入到预设浮点型神经网络模型进行正向运算,此时,输入数据对应的最大绝对值。
在一个可能的示例中,上述浮点数据类型可为以下至少一种:32位浮点型数据、64位浮点型数据等等,在此不做限定。
如此,可以将32位浮点型数据转化为16位定点型数据,或者,可以将64位浮点型数据转化为16位定点型数据,或者,将32位浮点型数据转化为8位定点型数据,或者,可以将64位浮点型数据转化为8位定点型数据等等。
在一个可能的示例中,所述目标网络层包括以下网络层中的至少一种:卷积层、全连接层、反卷积层、归一化层。
其中,目标网络层可以为一层或者多层,本申请实施例中,可以将卷积层、全连接层或者反卷积层中的一层或者多层作为待量化目标网络层,利用本申请实施例中的量化实现方法进行量化。
如此,可以实现对预设浮点型神经网络模型中的一个或者多个网络层进行量化,例如,当卷积层包括4层时,即N为4,可以利用本申请实施例中的量化实现方法,对其中的1层卷积层、2层卷积层等进行量化,也可以依据实际情况确定。
102、根据所述最大绝对值确定M个间隔,将所述目标网络层的绝对值化后的输入数据的元素值放入所述M个间隔中。
其中,最大绝对值可以记为MAX,间隔大小可为128的整数倍,如间隔大小为1920时,共有M=MAX/1920个间隔,具体地,0~MAX/1920,MAX/1920~2*MAX/1920,2*MAX/1920~3*MAX/1920,…(i-1)*MAX/1920~i*MAX/1920、…、((MAX/1920)-1)*MAX/1920~MAX,然后,可以将目标网络层的绝对值化后的输入数据的元素值放入1920个间隔中。如图1B所示,基于MAX,将输入数据的元素值划分为M个间隔,如,其中的一个间隔可以为0~MAX/M,以此类推。
在一个可能的示例中,M个间隔中每个间隔之间的等距间隔是相等或者不等距间隔,具体地,可以依据实际具体情况而定。
103、根据所述M个间隔内的元素值生成Q个量化分布,Q为大于1的整数。
其中,M个间隔中每个间隔包含大量的元素值,基于元素值能够生成量化分布,具体地,可以将M个间隔划分为Q个区间,基于每个区间的元素值则可以生成一个量化分布,如此,可以得到Q个量化分布。
在一个可能的示例中,上述步骤103,根据所述M个间隔内的元素值生成Q个量化分布,可包括如下步骤:
31、获取P个截断阈值,所述截断阈值为所述M个间隔中任一间隔的端点值或者间隔的端点值的均值,P为正整数;
32、基于所述P个截断阈值将所述目标网络层划分为Q个区间,每一区间包括至少一个间隔;
33、基于所述Q个区间中每一区间中的元素值生成Q个量化分布,每一区间对应一个量化分布。
其中,P个截断阈值可以由用户自行设置或者系统默认。截断阈值可以为M个间隔的端点值或者端点值的均值,截断阈值可以不包括0以及最大绝对值,当然,为了更好地让区间具备代表性,截断阈值可以从M个间隔中第a个间隔开始取值,a为正整数。例如,可以从M个间隔的端点值中取P个端点值,基于P个截断阈值可以将目标网络层划分为Q个区间,每一区间至少包括一个间隔,基于Q个区间中每一区间中的元素值可以生成Q个量化分布,即每一区间可以对应一个量化分布,如此,可以由间隔转化为区间,基于区间内的元素值生成相应的量化分布,有助于后续找到与原始分布最相似的量化分布。举例说明下,在图1B基础上,请参照图1C,黑色实心圆点代表截断阈值,两个相邻截断阈值之间可以构成一个区间,基于不同的截断阈值,可以划分为多个不同的区间。
104、获取所述目标网络层的输入数据对应的原始量化分布。
其中,可以基于目标网络层的输入数据的元素值,生成其相应的原始量化分布。
105、依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数。
其中,本申请实施例中量化参数可以为以下至少一种:定点型数据的小数点位置(记作position)和缩放因子(记作scale)。上述定点型数据可为以下至少一种:8位定点型数据、16位定点型数据等等,在此不做限定,基于上述量化参数能够将浮点型数据转化成定点型数据。
可选地,上述步骤105,依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数,可包括如下步骤:
51、确定所述Q个量化分布中每一量化分布与所述原始量化分布之间的相似度值,得到Q个相似度值;
52、从所述Q个相似度值中选取最大相似度值,并根据所述最大相似度值确定目标截断值;
53、根据所述目标截断值确定所述目标网络层的量化参数。
其中,最大相似度值与目标截断值相对应,例如,可以获取该最大相似度值对应的目标量化分布,基于该目标量化分布确定对应的目标区间,将该目标区间对应的截断阈值(如对应的最大值)作为目标截断值,采用上述方式,由于上述M个间隔本身容纳了所有的输入数据,利用量化分布之间的相似性从这些输入数据中选取最能代表整个输入数据的输入数据,确定目标截断值,这样的目标截断值更能反映输入数据的特性,进而,能够基于目标截断值得到精准的量化参数。
在一个可能的示例中,所述量化参数包括定点型数据的小数点位置和缩放因子,上述步骤53,根据所述目标截断值确定所述目标网络层的量化参数,可包括如下步骤:
531、根据所述目标截断值确定所述小数点位置;
532、根据所述小数点位置、所述目标截断值确定所述缩放因子。
其中,目标截断值可以记作|T|,具体实现中,可以通过目标截断值确定小数点位置position,再由小数点位置position、目标截断值确定缩放因子scale,由于上述M个间隔本身容纳了所有的输入数据,从这些输入数据中选取最能代表整个输入数据的输入数据,确定目标截断值,这样的目标截断值更能反映输入数据的特性,进而,能够基于目标截断值得到精准的量化参数。
具体地,可以按照如下公式,通过截断值|T|计算量化position和scale公式如下:
在一个可能的示例中,上述步骤51,确定所述Q个量化分布与所述原始量化分布之间的相似度值,可按照如下方式实施:
采用欧氏距离或者相对熵确定所述Q个量化分布中每一量化分布与所述原始量化分布之间的相似度值。
具体地,可以采用欧氏距离计算Q个量化分布中每一量化分布与原始量化分布之间的相似度值,欧氏距离公式具体如下:
其中,N为间隔个数,N可以由用户自行设置或者系统默认,例如,N可以为128的整数倍,x1表示原始量化分布,x2表示Q个量化分布中的任一量化分布,具体运算过程中,将量化分布x1、x2分别划分为N个间隔,x1k为量化分布x1的第k个间隔内的元素值对应的欧式距离值,x2k为量化分布x2的第k个间隔内的元素值对应的欧式距离值,D12为量化分布x1、x2之间的欧式距离值。
或者,可以采用相对熵计算Q个量化分布中每一量化分布与原始量化分布之间的相似度值,相对熵,又称之为KL散度,其公式具体如下:
其中,N为间隔个数,N可以由用户自行设置或者系统默认,例如,N可以为128的整数倍,x表示原始量化分布,y表示Q个量化分布中的任一量化分布,具体运算过程中,将量化分布x、y分别划分为N个间隔,p(xi)为原始量化分布在第i个间隔内的元素分布概率,即第i个间隔内的元素数量与原始量化分布的元素的总数量之间的比值,p(yi)为量化分布y在第i个间隔内的元素分布概率,即第i个间隔内的元素数量与原始量化分布的元素的总数量之间的比值,DKL(x||y)为量化分布x、y之间的相对熵。
在一个可能的示例中,上述步骤105之后,还可以包括如下步骤:
根据所述量化参数将所述目标网络层的输入数据中全部或者部分执行浮点型数据转化为定点型数据,得到全部定点数据或者混合数据,该混合数据包括:部分定点数据以及部分浮点数据。
其中,基于上述量化参数可以将目标网络层的输入数据中全部或者部分执行浮点型数据转化为定位型数据,得到全部定点数据和混合数据,混合数据即包括部分定点数据和部分浮点数据,如此,能够让部分或者全部浮点型数据转换为定点型数据。具体地,以32位浮点型数据为例,可以将全部32位浮点型数据转化为16位定点型数据,或者部分32位浮点型数据转化为16位浮点型数据。
在一个可能的示例中,假设目标网络层为第i层,上述步骤,根据所述量化参数将所述目标网络层的输入数据中全部或者部分执行浮点型数据转化为定点型数据,得到全部定点数据或者混合数据,可按照如下方式实施:
解析该第i层计算指令得到多个正向运算指令,将该第i层输入神经元数据以及第i层权值数据中的全部或部分通过量化参数执行浮点型数据转化为定点型数据执行浮点类型与定点类型转换得到全部定点数据或混合数据,该混合数据包括:部分定点数据以及部分浮点数据;
依据多个正向运算指令对全部定点数据执行定点运算或对混合数据执行混合运算得到第i层的正向输出结果。
可选地,上述量化参数包括定点数的小数点位置或者缩放因子,在通过量化参数执行浮点型数据转化为定点型数据方面,包括如下步骤;
基于量化参数,采用如下公式将浮点型数据转化为定点型数据:
当量化参数仅包括小数点位置,则计算公式为:
浮点型数据=定点型数据×2^position;
当量化参数仅包括缩放因子,则计算公式为:
浮点型数据=定点型数据×scale;
当量化参数包括小数点位置和缩放因子,则计算公式为:
浮点型数据=(定点型数据×2^position)/scale;
其中,position表示定点型数据的小数点位置,scale表示缩放因子。
以fp32模型量化为int8为例,fp32模型量化为int8模型的过程相当于信息再编码,将使用fp32的张量tensor转换为使用int8表示的tensor,将fp32转换为int8的操作需要针对可量化层的输入张量(tensor)和权重参数进行,对于权重参数使用最大绝对值映射对精度无影响,而对于输入张量,经过大量实验,发现提前截断能够改善模型精度,因此,截断值的选取决定了量化模型的实现精度,基于上述本申请实施例,能够在不需要量化重训练情况下,通过本申请实施例所提供的方法能够得到与浮点型相当的量化模型,另外,对比于相关技术中采用绝对值最大量化的模型,本申请实施例中的模型精度更高、更稳定。
可以看出,在本申请实施例的方案中,根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值,根据最大绝对值确定M个间隔,将目标网络层的绝对值化后的输入数据的元素值放入M个间隔中,根据M个间隔内的元素值生成Q个量化分布,Q为大于1的整数,获取目标网络层的输入数据对应的原始量化分布,依据Q个量化分布、原始量化分布确定目标网络层的量化参数,由于M个间隔本身容纳了所有的输入数据,利用量化分布之间的相似性从这些输入数据中选取最能代表整个输入数据的输入数据,确定目标截断值,这样的目标截断值更能反映输入数据的特性,进而,能够基于目标截断值得到精准的量化参数,有助于提升网络模型的量化精度。
与上述图1A所示的实施例一致地,请参阅图2,图2是本申请实施例提供的一种量化实现方法的流程示意图,所述方法应用于脉冲神经网络,该脉冲神经网络包括时钟神经元,所述脉冲神经网络包括时钟神经元,如图所示,本量化实现方法包括:
201、根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值。
202、根据所述最大绝对值确定M个间隔,将所述目标网络层的绝对值化后的输入数据的元素值放入所述M个间隔中。
203、根据所述M个间隔内的元素值生成Q个量化分布,Q为大于1的整数。
204、获取所述目标网络层的输入数据对应的原始量化分布。
205、依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数。
206、根据所述量化参数将所述目标网络层的输入数据中全部或者部分执行浮点型数据转化为定点型数据,得到全部定点数据或者混合数据,该混合数据包括:部分定点数据以及部分浮点数据。
其中,上述步骤201-步骤206的具体描述可以参照上述图1A所描述的量化实现方法的相应步骤,在此不再赘述。
可以看出,在本申请实施例的方案中,根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值,根据最大绝对值确定M个间隔,将目标网络层的绝对值化后的输入数据的元素值放入M个间隔中,根据M个间隔内的元素值生成Q个量化分布,Q为大于1的整数,获取目标网络层的输入数据对应的原始量化分布,依据Q个量化分布、原始量化分布确定目标网络层的量化参数,根据量化参数将目标网络层的输入数据中全部或者部分执行浮点型数据转化为定点型数据,得到全部定点数据或者混合数据,该混合数据包括:部分定点数据以及部分浮点数据,由于M个间隔本身容纳了所有的输入数据,利用量化分布之间的相似性从这些输入数据中选取最能代表整个输入数据的输入数据,确定目标截断值,这样的目标截断值更能反映输入数据的特性,进而,能够基于目标截断值得到精准的量化参数,提升了网络模型的量化精度。
与上述图1A所示的实施例一致地,请参阅图3,图3是本申请实施例提供的一种量化实现方法的流程示意图,如图所示,本量化实现方法包括:
301、根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值。
302、根据所述最大绝对值确定M个间隔,将所述目标网络层的绝对值化后的输入数据的元素值放入所述M个间隔中。
303、根据所述M个间隔内的元素值生成Q个量化分布,Q为大于1的整数。
304、获取所述目标网络层的输入数据对应的原始量化分布。
305、确定所述Q个量化分布中每一量化分布与所述原始量化分布之间的相似度值,得到Q个相似度值。
306、从所述Q个相似度值中选取最大相似度值,并获取该最大相似度值对应的目标量化分布,基于该目标量化分布确定对应的目标区间,将该目标区间对应的最大值作为目标截断值。
307、根据所述目标截断值确定小数点位置。
308、根据所述小数点位置、所述目标截断值确定缩放因子,基于所述小数点位置、所述缩放因子,将所述目标网络层的输入数据中全部或者部分执行浮点型数据转化为定点型数据。
其中,上述步骤301-步骤308的具体描述可以参照上述图1A所描述的量化实现方法的相应步骤,在此不再赘述。
可以看出,在本申请实施例的方案中,由于M个间隔本身容纳了所有的输入数据,利用量化分布之间的相似性从这些输入数据中选取最能代表整个输入数据的输入数据,确定目标截断值,这样的目标截断值更能反映输入数据的特性,进而,能够基于目标截断值得到精准的量化参数,提升了网络模型的量化精度。
与上述实施例一致地,请参阅图4,图4是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,本申请实施例中,上述程序包括用于执行以下步骤的指令:
根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值;
根据所述最大绝对值确定M个间隔,将所述目标网络层的绝对值化后的输入数据的元素值放入所述M个间隔中;
根据所述M个间隔内的元素值生成Q个量化分布,Q为大于1的整数;
获取所述目标网络层的输入数据对应的原始量化分布;
依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数。
可以看出,在本申请实施例的方案中所描述的电子设备,根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值,根据最大绝对值确定M个间隔,将目标网络层的绝对值化后的输入数据的元素值放入M个间隔中,根据M个间隔内的元素值生成Q个量化分布,Q为大于1的整数,获取目标网络层的输入数据对应的原始量化分布,依据Q个量化分布、原始量化分布确定目标网络层的量化参数,由于M个间隔本身容纳了所有的输入数据,利用量化分布之间的相似性从这些输入数据中选取最能代表整个输入数据的输入数据,确定目标截断值,这样的目标截断值更能反映输入数据的特性,进而,能够基于目标截断值得到精准的量化参数,有助于提升网络模型的量化精度。
在一个可能的示例中,在所述根据所述M个间隔内的元素值生成Q个量化分布方面,上述程序包括用于执行以下步骤的指令:
获取P个截断阈值,所述截断阈值为所述M个间隔中任一间隔的端点值或者间隔的端点值的均值,P为正整数;
基于所述P个截断阈值将所述目标网络层划分为Q个区间,每一区间包括至少一个间隔;
基于所述Q个区间中每一区间中的元素值生成Q个量化分布,每一区间对应一个量化分布。
在一个可能的示例中,在所述依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数方面,上述程序包括用于执行以下步骤的指令:
确定所述Q个量化分布中每一量化分布与所述原始量化分布之间的相似度值,得到Q个相似度值;
从所述Q个相似度值中选取最大相似度值,并根据所述最大相似度值确定目标截断值;
根据所述目标截断值确定所述目标网络层的量化参数。
在一个可能的示例中,所述量化参数包括定点型数据的小数点位置和缩放因子,在所述根据所述目标截断值确定所述目标网络层的量化参数方面,上述程序包括用于执行以下步骤的指令:
根据所述目标截断值确定所述小数点位置;
根据所述小数点位置、所述目标截断值确定所述缩放因子。
在一个可能的示例中,在所述确定所述Q个量化分布与所述原始量化分布之间的相似度值方面,上述程序包括用于执行以下步骤的指令:
采用欧氏距离或者相对熵确定所述Q个量化分布中每一量化分布与所述原始量化分布之间的相似度值。
在一个可能的示例中,所述目标网络层包括以下网络层中的至少一种:卷积层、全连接层、反卷积层、归一化层。
在一个可能的示例中,所述间隔的间隔大小为128的整数倍。
在一个可能的示例中,在所述根据目标数据集,确定待量化目标网络层输入数据中的最大绝对值方面,上述程序包括用于执行以下步骤的指令:
将所述目标数据集输入到预设浮点型神经网络模型进行正向运算,对所述目标网络层中的输入数据的元素值进行绝对值化处理,并选取元素值的最大值作为最大绝对值。
在一个可能的示例中,上述程序还包括用于执行以下步骤的指令:
根据所述量化参数将所述目标网络层的输入数据中全部或者部分执行浮点型数据转化为定点型数据,得到全部定点数据或者混合数据,该混合数据包括:部分定点数据以及部分浮点数据。
在一个可能的示例中,所述浮点型数据为以下一种:32位浮点型数据、64位浮点型数据。
在一个可能的示例中,所述定点型数据为以下一种:8位定点型数据、16位定点型数据。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图5A是本申请实施例中所涉及的量化实现装置500的功能单元组成框图。该量化实现装置500,应用于电子设备,所述装置500包括:第一确定单元501、生成单元502、获取单元503和第二确定单元504,其中,
所述第一确定单元501,用于根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值;以及根据所述最大绝对值确定M个间隔,将所述目标网络层的绝对值化后的输入数据的元素值放入所述M个间隔中;
所述生成单元502,用于根据所述M个间隔内的元素值生成Q个量化分布,Q为大于1的整数;
所述获取单元503,用于获取所述目标网络层的输入数据对应的原始量化分布;
所述第二确定单元504,用于依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数。
可以看出,在本申请实施例的方案中所描述的量化实现装置,根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值,根据最大绝对值确定M个间隔,将目标网络层的绝对值化后的输入数据的元素值放入M个间隔中,根据M个间隔内的元素值生成Q个量化分布,Q为大于1的整数,获取目标网络层的输入数据对应的原始量化分布,依据Q个量化分布、原始量化分布确定目标网络层的量化参数,由于M个间隔本身容纳了所有的输入数据,利用量化分布之间的相似性从这些输入数据中选取最能代表整个输入数据的输入数据,确定目标截断值,这样的目标截断值更能反映输入数据的特性,进而,能够基于目标截断值得到精准的量化参数,有助于提升网络模型的量化精度。
在一个可能的示例中,在所述根据所述M个间隔内的元素值生成Q个量化分布方面,所述生成单元502具体用于:
获取P个截断阈值,所述截断阈值为所述M个间隔中任一间隔的端点值或者间隔的端点值的均值,P为正整数;
基于所述P个截断阈值将所述目标网络层划分为Q个区间,每一区间包括至少一个间隔;
基于所述Q个区间中每一区间中的元素值生成Q个量化分布,每一区间对应一个量化分布。
在一个可能的示例中,在所述依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数方面,所述第二确定单元504具体用于:
确定所述Q个量化分布中每一量化分布与所述原始量化分布之间的相似度值,得到Q个相似度值;
从所述Q个相似度值中选取最大相似度值,并根据所述最大相似度值确定目标截断值;
根据所述目标截断值确定所述目标网络层的量化参数。
在一个可能的示例中,所述量化参数包括定点型数据的小数点位置和缩放因子,在所述根据所述目标截断值确定所述目标网络层的量化参数方面,所述第二确定单元504具体用于:
根据所述目标截断值确定所述小数点位置;
根据所述小数点位置、所述目标截断值确定所述缩放因子。
在一个可能的示例中,在所述确定所述Q个量化分布与所述原始量化分布之间的相似度值方面,所述第二确定单元504具体用于:
采用欧氏距离或者相对熵确定所述Q个量化分布中每一量化分布与所述原始量化分布之间的相似度值。
在一个可能的示例中,所述目标网络层包括以下网络层中的至少一种:卷积层、全连接层、反卷积层、归一化层。
在一个可能的示例中,所述间隔的间隔大小为128的整数倍。
在一个可能的示例中,在所述根据目标数据集,确定待量化目标网络层输入数据中的最大绝对值方面,所述第一确定单元501具体用于:
将所述目标数据集输入到预设浮点型神经网络模型进行正向运算,对所述目标网络层中的输入数据的元素值进行绝对值化处理,并选取元素值的最大值作为最大绝对值。
在一个可能的示例中,如图5B所示,图5B为图5A所描述的量化实现装置的又一变型结构,其与图5A相比较,还可以包括:量化单元505,具体如下:
所述量化单元505,用于根据所述量化参数将所述目标网络层的输入数据中全部或者部分执行浮点型数据转化为定点型数据,得到全部定点数据或者混合数据,该混合数据包括:部分定点数据以及部分浮点数据。
在一个可能的示例中,所述浮点型数据为以下一种:32位浮点型数据、64位浮点型数据。
在一个可能的示例中,所述定点型数据为以下一种:8位定点型数据、16位定点型数据。
在一些实施例里,还申请了一种芯片,其包括了上述机器学习运算装置或组合处理装置。
在一些实施例里,申请了一种芯片封装结构,其包括了上述芯片。
在一些实施例里,申请了一种板卡,其包括了上述芯片封装结构。上述板卡除了包括上述芯片、以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件、接口装置和控制器件;
所述存储器件与所述芯片封装结构内的芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元。每一组所述存储单元与所述芯片通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。可以理解,当每一组所述存储单元中采用DDR4-3200颗粒时,数据传输的理论带宽可达到25600MB/s。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述芯片封装结构内的芯片电连接。所述接口装置用于实现所述芯片与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。可选的,当采用PCIE 3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接口装置还可以是其他的接口,本申请并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述芯片电连接。所述控制器件用于对所述芯片的状态进行监控。具体的,所述芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
在一些实施例里,申请了一种电子设备,其包括了上述板卡。
电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元可以采用硬件的形式实现。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种量化实现方法,其特征在于,所述方法包括:
根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值;
根据所述最大绝对值确定M个间隔,将所述目标网络层的绝对值化后的输入数据的元素值放入所述M个间隔中;
根据所述M个间隔内的元素值生成Q个量化分布,Q为大于1的整数;
获取所述目标网络层的输入数据对应的原始量化分布;
依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数。
2.根据权利要求1所述的方法,其特征在于,所述根据所述M个间隔内的元素值生成Q个量化分布,包括:
获取P个截断阈值,所述截断阈值为所述M个间隔中任一间隔的端点值或者间隔的端点值的均值,P为正整数;
基于所述P个截断阈值将所述目标网络层划分为Q个区间,每一区间包括至少一个间隔;
基于所述Q个区间中每一区间中的元素值生成Q个量化分布,每一区间对应一个量化分布。
3.根据权利要求1或2所述的方法,其特征在于,所述依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数,包括:
确定所述Q个量化分布中每一量化分布与所述原始量化分布之间的相似度值,得到Q个相似度值;
从所述Q个相似度值中选取最大相似度值,并根据所述最大相似度值确定目标截断值;
根据所述目标截断值确定所述目标网络层的量化参数。
4.根据权利要求3所述的方法,其特征在于,所述量化参数包括定点型数据的小数点位置和缩放因子,所述根据所述目标截断值确定所述目标网络层的量化参数,包括:
根据所述目标截断值确定所述小数点位置;
根据所述小数点位置、所述目标截断值确定所述缩放因子。
5.根据权利要求3所述的方法,其特征在于,所述确定所述Q个量化分布与所述原始量化分布之间的相似度值,包括:
采用欧氏距离或者相对熵确定所述Q个量化分布中每一量化分布与所述原始量化分布之间的相似度值。
6.一种量化实现装置,其特征在于,所述装置包括:第一确定单元、生成单元、获取单元和第二确定单元,其中,
所述第一确定单元,用于根据目标数据集,确定待量化目标网络层输入数据中的元素值的最大绝对值;以及根据所述最大绝对值确定M个间隔,将所述目标网络层的绝对值化后的输入数据的元素值放入所述M个间隔中;
所述生成单元,用于根据所述M个间隔内的元素值生成Q个量化分布,Q为大于1的整数;
所述获取单元,用于获取所述目标网络层的输入数据对应的原始量化分布;
所述第二确定单元,用于依据所述Q个量化分布、所述原始量化分布确定所述目标网络层的量化参数。
7.一种神经网络芯片,其特征在于,所述机器学习芯片包括如权利要求6所述的量化实现装置,或者,用于执行如权利要求1-5任一项所述的方法。
8.一种板卡,其特征在于,所述板卡包括:存储器件、接口装置和控制器件以及如权利要求7所述的神经网络芯片;
其中,所述神经网络芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;
所述存储器件,用于存储数据;
所述接口装置,用于实现所述芯片与外部设备之间的数据传输;
所述控制器件,用于对所述芯片的状态进行监控。
9.一种电子设备,其特征在于,所述电子设备包括如所述权利要求7所述的芯片,或者,所述电子设备包括如权利要求8所述的板卡,或者,用于执行如权利要求1-5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-5任一项所述的方法。
CN201910259380.3A 2019-04-01 2019-04-01 量化实现方法及相关产品 Active CN109993296B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910259380.3A CN109993296B (zh) 2019-04-01 2019-04-01 量化实现方法及相关产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910259380.3A CN109993296B (zh) 2019-04-01 2019-04-01 量化实现方法及相关产品

Publications (2)

Publication Number Publication Date
CN109993296A true CN109993296A (zh) 2019-07-09
CN109993296B CN109993296B (zh) 2020-12-29

Family

ID=67131232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910259380.3A Active CN109993296B (zh) 2019-04-01 2019-04-01 量化实现方法及相关产品

Country Status (1)

Country Link
CN (1) CN109993296B (zh)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110889503A (zh) * 2019-11-26 2020-03-17 中科寒武纪科技股份有限公司 数据处理方法、装置、计算机设备和存储介质
CN111260022A (zh) * 2019-11-22 2020-06-09 中国电子科技集团公司第五十二研究所 一种卷积神经网络全int8定点量化的方法
CN111860810A (zh) * 2020-06-30 2020-10-30 浪潮(北京)电子信息产业有限公司 一种基于fpga的神经网络运算方法、装置及设备
CN112200275A (zh) * 2020-12-09 2021-01-08 上海齐感电子信息科技有限公司 人工神经网络的量化方法及装置
WO2021036255A1 (zh) * 2019-08-26 2021-03-04 上海寒武纪信息科技有限公司 用于处理数据的方法、装置以及相关产品
WO2021036362A1 (zh) * 2019-08-28 2021-03-04 上海寒武纪信息科技有限公司 用于处理数据的方法、装置以及相关产品
WO2021037082A1 (zh) * 2019-08-28 2021-03-04 上海寒武纪信息科技有限公司 用于处理数据的方法、装置以及相关产品
WO2021082654A1 (zh) * 2019-11-01 2021-05-06 中科寒武纪科技股份有限公司 数据处理方法、装置、计算机设备和存储介质
WO2021082653A1 (zh) * 2019-11-01 2021-05-06 中科寒武纪科技股份有限公司 数据处理方法、装置、计算机设备和存储介质
CN113112009A (zh) * 2020-01-13 2021-07-13 中科寒武纪科技股份有限公司 用于神经网络数据量化的方法、装置和计算机可读存储介质
CN113112008A (zh) * 2020-01-13 2021-07-13 中科寒武纪科技股份有限公司 用于神经网络数据量化的方法、装置和计算机可读存储介质
CN113723599A (zh) * 2020-05-26 2021-11-30 上海寒武纪信息科技有限公司 神经网络计算方法、装置、板卡及计算机可读存储介质
WO2022012233A1 (zh) * 2020-07-15 2022-01-20 安徽寒武纪信息科技有限公司 一种量化校准方法、计算装置和计算机可读存储介质
JP2022532439A (ja) * 2020-02-24 2022-07-14 中科寒武紀科技股▲分▼有限公司 データ量子化処理方法、装置、電子機器および記憶媒体 本願は、2020年02月24日に中国国家知識産権局に提出された、出願番号が202010111884.3であり、発明の名称が「データ量子化処理方法、装置、電子機器および記憶媒体」である中国特許出願の優先権を主張し、その全ての内容は、参照により本願に組み込まれるものとする。
US11397579B2 (en) 2018-02-13 2022-07-26 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11437032B2 (en) 2017-09-29 2022-09-06 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
US11442785B2 (en) 2018-05-18 2022-09-13 Shanghai Cambricon Information Technology Co., Ltd Computation method and product thereof
US11513586B2 (en) 2018-02-14 2022-11-29 Shanghai Cambricon Information Technology Co., Ltd Control device, method and equipment for processor
US11544059B2 (en) 2018-12-28 2023-01-03 Cambricon (Xi'an) Semiconductor Co., Ltd. Signal processing device, signal processing method and related products
US11609760B2 (en) 2018-02-13 2023-03-21 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11630666B2 (en) 2018-02-13 2023-04-18 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11676029B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US11675676B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US11703939B2 (en) 2018-09-28 2023-07-18 Shanghai Cambricon Information Technology Co., Ltd Signal processing device and related products
US11762690B2 (en) 2019-04-18 2023-09-19 Cambricon Technologies Corporation Limited Data processing method and related products
US11847554B2 (en) 2019-04-18 2023-12-19 Cambricon Technologies Corporation Limited Data processing method and related products
US11966583B2 (en) 2018-08-28 2024-04-23 Cambricon Technologies Corporation Limited Data pre-processing method and device, and related computer device and storage medium
US12001955B2 (en) 2019-08-23 2024-06-04 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106845640A (zh) * 2017-01-12 2017-06-13 南京大学 基于深度卷积神经网络的层内非均匀的等间隔定点量化方法
CN108133266A (zh) * 2017-12-12 2018-06-08 北京信息科技大学 一种基于非均匀量化的神经网络权值压缩方法及使用方法
CN108304919A (zh) * 2018-01-29 2018-07-20 百度在线网络技术(北京)有限公司 用于生成卷积神经网络的方法和装置
CN108805257A (zh) * 2018-04-26 2018-11-13 北京大学 一种基于参数范数的神经网络量化方法
CN109102064A (zh) * 2018-06-26 2018-12-28 杭州雄迈集成电路技术有限公司 一种高精度的神经网络量化压缩方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106845640A (zh) * 2017-01-12 2017-06-13 南京大学 基于深度卷积神经网络的层内非均匀的等间隔定点量化方法
CN108133266A (zh) * 2017-12-12 2018-06-08 北京信息科技大学 一种基于非均匀量化的神经网络权值压缩方法及使用方法
CN108304919A (zh) * 2018-01-29 2018-07-20 百度在线网络技术(北京)有限公司 用于生成卷积神经网络的方法和装置
CN108805257A (zh) * 2018-04-26 2018-11-13 北京大学 一种基于参数范数的神经网络量化方法
CN109102064A (zh) * 2018-06-26 2018-12-28 杭州雄迈集成电路技术有限公司 一种高精度的神经网络量化压缩方法

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11437032B2 (en) 2017-09-29 2022-09-06 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
US11397579B2 (en) 2018-02-13 2022-07-26 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11740898B2 (en) 2018-02-13 2023-08-29 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11720357B2 (en) 2018-02-13 2023-08-08 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11709672B2 (en) 2018-02-13 2023-07-25 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11704125B2 (en) 2018-02-13 2023-07-18 Cambricon (Xi'an) Semiconductor Co., Ltd. Computing device and method
US11663002B2 (en) 2018-02-13 2023-05-30 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11630666B2 (en) 2018-02-13 2023-04-18 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11620130B2 (en) 2018-02-13 2023-04-04 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11609760B2 (en) 2018-02-13 2023-03-21 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11507370B2 (en) 2018-02-13 2022-11-22 Cambricon (Xi'an) Semiconductor Co., Ltd. Method and device for dynamically adjusting decimal point positions in neural network computations
US11513586B2 (en) 2018-02-14 2022-11-29 Shanghai Cambricon Information Technology Co., Ltd Control device, method and equipment for processor
US11442785B2 (en) 2018-05-18 2022-09-13 Shanghai Cambricon Information Technology Co., Ltd Computation method and product thereof
US11442786B2 (en) 2018-05-18 2022-09-13 Shanghai Cambricon Information Technology Co., Ltd Computation method and product thereof
US11966583B2 (en) 2018-08-28 2024-04-23 Cambricon Technologies Corporation Limited Data pre-processing method and device, and related computer device and storage medium
US11703939B2 (en) 2018-09-28 2023-07-18 Shanghai Cambricon Information Technology Co., Ltd Signal processing device and related products
US11544059B2 (en) 2018-12-28 2023-01-03 Cambricon (Xi'an) Semiconductor Co., Ltd. Signal processing device, signal processing method and related products
US11847554B2 (en) 2019-04-18 2023-12-19 Cambricon Technologies Corporation Limited Data processing method and related products
US11934940B2 (en) 2019-04-18 2024-03-19 Cambricon Technologies Corporation Limited AI processor simulation
US11762690B2 (en) 2019-04-18 2023-09-19 Cambricon Technologies Corporation Limited Data processing method and related products
US11676028B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US11675676B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US11676029B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
US12001955B2 (en) 2019-08-23 2024-06-04 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium
WO2021036255A1 (zh) * 2019-08-26 2021-03-04 上海寒武纪信息科技有限公司 用于处理数据的方法、装置以及相关产品
WO2021036362A1 (zh) * 2019-08-28 2021-03-04 上海寒武纪信息科技有限公司 用于处理数据的方法、装置以及相关产品
JP2022502724A (ja) * 2019-08-28 2022-01-11 上海寒武紀信息科技有限公司Shanghai Cambricon Information Technology Co., Ltd データを処理するための方法、装置、および関連製品
JP7034336B2 (ja) 2019-08-28 2022-03-11 上海寒武紀信息科技有限公司 データを処理するための方法、装置、および関連製品
WO2021037082A1 (zh) * 2019-08-28 2021-03-04 上海寒武纪信息科技有限公司 用于处理数据的方法、装置以及相关产品
WO2021082654A1 (zh) * 2019-11-01 2021-05-06 中科寒武纪科技股份有限公司 数据处理方法、装置、计算机设备和存储介质
WO2021082653A1 (zh) * 2019-11-01 2021-05-06 中科寒武纪科技股份有限公司 数据处理方法、装置、计算机设备和存储介质
CN112766472A (zh) * 2019-11-01 2021-05-07 中科寒武纪科技股份有限公司 数据处理方法、装置、计算机设备和存储介质
CN112766472B (zh) * 2019-11-01 2024-04-12 中科寒武纪科技股份有限公司 数据处理方法、装置、计算机设备和存储介质
CN111260022A (zh) * 2019-11-22 2020-06-09 中国电子科技集团公司第五十二研究所 一种卷积神经网络全int8定点量化的方法
CN111260022B (zh) * 2019-11-22 2023-09-05 中国电子科技集团公司第五十二研究所 一种卷积神经网络全int8定点量化的方法
CN110889503A (zh) * 2019-11-26 2020-03-17 中科寒武纪科技股份有限公司 数据处理方法、装置、计算机设备和存储介质
CN113112009B (zh) * 2020-01-13 2023-04-18 中科寒武纪科技股份有限公司 用于神经网络数据量化的方法、装置和计算机可读存储介质
CN113112009A (zh) * 2020-01-13 2021-07-13 中科寒武纪科技股份有限公司 用于神经网络数据量化的方法、装置和计算机可读存储介质
CN113112008A (zh) * 2020-01-13 2021-07-13 中科寒武纪科技股份有限公司 用于神经网络数据量化的方法、装置和计算机可读存储介质
CN113112008B (zh) * 2020-01-13 2024-05-10 中科寒武纪科技股份有限公司 用于神经网络数据量化的方法、装置和计算机可读存储介质
JP7233636B2 (ja) 2020-02-24 2023-03-07 中科寒武紀科技股▲分▼有限公司 データ量子化処理方法、装置、電子機器および記憶媒体
JP2022532439A (ja) * 2020-02-24 2022-07-14 中科寒武紀科技股▲分▼有限公司 データ量子化処理方法、装置、電子機器および記憶媒体 本願は、2020年02月24日に中国国家知識産権局に提出された、出願番号が202010111884.3であり、発明の名称が「データ量子化処理方法、装置、電子機器および記憶媒体」である中国特許出願の優先権を主張し、その全ての内容は、参照により本願に組み込まれるものとする。
CN113723599A (zh) * 2020-05-26 2021-11-30 上海寒武纪信息科技有限公司 神经网络计算方法、装置、板卡及计算机可读存储介质
CN111860810A (zh) * 2020-06-30 2020-10-30 浪潮(北京)电子信息产业有限公司 一种基于fpga的神经网络运算方法、装置及设备
WO2022012233A1 (zh) * 2020-07-15 2022-01-20 安徽寒武纪信息科技有限公司 一种量化校准方法、计算装置和计算机可读存储介质
CN112200275A (zh) * 2020-12-09 2021-01-08 上海齐感电子信息科技有限公司 人工神经网络的量化方法及装置

Also Published As

Publication number Publication date
CN109993296B (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN109993296A (zh) 量化实现方法及相关产品
CN109740754A (zh) 神经网络计算装置、神经网络计算方法及相关产品
CN111381871A (zh) 运算方法、装置及相关产品
CN110515589A (zh) 乘法器、数据处理方法、芯片及电子设备
CN110059800B (zh) 脉冲神经网络转换方法及相关转换芯片
CN110022093A (zh) 电机控制方法及系统
WO2021185262A1 (zh) 计算装置、方法、板卡和计算机可读存储介质
CN111382847B (zh) 数据处理装置及相关产品
CN109740746B (zh) 运算方法、装置及相关产品
CN110059812A (zh) 脉冲神经网络运算芯片及相关运算方法
CN111523656B (zh) 处理装置及方法
CN110083532A (zh) 基于深度学习框架的融合模式下运行错误定位方法及装置
CN104641545B (zh) 具有不同dc源的链路转换器系统和操作方法
CN109376856B (zh) 数据处理方法及处理装置
CN115549854A (zh) 循环冗余校验方法、装置、存储介质以及电子设备
CN111260070B (zh) 运算方法、装置及相关产品
CN110515586A (zh) 乘法器、数据处理方法、芯片及电子设备
CN112395003A (zh) 运算方法、装置及相关产品
CN110515588A (zh) 乘法器、数据处理方法、芯片及电子设备
CN111382850A (zh) 运算方法、装置及相关产品
CN111381873A (zh) 运算方法、装置及相关产品
CN111382851A (zh) 运算方法、装置及相关产品
CN111047023B (zh) 一种计算装置及相关产品
CN111381872A (zh) 运算方法、装置及相关产品
CN117767778B (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: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences

Applicant after: Zhongke Cambrian Technology Co., Ltd

Address before: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences

Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20201130

Address after: Room 611-194, R & D center building, China (Hefei) international intelligent voice Industrial Park, 3333 Xiyou Road, hi tech Zone, Hefei City, Anhui Province

Applicant after: Anhui Cambrian Information Technology Co., Ltd

Address before: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences

Applicant before: Zhongke Cambrian Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant