CN111831354A - 数据精度配置方法、装置、芯片、芯片阵列、设备及介质 - Google Patents

数据精度配置方法、装置、芯片、芯片阵列、设备及介质 Download PDF

Info

Publication number
CN111831354A
CN111831354A CN202010656745.9A CN202010656745A CN111831354A CN 111831354 A CN111831354 A CN 111831354A CN 202010656745 A CN202010656745 A CN 202010656745A CN 111831354 A CN111831354 A CN 111831354A
Authority
CN
China
Prior art keywords
precision
layer
data
output
weight
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
CN202010656745.9A
Other languages
English (en)
Other versions
CN111831354B (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.)
Beijing Lynxi Technology Co Ltd
Original Assignee
Beijing Lynxi 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 Lynxi Technology Co Ltd filed Critical Beijing Lynxi Technology Co Ltd
Priority to CN202010656745.9A priority Critical patent/CN111831354B/zh
Publication of CN111831354A publication Critical patent/CN111831354A/zh
Priority to PCT/CN2021/105173 priority patent/WO2022007880A1/zh
Application granted granted Critical
Publication of CN111831354B publication Critical patent/CN111831354B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Optical Recording Or Reproduction (AREA)

Abstract

本发明实施例公开了数据精度配置方法、装置、芯片、芯片阵列、设备及介质。该方法包括:获取神经网络中的第一层的待输出数据,其中,第一层包括神经网络中的最后一层之外的任意一层或多层,获取第二层的权重精度,其中,第二层为第一层的下一层,根据第二层的权重精度对第一层的待输出数据的精度进行配置。本发明实施例通过采用上述技术方案,可以灵活配置部署在人工智能芯片中的神经网络中的一层或多层的输出数据的精度,进而优化人工智能芯片的性能。

Description

数据精度配置方法、装置、芯片、芯片阵列、设备及介质
技术领域
本发明实施例涉及人工智能技术领域,尤其涉及输出数据的精度配置方法、装置、芯片、芯片阵列、设备及存储介质。
背景技术
随着大数据信息网络和智能移动设备的蓬勃发展,产生了海量非结构化信息,伴生了对这些信息高效能处理需求的急剧增长。近年来,深度学习技术发展迅速,在图像识别、语音识别以及自然语言处理等诸多领域取得了很高的准确率。但如今的深度学习研究绝大多数仍是基于传统的冯诺依曼计算机实现的,而冯诺依曼计算机由于处理器和存储器分离,在处理大型复杂问题时不仅能耗高、效率低,而且面向数值计算的特性使其在处理非形式化问题时软件编程复杂度高,甚至无法实现。
随着脑科学的发展,由于大脑相比传统的冯诺依曼计算机具有超低功耗以及高容错性等特点,且在处理非结构化信息和智能任务方面具有显著优势,借鉴大脑的计算模式构建新型的人工智能系统和人工智能芯片已经成为一个新兴的发展方向,因此,借鉴人脑发展的人工智能技术应运而生。人工智能技术中的神经网络由大量神经元构成,神经网络中通过信息的分布式存储和并行协同处理,定义基本的学习规则即可模拟出大脑的自适应学习过程,无需明确的编程,在处理一些非形式化问题时具有优势。人工智能技术可以使用大规模集成模拟、数字或数模混合的电路及软件系统,即基于神经形态器件来实现。
目前,人工智能的神经网络通常以若干神经元为一层,每一层通常对应人工智能芯片中的一个处理核。神经网络的核心计算是矩阵向量乘操作,当数据输入神经网络的一层时,计算精度一般为数据精度与权重精度(也即权重值的精度)的乘累加,且参照数据精度与权重精度中较高的精度来确定计算结果(也即当前层对应的处理核的输出数据)的精度。然而,这种输出数据的精度配置方案不够灵活,需要改进。
发明内容
本发明实施例提供了输出数据的精度配置方法、装置、芯片、芯片阵列、设备及存储介质,可以优化现有的输出数据的精度配置方案。
第一方面,本发明实施例提供了一种输出数据的精度配置方法,应用于人工智能芯片中,该方法包括:
获取神经网络中的第一层的待输出数据的精度,其中,所述第一层包括所述神经网络中的最后一层之外的任意一层或多层;
获取第二层的权重精度,其中,所述第二层为所述第一层的下一层;
根据所述第二层的权重精度对所述待输出数据的精度进行配置。
第二方面,本发明实施例提供了一种输出数据的精度配置装置,集成于人工智能芯片中,该装置包括:
待输出数据获取模块,用于获取神经网络中的第一层的待输出数据的精度,其中,所述第一层包括所述神经网络中的最后一层之外的任意一层或多层;
权重精度获取模块,用于获取第二层的权重精度,其中,所述第二层为所述第一层的下一层;
精度配置模块,用于根据所述第二层的权重精度对所述待输出数据的精度进行配置。
第三方面,本发明实施例提供了一种人工智能芯片,所述人工智能芯片内包含多个处理核,每个处理核对应神经网络中的一层,所述多个处理核中的至少一个处理核用于实现本发明实施例提供的输出数据的精度配置方法。
第四方面,本发明实施例提供了一种人工智能芯片阵列,所述人工智能芯片阵列包括至少两个如本发明实施例提供的人工智能芯片。
第五方面,本发明实施例提供了一种计算机设备,所述计算机设备中包含本发明实施例提供的人工智能芯片或本发明实施例提供的人工智能芯片阵列。
第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理核执行时实现本发明实施例提供的输出数据的精度配置方法。
本发明实施例中提供的输出数据的精度配置方案,应用于人工智能芯片中,获取神经网络中的第一层的待输出数据的精度,在对待输出数据进行输出之前,先获取第二层的权重精度,第二层为第一层的下一层,并根据第二层的权重精度对待输出数据的精度进行配置。通过采用上述技术方案,可以灵活配置部署在人工智能芯片中的神经网络中的一层或多层的输出数据的精度,进而优化人工智能芯片的性能。
附图说明
图1为现有技术中的一种输出数据的精度配置方案示意图;
图2为本发明实施例提供的一种输出数据的精度配置方法的流程示意图;
图3为本发明实施例提供的又一种输出数据的精度配置方法的流程示意图;
图4为本发明实施例提供的一种输出数据的精度配置方案示意图;
图5为本发明实施例提供的另一种输出数据的精度配置方法的流程示意图;
图6为本发明实施例提供的一种输出数据的精度配置装置的结构框图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
需要注意,本发明实施例中提及的“第一”、“第二”等概念仅用于对不同的装置、模块、单元或其他对象进行区分,并非用于限定这些装置、模块、单元或其他对象所执行的功能的顺序或者相互依存关系。
为了更好地理解本发明实施例,下面对相关技术进行介绍。
人工智能一般指借鉴大脑中进行信息处理的基本规律,在硬件实现与软件算法等多个层面,对于现有的计算体系与系统做出本质的变革,从而实现在计算能耗、计算能力与计算效率等诸多方面的大幅改进,是融合了脑科学与计算机科学、信息科学和人工智能等领域的交叉技术领域。人工智能芯片一般指非冯诺依曼架构的芯片,如脉冲神经网络芯片、忆阻器、忆容器以及忆感器等。
本发明实施例中的人工智能芯片中可包括多个处理核,每个处理核中可包含处理器并自带存储区,计算数据可在本地操作,每个处理核可对应神经网络的一层,也即可将神经网络以层为单位部署或映射到对应的处理核上。本发明实施例中的神经网络可包括人工神经网络(Artificial Neural Network,ANN),也可包括脉冲神经网络(Spiking NeuralNetwork,SNN)以及其他类型的神经网络。神经网络的具体类型不做限定,例如可以是声学模型、语音识别模型以及图像识别模型等等,可以应用于数据中心、安防领域、智能医疗领域、自动驾驶领域、智慧交通领域、智能家居领域以及其他相关领域。本发明实施例提供的技术方案并未对神经网络算法本身进行改进,是对于用于实现神经网络的硬件平台的控制方式或应用方式的改进,属于神经形态电路及其系统,又被称为神经形态工程(neuromorphic engineering)。
图1为现有技术中的一种输出数据的精度配置方案示意图,在现有技术中,人工智能芯片中承载的神经网络的各层的权重精度是相同的,如图1所示,为了便于说明,仅示出了神经网络中的四层,分别为L1、L2、L3和L4。L1的输入数据的精度(数据精度)为FP32(32位浮点),L1的权重精度为FP32,那么乘累加操作后得到的精度为FP32。
而在本发明实施例中,摒弃了现有技术中神经网络中各层的权重精度是相同的这一限制条件,可以为每层配置不同的权重精度,也即采用混合精度,从而更好地平衡存储容量和计算能耗,与神经网络识别率(或准确率)之间的关系。
图2为本发明实施例提供的一种输出数据的精度配置方法的流程示意图,该方法可以由输出数据的精度配置装置执行,其中该装置可由软件和/或硬件实现,一般可集成在人工智能芯片中,例如人工智能芯片中的处理核中。如图2所示,该方法包括:
步骤201、获取神经网络中的第一层的待输出数据的精度,其中,所述第一层包括所述神经网络中的最后一层之外的任意一层或多层。
本发明实施例中,对神经网络的具体结构不做限定,例如神经网络中包含的神经元层数可以是两层以上的任意层数。第一层并不一定是神经网络中排在最前面的层,可以是除最后一层之外的任意一层。若将对应第一层的处理核记为第一处理核,则可理解为由第一处理核执行本发明实施例提供的输出数据的精度配置方法,除对应最后一层的处理核之外的任意一个处理核均可以成为第一处理核。
示例性的,由第一层对应的第一处理核中的处理器进行数据计算,例如根据第一层的输入数据和第一层的权重参数(如权重矩阵等)计算得到待输出数据。一般的,待输出数据的精度大于或等于输入数据精度和权重精度中的较高者。如果输入数据精度和权重精度本身就比较低(如Int2、Int4或Int8),在乘累加操作后之后,位数可能不足(例如无法满足对应的处理核等硬件配置方面的需求),就需要提高精度,那么待输出数据的精度通常来说,会增加得比较高(例如分别增加到Int8、Int16或Int16),且若输入数据精度和权重精度中较高者越低,需要提升的精度等级越多;相反,如果输入数据精度和权重精度本身就已经比较高了(比如FP16、FP32或FP64),那么待输出数据的精度可能就不会增加,或者增加的比较少(例如从FP16增加到FP32),因为,经过乘累加操作后的精度已经足够高。
可选的,本步骤可包括:获取神经网络中的第一层的输入数据的精度和所述第一层的权重精度;根据所述输入数据的精度和所述第一层的权重精度确定所述第一层的待输出数据的精度,所述待输出数据的精度大于或等于所述输入数据的精度和所述第一层的权重精度中较高的精度。
步骤202、获取第二层的权重精度,其中,所述第二层为所述第一层的下一层。
本发明实施例中,不同层的权重精度可以是不同的,获取第二层的权重精度的具体方式不做限定。例如,可以在芯片的编译阶段将第二层的权重精度存储在第一处理核内的存储区,在获取到第一层的待输出数据后,从该存储区读取第二层的权重精度;又如,假设第二层对应的处理核为第二处理核,第二处理核内的存储区中可以存储有第二层的权重精度,第一处理核可通过核间通信的方式从第二处理核获取第二层的权重精度。
步骤203、根据所述第二层的权重精度对所述待输出数据的精度进行配置。
本发明实施例中,参考第二层的权重精度对第一层的待输出数据的精度进行配置,具体的参考方式和配置方式不做限定。示例性的,可将待输出数据的精度配置成比第二层的权重精度低的精度,也可将待输出数据的精度配置成比第二层的权重精度高的精度,得到输出数据的精度,第二层的权重精度和输出数据的精度之间相差的精度等级可以是第一预设精度等级差值。其中,精度等级用于表示数据精度的高低,精度越高,对应的精度等级越高,不同精度等级对应的精度值可根据实际需求设置。例如,精度Int4(4位整型)和FP16之间,还存在Int8,相差的精度等级可以是2,而Int4和Int8之间相差的精度等级可以是1。假设第二层的权重精度为FP16,第一预设精度等级差值为2,若将待输出数据的精度配置成比第二层的权重精度低的精度,则将待输出数据的精度配置成Int4。
本发明实施例中提供的输出数据的精度配置方法,应用于人工智能芯片中,获取神经网络中的第一层的待输出数据的精度,在对待输出数据进行输出之前,先获取第二层的权重精度,第二层为第一层的下一层,并根据第二层的权重精度对待输出数据的精度进行配置。通过采用上述技术方案,可以灵活配置部署在人工智能芯片中的神经网络中的一层或多层的输出数据的精度,进而优化人工智能芯片的性能。
在一些实施例中,所述根据所述第二层的权重精度对所述待输出数据的精度进行配置,包括:在所述第二层的权重精度低于所述待输出数据的精度时,根据所述第二层的权重精度确定目标精度,其中,所述目标精度低于所述待输出数据的精度;将所述待输出数据的精度配置成目标精度。可选的,所述目标精度等于或高于所述第二层的权重精度,这样设置的好处在于,相当于根据所述第二层的权重精度对所述待输出数据的精度进行截取操作,使得待输出数据的精度降低,从而降低数据传输量,在第二层进行数据计算时,也能够降低计算量,进而降低数据处理所带来的能耗。
在一些实施例中,所述根据所述第二层的权重精度确定目标精度,包括:将所述第二层的权重精度确定为目标精度。这样设置的好处在于,相当于将所述待输出数据的精度截取为与所述第二层的权重精度相一致的精度。可以进一步降低数据传输量以及降低数据处理所带来的能耗,提高芯片算力。
在一些实施例中,在所述根据所述第二层的权重精度对所述待输出数据的精度进行配置之后,还包括:将配置后得到的输出数据输出至所述第二层对应的处理核。这样设置的好处在于,将输出数据通过核间通信的方式发送到第二层对应的处理核,以便第二层对应的处理核进行第二层的相关计算。
在一些实施例中,所述人工智能芯片基于众核架构实现,众核架构可以具备多核重组特性,核与核之间没有主从之分,可以灵活的用软件来配置任务,把不同的任务同时配置在不同的核中,实现多任务的并行处理,可以由一系列核构成阵列来完成神经网络的计算,能够高效支持各种神经网络算法,提高芯片性能。示例性的,人工智能芯片可采用2DMesh片上网络结构,用于核与核之间的通信互联,芯片与外部的通信可以通过高速串口实现。
图3为本发明实施例提供的又一种输出数据的精度配置方法的流程示意图,如图3所示,该方法包括:
步骤301、获取神经网络中的第一层的待输出数据。
其中,所述第一层包括所述神经网络中的最后一层之外的任意一层或多层。
步骤302、获取第二层的权重精度,其中,所述第二层为所述第一层的下一层。
步骤303、判断第二层的权重精度是否低于第一层的待输出数据的精度,若是,则执行步骤304;否则,执行步骤305。
可选的,本发明实施例中,也可不判断第二层的权重精度和第一层的待输出数据的精度的大小,直接将第二层的权重精度确定为目标精度。
步骤304、将第二层的权重精度确定为目标精度,将第一层的待输出数据的精度配置成目标精度,得到输出数据,执行步骤306。
步骤305、保持第一层的待输出数据的精度不变或将第一层的待输出数据的精度配置成第二层的权重精度,得到输出数据。
其中,保持第一层的待输出数据的精度不变可以减少第一层与第二层之间的传输量。
步骤306、将输出数据输出至第二层对应的处理核。
本发明实施例提供的输出数据的精度配置方案,应用于人工智能芯片中,获取神经网络中的第一层的待输出数据,在对待输出数据进行输出之前,先获取下一层的权重精度,并将待输出数据的精度配置成与下一层的权重精度相同的精度,得到输出数据并输出至下一层对应的处理核。通过采用上述技术方案在数据输出之前按照下一层的权重精度直接配置,可减少数据转换中的精度损失,当后一层权重精度低于前一层时,可降低数据传输量,降低数据处理能耗。
图4为本发明实施例提供的一种输出数据的精度配置方案示意图,如图4所示,为了便于说明,仅示出了神经网络中的四层,分别为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层的计算精度不会产生影响,大大提升了芯片性能。
图5为本发明实施例提供的另一种输出数据的精度配置方法的流程示意图,以神经网络为图像识别模型为例,假设图像识别模型为卷积神经网络模型,例如可包括卷积层、池化层和全连接层,分别对应人工智能芯片中的第一处理核、第二处理核和第三处理核,该方法可包括:
步骤501、通过第一处理核获取待识别图像数据,并根据待识别图像数据和卷积层的权重参数计算卷积层的待输出特征图数据,获取池化层的权重精度,将卷积层的待输出特征图数据的精度配置成池化层的权重精度,得到卷积层的输出特征图数据,并输出至第二处理核。
步骤502、通过第二处理核根据卷积层的输出特征图数据和池化层的权重参数计算池化层的待输出特征向量数据,获取全连接层的权重精度,将池化层的待输出特征向量数据的精度配置成全连接层的权重精度,得到池化层的输出特征向量数据,并输出至第三处理核。
步骤503、通过第三处理核根据池化层的输出特征向量数据和全连接层的权重参数计算并输出图像识别结果。
本发明实施例提供的输出数据的精度配置方法,应用于图像识别场景时,卷积层和池化层对应的处理核在进行图像数据输出之前,先根据下一层的权重精度来确定图像输出数据的精度,可在减少图像信息转换中的精度损失的同时,降低图像数据传输量,降低图像数据处理能耗,也即在保证计算精度的前提下,提高算力并降低功耗,使得承载图像识别网络模型的人工智能芯片的性能得到有效提升,也能够提高图像识别模型的识别效率。
图6为本发明实施例提供的一种输出数据的精度配置装置的结构框图,该装置可由软件和/或硬件实现,一般可集成在人工智能芯片中,可通过执行输出数据的精度配置方法来进行输出数据的精度配置。如图6所示,该装置包括:
待输出数据获取模块601,用于获取神经网络中的第一层的待输出数据的精度,其中,所述第一层包括所述神经网络中的最后一层之外的任意一层或多层;
权重精度获取模块602,用于获取第二层的权重精度,其中,所述第二层为所述第一层的下一层;
精度配置模块603,用于根据所述第二层的权重精度对所述待输出数据的精度进行配置。
本发明实施例中提供的输出数据的精度配置装置,应用于人工智能芯片中,获取神经网络中的第一层的待输出数据的精度,在对待输出数据进行输出之前,先获取第二层的权重精度,第二层为第一层的下一层,并根据第二层的权重精度对待输出数据的精度进行配置。通过采用上述技术方案,可以灵活配置部署在人工智能芯片中的神经网络中的一层或多层的输出数据的精度,进而优化人工智能芯片的性能。
可选的,所述根据所述第二层的权重精度对所述待输出数据的精度进行配置,包括:
在所述第二层的权重精度低于所述待输出数据的精度时,根据所述第二层的权重精度确定目标精度,其中,所述目标精度低于所述待输出数据的精度;
将所述待输出数据的精度配置成目标精度。
可选的,所述根据所述第二层的权重精度确定目标精度,包括:
将所述第二层的权重精度确定为目标精度。
可选的,该装置还包括:输出模块,用于在所述根据所述第二层的权重精度对所述待输出数据的精度进行配置之后,将配置后得到的输出数据输出至所述第二层对应的处理核。
可选的,所述人工智能芯片基于众核架构实现。
可选的,所述获取神经网络中的第一层的待输出数据的精度,包括:
获取神经网络中的第一层的输入数据的精度和所述第一层的权重精度;
根据所述输入数据的精度和所述第一层的权重精度确定所述第一层的待输出数据的精度,所述待输出数据的精度大于或等于所述输入数据的精度和所述第一层的权重精度中较高的精度。
本发明实施例提供了一种人工智能芯片,所述人工智能芯片内包含多个处理核,每个处理核对应神经网络中的一层,所述多个处理核中的至少一个处理核用于实现本发明实施例提供的输出数据的精度配置方法。
本发明实施例提供了一种人工智能芯片阵列,所述人工智能芯片阵列包括至少两个如本发明实施例提供的人工智能芯片。本发明实施例提供的人工智能芯片既能高效支持ANN算法,又能高效支持SNN算法,不同的人工智能芯片中可以承载不同的神经网络模型,具体可以根据实际需求进行配置,扩展性好,能得到极大算力的芯片阵列,且算力效率不会下降,可支持多核重组特性,实现多任务并行处理。
本发明实施例提供了一种计算机设备,所述计算机设备中包含本发明实施例提供的人工智能芯片或本发明实施例提供的人工智能芯片阵列。
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理核执行时实现本发明实施例提供的输出数据的精度配置方法。
上述实施例中提供的输出数据的精度配置装置、芯片、芯片阵列、计算机设备及存储介质可执行本发明任意实施例所提供的输出数据的精度配置方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的输出数据的精度配置方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (11)

1.一种输出数据的精度配置方法,其特征在于,应用于人工智能芯片中,所述方法包括:
获取神经网络中的第一层的待输出数据的精度,其中,所述第一层包括所述神经网络中的最后一层之外的任意一层或多层;
获取第二层的权重精度,其中,所述第二层为所述第一层的下一层;
根据所述第二层的权重精度对所述待输出数据的精度进行配置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第二层的权重精度对所述待输出数据的精度进行配置,包括:
在所述第二层的权重精度低于所述待输出数据的精度时,根据所述第二层的权重精度确定目标精度,其中,所述目标精度低于所述待输出数据的精度;
将所述待输出数据的精度配置成目标精度。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第二层的权重精度确定目标精度,包括:
将所述第二层的权重精度确定为目标精度。
4.根据权利要求1所述的方法,其特征在于,在所述根据所述第二层的权重精度对所述待输出数据的精度进行配置之后,还包括:
将配置后得到的输出数据输出至所述第二层对应的处理核。
5.根据权利要求1-4所述的方法,其特征在于,所述人工智能芯片基于众核架构实现。
6.根据权利要求1所述的方法,其特征在于,所述获取神经网络中的第一层的待输出数据的精度,包括:
获取神经网络中的第一层的输入数据的精度和所述第一层的权重精度;
根据所述输入数据的精度和所述第一层的权重精度确定所述第一层的待输出数据的精度,所述待输出数据的精度大于或等于所述输入数据的精度和所述第一层的权重精度中较高的精度。
7.一种输出数据的精度配置装置,其特征在于,集成于人工智能芯片中,所述装置包括:
待输出数据获取模块,用于获取神经网络中的第一层的待输出数据的精度,其中,所述第一层包括所述神经网络中的最后一层之外的任意一层或多层;
权重精度获取模块,用于获取第二层的权重精度,其中,所述第二层为所述第一层的下一层;
精度配置模块,用于根据所述第二层的权重精度对所述待输出数据的精度进行配置。
8.一种人工智能芯片,其特征在于,所述人工智能芯片内包含多个处理核,每个处理核对应神经网络中的一层,所述多个处理核中的至少一个处理核用于实现如权利要求1-6任一所述的方法。
9.一种人工智能芯片阵列,其特征在于,所述人工智能芯片阵列包括至少两个如权利要求8所述的人工智能芯片。
10.一种计算机设备,其特征在于,所述计算机设备中包含如权利要求8所述的人工智能芯片或如权利要求9所述的人工智能芯片阵列。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理核执行时实现如权利要求1-6任一项所述的方法。
CN202010656745.9A 2020-07-09 2020-07-09 数据精度配置方法、装置、芯片、芯片阵列、设备及介质 Active CN111831354B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010656745.9A CN111831354B (zh) 2020-07-09 2020-07-09 数据精度配置方法、装置、芯片、芯片阵列、设备及介质
PCT/CN2021/105173 WO2022007880A1 (zh) 2020-07-09 2021-07-08 数据精度配置方法和装置、神经网络设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010656745.9A CN111831354B (zh) 2020-07-09 2020-07-09 数据精度配置方法、装置、芯片、芯片阵列、设备及介质

Publications (2)

Publication Number Publication Date
CN111831354A true CN111831354A (zh) 2020-10-27
CN111831354B CN111831354B (zh) 2023-05-16

Family

ID=72900790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010656745.9A Active CN111831354B (zh) 2020-07-09 2020-07-09 数据精度配置方法、装置、芯片、芯片阵列、设备及介质

Country Status (2)

Country Link
CN (1) CN111831354B (zh)
WO (1) WO2022007880A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113221896A (zh) * 2021-05-31 2021-08-06 北京灵汐科技有限公司 目标检测方法、装置、神经形态器件及介质
WO2022007880A1 (zh) * 2020-07-09 2022-01-13 北京灵汐科技有限公司 数据精度配置方法和装置、神经网络设备、介质
WO2023279946A1 (zh) * 2021-07-09 2023-01-12 寒武纪(西安)集成电路有限公司 一种处理装置、设备、方法及其相关产品

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760933A (zh) * 2016-02-18 2016-07-13 清华大学 卷积神经网络的逐层变精度定点化方法及装置
CN108229648A (zh) * 2017-08-31 2018-06-29 深圳市商汤科技有限公司 卷积计算方法和装置、电子设备、计算机存储介质
CN108334945A (zh) * 2018-01-30 2018-07-27 中国科学院自动化研究所 深度神经网络的加速与压缩方法及装置
CN108345939A (zh) * 2017-01-25 2018-07-31 微软技术许可有限责任公司 基于定点运算的神经网络
CN109146057A (zh) * 2018-06-26 2019-01-04 杭州雄迈集成电路技术有限公司 一种基于查表计算的高精度的神经网络工程化方法
US20190102671A1 (en) * 2017-09-29 2019-04-04 Intel Corporation Inner product convolutional neural network accelerator
CN109740508A (zh) * 2018-12-29 2019-05-10 北京灵汐科技有限公司 一种基于神经网络系统的图像处理方法及神经网络系统
CN109800877A (zh) * 2019-02-20 2019-05-24 腾讯科技(深圳)有限公司 神经网络的参数调整方法、装置及设备
EP3543917A1 (en) * 2018-03-19 2019-09-25 SRI International Inc. Dynamic adaptation of deep neural networks
US20200026992A1 (en) * 2016-09-29 2020-01-23 Tsinghua University Hardware neural network conversion method, computing device, compiling method and neural network software and hardware collaboration system
CN110738315A (zh) * 2018-07-18 2020-01-31 华为技术有限公司 一种神经网络精度调整方法及装置
US20200210840A1 (en) * 2018-12-31 2020-07-02 Microsoft Technology Licensing, Llc Adjusting precision and topology parameters for neural network training based on a performance metric
US20200218962A1 (en) * 2019-01-09 2020-07-09 Samsung Electronics Co., Ltd. Method and apparatus for neural network quantization

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108154228B (zh) * 2016-12-28 2022-04-12 上海寒武纪信息科技有限公司 一种人工神经网络计算装置和方法
CN110503181B (zh) * 2018-05-18 2022-03-01 百度在线网络技术(北京)有限公司 用于生成多层神经网络的方法和装置
KR20200076461A (ko) * 2018-12-19 2020-06-29 삼성전자주식회사 중첩된 비트 표현 기반의 뉴럴 네트워크 처리 방법 및 장치
CN109902745A (zh) * 2019-03-01 2019-06-18 成都康乔电子有限责任公司 一种基于cnn的低精度训练与8位整型量化推理方法
CN111831354B (zh) * 2020-07-09 2023-05-16 北京灵汐科技有限公司 数据精度配置方法、装置、芯片、芯片阵列、设备及介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760933A (zh) * 2016-02-18 2016-07-13 清华大学 卷积神经网络的逐层变精度定点化方法及装置
US20200026992A1 (en) * 2016-09-29 2020-01-23 Tsinghua University Hardware neural network conversion method, computing device, compiling method and neural network software and hardware collaboration system
CN108345939A (zh) * 2017-01-25 2018-07-31 微软技术许可有限责任公司 基于定点运算的神经网络
CN108229648A (zh) * 2017-08-31 2018-06-29 深圳市商汤科技有限公司 卷积计算方法和装置、电子设备、计算机存储介质
US20190102671A1 (en) * 2017-09-29 2019-04-04 Intel Corporation Inner product convolutional neural network accelerator
CN108334945A (zh) * 2018-01-30 2018-07-27 中国科学院自动化研究所 深度神经网络的加速与压缩方法及装置
EP3543917A1 (en) * 2018-03-19 2019-09-25 SRI International Inc. Dynamic adaptation of deep neural networks
CN109146057A (zh) * 2018-06-26 2019-01-04 杭州雄迈集成电路技术有限公司 一种基于查表计算的高精度的神经网络工程化方法
CN110738315A (zh) * 2018-07-18 2020-01-31 华为技术有限公司 一种神经网络精度调整方法及装置
CN109740508A (zh) * 2018-12-29 2019-05-10 北京灵汐科技有限公司 一种基于神经网络系统的图像处理方法及神经网络系统
US20200210840A1 (en) * 2018-12-31 2020-07-02 Microsoft Technology Licensing, Llc Adjusting precision and topology parameters for neural network training based on a performance metric
US20200218962A1 (en) * 2019-01-09 2020-07-09 Samsung Electronics Co., Ltd. Method and apparatus for neural network quantization
CN109800877A (zh) * 2019-02-20 2019-05-24 腾讯科技(深圳)有限公司 神经网络的参数调整方法、装置及设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022007880A1 (zh) * 2020-07-09 2022-01-13 北京灵汐科技有限公司 数据精度配置方法和装置、神经网络设备、介质
CN113221896A (zh) * 2021-05-31 2021-08-06 北京灵汐科技有限公司 目标检测方法、装置、神经形态器件及介质
CN113221896B (zh) * 2021-05-31 2024-10-15 北京灵汐科技有限公司 目标检测方法、装置、神经形态器件及介质
WO2023279946A1 (zh) * 2021-07-09 2023-01-12 寒武纪(西安)集成电路有限公司 一种处理装置、设备、方法及其相关产品

Also Published As

Publication number Publication date
WO2022007880A1 (zh) 2022-01-13
CN111831354B (zh) 2023-05-16

Similar Documents

Publication Publication Date Title
CN111831359B (zh) 权重精度配置方法、装置、设备及存储介质
CN111831355B (zh) 权重精度配置方法、装置、设备及存储介质
CN110348574B (zh) 一种基于zynq的通用卷积神经网络加速结构及设计方法
CN111831354A (zh) 数据精度配置方法、装置、芯片、芯片阵列、设备及介质
Babic Axiomatic design of flexible manufacturing systems
US20180197084A1 (en) Convolutional neural network system having binary parameter and operation method thereof
CN111831358B (zh) 权重精度配置方法、装置、设备及存储介质
CN106201651A (zh) 神经形态芯片的模拟器
CN112163601B (zh) 图像分类方法、系统、计算机设备及存储介质
CN112101525A (zh) 一种通过nas设计神经网络的方法、装置和系统
CN108304926B (zh) 一种适用于神经网络的池化计算装置及方法
CN116644804B (zh) 分布式训练系统、神经网络模型训练方法、设备和介质
CN113259469B (zh) 智能制造中边缘服务器部署方法、系统及存储介质
CN114492770B (zh) 一种面向循环脉冲神经网络的类脑计算芯片映射方法
CN111160515A (zh) 运行时间预测方法、模型搜索方法及系统
CN111931901A (zh) 一种神经网络构建方法以及装置
CN111860773A (zh) 处理装置和用于信息处理的方法
CN111831356B (zh) 权重精度配置方法、装置、设备及存储介质
CN115062784A (zh) 针对神经网络算子融合的端云协同推理方法及装置
CN112784972B (zh) 一种面向片上神经网络的突触实现架构
CN117893881A (zh) 视觉Transformer推理优化方法及装置
CN114626284A (zh) 一种模型处理方法及相关装置
CN111427687A (zh) 一种人工智能云平台
CN112668180B (zh) 一种以存代算在线学习预测芯片及方法
CN118279640B (zh) 基于fpga的大目标关键特征识别方法及设备

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