CN112416352A - 数据处理方法、装置、计算机设备和存储介质 - Google Patents

数据处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112416352A
CN112416352A CN201910786452.XA CN201910786452A CN112416352A CN 112416352 A CN112416352 A CN 112416352A CN 201910786452 A CN201910786452 A CN 201910786452A CN 112416352 A CN112416352 A CN 112416352A
Authority
CN
China
Prior art keywords
neural network
network model
artificial intelligence
processor
execution file
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.)
Pending
Application number
CN201910786452.XA
Other languages
English (en)
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.)
Cambricon Technologies Corp Ltd
Original Assignee
Cambricon Technologies Corp 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 Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN201910786452.XA priority Critical patent/CN112416352A/zh
Priority to PCT/CN2020/086183 priority patent/WO2021017546A1/zh
Priority to PCT/CN2020/110144 priority patent/WO2021036893A1/zh
Publication of CN112416352A publication Critical patent/CN112416352A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (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)
  • Machine Translation (AREA)
  • Stored Programmes (AREA)

Abstract

本公开涉及一种数据处理方法、装置、计算机设备和存储介质。所述计算机设备包括控制模块,所述控制模块包括:指令缓存单元、指令处理单元和存储队列单元;所述指令缓存单元,用于存储所述人工神经网络运算关联的计算指令;所述指令处理单元,用于对所述计算指令解析得到多个运算指令;所述存储队列单元,用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令。通过以上方法,本公开可以提高相关产品在进行神经网络模型训练过程中的运算效率。

Description

数据处理方法、装置、计算机设备和存储介质
技术领域
本公开涉及人工智能技术领域,特别是涉及一种数据处理方法、装置、计算机设备和存储介质。
背景技术
随着人工智能技术的发展,出现了深度学习技术,目前深度学习都是采用在线模型进行实现,采用在线模型进行深度学习会在神经网络模型的训练过程中,依次在人工智能处理器上将神经网络模型中每一个算子编译为二进制指令进行运行,并返回计算结果和状态,这种神经网络模型的训练方法占用CPU资源过多,CPU的功耗高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少在神经网络模型的训练过程中对CPU资源的占用,降低CPU功耗的神数据处理方法、装置、计算机设备和存储介质。
根据本公开的一方面,提供了一种数据处理方法,所述方法包括:
获取执行文件,所述执行文件包括将神经网络模型进行编译后得到的,用于在人工智能处理器上执行的二进制指令;
将所述执行文件输入人工智能处理器,以使所述人工智能处理器根据输入数据和所述执行文件对所述神经网络模型进行训练,得到所述神经网络模型的训练结果。
根据本公开的另一方面,提供了一种数据处理装置,包括:
获取模块,用于获取执行文件,所述执行文件包括将神经网络模型进行编译后得到的,用于在人工智能处理器上执行的二进制指令;
执行模块,用于将所述执行文件输入人工智能处理器,以使所述人工智能处理器根据输入数据和所述执行文件对所述神经网络模型进行训练,得到所述神经网络模型的训练结果。
根据本公开的另一方面,提供了一种人工智能芯片,所述芯片包括前述任意一项所述的数据处理装置。
根据本公开的另一方面,提供了一种电子设备,所述电子设备包括如前述的人工智能芯片。
根据本公开的另一方面,提供了一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及如前述的人工智能芯片;
其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;
所述存储器件,用于存储数据;
所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;
所述控制器件,用于对所述人工智能芯片的状态进行监控。
根据本公开的另一方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行前述任意一项数据处理方法。
根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现前述任意一项所述的数据处理方法。
这样,根据本公开实施例提供的数据处理方法、装置、计算机设备和存储介质,可以将神经网络模型预先编译为执行文件保存,进而在进行神经网络模型的训练时,直接将该执行文件输入人工智能处理器中,使人工智能处理器根据读入的输入数据及执行文件对神经网络模型进行训练,这样一来,减少了处理器对神经网络模型中各算子的在线编译操作,可以减少训练过程中对CPU资源的占用,降低CPU的功耗。
通过权要中的技术特征进行推导,能够达到对应背景技术中的技术问题的有益效果。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出本公开实施例提供的数据处理方法的应用场景的示意图;
图2示出根据本公开实施例的数据处理方法的人工智能处理器的示意图;
图3示出根据本公开一实施例的数据处理方法的流程图;
图4示出本公开一示例性的数据处理方法的示意图;
图5示出根据本公开实施例的数据处理装置的框图;
图6示出根据本公开实施例的板卡的结构框图;
图7示出根据本公开实施例的一种电子设备800的框图;
图8示出根据本公开实施例的一种电子设备1900的框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
图1示出本公开实施例提供的数据处理方法的应用场景的示意图,本公开实施例可以应用于图1所示的计算机系统中,该计算机系统包括存储器和处理器,该存储器可以用于存储计算机程序,该处理器可以用于执行数据处理操作,例如,可以用于执行本公开实施例提供的数据处理方法。通过本公开实施例提供的数据处理方法,可以降低在神经网络的训练过程中所占用的CPU资源,降低CPU的功耗。
本公开实施例中涉及的人工智能处理器可以为用于执行人工智能运算的人工智能处理器。人工智能运算可包括机器学习运算,类脑运算等。其中,机器学习运算包括神经网络运算、k-means运算、支持向量机运算等。该人工智能处理器可例如包括GPU(GraphicsProcessing Unit,图形处理单元)、NPU(Neural-Network Processing Unit,神经网络处理单元)、MLU(Machine Learning Unit,机器学习处理单元)、DSP(Digital Signal Process,数字信号处理单元)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)芯片中的一种或组合。本公开对人工智能处理器的具体类型不作限制。
在一种可能的实现方式中,本公开中所提及的人工智能处理器可包括多个处理单元,每个处理单元可以独立运行所分配到的各种任务,如:卷积运算任务、池化任务或全连接任务等。本公开对处理单元及处理单元所运行的任务不作限制。
图2示出根据本公开实施例的数据处理方法的人工智能处理器的示意图。如图2所示,人工智能处理器100包括多个处理单元101以及存储单元102,多个处理单元101用于执行指令序列,存储单元102用于存储数据,可包括随机存储器(RAM,Random Access Memory)和寄存器堆。处理器100中的多个处理单元101既可共用部分存储空间,例如共用部分RAM存储空间和寄存器堆,又可同时拥有各自的存储空间。其中,多个处理单元101中的一个或多个可以用于执行本公开实施例提供的数据处理方法。
首先,相关在线训练神经网络模型的技术中,通用处理器在整个训练过程中,依次根据获取到的模型中的各算子进行编译,没有获取神经网络模型的全图信息,无法从全图的角度优化计算过程,使得整个计算过程产生很多不必要的计算开销。
其次,在线训练神经网络模型的过程中,通用处理器将神经网络模型的计算过程中的每一个算子编译为二进制指令后,控制人工智能处理器执行该二进制指令,并返回计算结果和状态至通过处理器。在线训练的过程包括算子编译的过程,降低了训练的执行效率。
再次,通用处理器根据各算子的计算结果和状态控制人工智能处理器执行各个算子的计算,也即人工智能处理器执行每一个算子的运算均需要与通用处理器进行数据交互,I/O(Input/Output,输入/输出)开销比较大。
图3示出根据本公开一实施例的数据处理方法的流程图。如图3所示,该方法应用于处理器,该方法包括:
在步骤S31中:获取执行文件,所述执行文件包括将神经网络模型进行编译后得到的,用于在人工智能处理器上执行的二进制指令。
举例来说,编译器可以是一个程序,用于将一种语言(源语言)编写的程序,翻译为一个等价的,用另一种语言(目标语言)编写的程序。通常可以利用caffe(ConvolutionalArchitecture for Fast Feature)、tensorflow等神经网络编程框架构建神经网络模型,框架绑定的语言通常为高级语言。例如,tensorflow框架绑定的语言可以为JavaScript、C++、Java、Go和Swift等高级语言。人工智能处理器不能直接处理高级语言,需要把利用高级语言构建后的神经网络模型经过编译器编译,得到可以供人工智能处理器进行处理的语言。
可以在构建神经网络模型后,对神经网络模型执行编译处理,得到对应的执行文件,该执行文件中包括对神经网络模型进行编译得到的用于在人工智能处理器上执行的二进制指令。二进制指令可以为与神经网络模型中的算子对应的机器指令,可以在人工智能处理器上直接运行,以实现利用人工智能处理器运行神经网络模型的目的。可以保存该执行文件至存储器的相应存储区域,并在欲进行神经网络模型的训练时,从该存储区域获取该执行文件。存储器可以为处理器内的存储器,也可以为处理器以外的存储器。
其中,上述执行文件可以包括神经网络模型的权值的地址,以及所述神经网络模型中各算子的二进制指令和算子之间的连接关系。需要说明的是,上述神经网络模型的权值的地址,以及所述神经网络模型中各算子的二进制指令和算子之间的连接关系可以直接存储于执行文件中,也可以在执行文件中创建权值文件和模型文件,该权值文件中包括所述神经网络模型的权值的地址,所述模型文件中包括所述神经网络模型中各算子的二进制指令和算子之间的连接关系。
在步骤S32中:将所述执行文件输入人工智能处理器,以使所述人工智能处理器根据输入数据和所述执行文件对所述神经网络模型进行训练,得到所述神经网络模型的训练结果。
举例来说,获取该执行文件后,可以将该执行文件输入人工智能处理器中,其中执行文件中包括神经网络模型的权值的地址,以及所述神经网络模型中各算子的二进制指令和算子之间的连接关系,以使得人工智能处理器读入输入数据(该输入数据可以为用于训练神经网络模型的样本数据)后,可以直接根据该执行文件中神经网络模型对应的二进制指令及输入数据进行相应的训练操作,最终得到神经网络模型的训练结果,并进一步的可以根据该训练结果进行调参迭代等操作,以完成神经网络模型的训练。
需要说明的是,由于公开中预先将神经网络模型编译成为执行文件,故通用处理器在执行神经网络模型的运算之前已经获取了该神经网络模型的全图信息,可以从全图的角度优化神经网络模型的计算过程,可以减少整个计算过程中所产生的不必要的计算开销。
在神经网络训练的正向传播过程中,可以根据执行文件中神经网络模型的权值的地址获取对应的权值数据,以进行神经网络模型相应的运算,完成一次正向传播;在神经网络训练的反向传播过程中,可以根据执行文件中神经网络模型的权值的地址,更新该权值地址中所保存的权值数据,以完成一次反向传播。
这样,根据本公开实施例提供的数据处理方法,可以将神经网络模型预先编译为执行文件保存,进而在进行神经网络模型的训练时,直接将该执行文件输入人工智能处理器中,使人工智能处理器根据读入的输入数据及执行文件对神经网络模型进行训练,这样一来,减少了处理器对神经网络模型中各算子的在线编译操作,可以减少训练过程中对CPU资源的占用,降低CPU的功耗。
在一种可能的实现方式中,上述执行文件可以包括权值文件和模型文件,其中,权值文件中包括所述神经网络模型的权值的地址,模型文件中包括所述神经网络模型中各算子的二进制指令和算子之间的连接关系。
举例来说,在对神经网络模型进行编译时,可以在执行文件中分别创建权值文件和模型文件,并可以将神经网络模型中各算子的二进制指令和算子之间的连接关系写入模型文件中,将神经网络模型的权值写入指定位置,并将该指定位置作为权值的地址写入权值文件中,以使得在人工智能处理器训练神经网络模型的过程中,可以根据权值的地址获取神经网络模型的权值进行神经网络模型的训练,并在根据神经网络模型的训练结果更新权值时,直接在指定位置处进行权值的更新即可,神经网络模型对应的执行文件无需作任何更新操作。
在一种可能的实现方式中,上述执行文件中包括所述神经网络模型的权值的地址,以及所述神经网络模型中各算子的二进制指令和算子之间的连接关系。
举例来说,在对神经网络模型进行编译时,可以创建一个执行文件,并可以将神经网络模型中各算子的二进制指令和算子之间的连接关系写入执行文件中,将神经网络模型的权值写入指定位置,并将该指定位置作为权值的地址写入执行文件中,以使得在人工智能处理器训练神经网络模型的过程中,根据权值的地址获取神经网络模型的权值进行神经网络模型的训练,并在根据神经网络模型的训练结果更新权值时,直接在指定位置处进行权值的更新即可,神经网络模型对应的执行文件无需作任何更新操作。
在一种可能的实现方式中,上述方法还可以包括:
对所述神经网络模型进行优化处理,所述优化处理至少包括算子融合、数据复用和去除冗余算子中的至少一种;
将优化后的神经网络模型进行编译,得到所述执行文件。
举例来说,本公开实施例在对神经网络模型进行编译处理之前,可以先基于神经网络模型的全图信息对神经网络模型进行优化处理,例如:进行算子融合、数据复用及去除冗余算子等至少一种优化处理,并对优化处理后的神经网络模型进行编译,得到神经网络模型对应的执行文件,这样一来,可以优化神经网络模型的运算过程,减少部分没必要的运算过程,可以降低人工智能处理器在神经网络模型的训练过程中的运算开销,并降低人工智能处理器的功耗。
在一种可能的实现方式中,上述所述算子融合,可以包括:
从所述神经网络模型对应的算子中确定至少两个待融合算子,其中所述至少两个待融合算子为所述网络模型中具有连接关系的至少两个单算子,且所述至少两个单算子中前一单算子的输出数据为后一单算子的唯一输入数据;
将至少所述两个待融合算子进行融合处理,得到融合算子。
举例来说,可以从神经网络模型的算子中确定至少两个单算子,该至少两个单算子在同一人工智能处理器上执行运算,并且两两之间具有连接关系,并且前一单算子的输出数据为后一单算子的唯一输入数据,则可以将该至少两个单算子确定为待融合算子,并对该至少两个待融合算子进行融合处理,得到融合后的一个融合算子。
例如:可以按照至少两个待融合算子之间的连接关系,对所述至少两个待融合算子进行拼接处理,对拼接处理后得到的一个算子进行处理,得到融合算子,其中融合算子包括两部分,其中一部分为与输入数据有关的运算部分,另一部分为与输入数据无关的运算部分。
示例性的,假设当前确定有三个待融合算子:
算子1:y1=filter*x1+bias,其中,filter代表权值,bias代表偏差值,x1代表算子1的输入数据,y1代表算子1的输出数据;
算子2:y2=(y1–mean)/var,其中,mean代表平均值,var代表方差,y2代表算子2的输出数据;
算子3:y3=y2*a+b,其中,a,b代表两个参数,y3代表算子3的输出数据。
将上述三个待融合算子进行拼接处理(将前一算子作为后一算子的输入数据代入后一算子中)后,得到:
y3=((filter*x1)+bias-mean)/var*a+b;
进一步的将拼接后的算子进行处理后,得到的融合算子可以为:
y3=(a/var*filter)*x1+(bias-mean)/var*a+b;
其中,(a/var*filter)*x1为与输入数据x1有关的运算部分,(bias-mean)/var*a+b为与输入数据x1无关的运算部分。
这样一来,本来串行处理的3个算子进行融合优化处理后,可以并行进行处理,并且,由于融合算子被处理为两部分,该算子的运算过程也得到了简化,故而提高了人工智能处理器的运算速度,降低了人工智能处理器的功耗。
在一种可能的实现方式中,上述数据复用的数据包括权值数据、输入神经元数据、输出神经元数据、偏置、梯度中的至少一项数据。
举例来说,可以从神经网络模型对应的算子中确定第一算子及至少一个第二算子,其中第二算子复用第一算子的数据,则可以将第一算子对应的数据块地址链接至该第二算子中,以使得人工智能处理器在执行第二算子的运算过程中,涉及到复用数据时,可以直接根据该数据块地址获取第一算子相应的数据并执行第二算子相应的运算。
这样一来,人工智能处理器在神经网络模型的训练过程中,在运算过程中可以复用数据,能够减少一些运算,可以提高人工智能处理器的运算速度,降低人工智能处理器的功耗。
举例来说,在进行神经网络模型的优化时,还可以去除冗余算子,例如:神经网络模型中存在一个算子是对输入数据进行随机排序,但实际上用户提供的输入数据理论上来说也可以认为是一种排序后的数据,故该算子可以确定为冗余算子,可以将该算子去除掉,这样一来,人工智能处理器在神经网络模型的训练过程中,能够减少一些运算,可以提高人工智能处理器的运算速度,降低人工智能处理器的功耗。
在一种可能的实现方式中,上述方法还可以包括:
确定针对所述神经网络模型的划分粒度;
根据所述划分粒度将所述神经网络模型划分为多个子图,所述多个子图中的至少一个子图包括两个以上算子;
根据各所述子图对所述神经网络模型进行编译,得到所述执行文件,所述执行文件中包括各所述子图标识,所述子图标识用于指示人工智能处理器完成该子图中所有算子的运算后,返回该子图的运算结果。
举例来说,上述划分粒度可以在神经网络模型的构建过程中确定,也可以在神经网络模型的编译过程中确定,其用于指示将神经网络模型划分为多个子图,包括每个子图包含的算子。计算机系统可以根据划分粒度将神经网络模型的算子划分为多个子图,在划分时计算机系统可以判断同一子图中的多个算子是否在同一人工智能处理器上执行运算,若是,则将该多个算子划分为一个子图,否则,不执行该子图的划分操作。需要说明的是,本公开实施例中的神经网络模型可以为前述执行优化处理后的神经网络模型。
在划分子图后,可以根据子图对神经网络模型进行编译,编译后各子图对应的指令中包括该子图中各算子对应的二进制指令及子图标识,这样可以使得人工处理器可以以子图为单位进行运算处理,依次执行该子图中各算子的运算,并响应于上述子图标识,在完成该子图中所有算子的运算后,返回该子图的运算结果。
在一种可能的实现方式中,上述方法还可以包括:
根据各所述子图对所述神经网络模型进行编译,得到与各所述子图对应的执行文件。
在对神经网络模型进行编译的过程中,可以生成各子图对应的执行文件,各子图对应的执行文件中可以包含该子图中各算子的二进制指令和算子之间的连接关系、及权值的地址,也即神经网络模型的执行文件中包括各子图对应的执行文件。
示例性的,如图4所示,假设神经网络模型包括6个算子,该神经网络模型的划分粒度为:算子1和算子2对应子图1,算子3、算子4、算子5和算子6对应子图2。假设计算机系统确定算子1和算子2均为CPU上执行运算,则将算子1和算子2划分为子图1,算子3、算子4、算子5和算子6均为MLU上执行运算,则将算子3、算子4、算子5和算子6划分为子图2。
这样,人工智能处理器可以执行子图1的运算及子图2的运算,并在执行完子图1的运算后,返回子图1的运算结果,并根据该子图1的运算结果执行子图2的运算,如此一来,由于不必每完成一个算子的运算即返回一个算子的运算结果,因此可以有效减少I/O(Input/Output,输入/输出)开销。
在一种可能的实现方式中,上述子图的运算结果包括:
该子图中最终算子的运算结果,和/或
该子图中各算子的运算结果。
举例来说,人工智能处理器可以每完成一个子图的运算后,返回该子图的运算结果,该运算结果可以包括子图中最终算子的运算结果(例如:上述示例中子图2的运算结果可以包括算子6的运算结果);或者人工智能处理器在执行子图中各算子的运算后,缓存各算子的运算结果,并在完成子图的运算后,返回各算子的运算结果;或者,可以根据需要设置子图的运算结果,例如:设置所有子图均返回最终算子的运算结果,或者设置所有子图均返回子图中各算子的运算结果,或者根据需求设置部分子图返回各算子的运算结果,其他子图返回最终算子的运算结果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
进一步需要说明的是,虽然图X-Y的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图X-Y中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图5示出根据本公开实施例的数据处理装置的框图。如图5所示,该装置可以包括:
获取模块51,可以用于获取执行文件,所述执行文件包括将神经网络模型进行编译后得到的,用于在人工智能处理器上执行的二进制指令;
执行模块52,可以用于将所述执行文件输入人工智能处理器,以使所述人工智能处理器根据输入数据和所述执行文件对所述神经网络模型进行训练,得到所述神经网络模型的训练结果。
这样,根据本公开实施例提供的数据处理装置,可以将神经网络模型预先编译为执行文件保存,进而在进行神经网络模型的训练时,直接将该执行文件输入人工智能处理器中,使人工智能处理器根据读入的输入数据及执行文件对神经网络模型进行训练,这样一来,避免了人工智能处理器对神经网络模型中各算子的在线编译操作,可以减少对CPU资源的占用,降低CPU的功耗。
在一种可能的实现方式中,所述装置还可以包括:
优化模块,用于对所述神经网络模型进行优化处理,所述优化处理至少包括算子融合、数据复用和去除冗余算子中的至少一种;
第一编译模块,用于将优化后的神经网络模型进行编译,得到所述执行文件。
在一种可能的实现方式中,所述优化模块还可以用于:
从所述神经网络模型对应的算子中确定至少两个待融合算子,其中所述至少两个待融合算子为所述网络模型中具有连接关系的至少两个单算子,且所述至少两个单算子中前一单算子的输出数据为后一单算子的唯一输入数据;
将至少所述两个待融合算子进行融合处理,得到融合算子。
在一种可能的实现方式中,用于数据复用的数据包括权值数据、输入神经元数据、输出神经元数据、偏置、梯度中的至少一项数据。
在一种可能的实现方式中,所述装置还包括:
确定模块,用于确定针对所述神经网络模型的划分粒度;
划分模块,用于根据所述划分粒度将所述神经网络模型划分为多个子图,所述多个子图中的至少一个子图包括两个以上算子;
第二编译模块,用于根据各所述子图对所述神经网络模型进行编译,得到所述执行文件,所述执行文件中包括各所述子图标识,所述子图标识用于指示人工智能处理器完成该子图中所有算子的运算后,返回该子图的运算结果。
在一种可能的实现方式中,所述装置还包括:
第三编译模块,用于根据各所述子图对所述神经网络模型进行编译,得到与各所述子图对应的执行文件。
在一种可能的实现方式中,所述子图的运算结果包括:
该子图中最终算子的运算结果,和/或
该子图中各算子的运算结果。
在一种可能的实现方式中,所述执行文件包括权值文件和模型文件,其中,
所述权值文件中包括所述神经网络模型的权值的地址,
所述模型文件中包括所述神经网络模型中各算子的二进制指令和算子之间的连接关系。
在一种可能的实现方式中,所述执行文件中包括所述神经网络模型的权值的地址,以及所述神经网络模型中各算子的二进制指令和算子之间的连接关系。
应该理解,上述的装置实施例仅是示意性的,本公开的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本公开各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述人工智能处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic RandomAccess Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在一种可能的实现方式中,还公开了一种人工智能芯片,其包括了上述数据处理装置。
在一种可能的实现方式中,还公开了一种板卡,其包括存储器件、接口装置和控制器件以及上述人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。
图6示出根据本公开实施例的板卡的结构框图,参阅图6,上述板卡除了包括上述芯片389以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件390、接口装置391和控制器件392;
所述存储器件390与所述人工智能芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述人工智能芯片通过总线连接。可以理解,每一组所述存储单元可以是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超仪和/或心电图仪。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
图7示出根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端。
参照图7,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
图8示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图8,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
依据以下条款可更好地理解前述内容:
条款A1,一种数据处理方法,所述方法包括获取执行文件,所述执行文件包括将神经网络模型进行编译后得到的,用于在人工智能处理器上执行的二进制指令;将所述执行文件输入人工智能处理器,以使所述人工智能处理器根据输入数据和所述执行文件对所述神经网络模型进行训练,得到所述神经网络模型的训练结果。
条款A2,根据条款A1所述的方法,所述方法还包括X1对所述神经网络模型进行优化处理,所述优化处理至少包括算子融合、数据复用和去除冗余算子中的至少一种;将优化后的神经网络模型进行编译,得到所述执行文件。
条款A3,根据条款A2所述的方法,所述算子融合包括从所述神经网络模型对应的算子中确定至少两个待融合算子,其中所述至少两个待融合算子为所述网络模型中具有连接关系的至少两个单算子,且所述至少两个单算子中前一单算子的输出数据为后一单算子的唯一输入数据;将至少所述两个待融合算子进行融合处理,得到融合算子。
条款A4、根据条款A2所述的方法,用于数据复用的数据包括权值数据、输入神经元数据、输出神经元数据、偏置、梯度中的至少一项数据。
条款A5,根据条款A1或A2所述的方法,所述方法还包括:确定针对所述神经网络模型的划分粒度;根据所述划分粒度将所述神经网络模型划分为多个子图,所述多个子图中的至少一个子图包括两个以上算子;根据各所述子图对所述神经网络模型进行编译,得到所述执行文件,所述执行文件中包括各所述子图标识,所述子图标识用于指示人工智能处理器完成该子图中所有算子的运算后,返回该子图的运算结果。
条款A6,根据条款A5所述的方法,所述方法还包括:根据各所述子图对所述神经网络模型进行编译,得到与各所述子图对应的执行文件。
条款A7,根据条款A5或A6所述的方法,所述子图的运算结果包括:该子图中最终算子的运算结果,和/或该子图中各算子的运算结果。
条款A8,根据条款A1或A7所述的方法,所述执行文件包括权值文件和模型文件,其中,所述权值文件中包括所述神经网络模型的权值的地址,所述模型文件中包括所述神经网络模型中各算子的二进制指令和算子之间的连接关系。
条款A9,根据条款A1或A7任一项所述的方法,所述执行文件中包括所述神经网络模型的权值的地址,以及所述神经网络模型中各算子的二进制指令和算子之间的连接关系。
条款A10,一种数据处理装置,所述装置包括:
获取模块,用于获取执行文件,所述执行文件包括将神经网络模型进行编译后得到的,用于在人工智能处理器上执行的二进制指令;
执行模块,用于将所述执行文件输入人工智能处理器,以使所述人工智能处理器根据输入数据和所述执行文件对所述神经网络模型进行训练,得到所述神经网络模型的训练结果。
条款A11,根据条款A10所述的装置,所述装置还包括:
优化模块,用于对所述神经网络模型进行优化处理,所述优化处理至少包括算子融合、数据复用和去除冗余算子中的至少一种;
第一编译模块,用于将优化后的神经网络模型进行编译,得到所述执行文件。
条款A12,根据条款A11所述的装置,所述优化模块还用于:
从所述神经网络模型对应的算子中确定至少两个待融合算子,其中所述至少两个待融合算子为所述网络模型中具有连接关系的至少两个单算子,且所述至少两个单算子中前一单算子的输出数据为后一单算子的唯一输入数据;
将至少所述两个待融合算子进行融合处理,得到融合算子。
条款A13,根据条款A11所述的装置,用于数据复用的数据包括权值数据、输入神经元数据、输出神经元数据、偏置、梯度中的至少一项数据。
条款A14,根据条款A10或A11所述的装置,所述装置还包括:
确定模块,用于确定针对所述神经网络模型的划分粒度;
划分模块,用于根据所述划分粒度将所述神经网络模型划分为多个子图,所述多个子图中的至少一个子图包括两个以上算子;
第二编译模块,用于根据各所述子图对所述神经网络模型进行编译,得到所述执行文件,所述执行文件中包括各所述子图标识,所述子图标识用于指示人工智能处理器完成该子图中所有算子的运算后,返回该子图的运算结果。
条款A15,根据条款A14所述的装置,所述装置还包括:
第三编译模块,用于根据各所述子图对所述神经网络模型进行编译,得到与各所述子图对应的执行文件。
条款A16,根据条款A14或A15所述的装置,所述子图的运算结果包括:
该子图中最终算子的运算结果,和/或
该子图中各算子的运算结果。
条款A17,根据条款A10至A16任一项所述的装置,所述执行文件包括权值文件和模型文件,其中,所述权值文件中包括所述神经网络模型的权值的地址,所述模型文件中包括所述神经网络模型中各算子的二进制指令和算子之间的连接关系。
条款A18,根据条款A10至A16任一项所述的装置,所述执行文件中包括所述神经网络模型的权值的地址,以及所述神经网络模型中各算子的二进制指令和算子之间的连接关系。
条款A19,一种人工智能芯片,所述芯片包括如前述条款A1至A8中任意一项所述的数据处理装置。
条款A20,所述电子设备包括如条款A19所述的人工智能芯片。
条款A21,一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及如条款A19所述的人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。
条款A22,根据条款A21所述的板卡,所述存储器件包括:多组存储单元,每一组所述存储单元与所述人工智能芯片通过总线连接,所述存储单元为:DDR SDRAM;所述芯片包括:DDR控制器,用于对每个所述存储单元的数据传输与数据存储的控制;所述接口装置为:标准PCIE接口。
条款A23,一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行条款A1至A9中任意一项所述的方法。
条款A24,一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现条款A1至A9中任意一项所述的方法。
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本公开的方法及其核心思想。同时,本领域技术人员依据本公开的思想,基于本公开的具体实施方式及应用范围上做出的改变或变形之处,都属于本公开保护的范围。综上所述,本说明书内容不应理解为对本公开的限制。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法包括:
获取执行文件,所述执行文件包括将神经网络模型进行编译后得到的,用于在人工智能处理器上执行的二进制指令;
将所述执行文件输入人工智能处理器,以使所述人工智能处理器根据输入数据和所述执行文件对所述神经网络模型进行训练,得到所述神经网络模型的训练结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述神经网络模型进行优化处理,所述优化处理至少包括算子融合、数据复用和去除冗余算子中的至少一种;
将优化后的神经网络模型进行编译,得到所述执行文件。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
确定针对所述神经网络模型的划分粒度;
根据所述划分粒度将所述神经网络模型划分为多个子图,所述多个子图中的至少一个子图包括两个以上算子;
根据各所述子图对所述神经网络模型进行编译,得到所述执行文件,所述执行文件中包括各所述子图标识,所述子图标识用于指示人工智能处理器完成该子图中所有算子的运算后,返回该子图的运算结果。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述执行文件包括权值文件和模型文件,其中,
所述权值文件中包括所述神经网络模型的权值的地址,
所述模型文件中包括所述神经网络模型中各算子的二进制指令和算子之间的连接关系。
5.一种数据处理装置,其特征在于,包括:
获取模块,用于获取执行文件,所述执行文件包括将神经网络模型进行编译后得到的,用于在人工智能处理器上执行的二进制指令;
执行模块,用于将所述执行文件输入人工智能处理器,以使所述人工智能处理器根据输入数据和所述执行文件对所述神经网络模型进行训练,得到所述神经网络模型的训练结果。
6.一种人工智能芯片,其特征在于,所述芯片包括如权利要求5所述的数据处理装置。
7.一种电子设备,其特征在于,所述电子设备包括如权利要求6所述的人工智能芯片。
8.一种板卡,其特征在于,所述板卡包括:存储器件、接口装置和控制器件以及如权利要求6所述的人工智能芯片;
其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;
所述存储器件,用于存储数据;
所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;
所述控制器件,用于对所述人工智能芯片的状态进行监控。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至4中任意一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至4中任意一项所述的方法。
CN201910786452.XA 2019-07-31 2019-08-23 数据处理方法、装置、计算机设备和存储介质 Pending CN112416352A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910786452.XA CN112416352A (zh) 2019-08-23 2019-08-23 数据处理方法、装置、计算机设备和存储介质
PCT/CN2020/086183 WO2021017546A1 (zh) 2019-07-31 2020-04-22 神经网络量化方法、装置、芯片、电子设备及板卡
PCT/CN2020/110144 WO2021036893A1 (zh) 2019-08-23 2020-08-20 数据处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910786452.XA CN112416352A (zh) 2019-08-23 2019-08-23 数据处理方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN112416352A true CN112416352A (zh) 2021-02-26

Family

ID=74685165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910786452.XA Pending CN112416352A (zh) 2019-07-31 2019-08-23 数据处理方法、装置、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN112416352A (zh)
WO (1) WO2021036893A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339994A (zh) * 2022-03-17 2022-04-12 杭州优智联科技有限公司 一种片内执行机器学习算法的uwb芯片及方法
CN114691577A (zh) * 2022-03-11 2022-07-01 中国人民解放军陆军装甲兵学院 一种装备维修训练装置
CN114936631A (zh) * 2021-04-26 2022-08-23 华为技术有限公司 一种模型处理方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11977475B1 (en) * 2021-08-06 2024-05-07 Marvell Asia Pte Ltd Method and apparatus for compiler and low-level instruction validation of machine learning operations on hardware

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018213499A1 (en) * 2017-05-16 2018-11-22 Google Llc Stop code tolerant image compression neural networks
CN110018831B (zh) * 2019-04-04 2022-11-08 中科寒武纪科技股份有限公司 程序处理方法、装置及计算机可读存储介质
CN110119806A (zh) * 2019-05-23 2019-08-13 北京环境特性研究所 基于fpga实现人工神经网络的方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114936631A (zh) * 2021-04-26 2022-08-23 华为技术有限公司 一种模型处理方法及装置
CN114936631B (zh) * 2021-04-26 2023-06-09 华为技术有限公司 一种模型处理方法及装置
CN114691577A (zh) * 2022-03-11 2022-07-01 中国人民解放军陆军装甲兵学院 一种装备维修训练装置
CN114691577B (zh) * 2022-03-11 2024-03-29 中国人民解放军陆军装甲兵学院 一种装备维修训练装置
CN114339994A (zh) * 2022-03-17 2022-04-12 杭州优智联科技有限公司 一种片内执行机器学习算法的uwb芯片及方法

Also Published As

Publication number Publication date
WO2021036893A1 (zh) 2021-03-04

Similar Documents

Publication Publication Date Title
CN112416352A (zh) 数据处理方法、装置、计算机设备和存储介质
US11287954B2 (en) Electronic device and method for displaying history of executed application thereof
CN111443917B (zh) 神经网络运行优化方法、装置及相关产品
US11449242B2 (en) Shared storage space access method, device and system and storage medium
US20160360332A1 (en) Electronic device and method for controlling input and output by electronic device
CN110851787B (zh) 合并指令处理方法、装置、电子设备和存储介质
WO2021114904A1 (zh) 数据处理方法、装置、计算机设备和存储介质
CN109725943A (zh) 一种程序跳转方法、装置、电子设备及存储介质
CN113033813B (zh) 数据处理方法、装置、计算机设备和存储介质
CN110633105B (zh) 指令序列处理方法、装置、电子设备和存储介质
CN115098262B (zh) 一种多神经网络任务处理方法及装置
US20150205459A1 (en) Method and device for managing folder
CN113297128B (zh) 数据处理方法、装置、计算机设备和存储介质
CN111783969A (zh) 数据处理方法、装置、计算机设备和存储介质
WO2021017546A1 (zh) 神经网络量化方法、装置、芯片、电子设备及板卡
CN110597427A (zh) 应用管理方法、装置、计算机设备以及存储介质
CN113835990A (zh) 检测方法、装置、计算机设备和存储介质
CN113298223B (zh) 数据处理方法、装置、计算机设备和存储介质
US20220179956A1 (en) Iot device and method for detecting and removing malware by use of server resource
CN115658297A (zh) 一种内存分配方法、装置、电子设备及存储介质
WO2021083097A1 (zh) 数据处理方法、装置、计算机设备和存储介质
CN113762518A (zh) 数据处理方法、装置、计算机设备和存储介质
CN113537476A (zh) 运算装置以及相关产品
CN114265960A (zh) 查询条件的解析方法及装置、电子设备
CN112835723A (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