CN111752887A - 人工智能芯片和基于人工智能芯片的数据处理方法 - Google Patents
人工智能芯片和基于人工智能芯片的数据处理方法 Download PDFInfo
- Publication number
- CN111752887A CN111752887A CN202010576743.9A CN202010576743A CN111752887A CN 111752887 A CN111752887 A CN 111752887A CN 202010576743 A CN202010576743 A CN 202010576743A CN 111752887 A CN111752887 A CN 111752887A
- Authority
- CN
- China
- Prior art keywords
- artificial intelligence
- data
- data flow
- module
- computing
- 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
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 147
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 36
- 238000004364 calculation method Methods 0.000 claims description 96
- 238000000034 method Methods 0.000 claims description 17
- 230000000694 effects Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000011176 pooling Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种人工智能芯片和基于人工智能芯片的数据处理方法。该人工智能芯片包括:多个计算模块,每个计算模块用于基于人工智能算法对应的其中一个运算节点对数据进行处理,所述多个计算模块之间按照所述人工智能算法的运算顺序依次连接;其中,数据按照预设的数据流向在所述多个计算模块组成的数据流网络中流动。达到提高人工智能芯片的资源利用率的效果。
Description
技术领域
本发明实施例涉及人工智能技术领域,尤其涉及一种人工智能芯片和基于人工智能芯片的数据处理方法。
背景技术
随着人工智能的迅速发展,市场上出现了许多用于计算人工智能学习模型的人工智能芯片。
目前,常用的人工智能芯片是通过指令集的方式获取数据,并按照人工智能算法的运算规则对数据进行处理。
然而,通过指令集的方式获取数据,需要消耗人工智能芯片的资源来实现,导致人工智能芯片的资源利用率较低。
发明内容
本发明实施例提供一种人工智能芯片和基于人工智能芯片的数据处理方法,以实现提高人工智能芯片的资源利用率的效果。
第一方面,本发明实施例提供了一种人工智能芯片,包括:
多个计算模块,每个计算模块用于基于人工智能算法对应的其中一个运算节点对数据进行处理,所述多个计算模块之间按照所述人工智能算法的运算顺序依次连接;
其中,数据按照预设的数据流向在所述多个计算模块组成的数据流网络中流动。
可选的,还包括数据流坝,所述数据流坝设置在所述多个计算模块中的上一计算模块和下一计算模块之间,用于在所述上一计算模块和下一计算模块的宽带不匹配时,接收所述上一计算模块输出的第一数据,并将所述第一数据按照所述下一计算模块匹配的宽带发送至所述下一计算模块。
可选的,所述上一计算模块和所述下一计算模块相邻或非相邻。
可选的,还包括:
局部数据流存储模块,所述局部数据流存储模块至少与所述多个计算模块中的第一个计算模块和最后一个计算模块连接,用于将所述数据通过第一个计算模块发送至所述数据流网络中处理,和/或接收所述最后一个计算模块输出的处理结果。
可选的,所述数据流坝包括写入端、读取端、满载端和空载端,还包括:
第一与门,与所述写入端连接以表示上行有效端,所述上行有效端用于接收所述上一计算模块发送的第一有效信号;
第二与门,与所述读取端连接以表示下行许可端,所述下行许可端用于接收所述下一计算模块发送的第二有效信号;
第一非门,与所述满载端连接以表示上行许可端,所述第上行许可端用于发送第一许可信号给所述上一计算模块和第一与门;
第二非门,与所述空载端连接以表示下行有效端,所述下行有效端用于发送第二有效信号给所述下一计算模块和第二与门。
可选的,所述数据流网络为局部数据流网络,所述局部数据流网络为多个,多个所述局部数据流网络组成一个全局数据流网络,所述人工智能芯片还包括:
全局数据流存储模块,所述全局数据流存储模块和所述多个局部数据流网络连接,所述全局数据流存储模块用于给所述局部数据流网络传输数据或将上一局部数据流网络输出的第二数据传输至下一局部数据流网络。
可选的,所述全局数据流存储模块为一个,所述多个局部数据流网络分别和一个所述全局数据流存储模块连接。
第二方面,本发明实施例提供了一种基于人工智能芯片的数据处理方法,应用于本发明任一实施例所述的人工智能芯片,所述方法包括:
在开始对待处理的数据进行处理时,确定用于对所述待处理的数据进行处理的目标人工智能模型;
在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和预设的数据流向;
基于匹配了所述数据流网络和所述数据流向的人工智能芯片对所述待处理的数据进行处理。
可选的,所述在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和预设的数据流向,包括:
确定所述目标人工智能模型对应的算法信息;
根据所述算法信息在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和数据流向。
可选的,所述算法信息包括计算内容、输入输出信息和运算顺序,所述根据所述算法信息在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和数据流向,包括:
根据所述计算内容匹配数据流模块,所述数据流模块至少包括计算模块;
根据所述输入输出信息匹配数据流模块的连接关系,组成所述数据流网络;
根据所述运算顺序匹配所述待处理的数据在所述数据流网络的数据流向。
本发明实施例的人工智能芯片,包括多个计算模块,每个计算模块用于基于人工智能算法对应的其中一个运算节点对数据进行处理,所述多个计算模块之间按照所述人工智能算法的运算顺序依次连接;其中,数据按照预设的数据流向在所述多个计算模块组成的数据流网络中流动,解决了通过指令集的方式获取数据,需要消耗人工智能芯片的资源来实现,导致人工智能芯片的资源利用率较低的问题,实现了提高人工智能芯片的资源利用率的效果。
附图说明
图1是本发明实施例一提供的一种人工智能芯片的结构示意图;
图2是本发明实施例一提供的一种用于运算CNN算法的人工智能芯片的结构示意图;
图3是本发明实施例一提供的一种人工智能芯片的局部结构示意图;
图4是本发明实施例一提供的另一种人工智能芯片的结构示意图;
图5是本发明实施例一提供的另一种人工智能芯片的结构示意图;
图6是本发明实施例二提供的一种基于人工智能芯片的数据处理方法的流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子计算机程序等等。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一数据为第二数据,且类似地,可将第二数据称为第一数据。第一数据和第二数据两者都是数据,但其不是同一数据。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
实施例一
图1为本发明实施例一提供的一种人工智能芯片的结构示意图。如图1所示,本发明实施例提供了一种人工智能芯片10,包括多个计算模块110,其中:
每个计算模块110用于基于人工智能算法对应的其中一个运算节点对数据进行处理,所述多个计算模块110之间按照所述人工智能算法的运算顺序依次连接;
其中,数据按照预设的数据流向在所述多个计算模块110组成的数据流网络100中流动。
在本实施例中,人工智能芯片10内的每个计算模块110按照人工智能算法对应运算节点对数据进行处理,并按照人工智能算法的运算顺序依次连接,组成适用于按照人工智能算法对数据进行计算的数据流网络100。具体的,计算模块110包括但不限于运算卷积、池化、激活或全连接等计算功能,可以根据需要配置与人工智能算法的运算节点相适配的计算功能。本实施例的人工智能算法包括但不限于CNN算法和RNN算法等。
以人工智能算法为CNN算法为例,CNN算法包括卷积层的计算、池化层的计算和全连接层的计算,且运算顺序为在卷积层计算,然后在池化层计算,最后在全连接层进行计算,且运算节点可以是在卷积层、池化层或全连接层计算的节点,则多个计算模块110分别执行卷积计算、池化计算和全连接计算,并按照CNN算法的运算顺序首尾连接,则数据按照人工智能算法的运算顺序在多个计算模块110进行流动,从而实现在芯片内利用人工智能算法按照数据流的方式对数据进行处理。可以理解的是,通过数据流的方式让数据在芯片内自行流动,计算模块110不需要进行数据获取的动作,只需要等待数据按照预设的数据流向到达时进行处理即可,减少了指令的开销,提高了芯片的资源利用率。
参考图2,图2是本发明实施例提供的一种用于运算CNN算法的人工智能芯片的结构示意图。通过图2可知,人工智能芯片10包括计算模块A111、计算模块B112和计算模块C113,其中,计算模块A111用于进行卷积计算,计算模块B112用于进行池化计算,计算模块C113用于进行全连接计算。则预设的数据流向依次为计算模块A111、计算模块B112和计算模块C113。可以理解的是,图像数据按照预设的数据流向在计算模块A111、计算模块B112和计算模块C113中流动,图像数据到达计算模块A111时,进行卷积的计算,计算完成后到达计算模块B112,进行池化的计算,最后到达计算模块C113进行全连接的计算,输出最后的计算结果。其中,最后的计算结果可以保存在人工智能芯片10外的片外存储中,此处不作具体限制。
具体的,在一些场景中,上一计算模块114对数据处理完成得到第一数据后需要向发送给上一计算模块115,以供上一计算模块115利用第一数据进行计算。然而,当上一计算模块114和上一计算模块115的宽带不匹配时,例如上一计算模块114的宽带大于上一计算模块115的宽带时,则上一计算模块115接收的数据将会迅速溢出。
参考图3,图3是本发明实施例提供的一种人工智能芯片的局部结构示意图。在本实施例中,人工智能芯片10还包括数据流坝130,所述数据流坝130设置在所述多个计算模块110中的上一计算模块114和上一计算模块115之间,用于在所述上一计算模块114和上一计算模块115的宽带不匹配时,接收所述上一计算模块114输出的第一数据,并将所述第一数据按照所述上一计算模块115匹配的宽带发送至所述下一计算模块112。
具体的,本实施例的上一计算模块114和上一计算模块115仅表示相互之间需要进行数据交互的计算模块110,而并不限于具体的计算模块110,可以根据不同的情况确定。可选的,上一计算模块114和上一计算模块115是相邻或非相邻的,此处不作具体限制。
可以理解的是,通过数据流坝130在上一计算模块114和上一计算模块115的宽带不匹配时,接收所述上一计算模块114输出的第一数据,并将所述第一数据按照所述上一计算模块115匹配的宽带发送至所述上一计算模块115,保证了上一计算模块114和上一计算模块115之间进行数据交互的数据平衡,从而使得数据处理能正常进行,避免时钟周期错乱导致数据丢失。
具体的,为了实现通过数据流坝130作为上一计算模块114和上一计算模块115之间的自动流控制,其基本思想如下:
A)输入数据速率(F_in)=有效输入数据数/单位时间(T_d)
B)输出数据速率(F_out)=有效输出数据数/单位时间(T_d)
C)在整个运行期间,如果F_in==F_out,则
为了完全避免背压:数据流坝130应该能够存储max(F_in)–min(F_out)数据。数据流坝130将上一计算模块114和上一计算模块115的内部状态结合在一起。纯粹由硬件决定是否将数据从上一计算模块114中流出来。因此,该数据流坝130可以理解为调节数据流的屏障。基于算法要求,数据流坝130进一步扩展为支持预定静态流量控制。
可选的,数据流坝130包括写入端、读取端、满载端和空载端,还包括:
第一与门,与所述写入端连接以表示上行有效端,所述上行有效端用于接收所述上一计算模块114发送的第一有效信号;
第二与门,与所述读取端连接以表示下行许可端,所述下行许可端用于接收所述上一计算模块115发送的第二有效信号;
第一非门,与所述满载端连接以表示上行许可端,所述第上行许可端用于发送第一许可信号给所述上一计算模块114和第一与门;
第二非门,与所述空载端连接以表示下行有效端,所述下行有效端用于发送第二有效信号给所述上一计算模块115和第二与门。
具体的,所述上一计算模块114用于接收所述数据流坝130发送的第一许可信号;
所述上一计算模块114提供所述第一有效信号给所述数据流坝130,以将所述待处理数据中的第一数据写入所述数据流坝130,所述上一计算模块114用于按照所述运算节点指向的处理方式对所述第一数据进行处理,得到所述计算结果,其中第一数据为待处理数据中,适用上一计算模块114进行计算的数据;
所述数据流坝130用于接收所述上一计算模块115发送的第二许可信号;
所述数据流坝130提供所述第二有效信号给所述上一计算模块115,以将所述计算结果写入所述上一计算模块115。
本实施例中,上一计算模块114接收到数据流坝130发送的第一许可信号,即表示数据流坝130已准备好接收上一计算模块114中需要写入的数据,在上一计算模块114接收到数据流坝130发送的第一许可信号后,上一计算模块114可以读取计算结果。上一计算模块114给数据流坝130提供第一有效信号,即表示上一计算模块114可以将计算结果写入数据流坝130中,在数据流坝130接收到上一计算模块114发送的第一有效信号后,数据流坝130可以写入计算结果。
上一计算模块114接收到数据流坝130发送的第一许可信号,同时数据流坝130也接收到上一计算模块114发送的第一有效信号时,计算结果便开始从上一计算模块114中写入数据流坝130。其中,当任一信号停止发送时,即数据流坝130停止给上一计算模块114发送第一许可信号或上一计算模块114停止给数据流坝130发送第一有效信号时,该通信的传输将会立即停止。此时,计算结果已经从上一计算模块114中写入数据流坝130内,数据流坝130中存储有计算结果。当数据流坝130接收到上一计算模块115发送的第一许可信号,即表示上一计算模块115已准备好接收数据流坝130中需要写入的数据,在数据流坝130接收到上一计算模块115发送的第二许可信号后,数据流坝130可以读取计算结果。当数据流坝130提供第二有效信号给上一计算模块115,即表示数据流坝130可以将计算结果写入上一计算模块115中,在上一计算模块115接收到数据流坝130发送的第二有效信号后,上一计算模块115可以写入计算结果。
当数据流坝130接收到上一计算模块115发送的第一许可信号,同时上一计算模块115也接收到数据流坝130发送的第二有效信号时,计算结果便开始从数据流坝130中写入上一计算模块115。其中,当任一信号停止发送时,即上一计算模块115停止给数据流坝130发送第二许可信号或数据流坝130停止给上一计算模块115发送第二有效信号时,该通信的传输将会立即停止。由此完成计算结果从上一计算模块114到上一计算模块115的传输。另外需要说明的是,计算结果并非指按顺序的计算结果,该计算结果可以为实际通信中的任意一段数据。
参考图4,图4是本发明实施例提供的另一种人工智能芯片的结构示意图。在一个实施例中,人工智能芯片还包括局部数据流存储模块120。所述局部数据流存储模块120至少与所述多个计算模块110组成的数据流水线中的第一个计算模块110和最后一个计算模块110连接,用于将所述数据通过第一个计算模块110发送至所述数据流网络中处理,和/或接收所述最后一个计算模块110输出的处理结果。
具体的,预设的数据流向通过数据流网络内的路由交换机来控制,局部数据流存储模块120可编程的存储和输出预先定义好序列的数据,这个序列数据通过第一个计算模块110送入数据流网络100中的数据流水线的每个计算模块110中,通过数据流网络中的路由交换机来控制数据的流向。在数据流网络100中计算完成时,通过最后一个计算模块110输出计算结果存储至局部数据流存储模块120中。
参考图5,图5是本发明实施例提供的另一种人工智能芯片的结构示意图。在一个实施例中,数据流网络100为局部数据流网络100,局部数据流网络100为多个,多个所述局部数据流网络100组成一个全局数据流网络,人工智能芯片10还包括:
全局数据流存储模块200,所述全局数据流存储模块200和所述多个局部数据流网络100连接,所述全局数据流存储模块200用于给所述局部数据流网络100传输数据或将上一局部数据流网络100输出的第二数据传输至下一局部数据流网络100。
在本实施例中,具体的,每个数据流网络100执行一个人工智能算法对应的数据处理。
需要说明的是,在人工智能芯片10进行数据处理的过程中,可能是多个人工智能算法并行计算,在一个局部数据流网络100中进行一个独立的计算。则全局数据流存储模块200可以作为给每个局部数据流网络100提供数据的容器,也可以将上一局部数据流网络100输出的第二数据传输至下一局部数据流网络100。在本实施例中,每个局部数据流网络100内部的情况可以参照任一实施例的描述,本实施例不作过多赘述。可选的,全局数据流存储模块200为一个,所述多个局部数据流网络100分别和一个所述全局数据流存储模块200连接。可选的,全局数据流模块200还可以作为人工智能芯片10与片外的连接窗口。
本发明实施例的技术方案,人工智能芯片包括多个计算模块,每个计算模块用于基于人工智能算法对应的其中一个运算节点对数据进行处理,所述多个计算模块之间按照所述人工智能算法的运算顺序依次连接,由于数据按照数据流向在数据流网络中自动流动,避免了指令的开销,达到提高人工智能芯片的资源利用率技术效果。此外,通过在需要进行数据交互且宽带不匹配的两个计算模块之间设置局部数据流存储模块,即使宽带不匹配也能精准传输数据进行计算。
实施例二
图6为本发明实施例二提供的一种基于人工智能芯片的数据处理方法的流程示意图,可适用于在人工智能芯片进行数据处理的场景,该方法可以由本申请任一实施例提供的人工智能芯片来执行。
如图6所示,本发明实施例二提供的基于人工智能芯片的数据处理方法包括:
S510、在开始对待处理的数据进行处理时,确定用于对所述待处理的数据进行处理的目标人工智能模型;
其中,待处理的数据可以是图像数据、语音数据和文本数据等,此处不作具体限制。目标人工智能模型是指用于基于待处理的数据进行处理的人工智能学习模块。具体的,目标人工智能模块与待处理的数据对应的数据类型对应。例如,当待处理的数据为图像数据时,目标人工智能模型为CNN模型;当待处理的数据为文本数据时,目标人工智能模型为RNN模型。
S520、在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和预设的数据流向;
其中,数据流网络是指与目标人工智能模型对应的算法相适配的,用于实现目标人工智能模型完整计算的各个模块的组成。预设的数据流向是指待处理的数据在数据流网络中的流向。具体的,数据流是指能被读取一次或少数几次的点的有序序列,按照预先定义的数据流向,数据流在数据流网络中按照数据流向进行流动,从而被计算模块读取后进行处理。本实施例的人工智能芯片包括但不限于FPGA芯片和CAISA芯片等。
S530、基于匹配了所述数据流网络和所述数据流向的人工智能芯片对所述待处理的数据进行处理。
在本步骤中,在匹配出目标人工智能模型对应的数据流网络和数据流向时,人工智能芯片可以基于数据流网络和预设的数据流向对待处理的数据进行处理。具体的,待处理的数据在数据流网络中按照数据流向进行流动,数据流网络包括用于按照目标人工智能模型对应的算法进行计算的多个计算模块,当数据到达计算模块时,计算模块利用数据进行计算。
在一个可选的实施方式中,在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和预设的数据流向,可以包括:
确定所述目标人工智能模型对应的算法信息;根据所述算法信息在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和数据流向。
其中,算法信息是指与目标人工智能模型对应的算法相关的信息。
可选的,算法信息包括计算内容、输入输出信息和运算顺序,根据所述算法信息在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和数据流向,包括:
根据所述计算内容匹配数据流模块,所述数据流模块至少包括计算模块;根据所述输入输出信息匹配数据流模块的连接关系,组成所述数据流网络;根据所述运算顺序匹配所述待处理的数据在所述数据流网络的数据流向。
其中,计算内容是指按照人工智能算法进行处理涉及到的计算,例如卷积计算、池化计算等。数据流模块至少包括计算模块,当进行数据交互的计算模块之间宽带不匹配时,还包括局部数据流存储模块。输入输出信息是指每个计算模块的输入数据和输出数据的信息,根据输入输出信息可以匹配数据流模块之间的连接关系。再根据人工智能算法的运算顺序可以确定出数据在数据流网络的数据流向。
需要说明的是,数据流网络和所述数据流向可以根据人工智能算法在人工智能芯片内自动映射,使用人员都可以简单易懂的使用本申请实施例的人工智能芯片执行相应处理,具有非常强的易用性。
可以理解的是,通过基于匹配了所述数据流网络和所述数据流向的人工智能芯片对所述待处理的数据进行处理,减少了指令的开销,提高了人工智能芯片的资源利用率。此外,人工智能芯片预先定义了多个计算模块各自对应的计算功能,多个计算模块之间进行混合组成不同的数据流网络以执行不同的人工智能算法,可以根据需要设置以支持多种人工智能算法,实现了数据流人工智能芯片的通用性。
本发明实施例的技术方案,通过在开始对待处理的数据进行处理时,确定用于对所述待处理的数据进行处理的目标人工智能模型;在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和预设的数据流向;基于匹配了所述数据流网络和所述数据流向的人工智能芯片对所述待处理的数据进行处理,达到提高检索文件的效率的技术效果。此外,人工智能芯片预先定义了多个计算模块各自对应的计算功能,多个计算模块之间进行混合组成不同的数据流网络以执行不同的人工智能算法,可以根据需要设置以支持多种人工智能算法,实现了数据流人工智能芯片的通用性。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种人工智能芯片,其特征在于,包括:
多个计算模块,每个计算模块用于基于人工智能算法对应的其中一个运算节点对数据进行处理,所述多个计算模块之间按照所述人工智能算法的运算顺序依次连接;
其中,数据按照预设的数据流向在所述多个计算模块组成的数据流网络中流动。
2.如权利要求1所述的人工智能芯片,其特征在于,还包括数据流坝,所述数据流坝设置在所述多个计算模块中的上一计算模块和下一计算模块之间,用于在所述上一计算模块和下一计算模块的宽带不匹配时,接收所述上一计算模块输出的第一数据,并将所述第一数据按照所述下一计算模块匹配的宽带发送至所述下一计算模块。
3.如权利要求2所述的人工智能芯片,其特征在于,所述上一计算模块和所述下一计算模块相邻或非相邻。
4.如权利要求1所述的人工智能芯片,其特征在于,还包括:
局部数据流存储模块,所述局部数据流存储模块至少与所述多个计算模块中的第一个计算模块和最后一个计算模块连接,用于将所述数据通过第一个计算模块发送至所述数据流网络中处理,和/或接收所述最后一个计算模块输出的处理结果。
5.如权利要求2所述的人工智能芯片,其特征在于,所述数据流坝包括写入端、读取端、满载端和空载端,还包括:
第一与门,与所述写入端连接以表示上行有效端,所述上行有效端用于接收所述上一计算模块发送的第一有效信号;
第二与门,与所述读取端连接以表示下行许可端,所述下行许可端用于接收所述下一计算模块发送的第二有效信号;
第一非门,与所述满载端连接以表示上行许可端,所述第上行许可端用于发送第一许可信号给所述上一计算模块和第一与门;
第二非门,与所述空载端连接以表示下行有效端,所述下行有效端用于发送第二有效信号给所述下一计算模块和第二与门。
6.如权利要求1所述的人工智能芯片,其特征在于,所述数据流网络为局部数据流网络,所述局部数据流网络为多个,多个所述局部数据流网络组成一个全局数据流网络,所述人工智能芯片还包括:
全局数据流存储模块,所述全局数据流存储模块和所述多个局部数据流网络连接,所述全局数据流存储模块用于给所述局部数据流网络传输数据或将上一局部数据流网络输出的第二数据传输至下一局部数据流网络。
7.如权利要求6所述的人工智能芯片,其特征在于,所述全局数据流存储模块为一个,所述多个局部数据流网络分别和一个所述全局数据流存储模块连接。
8.一种基于人工智能芯片的数据处理方法,其特征在于,应用于如权利要求1-7任一项所述的人工智能芯片,所述方法包括:
在开始对待处理的数据进行处理时,确定用于对所述待处理的数据进行处理的目标人工智能模型;
在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和预设的数据流向;
基于匹配了所述数据流网络和所述数据流向的人工智能芯片对所述待处理的数据进行处理。
9.如权利要求8所述的方法,其特征在于,所述在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和预设的数据流向,包括:
确定所述目标人工智能模型对应的算法信息;
根据所述算法信息在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和数据流向。
10.如权利要求9所述的方法,其特征在于,所述算法信息包括计算内容、输入输出信息和运算顺序,所述根据所述算法信息在所述人工智能芯片匹配与所述目标人工智能模型对应的数据流网络和数据流向,包括:
根据所述计算内容匹配数据流模块,所述数据流模块至少包括计算模块;
根据所述输入输出信息匹配数据流模块的连接关系,组成所述数据流网络;
根据所述运算顺序匹配所述待处理的数据在所述数据流网络的数据流向。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010576743.9A CN111752887B (zh) | 2020-06-22 | 2020-06-22 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
US18/011,522 US20230281045A1 (en) | 2020-06-22 | 2021-06-16 | Artificial intelligence chip and data processing method based on artificial intelligence chip |
PCT/CN2021/100362 WO2021259104A1 (zh) | 2020-06-22 | 2021-06-16 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010576743.9A CN111752887B (zh) | 2020-06-22 | 2020-06-22 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111752887A true CN111752887A (zh) | 2020-10-09 |
CN111752887B CN111752887B (zh) | 2024-03-15 |
Family
ID=72676415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010576743.9A Active CN111752887B (zh) | 2020-06-22 | 2020-06-22 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230281045A1 (zh) |
CN (1) | CN111752887B (zh) |
WO (1) | WO2021259104A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021259231A1 (zh) * | 2020-06-22 | 2021-12-30 | 深圳鲲云信息科技有限公司 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
WO2021259104A1 (zh) * | 2020-06-22 | 2021-12-30 | 深圳鲲云信息科技有限公司 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
CN114429051A (zh) * | 2022-04-01 | 2022-05-03 | 深圳鲲云信息科技有限公司 | 数据流芯片的建模方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046704A (zh) * | 2019-04-09 | 2019-07-23 | 深圳鲲云信息科技有限公司 | 基于数据流的深度网络加速方法、装置、设备及存储介质 |
CN111291323A (zh) * | 2020-02-17 | 2020-06-16 | 南京大学 | 一种基于脉动阵列的矩阵乘法处理器及其数据处理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019136762A1 (zh) * | 2018-01-15 | 2019-07-18 | 深圳鲲云信息科技有限公司 | 人工智能处理器、及其所应用的处理方法 |
CN110825514B (zh) * | 2018-08-10 | 2023-05-23 | 昆仑芯(北京)科技有限公司 | 人工智能芯片以及用于人工智能芯片的指令执行方法 |
CN110147251B (zh) * | 2019-01-28 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 用于计算神经网络模型的系统、芯片及计算方法 |
CN110991634B (zh) * | 2019-12-04 | 2022-05-10 | 腾讯科技(深圳)有限公司 | 人工智能加速器、设备、芯片及数据处理方法 |
CN111752887B (zh) * | 2020-06-22 | 2024-03-15 | 深圳鲲云信息科技有限公司 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
-
2020
- 2020-06-22 CN CN202010576743.9A patent/CN111752887B/zh active Active
-
2021
- 2021-06-16 WO PCT/CN2021/100362 patent/WO2021259104A1/zh active Application Filing
- 2021-06-16 US US18/011,522 patent/US20230281045A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046704A (zh) * | 2019-04-09 | 2019-07-23 | 深圳鲲云信息科技有限公司 | 基于数据流的深度网络加速方法、装置、设备及存储介质 |
CN111291323A (zh) * | 2020-02-17 | 2020-06-16 | 南京大学 | 一种基于脉动阵列的矩阵乘法处理器及其数据处理方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021259231A1 (zh) * | 2020-06-22 | 2021-12-30 | 深圳鲲云信息科技有限公司 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
WO2021259104A1 (zh) * | 2020-06-22 | 2021-12-30 | 深圳鲲云信息科技有限公司 | 人工智能芯片和基于人工智能芯片的数据处理方法 |
CN114429051A (zh) * | 2022-04-01 | 2022-05-03 | 深圳鲲云信息科技有限公司 | 数据流芯片的建模方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111752887B (zh) | 2024-03-15 |
US20230281045A1 (en) | 2023-09-07 |
WO2021259104A1 (zh) | 2021-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111752887A (zh) | 人工智能芯片和基于人工智能芯片的数据处理方法 | |
US8856501B2 (en) | Method and system for controlling operation of interconnected devices by circulating host capability without a centralized manager | |
Chen et al. | QoS-aware robotic streaming workflow allocation in cloud robotics systems | |
CN111030835B (zh) | 一种ttfc网络的任务调度模型及消息调度表生成方法 | |
CN111953758A (zh) | 一种边缘网络计算卸载和任务迁移方法及装置 | |
CN111861793B (zh) | 基于云边协同计算架构的配用电业务分配方法及装置 | |
US11570043B2 (en) | Method and apparatus for mapping network slices onto network infrastructures with SLA guarantee | |
CN104901989A (zh) | 一种现场服务提供系统及方法 | |
US10574536B2 (en) | Capacity engineering in distributed computing systems | |
Lotker et al. | Distributed MST for constant diameter graphs | |
US20230251979A1 (en) | Data processing method and apparatus of ai chip and computer device | |
US20230126978A1 (en) | Artificial intelligence chip and artificial intelligence chip-based data processing method | |
US20210326189A1 (en) | Synchronization of processing elements that execute statically scheduled instructions in a machine learning accelerator | |
CN108388943B (zh) | 一种适用于神经网络的池化装置及方法 | |
CN114490458B (zh) | 数据传输方法、芯片、服务器以及存储介质 | |
JP2011023003A (ja) | デジタルデータ処理操作を分散実行するためのデバイスおよび方法 | |
WO2021212045A1 (en) | Synchronization of processing elements and software managed memory hierarchy in a machine learning accelerator | |
CN114365148A (zh) | 神经网络运行系统和方法 | |
Schauer et al. | IoT service based systems building methodology | |
CN110928693A (zh) | 一种计算设备及资源分配方法 | |
US11979295B2 (en) | Reinforcement learning agent training method, modal bandwidth resource scheduling method and apparatus | |
CN109347760A (zh) | 一种数据发送方法及装置 | |
CN115994022B (zh) | 算法服务的调用方法、装置、电子设备和存储介质 | |
CN116737088B (zh) | 一种对象迁移方法、装置、电子设备及存储介质 | |
CN114285784B (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 |