CN111831355A - 权重精度配置方法、装置、设备及存储介质 - Google Patents
权重精度配置方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111831355A CN111831355A CN202010657996.9A CN202010657996A CN111831355A CN 111831355 A CN111831355 A CN 111831355A CN 202010657996 A CN202010657996 A CN 202010657996A CN 111831355 A CN111831355 A CN 111831355A
- Authority
- CN
- China
- Prior art keywords
- neural network
- layer
- precision
- weight
- target layer
- 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
Links
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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- 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/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开了权重精度配置方法、装置、设备及存储介质。该方法包括:确定神经网络中的当前目标层,其中,神经网络中的所有层被按照对识别率的影响程度进行排序,影响程度低的层优先被确定为目标层,降低当前目标层对应的权重精度,并判断神经网络的当前识别率是否小于预设阈值,若小于,则将当前目标层对应的权重精度锁定为本次降低前的权重精度,在满足目标层切换条件的情况下,重新确定当前目标层。本发明实施例通过采用上述技术方案,可以在保证神经网络的识别率的情况下,提高承载神经网络的人工智能芯片中的资源利用率,提高芯片性能,降低芯片功耗。
Description
技术领域
本发明实施例涉及人工智能技术领域,尤其涉及权重精度配置方法、装置、设备及存储介质。
背景技术
随着大数据信息网络和智能移动设备的蓬勃发展,产生了海量非结构化信息,伴生了对这些信息高效能处理需求的急剧增长。近年来,深度学习技术发展迅速,在图像识别、语音识别以及自然语言处理等诸多领域取得了很高的准确率。但如今的深度学习研究绝大多数仍是基于传统的冯诺依曼计算机实现的,而冯诺依曼计算机由于处理器和存储器分离,在处理大型复杂问题时不仅能耗高、效率低,而且面向数值计算的特性使其在处理非形式化问题时软件编程复杂度高,甚至无法实现。
随着脑科学的发展,由于大脑相比传统的冯诺依曼计算机具有超低功耗以及高容错性等特点,且在处理非结构化信息和智能任务方面具有显著优势,借鉴大脑的计算模式构建新型的人工智能系统和人工智能芯片已经成为一个新兴的发展方向,因此,借鉴人脑发展的人工智能技术应运而生。人工智能技术中的神经网络由大量神经元构成,神经网络中通过信息的分布式存储和并行协同处理,定义基本的学习规则即可模拟出大脑的自适应学习过程,无需明确的编程,在处理一些非形式化问题时具有优势。人工智能技术可以使用大规模集成模拟、数字或数模混合的电路及软件系统,即基于神经形态器件来实现。
目前,深度学习算法可以工作在不同的数据精度下,高精度可以获得更好的性能(如准确度或识别率),但在应用到人工智能芯片后,存储代价和计算代价都比较高昂,而低精度可以用一定程度的性能损失换取存储和计算的显著节省,从而让芯片具有很高的功耗效用。目前常见的人工智能芯片中,由于计算精度的需求不同,处理芯片也需要提供多种数据精度的存储支持,包括整型(integer,Int)和浮点(floating-point,FP)等,如8位整型(Int8),16位浮点(FP16),32位浮点(FP32)以及64位浮点(FP)等,但类脑芯片中承载的神经网络的各层的权重精度是相同的,使得人工智能芯片中的权重精度配置方案不够灵活,需要改进。
发明内容
本发明实施例提供了权重精度配置方法、装置、设备及存储介质,可以优化现有的权重精度配置方案。
第一方面,本发明实施例提供了一种权重精度配置方法,包括:
确定神经网络中的当前目标层,其中,所述神经网络中的所有层被按照对识别率的影响程度进行排序,影响程度低的层优先被确定为目标层;
降低当前目标层对应的权重精度,并判断所述神经网络的当前识别率是否小于预设阈值,若小于,则将当前目标层对应的权重精度锁定为本次降低前的权重精度;
在满足目标层切换条件的情况下,重新确定当前目标层。
第二方面,本发明实施例提供了一种权重精度配置装置,包括:
目标层确定模块,用于确定神经网络中的当前目标层,其中,所述神经网络中的所有层按照对识别率的影响程度进行排序,影响程度低的层优先被确定为目标层;
权重精度降低模块,用于降低当前目标层对应的权重精度,并判断所述神经网络的当前识别率是否小于预设阈值,若小于,则将当前目标层对应的权重精度锁定为本次降低前的权重精度;
目标层切换模块,用于在满足目标层切换条件的情况下,重新确定当前目标层。
第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例提供的权重精度配置方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的权重精度配置方法。
本发明实施例中提供的权重精度配置方案,神经网络中的所有层被按照对识别率的影响程度进行排序,影响程度低的层优先被确定为目标层,降低当前目标层对应的权重精度,若神经网络的当前识别率小于预设阈值,则将当前目标层对应的权重精度锁定为本次降低前的权重精度,在满足目标层切换条件的情况下,重新确定当前目标层。通过采用上述技术方案,按照对识别率的影响程度对神经网络中的所有层进行排序,并依次尝试对当前目标层的权重精度进行降低,在保证神经网络的识别率的情况下,提高承载神经网络的人工智能芯片中的资源利用率,提高芯片性能,降低芯片功耗。
附图说明
图1为本发明实施例提供的一种权重精度配置方法的流程示意图;
图2为现有技术中的一种输出数据的精度配置方案示意图;
图3为本发明实施例提供的一种输出数据的精度配置方案示意图;
图4为本发明实施例提供的又一种权重精度配置方法的流程示意图;
图5为本发明实施例提供的另一种权重精度配置方法的流程示意图;
图6为本发明实施例提供的再一种权重精度配置方法的流程示意图;
图7为本发明实施例提供的一种权重精度配置装置的结构框图;
图8为本发明实施例提供的一种计算机设备的结构框图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
需要注意,本发明实施例中提及的“第一”、“第二”等概念仅用于对不同的装置、模块、单元或其他对象进行区分,并非用于限定这些装置、模块、单元或其他对象所执行的功能的顺序或者相互依存关系。
为了更好地理解本发明实施例,下面对相关技术进行介绍。
人工智能一般指借鉴大脑中进行信息处理的基本规律,在硬件实现与软件算法等多个层面,对于现有的计算体系与系统做出本质的变革,从而实现在计算能耗、计算能力与计算效率等诸多方面的大幅改进,是融合了脑科学与计算机科学、信息科学和人工智能等领域的交叉技术领域。人工智能芯片一般指非冯诺依曼架构的芯片,如脉冲神经网络芯片、忆阻器、忆容器以及忆感器等。
本发明实施例中的人工智能芯片中可包括多个处理核,每个处理核中可包含处理器并自带存储区,计算数据可在本地操作,每个处理核可对应神经网络的一层,也即可将神经网络以层为单位部署或映射到对应的处理核上。本发明实施例中的神经网络可包括人工神经网络(Artificial Neural Network,ANN),也可包括脉冲神经网络(Spiking NeuralNetwork,SNN)以及其他类型的神经网络。神经网络的具体类型不做限定,例如可以是声学模型、语音识别模型以及图像识别模型等等,可以应用于数据中心、安防领域、智能医疗领域、自动驾驶领域、智慧交通领域、智能家居领域以及其他相关领域。本发明实施例提供的技术方案并未对神经网络算法本身进行改进,是对于用于实现神经网络的硬件平台的控制方式或应用方式的改进,属于神经形态电路及其系统,又被称为神经形态工程(neuromorphic engineering)。
在现有技术中,人工智能芯片中承载的神经网络的各层的权重精度是相同的。若将所有层的权重精度都配置为较低的Int4,这种情况下,为了保证识别率,不仅参数调整困难,导致训练时间大幅增加,而且还往往导致较大的精度损失。若将所有层的权重精度都配置为FP32或更高,此时,运算精度能够满足需求,且识别率高,但是神经网络的模型一般较大,会造成人工智能芯片的资源利用率低,消耗的功耗也高,影响芯片性能。
本发明实施例中,摒弃了现有技术中神经网络中各层的权重精度是相同的这一限制条件,可以为每层配置不同的权重精度,也即采用混合精度,从而更好地平衡存储容量和计算能耗,与神经网络识别率(或准确率)之间的关系。基于混合精度的思路来配置权重精度,并提供了具体的配置方案。
图1为本发明实施例提供的一种权重精度配置方法的流程示意图,该方法可以由权重精度配置装置执行,其中该装置可由软件和/或硬件实现,一般可集成在计算机设备中。如图1所示,该方法包括:
步骤101、确定神经网络中的当前目标层,其中,所述神经网络中的所有层被按照对识别率的影响程度进行排序,影响程度低的层优先被确定为目标层。
本发明实施例中,对神经网络的具体结构不做限定,例如神经网络中包含的神经元层数可以是两层以上的任意层数。神经网络中的不同层可能对网络的识别率有不同程度的影响,产生影响的因素可能有很多,例如权重参数的数量、权重参数的值(权重值)以及权重精度(权重值的精度)等。可预先分别评估神经网络中的各层对识别率的影响程度,按照一定的顺序(如影响程度由低到高)对各层进行排序。在本步骤中,可以先将影响程度最低的层确定为当前的目标层,当需要切换目标层时,再将影响程度第二低的层确定为新的当前目标层。
步骤102、降低当前目标层对应的权重精度,并判断所述神经网络的当前识别率是否小于预设阈值,若小于,则将当前目标层对应的权重精度锁定为本次降低前的权重精度。
示例性的,神经网络中的所有层的初始权重精度可以根据实际需求设置,可以是相同的,也可以是不同的,一般可设置得高一些,如FP32或更高。
示例性的,在降低当前目标层对应的权重精度时,降低的幅度不做限定。另外,每次降低的幅度可以相同,也可以不同。降低的幅度可以以精度等级来衡量,精度等级用于表示数据精度的高低,精度越高,对应的精度等级越高,不同精度等级对应的精度值可根据实际需求设置。示例性的,可以按照FP32、FP16、Int8以及Int4的顺序降低,每次降低一个精度等级,如从FP32降到FP16。每次降低一个精度等级的好处在于,能够更精准地确定权重精度,也即配置的精度更高,若每次降低两层或更多,在当前识别率小于预设阈值时,锁定的权重精度相比于当前降低后的精度相差两个或更多的精度等级,而两者中间可能存在某个或某些权重精度能够满足识别率要求。
示例性的,当神经网络部署在人工智能芯片上时,神经网络以层为单位部署或映射到对应的处理核上,当前目标层被映射到对应的处理核中,因此当前目标层对应的权重精度可理解为当前目标层对应的处理核的核精度,也即本发明实施例的方案可理解为对人工智能芯片中的处理核的核精度进行配置。
示例性的,神经网络的识别率可以用于衡量神经网络的性能。例如,可以采用预设数量的样本对神经网络进行测试,得到当前识别率。预设阈值可以根据神经网络的应用场景等实际使用需求来设置,可理解为当前使用需求所能够容忍的最低识别率,具体数值不做限定,例如可以是0.9。若降低当前目标层的权重精度后,神经网络的当前识别率小于预设阈值,说明本次降低是不合适的,所以可以将当前目标层对应的权重精度锁定为本次降低前的权重精度。例如,降低前是FP16,降低后是Int8,可以将当前目标层对应的权重精度锁定为FP16。
步骤103、在满足目标层切换条件的情况下,重新确定当前目标层。
示例性的,可以针对神经网络中的各层均尝试降低权重精度,可以根据目标层切换条件来决定是否对下一个目标层的权重精度进行降低。在所有层对应的权重精度均被锁定后,可认为神经网络的权重精度配置完毕,此时的神经网络的权重精度得到了合理配置,既能够满足识别率的要求,还能够提高承载神经网络的人工智能芯片中的资源利用率。可选的,也可针对神经网络中的部分层尝试降低权重精度,在一定程度上提高承载神经网络的人工智能芯片中的资源利用率的同时,保证权重精度的配置效率。部分层的具体数量可以根据实际需求设置,如所有层的数量与预设比例的乘积。
本发明实施例中提供的权重精度配置方法,神经网络中的所有层被按照对识别率的影响程度进行排序,影响程度低的层优先被确定为目标层,降低当前目标层对应的权重精度,若神经网络的当前识别率小于预设阈值,则将当前目标层对应的权重精度锁定为本次降低前的权重精度,在满足目标层切换条件的情况下,重新确定当前目标层。通过采用上述技术方案,按照对识别率的影响程度对神经网络中的所有层进行排序,并依次尝试对当前目标层的权重精度进行降低,权重精度降低后,不仅可以节省权重存储空间,还可以减少运算量,提高计算效率,在保证神经网络的识别率的情况下,提高承载神经网络的人工智能芯片中的资源利用率,提高芯片性能,降低芯片功耗。
可选的,判断所述神经网络的当前识别率是否小于预设阈值之后,还可包括:若大于或等于,则将当前目标层对应的权重精度锁定为降低后的权重精度。这样设置的好处在于,当前目标层的权重精度经过一次降低后,已经可以在一定程度上缩小神经网络的模型面积,为了提升权重精度配置的效率,可以将降低后的权重精度锁定,继续降低其他层的权重精度。这样,神经网络的所有层对应的权重精度均被锁定,就相当于神经网络中的所有层的权重精度均被尝试过降低,此时结束神经网络的权重精度配置,可以在保证神经网络的识别率的情况下,快速配置神经网络的权重精度,并提高承载神经网络的人工智能芯片中的资源利用率,提高芯片性能,降低芯片功耗。
示例性的,锁定权重精度的方式可以是改写当前目标层的位数标志位或改写当前目标层对应的调用算子的名称。
在一些实施例中,在判断所述神经网络的当前识别率是否小于预设阈值之后,还包括:若大于或等于,则继续降低当前目标层对应的权重精度,并继续判断所述神经网络的当前识别率是否小于所述预设阈值;相应的,所述目标层切换条件包括:所述神经网络的当前识别率小于预设阈值;所述影响程度低的层优先被确定为目标层包括:在对应的权重精度未被锁定的层中,影响程度低的层优先被确定为目标层。这样设置的好处在于,可以提升权重精度配置的效率。在确定神经网络的当前识别率大于或等于预设阈值时,说明当前目标层的权重精度仍存在降低的空间,因此,可以继续尝试降低当前目标层的权重精度,并继续判断当前识别率是否已降到预设阈值以下,直到当前识别率小于预设阈值,说明当前目标层的权重精度已不能再降低,因此,可以切换目标层,尝试对下一层的权重精度进行降低。
在一些实施例中,针对所述神经网络中的所有层对应的权重精度进行多轮降低操作,每轮降低操作中,每层对应的权重精度被降低最多一次;在判断所述神经网络的当前识别率是否小于预设阈值之后,还包括:若大于或等于,则暂存降低后的权重精度;相应的,所述目标层切换条件包括:当前目标层对应的权重精度在本轮降低操作中已被降低一次。这样设置的好处在于,可以均匀地降低各层的权重精度。例如神经网络中存在4层,分别为L1、L2、L3和L4,按照对识别率的影响程度进行排序,由影响最低到最高,依次为L1、L3、L2和L4,那么每轮降低操作中,L1先被确定为目标层,也即当前目标层为L1,先降低L1的权重精度,然后切换目标层,使得当前目标层为L3,降低L3的权重精度,随后依次降低L2和L4的权重精度。
在一些实施例中,所述重新确定当前目标层,包括:重新确定当前目标层,直到所有层对应的权重精度均被锁定。这样设置的好处在于,针对神经网络中的所有层进行尝试权重精度的降低,使得配置结果更加合理,能够更好地提升芯片性能。
在一些实施例中,在判断所述神经网络的当前识别率是否小于预设阈值之后,还包括:若大于或等于,则训练所述神经网络以调节当前目标层的权重参数值,其中,训练目标为提高所述神经网络的识别率。这样设置的好处在于,当权重精度被降低后,一般会对识别率产生一定的影响,而通过训练神经网络,调节当前目标层的权重参数值,可以达到提高识别率的目的,进一步优化神经网络的性能。
在一些实施例中,所述训练所述神经网络包括在人工智能芯片上训练所述神经网络。这样设置的好处在于,本发明实施例中的神经网络可以映射到人工智能芯片上进行应用,在人工智能芯片上进行训练,相当于在实际应用之前预先将神经网络映射到人工智能芯片上,使得训练过程更加符合实际的应用场景,从而更加准确高效地训练神经网络。
在一些实施例中,在训练所述神经网络的过程中,包括:获取所述神经网络中的第一层的待输出数据的精度,其中,所述第一层包括所述神经网络中的最后一层之外的任意一层或多层;获取第二层的权重精度,其中,所述第二层为所述第一层的下一层;根据所述第二层的权重精度对所述待输出数据的精度进行配置。这样设置的好处在于,可以灵活配置部署在人工智能芯片中的神经网络中的一层或多层的输出数据的精度,进而优化人工智能芯片的性能。
目前,人工智能的神经网络通常以若干神经元为一层,每一层通常对应人工智能芯片中的一个处理核。神经网络的核心计算是矩阵向量乘操作,当数据输入神经网络的一层时,计算精度一般为数据精度与权重精度(也即权重值的精度)的乘累加,且参照数据精度与权重精度中较高的精度来确定计算结果(也即当前层对应的处理核的输出数据)的精度。图2为现有技术中的一种输出数据的精度配置方案示意图,在现有技术中,人工智能芯片中承载的神经网络的各层的权重精度是相同的,如图2所示,为了便于说明,仅示出了神经网络中的四层,分别为L1、L2、L3和L4。L1的输入数据的精度(数据精度)为FP32(32位浮点),L1的权重精度为FP32,那么乘累加操作后得到的精度为FP32。而在本发明实施例中,不再参照数据精度与权重精度中较高的精度来确定计算结果的精度,而是根据下一层的权重精度来确定当前层的输出数据的精度。
本发明实施例中,第一层并不一定是神经网络中排在最前面的层,可以是除最后一层之外的任意一层。若将对应第一层的处理核记为第一处理核,则可理解为由第一处理核执行获取神经网络中的第一层的待输出数据的精度,获取第二层的权重精度,根据第二层的权重精度对第一层的待输出数据的精度进行配置,除对应最后一层的处理核之外的任意一个处理核均可以成为第一处理核。示例性的,由第一层对应的第一处理核中的处理器进行数据计算,例如根据第一层的输入数据和第一层的权重参数(如权重矩阵等)计算得到待输出数据,一般的,待输出数据的精度大于或等于输入数据精度和权重精度中的较高者。如果输入数据精度和权重精度本身就比较低(如Int2、Int4或Int8),在乘累加操作后之后,位数可能不足(例如无法满足对应的处理核等硬件配置方面的需求),就需要提高精度,那么待输出数据的精度通常来说,会增加得比较高(例如分别增加到Int8、Int16或Int16),且若输入数据精度和权重精度中较高者越低,需要提升的精度等级越多;相反,如果输入数据精度和权重精度本身就已经比较高了(比如FP16、FP32或FP64),那么待输出数据的精度可能就不会增加,或者增加的比较少(例如从FP16增加到FP32),因为,经过乘累加操作后的精度已经足够高。
可选的,获取所述神经网络中的第一层的待输出数据的精度可包括:获取神经网络中的第一层的输入数据的精度和所述第一层的权重精度;根据所述输入数据的精度和所述第一层的权重精度确定所述第一层的待输出数据的精度,所述待输出数据的精度大于或等于所述输入数据的精度和所述第一层的权重精度中较高的精度。
本发明实施例中,不同层的权重精度可以是不同的,获取第二层的权重精度的具体方式不做限定。例如,可以在芯片的编译阶段将第二层的权重精度存储在第一处理核内的存储区,在获取到第一层的待输出数据后,从该存储区读取第二层的权重精度;又如,假设第二层对应的处理核为第二处理核,第二处理核内的存储区中可以存储有第二层的权重精度,第一处理核可通过核间通信的方式从第二处理核获取第二层的权重精度。
本发明实施例中,参考第二层的权重精度对第一层的待输出数据的精度进行配置,具体的参考方式和配置方式不做限定。示例性的,可将待输出数据的精度配置成比第二层的权重精度低的精度,也可将待输出数据的精度配置成比第二层的权重精度高的精度,得到输出数据的精度,第二层的权重精度和输出数据的精度之间相差的精度等级可以是第一预设精度等级差值。例如,精度Int4和FP16之间,还存在Int8,相差的精度等级可以是2,而Int4和Int8之间相差的精度等级可以是1。假设第二层的权重精度为FP16,第一预设精度等级差值为2,若将待输出数据的精度配置成比第二层的权重精度低的精度,则将待输出数据的精度配置成Int4。
在一些实施例中,所述根据所述第二层的权重精度对所述待输出数据的精度进行配置,包括:在所述第二层的权重精度低于所述待输出数据的精度时,根据所述第二层的权重精度确定目标精度,其中,所述目标精度低于所述待输出数据的精度;将所述待输出数据的精度配置成目标精度。可选的,所述目标精度等于或高于所述第二层的权重精度,这样设置的好处在于,相当于根据所述第二层的权重精度对所述待输出数据的精度进行截取操作,使得待输出数据的精度降低,从而降低数据传输量,在第二层进行数据计算时,也能够降低计算量,进而降低数据处理所带来的能耗。
在一些实施例中,所述根据所述第二层的权重精度确定目标精度,包括:将所述第二层的权重精度确定为目标精度。这样设置的好处在于,相当于将所述待输出数据的精度截取为与所述第二层的权重精度相一致的精度。可以进一步降低数据传输量以及降低数据处理所带来的能耗,提高芯片算力。可选的,也可不判断第二层的权重精度和第一层的待输出数据的精度的大小,直接将第二层的权重精度确定为目标精度。
在一些实施例中,可包括:判断第二层的权重精度是否低于第一层的待输出数据的精度,若是,则将第二层的权重精度确定为目标精度,将第一层的待输出数据的精度配置成目标精度,得到输出数据;否则,保持第一层的待输出数据的精度不变或将第一层的待输出数据的精度配置成第二层的权重精度,得到输出数据。其中,保持第一层的待输出数据的精度不变可以减少第一层与第二层之间的传输量。
在一些实施例中,在所述根据所述第二层的权重精度对所述待输出数据的精度进行配置之后,还包括:将配置后得到的输出数据输出至所述第二层对应的处理核。这样设置的好处在于,将输出数据通过核间通信的方式发送到第二层对应的处理核,以便第二层对应的处理核进行第二层的相关计算。
在一些实施例中,所述人工智能芯片基于众核架构实现,众核架构可以具备多核重组特性,核与核之间没有主从之分,可以灵活的用软件来配置任务,把不同的任务同时配置在不同的核中,实现多任务的并行处理,可以由一系列核构成阵列来完成神经网络的计算,能够高效支持各种神经网络算法,提高芯片性能。示例性的,人工智能芯片可采用2DMesh片上网络结构,用于核与核之间的通信互联,芯片与外部的通信可以通过高速串口实现。
图3为本发明实施例提供的一种输出数据的精度配置方案示意图,如图3所示,为了便于说明,仅示出了神经网络中的四层,分别为L1、L2、L3和L4。
对于L1来说,输入数据的精度为Int8,L1的权重精度为Int8,那么乘累加操作后得到的精度为Int8,但乘累加过程中可能出现精度饱和的情况,导致丢失信息。在现有技术中,参照数据精度与权重精度中较高的精度来确定计算结果,由于L2的权重精度为FP16,则需要将截取后的Int8的精度补齐再输出,在这个过程中造成先截取掉的那些精度的损失。而本发明实施例中,先获取L2的权重精度,那么得知L1的待输出数据的精度与L2的权重精度相同,不会进行精度截取操作,可减少数据转换中的精度损失。
对于L3来说,输入数据的精度为FP16,权重精度为FP16,在现有技术中,输出数据的精度也应该是FP16。而本发明实施例中,先获取L4的权重精度Int8,那么得知L1的待输出数据的精度高于L2的权重精度,可将待输出数据的精度配置为Int8,相比于现有技术,进一步降低了输出数据的精度,减少了L3层和L4层之间的数据传输量,也即减少了L3层所在的处理核和L4层所在的处理核中间的数据通信量,且对L4层的计算精度不会产生影响,大大提升了芯片性能。
在一些实施例中,通过以下方式对所述神经网络中的所有层按照对识别率的影响程度进行排序:计算神经网络的初始识别率;对于所述神经网络中的每一层,将当前层的权重精度从第一精度降低至第二精度,并计算所述神经网络的识别率相对于所述初始识别率的下降值;依据所述下降值对所有层进行排序,其中,所述下降值越大,对识别率的影响程度越高。这样设置的好处在于,可以快速准确的评估不同层对识别率的影响。其中,第一精度和第二精度可根据实际需求设置,第一精度例如可以是神经网络的初始精度,第一精度和第二精度之间相差的精度等级也不做限定。例如,第一精度可以是FP32,第二精度可以是FP16。
在一些实施例中,若存在下降值相同的至少两层,则按照与神经网络的输入层的距离大小对所述至少两层进行排序,其中,距离越小,对识别率的影响程度越高。这样设置的好处在于,可以更加合理地对各层进行排序。
图4为本发明实施例提供的又一种权重精度配置方法的流程示意图,如图4所示,该方法包括:
步骤401、确定神经网络中的当前目标层。
其中,所述神经网络中的所有层被按照对识别率的影响程度进行排序,在对应的权重精度未被锁定的层中,影响程度低的层优先被确定为目标层。
示例性的,在本步骤之前,还可包括:计算神经网络的初始识别率,对于神经网络中的每一层,将当前层的权重精度从第一精度降低至第二精度,并计算神经网络的识别率相对于初始识别率的下降值,依据下降值对所有层进行排序,得到排序结果,其中,下降值越大,表示对识别率的影响程度越高。
本步骤中,根据排序结果确定当前目标层。在首次执行本步骤时,将下降值最低的层确定为当前目标层,也即将对识别率的影响程序最小的层确定为当前目标层。再次执行本步骤时,根据排序结果切换新的当前目标层,若某层对应的权重精度已被锁定,则不会再次成为目标层,也即不会成为新的当前目标层。
步骤402、降低当前目标层对应的权重精度。
示例性的,可以将当前目标层对应的权重精度降低一个精度等级。下文中的每次降低,均可以是降低一个精度等级。
步骤403、判断神经网络的当前识别率是否小于预设阈值,若是,则执行步骤404;否则,执行步骤406。
步骤404、将当前目标层对应的权重精度锁定为本次降低前的权重精度。
步骤405、判断是否所有层对应的权重精度均被锁定,若是,则结束流程;否则,返回执行步骤401。
示例性的,在当前目标层的位数标志位或调用算子的名称中标记锁定的权重精度。
步骤406、训练神经网络以调节当前目标层的权重参数值,返回执行步骤402。
其中,训练目标为提高神经网络的识别率。
可选的,在人工智能芯片上进行神经网络的训练,训练过程可参考上文相关内容,此处不再赘述。
本发明实施例中,按照对识别率的影响程度对神经网络中的所有层进行排序,并依次尝试对当前目标层的权重精度进行降低直到神经网络的识别率小于预设阈值,可以快速实现权重精度的配置,在保证神经网络的识别率的情况下,缩小神经网络的模型面积,提高承载神经网络的人工智能芯片中的资源利用率,提高芯片性能,降低芯片功耗。
图5为本发明实施例提供的另一种权重精度配置方法的流程示意图,针对神经网络中的所有层对应的权重精度进行多轮降低操作,每轮降低操作中,每层对应的权重精度被降低一次,如图5所示,该方法包括:
步骤501、确定神经网络中的当前目标层。
其中,所述神经网络中的所有层被按照对识别率的影响程度进行排序,影响程度低的层优先被确定为目标层。
示例性的,在本步骤之前,还可包括:计算神经网络的初始识别率,对于神经网络中的每一层,将当前层的权重精度从第一精度降低至第二精度,并计算神经网络的识别率相对于初始识别率的下降值,依据下降值对所有层进行排序,得到排序结果,其中,下降值越大,表示对识别率的影响程度越高。
本步骤中,根据排序结果确定当前目标层。在首次执行本步骤时,将下降值最低的层确定为当前目标层,也即将对识别率的影响程序最小的层确定为当前目标层。再次执行本步骤时,根据排序结果切换新的当前目标层。可选的,当所确定的当前目标层的权重精度已被锁定时,可跳过该层,根据排序结果将下一层确定为当前目标层。
步骤502、降低当前目标层对应的权重精度。
示例性的,可以将当前目标层对应的权重精度降低一个精度等级。下文中的每次降低,均可以是降低一个精度等级。
步骤503、判断神经网络的当前识别率是否小于预设阈值,若是,则执行步骤504;否则,执行步骤506。
步骤504、将当前目标层对应的权重精度锁定为本次降低前的权重精度。
步骤505、判断是否所有层对应的权重精度均被锁定,若是,则结束流程;否则,返回执行步骤501。
示例性的,在当前目标层的位数标志位或调用算子的名称中标记锁定的权重精度。
步骤506、暂存降低后的权重精度。
示例性的,在当前目标层的位数标志位或调用算子的名称中标记暂存的权重精度。
步骤507、训练神经网络以调节当前目标层的权重参数值,返回执行步骤501。
其中,训练目标为提高神经网络的识别率。
可选的,在人工智能芯片上进行神经网络的训练,训练过程可参考上文相关内容,此处不再赘述。
本发明实施例中,按照对识别率的影响程度对神经网络中的所有层进行排序,针对神经网络中的所有层对应的权重精度进行多轮降低操作,每轮降低操作中,每层对应的权重精度被降低一次,直到每层神经网络的识别率小于预设阈值,可以快速均匀地实现权重精度的配置,在保证神经网络的识别率的情况下,缩小神经网络的模型面积,提高承载神经网络的人工智能芯片中的资源利用率,提高芯片性能,降低芯片功耗。
图6为本发明实施例提供的再一种权重精度配置方法的流程示意图,以神经网络为图像识别模型为例,假设图像识别模型为卷积神经网络模型,该方法可包括:
步骤601、确定图像识别模型中的当前目标层。
其中,图像识别模型中的所有层被按照对识别率的影响程度进行排序,影响程度低的层优先被确定为目标层。
示例性的,在本步骤之前,还可包括:计算图像识别模型的初始识别率,对于图像识别模型中的每一层,将当前层的权重精度从第一精度降低至第二精度,并计算图像识别模型的识别率相对于初始识别率的下降值,依据下降值对所有层进行排序,得到排序结果,其中,下降值越大,表示对识别率的影响程度越高。示例性的,图像识别模型可包括卷积层、池化层和全连接层。例如,初始识别率为0.98,卷积层、池化层和全连接层的初始权重精度为FP32。将卷积层的权重精度降低至FP16后,识别率变为0.9,则下降值为0.08;将池化层的权重精度降低至FP16后,识别率变为0.94,则下降值为0.04;将全连接层的权重精度降低至FP16后,识别率变为0.96,则下降值为0.02。则排序结果按照下降值从小到大排序为全连接层、池化层和卷积层。
本步骤中,根据排序结果确定当前目标层。在首次执行本步骤时,将全连接层确定为当前目标层,在全连接层的权重精度被锁定后,再将池化层确定为当前目标层,在池化层的权重精度被锁定后,再将卷积层确定为当前目标层。
步骤602、降低当前目标层对应的权重精度。
示例性的,可以将当前目标层对应的权重精度降低一个精度等级。下文中的每次降低,均可以是降低一个精度等级。
步骤603、判断图像识别模型的当前识别率是否小于预设阈值,若是,则执行步骤604;否则,执行步骤606。
步骤604、将当前目标层对应的权重精度锁定为本次降低前的权重精度。
步骤605、判断是否所有层对应的权重精度均被锁定,若是,则结束流程;否则,返回执行步骤601。
示例性的,在当前目标层的位数标志位或调用算子的名称中标记锁定的权重精度。
步骤606、训练图像识别模型以调节当前目标层的权重参数值,返回执行步骤602。
其中,训练目标为提高图像识别模型的识别率。在训练时,可以采用预设数量的图像作为训练样本,将图像训练样本输入到图像识别模型中,以对图像识别模型进行训练。
可选的,在人工智能芯片上进行图像识别模型的训练,训练过程可参考上文相关内容。示例性的,通过第一处理核获取图像训练样本数据,并根据图像训练样本数据和卷积层的权重参数计算卷积层的待输出特征图数据,获取池化层的权重精度,将卷积层的待输出特征图数据的精度配置成池化层的权重精度,得到卷积层的输出特征图数据,并输出至第二处理核,通过第二处理核根据卷积层的输出特征图数据和池化层的权重参数计算池化层的待输出特征向量数据,获取全连接层的权重精度,将池化层的待输出特征向量数据的精度配置成全连接层的权重精度(假设当前目标层为全连接层,则这里的权重精度是降低后的权重精度),得到池化层的输出特征向量数据,并输出至第三处理核,通过第三处理核根据池化层的输出特征向量数据和全连接层的权重参数计算并输出图像识别结果,以提高图像识别模型的识别率为目标,对全连接层的权重值进行调整。
本发明实施例中,按照对识别率的影响程度对图像识别模型中的所有层进行排序,并依次尝试对当前目标层的权重精度进行降低直到图像识别模型的识别率小于预设阈值,可以快速实现权重精度的配置,在保证图像识别模型的识别率的情况下,缩小图像识别模型的模型面积,提高承载图像识别模型的人工智能芯片中的资源利用率,提高芯片性能,降低芯片功耗。
图7为本发明实施例提供的一种权重精度配置装置的结构框图,该装置可由软件和/或硬件实现,一般可集成在计算机设备中,可通过执行权重精度配置方法来进行权重精度配置。如图7所示,该装置包括:
目标层确定模块701,用于确定神经网络中的当前目标层,其中,所述神经网络中的所有层按照对识别率的影响程度进行排序,影响程度低的层优先被确定为目标层;
权重精度降低模块702,用于降低当前目标层对应的权重精度,并判断所述神经网络的当前识别率是否小于预设阈值,若小于,则将当前目标层对应的权重精度锁定为本次降低前的权重精度;
目标层切换模块703,用于在满足目标层切换条件的情况下,重新确定当前目标层。
本发明实施例中提供的权重精度配置装置,神经网络中的所有层被按照对识别率的影响程度进行排序,影响程度低的层优先被确定为目标层,降低当前目标层对应的权重精度,若神经网络的当前识别率小于预设阈值,则将当前目标层对应的权重精度锁定为本次降低前的权重精度,在满足目标层切换条件的情况下,重新确定当前目标层。通过采用上述技术方案,按照对识别率的影响程度对神经网络中的所有层进行排序,并依次尝试对当前目标层的权重精度进行降低,在保证神经网络的识别率的情况下,提高承载神经网络的人工智能芯片中的资源利用率,提高芯片性能,降低芯片功耗。
可选的,权重精度降低模块还用于:在判断所述神经网络的当前识别率是否小于预设阈值之后,若大于或等于,则继续降低当前目标层对应的权重精度,并继续判断所述神经网络的当前识别率是否小于所述预设阈值;
相应的,所述目标层切换条件包括:所述神经网络的当前识别率小于预设阈值;所述影响程度低的层优先被确定为目标层包括:在对应的权重精度未被锁定的层中,影响程度低的层优先被确定为目标层。
可选的,针对所述神经网络中的所有层对应的权重精度进行多轮降低操作,每轮降低操作中,每层对应的权重精度被降低一次;
该装置还包括:权重精度暂存模块,用于在判断所述神经网络的当前识别率是否小于预设阈值之后,若大于或等于,则暂存降低后的权重精度;
相应的,所述目标层切换条件包括:当前目标层对应的权重精度在本轮降低操作中已被降低一次。
可选的,所述重新确定当前目标层,包括:
重新确定当前目标层,直到所有层对应的权重精度均被锁定。
可选的,该装置还包括:
训练模块,用于在判断所述神经网络的当前识别率是否小于预设阈值之后,若大于或等于,则训练所述神经网络以调节当前目标层的权重参数值,其中,训练目标为提高所述神经网络的识别率。
可选的,所述训练所述神经网络包括在人工智能芯片上训练所述神经网络;
在训练所述神经网络的过程中,包括:
获取所述神经网络中的第一层的待输出数据,其中,所述第一层包括所述神经网络中的最后一层之外的任意一层或多层;
获取第二层的权重精度,其中,所述第二层为所述第一层的下一层;
根据所述第二层的权重精度对所述待输出数据的精度进行配置。
可选的,通过以下方式对所述神经网络中的所有层按照对识别率的影响程度进行排序:
计算神经网络的初始识别率;
对于所述神经网络中的每一层,将当前层的权重精度从第一精度降低至第二精度,并计算所述神经网络的识别率相对于所述初始识别率的下降值;
依据所述下降值对所有层进行排序,其中,所述下降值越大,对识别率的影响程度越高。
可选的,若存在下降值相同的至少两层,则按照与神经网络的输入层的距离大小对所述至少两层进行排序,其中,距离越小,对识别率的影响程度越高。
本发明实施例提供了一种计算机设备,该计算机设备中可集成本发明实施例提供的权重精度配置装置。图8为本发明实施例提供的一种计算机设备的结构框图。计算机设备800可以包括:存储器801,处理器802及存储在存储器801上并可在处理器运行的计算机程序,所述处理器802执行所述计算机程序时实现如本发明实施例所述的权重精度配置方法。需要说明的是,若在人工智能芯片上训练神经网络,则计算机设备800中还可以包含人工智能芯片。或者,若将计算机设备800记为第一计算机设备,则也可在其他包含人工智能芯片的第二计算机设备中进行训练,并由第二计算机设备将训练结果发送给第一计算机设备。
本发明实施例提供的计算机设备,按照对识别率的影响程度对神经网络中的所有层进行排序,并依次尝试对当前目标层的权重精度进行降低,在保证神经网络的识别率的情况下,提高承载神经网络的人工智能芯片中的资源利用率,提高芯片性能,降低芯片功耗。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行权重精度配置方法。
上述实施例中提供的权重精度配置装置、设备及存储介质可执行本发明任意实施例所提供的权重精度配置方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的权重精度配置方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (11)
1.一种权重精度配置方法,其特征在于,包括:
确定神经网络中的当前目标层,其中,所述神经网络中的所有层被按照对识别率的影响程度进行排序,影响程度低的层优先被确定为目标层;
降低当前目标层对应的权重精度,并判断所述神经网络的当前识别率是否小于预设阈值,若小于,则将当前目标层对应的权重精度锁定为本次降低前的权重精度;
在满足目标层切换条件的情况下,重新确定当前目标层。
2.根据权利要求1所述的方法,其特征在于,在判断所述神经网络的当前识别率是否小于预设阈值之后,还包括:
若大于或等于,则继续降低当前目标层对应的权重精度,并继续判断所述神经网络的当前识别率是否小于所述预设阈值;
并且,所述目标层切换条件包括:所述神经网络的当前识别率小于预设阈值;所述影响程度低的层优先被确定为目标层包括:在对应的权重精度未被锁定的层中,影响程度低的层优先被确定为目标层。
3.根据权利要求1所述的方法,其特征在于,针对所述神经网络中的所有层对应的权重精度进行多轮降低操作,每轮降低操作中,每层对应的权重精度被降低最多一次;
在判断所述神经网络的当前识别率是否小于预设阈值之后,还包括:
若大于或等于,则暂存降低后的权重精度;
并且,所述目标层切换条件包括:当前目标层对应的权重精度在本轮降低操作中已被降低一次。
4.根据权利要求1-3任一所述的方法,其特征在于,所述重新确定当前目标层,包括:
重新确定当前目标层,直到所有层对应的权重精度均被锁定。
5.根据权利要求1-3任一所述的方法,其特征在于,在判断所述神经网络的当前识别率是否小于预设阈值之后,还包括:
若大于或等于,则训练所述神经网络以调节当前目标层的权重参数值,其中,训练目标为提高所述神经网络的识别率。
6.根据权利要求5所述的方法,其特征在于,所述训练所述神经网络包括在人工智能芯片上训练所述神经网络;
在训练所述神经网络的过程中,包括:
获取所述神经网络中的第一层的待输出数据的精度,其中,所述第一层包括所述神经网络中的最后一层之外的任意一层或多层;
获取第二层的权重精度,其中,所述第二层为所述第一层的下一层;
根据所述第二层的权重精度对所述待输出数据的精度进行配置。
7.根据权利要求1所述的方法,其特征在于,通过以下方式对所述神经网络中的所有层按照对识别率的影响程度进行排序:
计算所述神经网络的初始识别率;
对于所述神经网络中的每一层,将当前层的权重精度从第一精度降低至第二精度,并计算所述神经网络的识别率相对于所述初始识别率的下降值;
依据所述下降值对所有层进行排序,其中,所述下降值越大,对识别率的影响程度越高。
8.根据权利要求7所述的方法,其特征在于,若存在下降值相同的至少两层,则按照与神经网络的输入层的距离大小对所述至少两层进行排序,其中,距离越小,对识别率的影响程度越高。
9.一种权重精度配置装置,其特征在于,包括:
目标层确定模块,用于确定神经网络中的当前目标层,其中,所述神经网络中的所有层按照对识别率的影响程度进行排序,影响程度低的层优先被确定为目标层;
权重精度降低模块,用于降低当前目标层对应的权重精度,并判断所述神经网络的当前识别率是否小于预设阈值,若小于,则将当前目标层对应的权重精度锁定为本次降低前的权重精度;
目标层切换模块,用于在满足目标层切换条件的情况下,重新确定当前目标层。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010657996.9A CN111831355B (zh) | 2020-07-09 | 2020-07-09 | 权重精度配置方法、装置、设备及存储介质 |
US18/015,065 US11797850B2 (en) | 2020-07-09 | 2021-07-08 | Weight precision configuration method and apparatus, computer device and storage medium |
PCT/CN2021/105172 WO2022007879A1 (zh) | 2020-07-09 | 2021-07-08 | 权重精度配置方法和装置、计算机设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010657996.9A CN111831355B (zh) | 2020-07-09 | 2020-07-09 | 权重精度配置方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111831355A true CN111831355A (zh) | 2020-10-27 |
CN111831355B CN111831355B (zh) | 2023-05-16 |
Family
ID=72900384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010657996.9A Active CN111831355B (zh) | 2020-07-09 | 2020-07-09 | 权重精度配置方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111831355B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113221896A (zh) * | 2021-05-31 | 2021-08-06 | 北京灵汐科技有限公司 | 目标检测方法、装置、神经形态器件及介质 |
WO2022007879A1 (zh) * | 2020-07-09 | 2022-01-13 | 北京灵汐科技有限公司 | 权重精度配置方法和装置、计算机设备、存储介质 |
WO2023279946A1 (zh) * | 2021-07-09 | 2023-01-12 | 寒武纪(西安)集成电路有限公司 | 一种处理装置、设备、方法及其相关产品 |
WO2024082932A1 (zh) * | 2022-10-18 | 2024-04-25 | 华为技术有限公司 | 校准神经网络量化的方法、装置、设备、介质和程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6269351B1 (en) * | 1999-03-31 | 2001-07-31 | Dryken Technologies, Inc. | Method and system for training an artificial neural network |
US20180096249A1 (en) * | 2016-10-04 | 2018-04-05 | Electronics And Telecommunications Research Institute | Convolutional neural network system using adaptive pruning and weight sharing and operation method thereof |
CN108345939A (zh) * | 2017-01-25 | 2018-07-31 | 微软技术许可有限责任公司 | 基于定点运算的神经网络 |
US20180322391A1 (en) * | 2017-05-05 | 2018-11-08 | Nvidia Corporation | Loss-scaling for deep neural network training with reduced precision |
US20190050710A1 (en) * | 2017-08-14 | 2019-02-14 | Midea Group Co., Ltd. | Adaptive bit-width reduction for neural networks |
CN109800877A (zh) * | 2019-02-20 | 2019-05-24 | 腾讯科技(深圳)有限公司 | 神经网络的参数调整方法、装置及设备 |
CN111126456A (zh) * | 2019-12-05 | 2020-05-08 | 杭州飞步科技有限公司 | 神经网络模型的处理方法、装置、设备及存储介质 |
-
2020
- 2020-07-09 CN CN202010657996.9A patent/CN111831355B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6269351B1 (en) * | 1999-03-31 | 2001-07-31 | Dryken Technologies, Inc. | Method and system for training an artificial neural network |
US20180096249A1 (en) * | 2016-10-04 | 2018-04-05 | Electronics And Telecommunications Research Institute | Convolutional neural network system using adaptive pruning and weight sharing and operation method thereof |
CN108345939A (zh) * | 2017-01-25 | 2018-07-31 | 微软技术许可有限责任公司 | 基于定点运算的神经网络 |
US20180322391A1 (en) * | 2017-05-05 | 2018-11-08 | Nvidia Corporation | Loss-scaling for deep neural network training with reduced precision |
CN110073371A (zh) * | 2017-05-05 | 2019-07-30 | 辉达公司 | 用于以降低精度进行深度神经网络训练的损失缩放 |
US20190050710A1 (en) * | 2017-08-14 | 2019-02-14 | Midea Group Co., Ltd. | Adaptive bit-width reduction for neural networks |
CN109800877A (zh) * | 2019-02-20 | 2019-05-24 | 腾讯科技(深圳)有限公司 | 神经网络的参数调整方法、装置及设备 |
CN111126456A (zh) * | 2019-12-05 | 2020-05-08 | 杭州飞步科技有限公司 | 神经网络模型的处理方法、装置、设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022007879A1 (zh) * | 2020-07-09 | 2022-01-13 | 北京灵汐科技有限公司 | 权重精度配置方法和装置、计算机设备、存储介质 |
US11797850B2 (en) | 2020-07-09 | 2023-10-24 | Lynxi Technologies Co., Ltd. | Weight precision configuration method and apparatus, computer device and storage medium |
CN113221896A (zh) * | 2021-05-31 | 2021-08-06 | 北京灵汐科技有限公司 | 目标检测方法、装置、神经形态器件及介质 |
WO2023279946A1 (zh) * | 2021-07-09 | 2023-01-12 | 寒武纪(西安)集成电路有限公司 | 一种处理装置、设备、方法及其相关产品 |
WO2024082932A1 (zh) * | 2022-10-18 | 2024-04-25 | 华为技术有限公司 | 校准神经网络量化的方法、装置、设备、介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111831355B (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111831355A (zh) | 权重精度配置方法、装置、设备及存储介质 | |
CN111831358B (zh) | 权重精度配置方法、装置、设备及存储介质 | |
US20180197084A1 (en) | Convolutional neural network system having binary parameter and operation method thereof | |
CN111831359A (zh) | 权重精度配置方法、装置、设备及存储介质 | |
CN111144561B (zh) | 一种神经网络模型确定方法及装置 | |
CN110458280B (zh) | 一种适用于移动端的卷积神经网络加速方法及系统 | |
CN107657263A (zh) | 一种用于实现ann的深度处理单元 | |
CN111178517B (zh) | 模型部署方法、系统、芯片、电子设备及介质 | |
CN112101525A (zh) | 一种通过nas设计神经网络的方法、装置和系统 | |
CN112200300B (zh) | 卷积神经网络运算方法及装置 | |
CN111831354A (zh) | 数据精度配置方法、装置、芯片、芯片阵列、设备及介质 | |
CN108304926B (zh) | 一种适用于神经网络的池化计算装置及方法 | |
CN111831356B (zh) | 权重精度配置方法、装置、设备及存储介质 | |
CN111191789B (zh) | 模型优化部署系统、芯片、电子设备及介质 | |
CN110889497B (zh) | 一种人工智能处理器的学习任务编译方法及相关产品 | |
CN116644804B (zh) | 分布式训练系统、神经网络模型训练方法、设备和介质 | |
CN115860081B (zh) | 一种芯粒算法调度方法、系统、电子设备及存储介质 | |
CN110766145A (zh) | 一种人工智能处理器的学习任务编译方法及相关产品 | |
CN113902108A (zh) | 一种量化位宽动态选择的神经网络加速硬件架构及方法 | |
CN117271101B (zh) | 一种算子融合方法、装置、电子设备及存储介质 | |
CN112434785B (zh) | 一种面向超级计算机的分布式并行深度神经网络性能评测方法 | |
Pérez et al. | Parallel/distributed implementation of cellular training for generative adversarial neural networks | |
CN113688988A (zh) | 精度调整方法及装置、存储介质 | |
CN110766146B (zh) | 一种人工智能处理器的学习任务编译方法及相关产品 | |
CN116342420A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |