CN114611697B - 神经网络量化及部署方法、系统、电子设备及存储介质 - Google Patents
神经网络量化及部署方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114611697B CN114611697B CN202210506019.8A CN202210506019A CN114611697B CN 114611697 B CN114611697 B CN 114611697B CN 202210506019 A CN202210506019 A CN 202210506019A CN 114611697 B CN114611697 B CN 114611697B
- Authority
- CN
- China
- Prior art keywords
- neural network
- quantization
- target
- network model
- area
- 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
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/08—Learning methods
-
- 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
-
- 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种基于片内异构硬件的神经网络量化及部署方法、系统、电子设备及存储介质,应用于神经网络技术领域,其中神经网络量化方案包括:采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索,以从所述神经网络模型中匹配出所述目标模式对应的一个或多个目标量化区域;采用量化策略对所述目标模式进行量化处理。通过根据异构硬件特性进行神经网络模型的量化处理,可使得量化后的神经网络模型部署在实际硬件后综合提升神经网络的精度和性能。
Description
技术领域
本申请涉及神经网络技术领域,具体涉及一种基于片内异构硬件的神经网络量化及部署方法、系统、电子设备及存储介质。
背景技术
通常神经网络的参数量是巨大的,正是因为具有这一特性,神经网络处理精度通常较高,但这一特性也造成神经网络在实际应用中难以部署。
为便于部署神经网络,现有方案普遍是对神经网络进行量化处理来降低参数量,进而使量化后的神经网络更易于部署。
但是,对于同构硬件的量化处理方案,由于硬件特性已固定,因而量化处理后的神经网络,很难在性能和精度保持良好效果。例如,为了加速量化整型计算,同构硬件可能重点加强整型计算单元,但这就限制了必须采用浮点运算的网络部分的性能。
发明内容
有鉴于此,本说明书实施例提供一种基于片内异构硬件的神经网络量化及部署方法、系统、电子设备及存储介质,通过对神经网络的不同部分进行不同量化处理,可综合提升量化后神经网络的精度和性能。
本说明书实施例提供以下技术方案:
本说明书实施例提供一种神经网络量化方法,包括:
采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索,以从所述神经网络模型中匹配出所述目标模式对应的一个或多个目标量化区域,其中所述目标模式为根据计算特征预先定义的网络模式,所述计算特征为应用部署所述神经网络模型的片内异构硬件支持的运算特征,所述计算特征包括算子的算法以及数据类型;
采用量化策略对所述目标量化区域进行量化处理,所述量化策略为所述目标模式对应的策略。
本说明书实施例还提供一种神经网络部署方法,其特征在于,包括:
获取待部署的神经网络模型对应的量化结果,所述量化结果为通过本说明书中任一项所述的神经网络量化方法对所述待部署的神经网络模型进行量化处理后得到的结果;
根据所述量化结果生成所述待部署的神经网络模型中各个网络区域对应的目标指令,所述目标指令为将所述网络区域部署于片内异构硬件中的底层硬件时对应的硬件部署指令。
本说明书实施例还提供一种神经网络量化系统,包括:
匹配搜索模块,采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索,以从所述神经网络模型中匹配出所述目标模式对应的一个或多个目标量化区域,其中所述目标模式为根据计算特征预先定义的网络模式,所述计算特征为应用部署所述神经网络模型的片内异构硬件支持的运算特征,所述计算特征包括算子的算法以及数据类型;
量化计算模块,采用量化策略对所述目标量化区域进行量化处理,所述量化策略为所述目标模式对应的策略。
本说明书实施例还提供一种神经网络部署系统,包括:
获取模块,获取待部署的神经网络模型对应的量化结果,所述量化结果为通过本说明书中任一项所述的神经网络量化方法对所述待部署的神经网络模型进行量化处理后得到的结果;
生成模块,根据所述量化结果生成所述待部署的神经网络模型中各个网络区域对应的目标指令,所述目标指令为将所述网络区域部署于片内异构硬件中的底层硬件时对应的硬件部署指令。
本说明书实施例还提供一种电子设备,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行:如本说明书中任意一项实施例所述神经网络量化方法或者所述神经网络部署方法。
本说明书实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时执行如本说明书中任意一项实施例所述神经网络量化方法或者所述神经网络部署方法。
与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:
通过基于片内硬件计算特性,对神经网络模型中的不同部分采用不同的量化方法进行量化处理,使得量化后神经网络中不同部分匹配到不同异构硬件单元,可同时提升神经网络模型在实际部署应用中的精度和性能。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请提供的一种神经网络量化方法的原理示意图;
图2是本申请提供的一种神经网络量化方法的流程图;
图3是本申请提供的一种神经网络量化方法中常量折叠的示意图;
图4是本申请提供的一种神经网络量化方法中转换动态算子的示意图;
图5是本申请提供的一种神经网络量化方法中转换批量归一化操作的示意图;
图6是本申请提供的一种神经网络量化系统的结构示意图;
图7是本申请提供的一种神经网络部署方法的流程图;
图8是本申请提供的一种神经网络部署系统的结构示意图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本申请,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目和方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践。
目前,神经网络可以通过量化处理,即对神经网络的参数量化降维后,比如将浮点32位量化为整型8位,再部署应用到实际硬件系统中。
但是,现有模型量化方案主要针对权重Weight量化和针对激活值Activation量化,比如将权重和激活值量化到8bit时,推理性能可以超过32bit的性能。但是由于同构硬件的特点,造成现有的量化算法往往覆盖了全部网络,而对网络中精度敏感区域的量化,又会导致推理精度大幅下降。因此,在将神经网络在硬件系统中进行实际部署应用后,会发现采用现有方案量化后的神经网络很难兼顾性能和精度。
有鉴于此,发明人通过对神经网络及其量化方案进行深入研究及改进探索后,提出了一种基于片内异构硬件的神经网络量化方案:如图1所示,针对待部署应用的神经网络以及将部署该神经网络的片内异构硬件的特性,通过对神经网络进行结构分析,进而使用预设的各个特定模式,从神经网络中匹配出各个量化区域,并对量化区域采用相应的量化方案进行量化处理,从而针对不同量化区域进行有针对性的量化处理,以便于根据部署该神经网络的实际硬件特征,来将神经网络模型划分为可以直接用于各个异构硬件单元的网络部分,从而将可以处理不同任务的不同网络部分分配到对应的异构硬件单元,能够保证神经网络在实际部署应用中兼顾性能和精度。
其中,特定模式为根据片内异构硬件的计算特征预先确定的且用于对神经网络模型进行匹配搜索的模式。例如,如图1所示,假设神经网络模型中包括conv(卷积)、bias_add(偏置)、pooling(池化)、softmax(归一化指数函数)和用于对softmax输出进行池化的pooling等,而且根据片内异构硬件预先确定出的匹配模式有模式1和模式2,其中模式1为包含有conv、bias_add和pooling等处理层的匹配模式,模式2为包含对softmax进行池化的pooling模式,因而通过使用模式1和模式2对神经网络进行模式匹配搜索后,从待量化的神经网络模型中可以确定出两个量化区域(如图中虚线框的示意)。
需要说明的是,片内异构硬件可指片内包含一系列异构单元,这些异构单元在硬件结构上有较大差异,比如异构单元可包括但不限于CPU(Central Processing Unit,中央处理器)、GPU(Graphic Processing Unit,图形处理器)、TPU(Tensor Processing Unit,张量处理器)、NPU(Neural network Processing Unit,神经网络处理器)、DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)等,这里不对片内异构硬件作限定。
因此,可利用这些异构单元来对神经网络中的各个区域进行加速计算,如利用特定功能的DSP、NPU、TPU等异构单元,对神经网络中不同区域进行加速计算。
实施中,异构硬件中可存在部分特定模块,通常用于加速精度不敏感且计算量占比大的网络区域,针对这些模块的特性可预先定义用于搜索匹配量化区域的模式,其中这种量化区域的模式定义可取决于:可否将对应区域完整的变为硬件可支持的量化计算。例如,可针对片内异构硬件中存在模块可以直接支持的“conv + bias_add + pooling”等网络区域功能的情况,预定义一个模式(如前述的模式1)。这种情况下该片内异构硬件中的模块也可以运行pooling,基于此,也可以另外再定义出可以运行一个pooling的模式(如前述的模式2)。
实施中,异构硬件中还可存在另一部分模块,可用于加速计算神经网络中一系列通用计算,即由异构硬件中的通用计算异构单元实现量化计算。这些通用计算的量化模式可以根据已经实现的量化计算类型来确定,这里不作限定。
其中,对于不同的异构硬件,可得到不同的模式。针对同一异构硬件,可以得到至少一个模式。
以下结合附图,说明本申请各实施例提供的技术方案。
如图2所示,本说明书实施例提供一种神经网络量化方法,可包括:
步骤S202、采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索,以从所述神经网络模型中匹配出所述目标模式对应的一个或多个目标量化区域。
实施中,所述目标模式为根据待部署的片内异构硬件的计算特征,预先定义的网络模式,所述计算特征为应用部署所述神经网络模型的片内异构硬件支持的运算特征,所述计算特征包括算子的算法以及数据类型。
需要说明的是,算子可指神经网络中某种运算、操作等,比如卷积、乘法、加法等。被算子操作的对象为操作数,如算子的输入参数、输出参数等。算法可指为了达到某个目标而需要执行一系列指令的过程,即对某种数据进行一系列操作的指令序列。数据类型可为片内异构硬件进行数据计算时支持的类型,比如整型的数据类型,这里不作限定。
实施中,可根据异构硬件的特性,预先设置多种模式作为目标模式。在一个实例中,目标模式可以包括上述的模式1和模式2。
实施中,可根据异构硬件能够支持的计算特征预先定义出各类匹配模式,进而可将匹配模式用于神经网络模型的搜索,以便将神经网络模型中的各个部分划分为量化区域。
实施中,量化区域的搜索匹配,可通过对神经网络模型进行网络结构分析后采用模式匹配的算法完成。
在一些实施方式中,在模式匹配时,可采用贪心搜索算法,对模型进行贪心搜索,将每个量化区域按最大化的原则划分出来。
实施中,采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索,以从所述神经网络模型中匹配出所述目标模式对应的目标量化区域,可包括:采用预设的目标模式对待量化的神经网络模型进行模式匹配的贪心搜索,以从所述神经网络模型中最大化匹配出所述目标模式对应的目标量化区域。
通过将量化区域按最大化原则进行划分,可减少量化区域数量,简化量化区域,也便于利用预定义的模式进行模式匹配。
在一些实施方式中,可在匹配出各个量化区域后,对神经网络模型进行标记,即在匹配出所述目标量化区域后,对匹配出的各个量化区域进行标识、索引等,以便于后续处理的中间表示。
需要说明的是,可按实际应用场景需要对区域进行标识、索引,这里不对标识、索引的具体方式等作限定。
步骤S204、采用量化策略对所述目标量化区域进行量化处理,所述量化策略为所述目标模式对应的策略。
实施中,可将各个匹配模式对应的量化方案(即量化策略)进行预先定义,具体可以根据需要部署神经网络的硬件进行预先定义。
例如,针对部署硬件中有较多DSP资源时,神经网络中承担浮点数运算任务的网络区域可以分配到这些DSP硬件中,以及这些网络区域在量化中可采用较多位数的量化方案,可兼顾性能和精度。
例如,针对进行判断类的网络部分,比如分类网络,可采用较少量化位数进行量化,如1bit、2bit等。
通过上述步骤202至步骤S204,针对待部署应用的神经网络,预先根据硬件特性确定出一个或多个匹配模式,进而根据匹配模式将神经网络中的一个或者多个网络区域划分为量化区域,以及针对不同量化区域确定出这些量化区域各自对应的量化方案,从而可以对神经网络中的不同部分,采用不同的量化方式,以便将量化后的神经网络中各个网络区域可以匹配到不同的异构硬件单元,可以保证量化后的神经网络在实际部署应用中同时兼顾精度和性能,有利于神经网络在不同实际硬件中部署应用。
在一些实施方式中,可对神经网络进行网络优化。
实施中,可在采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索前,对所述神经网络模型进行优化处理,通过网络优化处理可以降低所述神经网络模型的复杂度。
需要说明的是,网络优化可以指为降低神经网络的复杂程度进行的优化处理,包括编译阶段、训练阶段、测试阶段等阶段中的优化,比如编译阶段可对常量进行编译优化,比如训练阶段可对训练数据集、网络参数等进行优化,测试阶段可对测试数据集、网络参数等进行优化。
通过对原始的神经网络模型进行优化,降低了网络模型的复杂程度,便于后续处理中进行任务特征提取,比如量化区域的识别、划分、量化等处理。
在一些实施方式中,可以将在编译阶段能够确定的网络部分、参数部分等进行预先计算确定,并将其转换为对应的网络、参数等。
作为一种优化方式,如图3所示,针对权重(weight)为常量的情形,可以将这些常量与其后的算子进行折叠处理,从而将原来的权重及其后相邻的算子(如Transpose函数)折叠后形成新权重(newweight),如图3中虚线框的示意。
需要说明的是,常量折叠也可称常量合并,通常可在编译器进行语法分析时进行常量及其运算的合并优化。例如,一个计算表达式(也可以是函数等)在实际运行前可以确定,如当所有的操作数(operands)均为常量时,这时在编译阶段时可以直接用计算结果来代表该计算表达式。因此,常量折叠可以指在编译器进行语法分析时,通过将常量的计算表达式进行求值,并能够使用求得的值来替换原表达式的优化处理。通常,可在编译阶段将编译中遇到的常量及其计算表达式以确定的内容替换,常量折叠可以作为一种编译优化方式。
通过常量折叠优化处理后,既能够将神经网络模型的复杂程度简化,又能节约后续部署中常量折叠前的参数、网络等开销,更有利于后期量化、部署等处理。
作为一种实施方式,可将常量折叠后的结果放入常量表中,以及可以对常量表作标识和索引,后续量化处理中可根据这些标识和索引进行数据查询、调用或量化。基于该实施方式,可在量化处理过程中通过直接访问常量表中的内容以进行量化。
在一些实施方式中,在对所述神经网络模型进行优化处理中,可将符合条件的算子进行转换。需要说明的是,可预先针对算子设置转换条件,在量化过程中当检测到算子满足转换条件时,可对算子进行转换,转换条件可根据部署应用需要进行预先设置,这里不作限定。
作为另一种优化方式,可将所述神经网络模型的动态算子转换为静态算子,其中所述动态算子的动态输入为常量。如图4所示,虚线框中,虽然动态函数Transpose的输入包含有动态参数,但该动态参数输入可以是已确定的,比如在动态算子的动态输入已经是常量的情况下,这时可将该动态Transpose转换为静态Transpose,进一步降低神经网络模型的复杂度。
作为又一种优化方式,在对所述神经网络模型进行优化处理的过程中,可通过将批量归一化操作与其后可能存在的乘加操作进行结合,通过修改批量归一化操作对应的参数,形成新的批量归一化参数,以此将批量归一化操作与其后可能存在的乘加操作结合起来。
作为又一种优化方式,在对所述神经网络模型进行优化处理的过程中,可将批量归一化操作与卷积操作进行结合,通过修改卷积操作对应的卷积权重参数来将批量归一化操作与卷积操作结合。其中,此处的批量归一化操作可以是还未与其他操作结合的,也可以是已经与其他操作(例如乘加操作)结合过的。
示例性地,如图5所示,可通过将所述神经网络模型的批量归一化操作和紧邻所述批量归一化操作后的乘加操作结合,如图中批量归一化的bn参数、add参数和后续Add操作进行结合,具体可修改为新的批量归一化操作对应的参数,比如形成新的bn参数,优化处理后的神经网络模型得到进一步简化,网络的复杂程度也进一步降低,更有利于量化处理。
在对所述神经网络模型进行优化处理的过程中,还可将批量归一化操作融合到其后的卷积操作中。
为便于理解,可继续参阅图5,通过将修改后的所述批量归一化操作对应的参数与其相关的卷积操作进行结合,如图5中将批量归一化操作的卷积权重参数(Convweight)、新bn参数和批量归一化操作Batchnorm,融合到卷积Conv算子中,即通过修改卷积操作对应的参数,如形成新Conv weight,使得批量归一化操作的参数、运算结合到卷积算子中。
通过简化批量归一化操作,即先将批量归一化与其后可能存在的乘加操作结合起来,然后将批量归一化操作与卷积操作结合起来,可以彻底消除单独的批量归一化,使其参数融合到卷积层的权重中一起被量化。
需要说明的是,此处将卷积和批量归一化操作结合进行优化,可将修改后的所述批量归一化操作对应的参数进一步融合到卷积层的权重中,神经网络结构加以简化。当然,卷积层可基于前述各实施例的优化方式进行优化,如卷积的权重为常量时进行常量折叠处理,又如卷积的动态输入为常量时转换为静态算子等等,这里不再赘述。
在一些实施方式中,量化处理可以包括对参数量的数值范围进行压缩量化,比如参数为浮点型32bit可量化为整型8bit,这时量化策略通常可包括:依据目标量化区域对应的数值范围进行量化的策略,这时可通过对目标量化区域进行数值统计,来获得该目标量化区域对应的数值范围,进而根据不同范围采取不同量化方式。
例如,在将浮点数用定点数表示的过程中,可采用不同格式的表达方式来对不同数值范围的数据进行量化表示,可采用8bit的各种Q格式。需要说明的是,Q格式可以是DSP中常用的Q格式,这里不作限定。
例如,所统计得到的统计数据,采取不同的转换方法将统计出的浮点参数(如前述步骤分别得到的最大值、最小值,都可能是浮点参数)转换为整型参数,可以得到各输入数据或输出数据对应的量化参数。
实施中,可在对所述神经网络模型进行优化处理后,对优化后的所述神经网络模型进行数值统计处理,以确定出优化后的所述神经网络模型中各个量化区域对应的数值范围,便于将量化区域匹配到异构硬件单元,并获得合适的量化参数。
需要说明的是,数值统计可以是对每个量化区域进行输入数据和输出数据的数值范围的统计,通过数值统计后,同一目标模式匹配所得的各个量化区域可根据数值统计结果进一步采用更精细的量化方案,比如针对量化区域的数值进行量化中,同一个目标模式匹配出三个量化区域,其中第一个量化区域对应的数值统计结果为该量化区域的数值均可以使用8bit数据进行表达,而第二个量化区域可以使用32bit数据进行表达,以及第三个量化区域可以使用40bit数据进行表达,则第一个量化区域可以使用将数据量化为8bit的量化策略,而第二个量化区域可以使用将数据量化为32bit的量化策略,以及第三个量化区域可以使用将数据量化为64bit的量化策略,或者第三量化区域可以采用8bit和32bit两种量化策略组合所得的量化方案,比如8bit量化方案针对40bit中的前8bit进行量化,而32bit针对40bit中后32bit进行量化,或者32bit量化方案针对40bit中前32bit进行量化,而8bit针对40bit中后8bit进行量化。当然,若量化策略中已预设有40bit对应的量化策略,第三量化区域也可以选用该40bit的量化策略。因此,在数据值统计后,将量化区域匹配到更精细的量化策略,量化区域与量化策略进行匹配可以包括但不限于:依据数值统计结果从预设的多个量化策略中选择出目标策略作为对目标量化区域进行量化处理的策略、根据数值统计结果从预设的多个量化策略中选择部分策略进行组合后作为对目标量化区域进行量化处理的策略,有利于兼顾性能和精度。另外,数值统计具体可以在训练阶段、测试阶段甚至是部署应用阶段中进行。
在一些实施方式中,在对优化后的所述神经网络模型进行数值统计处理的过程中,可通过对校准数据进行统计,进一步校准任务的分配策略。需要说明的是,校准数据可为用于对量化区域进行校准的训练数据,因而校准数据可从训练数据集、测试数据集等数据集中选取,并在选取后将校准数据用于对量化区域的数值统计处理。
实施中,可从神经网络模型对应的训练数据集中,选取第一数量的样本作为校准数据集,比如从模型的训练数据集中随机选取500-1000个样本作为校准数据集,第一数量可根据实际应用进行设定,这里不作限定;然后,将所述校准数据集中的样本送入所述神经网络模型进行前向推理,即将校准数据作为训练数据,用于神经网络模型的前向推理,从而通过前向推理可以获得每个量化区域对应的输入数据和输出数据(可合称输入输出数据);接着,记录每个所述目标量化区域对应的输入输出数据,比如记录一个目标量化区域的所有输入数据和所有输出数据,当然,也可以记录每个输入数据各自对应的输出数据的最大值、最小值等;最后,可根据这些输入输出数据统计出所有输入数据的最大值和最小值,以及,所有输出数据的最大值和最小值,以此得到该目标量化区域对应的数值范围。
在确定出量化区域对应的数值范围后,可依据数据范围的不同,可采用不同的量化位数进行量化。
需要说明的是,量化位数的多少可以根据实际应用需要进行预先确定,这里不作限定。
在一些实施方式中,在对优化后的所述神经网络模型进行数值统计处理的过程中,可直接对常量参数进行数值统计处理。
实施中,当需要进行数值统计的参数为常量参数时,可对所述神经网络模型中的这些常量参数,直接统计最大值和最小值,可快速确定出这些常量参数在所述目标量化区域中对应的数值范围(即由统计所得的最大值和最小值构成),简化数值统计。
在一些实施例中,对于神经网络模型中任意区域(任意区域可以是目标量化区域,也可以是目标量化区域以外的其他区域)的固定参数(固定参数是非动态参数),可以进行数值统计,例如,可以统计一些卷积层的权重,直接统计权重的最大值、最小值。
在对神经网络的各个部分进行数值统计后,根据统计得到的数据,可以采用不同的转换方法将统计出的数据(例如浮点型的参数)转化为整型参数。
基于相同发明构思,本说明书实施例提供与前述任意一个实施例所述神经网络量化方法对应的一种神经网络量化系统,通过该量化系统对神经网络进行量化后,有利于经量化后的神经网络在精度和性能上同时兼顾,提高了神经网络实际部署应用中的精度和性能。
如图6所示,本说明书实施例提供的一种神经网络量化系统300,可包括:匹配搜索模块301,采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索,以从所述神经网络模型中匹配出所述目标模式对应的一个或多个目标量化区域,其中所述目标模式为根据计算特征预先定义的网络模式,所述计算特征为应用部署所述神经网络模型的片内异构硬件支持的运算特征,所述计算特征包括算子算法以及数据类型;量化计算模块303,采用量化策略对所述目标量化区域进行量化处理,所述量化策略为所述目标模式对应的量化策略。
需要说明的是,匹配搜索模块301和量化计算模块303可统一为一个网络结构分析模块,即待量化的神经网络模型输入到该网络结构分析模块后,由该网络结构分析模块识别出各个量化区域,并对各个量化区域进行量化后输出新的神经网络模型。
可选地,所述神经网络量化系统还包括:优化处理模块(图中未示出),所述优化处理模块用于在采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索前,对所述神经网络模型进行优化处理,以降低所述神经网络模型的复杂度。
可选地,所述优化处理模块可用于:对所述神经网络模型的常量进行常量折叠处理。
可选地,所述优化处理模块可用于:对所述神经网络模型的动态算子转换为静态算子,其中所述动态算子的动态输入为常量。
可选地,所述优化处理模块可用于:修改批量归一化操作对应的参数,以将所述神经网络模型的批量归一化操作和紧邻所述批量归一化操作后的乘加操作结合。
可选地,对所述神经网络模型进行优化处理还包括:修改卷积操作对应的参数,以将修改后的所述批量归一化操作对应的参数融合到卷积操作中。
可选地,所述量化策略为依据所述目标量化区域对应的数值范围进行量化的策略;
所述神经网络量化系统还包括:数值统计模块(图中未示出),所述数值统计模块用于在对所述神经网络模型进行优化处理后,对优化后的所述神经网络模型进行数值统计处理,以确定优化后的所述神经网络模型中各所述目标量化区域对应的数值范围。
可选地,所述数值统计模块可用于:
从所述神经网络模型对应的训练数据集中,选取第一数量的样本作为校准数据集;
将所述校准数据集中的样本送入所述神经网络模型进行前向推理;
记录每个所述目标量化区域对应的输入数据和输出数据;
统计所述输入输数据的最大值和最小值,以及所述输出数据的最大值和最小值,得到所述目标量化区域对应的数值范围。
可选地,所述数值统计模块可用于:对所述神经网络模型中的常量参数,统计所述常量参数的最大值和最小值,以确定所述常量参数在所述目标量化区域中对应的数值范围。
可选地,采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索,以从所述神经网络模型中匹配出所述目标模式对应的目标量化区域,包括:采用预设的目标模式对待量化的神经网络模型进行模式匹配的贪心搜索,以从所述神经网络模型中最大化匹配出所述目标模式对应的目标量化区域。
可选地,所述神经网络量化系统还包括:中间表示模块(图中未示出),所述中间表示模块用于在匹配出所述目标量化区域后,对所述目标量化区域进行标识和索引。
关于神经网络量化系统300的其他细节可参照前述对于神经网络量化方法的相关描述,此处不再赘述。
应当注意,尽管在上文详细描述中提及了神经网络量化系统的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
基于相同发明构思,本说明书实施例提供与前述任意一个实施例所述神经网络量化方法对应的一种用于量化神经网络的电子设备,所述电子设备包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行:如本说明书中任意一项实施例所述的神经网络量化方法。
基于相同发明构思,本说明书实施例提供一种用于量化神经网络的计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时执行如本说明书中任意一实施例提供的所述神经网络量化方法的步骤。
需要说明的是,所述计算机存储介质可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本申请还可以提供将数据处理实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行前述任意一个实施例所述方法中的若干步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本申请中的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
基于相同发明构思,本说明书实施例提供一种神经网络部署方法、系统、电子设备及存储介质。
如图7所示,本说明书实施例提供一种神经网络部署方法,可包括:
步骤S402、获取待部署的神经网络模型对应的量化结果。
其中,所述量化结果为通过本说明书中任意一项实施例所述的神经网络量化方法对所述待部署的神经网络模型进行量化处理后得到的结果。
实施中,可采用如本说明书中上述任意一项实施例所述的神经网络量化方法,对待部署的神经网络模型进行量化处理,以获得实际部署该神经网络的片内异构硬件对应的量化处理后的神经网络模型。
需要说明的是,量化结果可为通过所述神经网络量化方法预先得到的结果,也可为在部署时才对神经网络进行量化处理得到的当前结果,这里不作限定。相应地,量化结果的获取方式、来源等也不作限定。
步骤S404、根据所述量化结果生成所述待部署的神经网络模型中各个网络区域对应的目标指令。
其中,所述目标指令为将所述网络区域部署于片内异构硬件中的底层硬件时对应的硬件部署指令。
需要说明的是,目标指令可为用于将量化区域匹配到具体硬件电路的指令,指令可根据具体的异构硬件的类型进行生成,通过不同的硬件指令形式来表达神经网络模型各个网络区域实际部署于异构硬件的过程,这里不对生成方式、指令形式等作限定。另外,底层硬件可为用于支持执行神经网络模型中各个网络部分的执行逻辑的硬件电路,这里不对底层硬件的具体形式作限定。
实施中,可根据部署神经网络模型的异构硬件特性,将神经网络模型中的各个网络区域表达成部署到异构硬件中底层硬件时对应的部署指令,以便于根据指令将神经网络模型部署到异构硬件的具体电路单元(即底层硬件)中。
通过上述步骤S402至S404,将待部署的神经网络模型进行量化处理后,使得神经网络模型的各个部分匹配到异构硬件的各个硬件单元,进而通过改写方式形成部署时对应的指令形式,从而通过执行指令可将神经网络模型部署到异构硬件中。
在一些实施方式中,在将所述神经网络模型中的各个网络区域改写为目标指令中,可根据量化结果进行实际改写,即根据量化结果对量化区域对应的网络区域、非量化区域对应的网络区域等神经网络模型的各个网络部分,有针对性地基于异构硬件的特性生成相应的指令。
在一种实施示例中,针对所述待部署的神经网络模型中第一网络区域,可以生成对应的第一目标指令,其中所述第一网络区域可以为包含有目标量化数据的目标量化区域,所述目标量化数据为所述片内异构硬件中的底层硬件直接使用的量化数据。
具体地,对于异构硬件可以直接使用量化数据的量化区域(其中这样的量化区域,因包含有硬件本身可以支持使用的量化数据,可记为第一量化区域),例如前述示例中的量化区域R1(即由“conv + bias_add + pooling”构成的量化区域),可生成对应的第一目标指令,以通过第一目标指令完成如下操作:将“量化后权重+统计转换后得到的量化参数”等打包为参数保留在模型中,进而打包参数后产生为新算子,比如改写为R11作为量化算子,以此将区域R1中的旧算子(conv + bias_add + pooling)替换为该量化算子(即,新算子R11)。
例如,如果原始算子包括权重,那么原始算子所包含的权重经过量化参数的变换,会变为量化后的权重。量化算子会包括量化参数和量化后权重,硬件模块可以直接使用量化参数和量化后权重。
通过将参数打包作为模型保留参数,以及将算子改写为新的量化算子,可便于量化、指令生成、指令执行等部署处理。
在一种实施示例中,针对不属于第一网络区域的其他目标量化区域,即所述待部署的神经网络模型中的第二网络区域,其中所述第二网络区域为未包含有所述目标量化数据的目标量化区域,可以生成第二网络区域对应的第二目标指令。
具体地,对于规划于通用计算单元(即硬件本身不支持量化数据)的量化区域(其中这样的量化区域,因未包含有硬件本身能够支持使用的量化数据,可记为第二量化区域),可以使用通用计算算子(即不同于第一量化区域对应的量化算子)得到的新算子实现量化计算,比如将通用计算算计记为R22,可以使用新算子R22对区域中的第二量化区域中的算子进行替换,以实现量化计算,即将规划于通用计算单元的所述目标量化区域,使用通用计算算子进行量化计算。
需要说明的是,通用计算的这部分算子也包含有量化参数,只是硬件本身不能直接支持使用这些量化参数,因而量化计算算子的实现可以利用这部分参数对应的通用计算算子实现量化计算部署,不再赘述。
在一种实施示例中,对于不属于量化区域的其他网络区域(即待部署的神经网络模型中,除前述第一量化区域、第二量化区域之外的其他网络区域),比如规划使用单精度浮点数运算的区域,可将其在异构硬件中进行直接分发,即将使用单精度浮点数运算的非量化区域,可以直接生成用于部署到对应异构单元的目标指令(可记为第三区域对应的第三目标指令),所述异构单元为所述片内异构硬件中支持定点计算的硬件单元,以将使用单精度浮点数运算的区域分发部署于对应的底层硬件单元中。
如图8所示,本说明书实施例提供一种神经网络部署系统500,可包括:获取模块501,获取待部署的神经网络模型对应的量化结果,所述量化结果为由如本说明书中任意一项实施例所述的神经网络量化方法进行量化处理后的结果;生成模块503,根据所述量化结果生成所述待部署的神经网络模型中各个网络区域对应的目标指令,所述目标指令为将所述网络区域部署于片内异构硬件中的底层硬件时对应的硬件部署指令。关于该神经网络部署系统500的其他细节可参照前述对于神经网络部署方法的内容,此处不再赘述。
本说明书实施例提供一种用于量化神经网络的电子设备,所述电子设备包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行:如本说明书中任意一项实施例所述的神经网络部署方法。
需要说明的是,该电子设备的说明,具体可参照前述实施例的说明方式,这里不再展开说明。
本说明书实施例提供一种用于量化神经网络的计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时执行:如本说明书实施例提供的任意一种神经网络部署方法。
需要说明的是,该计算机存储介质的说明,具体可参照前述实施例的说明方式,这里不再展开说明。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例侧重说明的都是与其他实施例的不同之处。尤其,对于后面说明的方法实施例而言,由于其与系统是对应的,描述比较简单,相关之处参见系统实施例的部分说明即可。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种神经网络量化方法,其特征在于,包括:
采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索,以从所述神经网络模型中匹配出所述目标模式对应的一个或多个目标量化区域,其中所述目标模式为根据计算特征预先定义的网络模式,所述计算特征为应用部署所述神经网络模型的片内异构硬件支持的运算特征,所述计算特征包括算子的算法以及数据类型;
采用量化策略对所述目标量化区域进行量化处理,得到所述神经网络模型对应的量化结果,所述量化策略为所述目标模式对应的策略;
根据所述量化结果生成所述神经网络模型中各个网络区域对应的目标指令,所述目标指令为将所述网络区域部署于所述片内异构硬件中的底层硬件时对应的硬件部署指令。
2.根据权利要求1所述的神经网络量化方法,其特征在于,在采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索前,所述神经网络量化方法还包括:对所述神经网络模型进行优化处理,以降低所述神经网络模型的复杂度。
3.根据权利要求2所述的神经网络量化方法,其特征在于,对所述神经网络模型进行优化处理,包括以下至少一者:
对所述神经网络模型的常量进行常量折叠处理;
将所述神经网络模型的动态算子转换为静态算子,其中所述动态算子的动态输入为常量。
4.根据权利要求2所述的神经网络量化方法,其特征在于,对所述神经网络模型进行优化处理,包括:修改批量归一化操作对应的参数,以将所述神经网络模型的批量归一化操作和紧邻所述批量归一化操作后的乘加操作结合。
5.根据权利要求4所述的神经网络量化方法,其特征在于,对所述神经网络模型进行优化处理还包括:修改卷积操作对应的参数,以将修改后的所述批量归一化操作对应的参数融合到卷积层的权重中。
6.根据权利要求2所述的神经网络量化方法,其特征在于,所述量化策略为依据所述目标量化区域对应的数值范围进行量化的策略;
在对所述神经网络模型进行优化处理后,所述神经网络量化方法还包括:对优化后的所述神经网络模型进行数值统计处理,以确定优化后的所述神经网络模型中各所述目标量化区域对应的数值范围。
7.根据权利要求6所述的神经网络量化方法,其特征在于,对优化后的所述神经网络模型进行数值统计处理,包括:
从所述神经网络模型对应的训练数据集中,选取第一数量的样本作为校准数据集;
将所述校准数据集中的样本送入所述神经网络模型进行前向推理;
记录每个所述目标量化区域对应的输入数据和输出数据;
统计所述输入数据的最大值和最小值,以及所述输出数据的最大值和最小值,得到所述目标量化区域对应的数值范围。
8.根据权利要求6所述的神经网络量化方法,其特征在于,对优化后的所述神经网络模型进行数值统计处理,包括:对所述神经网络模型中的常量参数,统计所述常量参数的最大值和最小值,以确定所述常量参数在所述目标量化区域中对应的数值范围。
9.根据权利要求1-8任一项所述的神经网络量化方法,其特征在于,采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索,以从所述神经网络模型中匹配出所述目标模式对应的目标量化区域,包括:采用预设的目标模式对待量化的神经网络模型进行贪心搜索,以从所述神经网络模型中最大化匹配出所述目标模式对应的目标量化区域。
10.根据权利要求1-8任一项所述的神经网络量化方法,其特征在于,在匹配出所述目标量化区域后,所述神经网络量化方法还包括:对所述目标量化区域进行标识和索引。
11.根据权利要求1所述的神经网络量化方法,其特征在于,根据所述量化结果生成所述待部署的神经网络模型中各个网络区域对应的目标指令,包括:
生成所述待部署的神经网络模型中第一网络区域对应的第一目标指令,其中所述第一网络区域为包含有目标量化数据的目标量化区域,所述目标量化数据为所述片内异构硬件中的底层硬件直接使用的量化数据;
生成所述待部署的神经网络模型中第二网络区域对应的第二目标指令,其中所述第二网络区域为未包含有所述目标量化数据的目标量化区域;
生成所述待部署的神经网络模型中第三网络区域对应的第三目标指令,其中所述第三网络区域为除所述第一网络区域和所述第二网络区域之外的网络区域。
12.一种神经网络量化系统,其特征在于,包括:
匹配搜索模块,采用预设的目标模式对待量化的神经网络模型进行模式匹配搜索,以从所述神经网络模型中匹配出所述目标模式对应的一个或多个目标量化区域,其中所述目标模式为根据计算特征预先定义的网络模式,所述计算特征为应用部署所述神经网络模型的片内异构硬件支持的运算特征,所述计算特征包括算子的算法以及数据类型;
量化计算模块,采用量化策略对所述目标量化区域进行量化处理,得到所述神经网络模型对应的量化结果,所述量化策略为所述目标模式对应的策略;
生成模块,根据所述量化结果生成所述待部署的神经网络模型中各个网络区域对应的目标指令,所述目标指令为将所述网络区域部署于所述片内异构硬件中的底层硬件时对应的硬件部署指令。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行:权利要求1-11中任一项所述的神经网络量化方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时执行权利要求1-11中任一项所述的神经网络量化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210506019.8A CN114611697B (zh) | 2022-05-11 | 2022-05-11 | 神经网络量化及部署方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210506019.8A CN114611697B (zh) | 2022-05-11 | 2022-05-11 | 神经网络量化及部署方法、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114611697A CN114611697A (zh) | 2022-06-10 |
CN114611697B true CN114611697B (zh) | 2022-09-09 |
Family
ID=81870231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210506019.8A Active CN114611697B (zh) | 2022-05-11 | 2022-05-11 | 神经网络量化及部署方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114611697B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658331B (zh) * | 2022-12-28 | 2023-03-21 | 杭州登临瀚海科技有限公司 | 动态神经网络的编译方法、装置、电子设备及存储介质 |
CN116108896B (zh) * | 2023-04-11 | 2023-07-07 | 上海登临科技有限公司 | 模型量化方法、装置、介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814966A (zh) * | 2020-08-24 | 2020-10-23 | 国网浙江省电力有限公司 | 神经网络架构搜索方法、神经网络应用方法、设备及存储介质 |
CN114462591A (zh) * | 2021-12-23 | 2022-05-10 | 北京时代民芯科技有限公司 | 一种动态量化神经网络的推理方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102589303B1 (ko) * | 2017-11-02 | 2023-10-24 | 삼성전자주식회사 | 고정 소수점 타입의 뉴럴 네트워크를 생성하는 방법 및 장치 |
CN110413255B (zh) * | 2018-04-28 | 2022-08-19 | 赛灵思电子科技(北京)有限公司 | 人工神经网络调整方法和装置 |
CN110555508B (zh) * | 2018-05-31 | 2022-07-12 | 赛灵思电子科技(北京)有限公司 | 人工神经网络调整方法和装置 |
CN109754073B (zh) * | 2018-12-29 | 2020-03-10 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、电子设备和可读存储介质 |
CN110097186B (zh) * | 2019-04-29 | 2023-04-18 | 山东浪潮科学研究院有限公司 | 一种神经网络异构量化训练方法 |
CN112085191B (zh) * | 2019-06-12 | 2024-04-02 | 上海寒武纪信息科技有限公司 | 一种神经网络的量化参数确定方法及相关产品 |
KR20210004306A (ko) * | 2019-07-04 | 2021-01-13 | 삼성전자주식회사 | 뉴럴 네트워크 장치 및 뉴럴 네트워크의 파라미터 양자화 방법 |
KR20210023401A (ko) * | 2019-08-23 | 2021-03-04 | 삼성전자주식회사 | 뉴럴 네트워크 연산 방법 및 이를 포함하는 시스템 |
US11861467B2 (en) * | 2020-03-05 | 2024-01-02 | Qualcomm Incorporated | Adaptive quantization for execution of machine learning models |
CN111882058A (zh) * | 2020-06-24 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种神经网络的4比特量化方法及系统 |
CN111880807A (zh) * | 2020-07-31 | 2020-11-03 | Oppo广东移动通信有限公司 | 深度学习编译方法、装置、设备及存储介质 |
CN111930670B (zh) * | 2020-08-10 | 2023-04-07 | 中国科学院计算技术研究所 | 异构智能处理量化装置、量化方法、电子设备及存储介质 |
CN111930673B (zh) * | 2020-08-10 | 2024-03-05 | 中国科学院计算技术研究所 | 异构智能处理量化装置、量化方法、电子设备及存储介质 |
CN112149816B (zh) * | 2020-11-25 | 2021-02-12 | 之江实验室 | 支持深度神经网络推理加速的异构存算融合系统及方法 |
CN113780551B (zh) * | 2021-09-03 | 2023-03-24 | 北京市商汤科技开发有限公司 | 模型量化方法、装置、设备、存储介质及计算机程序产品 |
CN114035936B (zh) * | 2021-10-15 | 2024-05-17 | 北京潞晨科技有限公司 | 一种基于人工智能的多维并行处理方法、系统、设备和可读存储介质 |
-
2022
- 2022-05-11 CN CN202210506019.8A patent/CN114611697B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814966A (zh) * | 2020-08-24 | 2020-10-23 | 国网浙江省电力有限公司 | 神经网络架构搜索方法、神经网络应用方法、设备及存储介质 |
CN114462591A (zh) * | 2021-12-23 | 2022-05-10 | 北京时代民芯科技有限公司 | 一种动态量化神经网络的推理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114611697A (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114611697B (zh) | 神经网络量化及部署方法、系统、电子设备及存储介质 | |
US20210174214A1 (en) | Systems and methods for quantizing a neural network | |
US10268454B2 (en) | Methods and apparatus to eliminate partial-redundant vector loads | |
CN111880807A (zh) | 深度学习编译方法、装置、设备及存储介质 | |
US10394694B2 (en) | Unexplored branch search in hybrid fuzz testing of software binaries | |
CN111104120B (zh) | 神经网络编译方法、系统及相应异构计算平台 | |
JPH10124325A (ja) | 変数の最適配置方法、変数の最適配置装置及び変数の最適配置プログラムを格納したコンピュータ読み取り可能な記録媒体 | |
US20210390233A1 (en) | Automated geometry optimization for analog, mixed-signal circuit design | |
US20150220315A1 (en) | Method and apparatus for compiling | |
US10102043B2 (en) | Method and system for mapping an integral into a thread of a parallel architecture | |
CN110069284A (zh) | 一种基于opu指令集的编译方法及编译器 | |
CN115237920A (zh) | 面向负载的数据索引推荐方法及其装置、存储介质 | |
Jain et al. | Poset-rl: Phase ordering for optimizing size and execution time using reinforcement learning | |
CN113672232B (zh) | 程序编译方法和装置 | |
CN112015426B (zh) | 一种代码管理方法、装置及设备 | |
US20110145654A1 (en) | Method and apparatus for the determination of a repetitive bit value pattern | |
CN117032719A (zh) | 针对TypeScript的静态编译方法及装置 | |
US8645758B2 (en) | Determining page faulting behavior of a memory operation | |
WO2022232678A1 (en) | Programmatic circuit partitioning and topology identification | |
CN113031952B (zh) | 深度学习模型的执行代码的确定方法、装置及存储介质 | |
CN113704687B (zh) | 一种张量计算运行方法、装置及运算系统 | |
JP2008250838A (ja) | ソフトウェア生成装置、方法、およびプログラム | |
US10803216B1 (en) | Combinational logic circuit optimization | |
CN112131806A (zh) | 验证设计的编译方法、电子设备及存储介质 | |
Jiang et al. | Automated backend-aware post-training quantization |
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 |