WO2017181562A1 - 一种神经网络的处理方法、系统 - Google Patents

一种神经网络的处理方法、系统 Download PDF

Info

Publication number
WO2017181562A1
WO2017181562A1 PCT/CN2016/094189 CN2016094189W WO2017181562A1 WO 2017181562 A1 WO2017181562 A1 WO 2017181562A1 CN 2016094189 W CN2016094189 W CN 2016094189W WO 2017181562 A1 WO2017181562 A1 WO 2017181562A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
core processing
core
neural network
module
Prior art date
Application number
PCT/CN2016/094189
Other languages
English (en)
French (fr)
Inventor
杜子东
郭崎
陈天石
陈云霁
Original Assignee
中国科学院计算技术研究所
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 中国科学院计算技术研究所 filed Critical 中国科学院计算技术研究所
Priority to US16/079,525 priority Critical patent/US11580367B2/en
Publication of WO2017181562A1 publication Critical patent/WO2017181562A1/zh

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/786Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) using a single memory module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Image Analysis (AREA)
  • Complex Calculations (AREA)

Abstract

一种神经网络处理系统(100,200)的处理方法、系统,适用于计算机技术领域,该神经网络的处理系统(100,200)包括由多个核心处理模块(31,203)组成的多核心处理模块(30)、片上存储介质(10,201)、片内地址索引模块(20,202)以及ALU模块(40,204),多核心处理模块(30)用于执行神经网络运算中的向量乘加操作,ALU模块(40,204)用于从所述多核心处理模块(30)或片上存储介质(10,201)获取输入数据执行多核心处理模块无法完成的非线性运算,其中多个核心处理模块(31)共享片上存储介质(10)以及ALU模块(40),或者多个核心处理模块(203)具有独立的片上存储介质(201)以及ALU模块(204)。该方法、系统在神经网络处理系统中引入多核设计,从而提升神经网络处理系统的运算速度,使得神经网络处理系统性能更高,更加高效。

Description

一种神经网络的处理方法、系统 技术领域
本发明涉及计算机技术领域,属于一种神经网络的处理方法、系统。
背景技术
在大数据时代,越来越多的设备需要对于真实世界的实时输入进行越来越复杂的处理,如工业机器人、自动驾驶无人汽车以及移动设备等等。这些任务大多数偏向于机器学习领域,其中大部分运算为向量运算或者矩阵运算,具有极高的并行度。相较于传统通用的GPU/CPU加速方案,硬件ASIC加速器是目前最受欢迎的加速方案,一方面可以提供极高的并行度可以实现极高的性能,另外一方面具有极高的能效性。
常见的神经网络算法中,包括最为流行的多层感知神经网络(Multi-Layer Perceptron,MLP)、卷积神经网络(Convolutional Neural Network,CNN)和深度神经网络(Deep Neural Network,DNN),通常包含多层神经元而每层神经元常常通过特定方式进行组织,如卷积神经网络中按照特征图(Feature Map)进行组织。每个输出特征图的处理常常独立于彼此。
神经网络的绝大部分运算为输入神经元到输出神经元的处理,少量运算为不需要输出神经元参与的运算,如非线性运算。神经网络中每层的运算速度深切的影响了神经网络加速器的性能。神经网络加速器中,提升这些运算的并行度,也即加速器的吞吐量,为提升神经网络加速器的性能的主要手段。现有技术中,执行输入神经元到输出神经元的处理的模块通常为单核设计,难以满足神经网络加速器的性能要求。
综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明公开
针对上述的缺陷,本发明的目的在于提供一种神经网络的处理方法、系统,其在神经网络处理系统中引入多核设计,从而提升神经网络处理系统的运算速 度,使得神经网络处理系统性能更高,更加高效。
为了实现上述目的,本发明提供一种神经网络的处理系统,包括:
至少一片上存储介质、用于存储由神经网络处理系统外部传来的数据或用于存储处理过程中产生的数据;
至少一片内地址索引模块、用于执行运算时根据输入的索引映射至正确的存储地址;
由多个核心处理模块组成的多核心处理模块,用于执行神经网络运算中的向量乘加操作;
至少一ALU模块,用于从所述多核心处理模块或所述片上存储介质获取输入数据执行所述多核心处理模块无法完成的非线性运算,
其中,所述多个核心处理模块共享所述片上存储介质以及ALU模块,或者所述多个核心处理模块具有独立的所述片上存储介质以及ALU模块。
根据本发明的处理系统,所述处理过程中产生的数据包括处理结果或中间结算结果。
根据本发明的处理系统,所述神经网络处理系统进行处理时,将同一输入神经元分别发送至所述多个核心处理模块,将不同的输入权值分配至不同的核心处理模块,所述多个核心处理模块分别将所述输入神经元和输入权值进行向量内积操作后得到不同的输出神经元。
根据本发明的处理系统,所述神经网络处理系统在执行二维或者多维运算时,将输入特征图分别发送至所述多个核心处理模块,所述多个核心处理模块分别处理一层输出特征图。
根据本发明的处理系统,所述神经网络处理系统在执行二维或者多维运算时,将输入特征图分别发送至所述多个核心处理模块,所述多个核心处理模块分别处理同一输出特征图的不同区域。
根据本发明的处理系统,所述多个核心处理模块均分别完成当前输出特征图的处理后,所述多核心处理模块再执行新的输出特征图处理。
根据本发明的处理系统,所述神经网络处理系统在执行一维运算时,将同一输入分别发送至所述多个核心处理模块,所述多个核心处理模块分别处理不同的输出神经元,所述多个核心处理模块均分别完成当前输出神经元的处理后,所述多核心处理模块再执行新的输入的处理。
根据本发明的处理系统,所述多核心处理模块的多个核心处理模块之间为同构设计或异构设计
本发明相应提供一种神经网络的处理方法,所述方法包括:
片内地址索引模块根据输入的索引映射至正确的存储地址;
根据所述存储地址从片上存储介质中获取输入数据;
将所述输入数据发送至多核心处理模块或所述ALU模块;
所述多核心处理模块执行神经网络运算中的向量乘加操作,所述ALU模块根据所述多核心处理模块的处理结果或者从所述从片上存储介质中获取的输入数据执行所述多核心处理模块无法完成的非线性运算;
将处理过程中产生的数据缓存至所述片上存储介质。
根据本发明的处理方法,所述方法还包括:将同一输入神经元分别发送至所述多个核心处理模块,将不同的输入权值分配至不同的核心处理模块,所述多个核心处理模块分别将所述输入神经元和输入权值进行向量内积操作后得到不同的输出神经元。
附图简要说明
图1是本发明神经网络的处理系统的一种实施例的结构框图;
图2是本发明神经网络的处理系统的另一实施例的结构框图;
图3是本发明一种实施例中神经网络划分的示意图;
图4是本发明另一实施例中神经网络划分的示意图;
图5是本发明又一实施例中神经网络划分的示意图;
图6是本发明神经网络的处理方法的流程图。
实现本发明的最佳方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明提供了一种神经网络的处理系统100,包括至少一片上存储介质10、至少一片内地址索引模块20、多核心处理模块30以及至少一ALU(Arithmetic Logic Unit,算数逻辑单元)模块40。多核心处理模块30包 括多个核心处理模块31。其中片内地址索引模块20与片上存储介质10连接,片内地址索引模块20、多核心处理模块30以及ALU模块40分别相互连接。多核心处理模块30用于执行神经网络运算中的向量乘加操作,ALU模块40用于从多核心处理模块30或片上存储介质10获取输入数据执行多核心处理模块30无法完成的非线性运算,在本实施例中,多个核心处理模块31共享片上存储介质10以及ALU模块40。
片上存储介质10,用于存储神经网络处理系统外部传来的数据或用于存储处理过程中产生的数据。该处理过程中产生的数据包括处理过程中产生的处理结果或中间结果。这些结果可能来自加速器的片内核心运算模块,也可能来自其他运算部件,如本发明中ALU模块40。该片上存储介质10可以是静态随机存储器(Static Random Access Memory,SRAM),动态随机存储器(Dynamic Random Access Memory,DRAM),增强动态随机存取存储器(Enhanced Dynamic Random Access Memory,e-DRAM),寄存器堆(Register file,RF)等常见存储介质,也可以是新型的存储器件,如非易失存储器(Non-Volatile Memory,NVM)或者3D存储器件等等。
片内地址索引模块20,用于在执行运算时候根据输入的索引映射至正确的存储地址以将正确的数据送至多核心处理模块30进行处理。从而使得数据和片上存储介质可以正确的交互。这里的地址映射过程包括直接映射,算术变换等。该索引模块可以通过硬件电路(包括但不限于FPGA、CGRA、专用集成电路ASIC、模拟电路和忆阻器等)实现。
多核心处理模块30包括多个核心处理模块31,用于执行神经网络运算中的向量乘加操作。具体的,多核心处理模块30完成神经网络算法中的大部分运算,均为线性运算,即乘加操作。每个核心处理模块31的结构可以多种,例如一维PE(processing element,处理单元)实现方式,二维PE或者多维实现方式。单个核心处理模块31本身不局限于特定实施原则,包括不同的实现方法,如systolic方案,矩阵向量乘加操作符。且多核心处理模块30的多个核心处理模块31之间可以为同构设计或异构设计。该处理模块可以通过硬件电路(包括但不限于FPGA、CGRA、专用集成电路ASIC、模拟电路和忆阻器等)实现。
ALU模块40,用于从多核心处理模块30或片上存储介质获取输入数据执 行核心处理模块无法完成的非线性运算。该模块可以通过硬件电路(包括但不限于FPGA、CGRA、专用集成电路ASIC、模拟电路和忆阻器等)实现。在本发明中,多核心处理模块30、ALU模块40与片上存储介质10的数据通路包括但不局限于H-TREE,或者FAT-TREE等互联技术。
在本发明中,多个核心处理模块31共同复用部分输入以减少带宽需求,所述神经网络的处理系统100进行处理时,将同一输入神经元分别发送至多核心处理模块30的多个核心处理模块31,而将不同的输入权值分配至不同的核心处理模块31,多个核心处理模块31分别将输入神经元和输入权值进行向量内积(乘加和)操作后得到不同的输出神经元。不同的输出神经元对应不同的权值,也即对于处理不同的输出神经元,输入神经元是相同的,权值则不同。在本发明中,权值大部分情况下不可被多个核心复用,然而在某些情况下,如多个核心共同处理同一个特征图时,权值也可以被复用。
本发明针对神经网络处理系统的核心处理部分通过提升片上核心处理模块的数目从而提升神经网络算法中的核心运算部分处理速度,使得加速器获得更高的性能。核心处理指的是神经网络算法中占据大部分处理时间的向量乘加操作。从而本发明能够提升神经网络处理系统的运算速度,使得神经网络处理系统性能更高,更加高效。
图2是本发明一种神经网络的处理系统的另一实施例的结构框图,其与图1中神经网络的处理系统的区别是,图1中神经网络的处理系统是采用松耦合设计,而图2中神经网络的处理系统采用紧耦合设计。在图2中,神经网络的处理系统200包括多个片上存储介质201,多个片内地址索引模块202,多个核心处理模块203以及多个ALU模块204,其中每个核心处理模块203具有单独的输入接口和输入结构,其中ALU模块204也被划分可以存在于每个核心中。
在图1中,多个核心处理模块31只完成特定的核心操作,本身不具有更多的功能,多核处理核心共享片上存储介质10和ALU模块40。与之相比,在图2的紧耦合设计中,每个核心处理模块203具有自己独立的片上存储介质201和ALU模块204。在图1所示的松耦合设计中多个核心可以协同处理,更易实现更高的性能需求,然而每个核缺少灵活性;在如图2所示的紧耦合设计中每个核心具有一定的灵活性,然而由于每个核的独立性也使得多核协同的复 杂度更高,使得控制的复杂度增加。松耦合多适用多核同构的设计,紧耦合则多使用于多核异构的设计。
在本发明中,神经网络可以根据多核处理模式设计进行神经网络的划分,其中包括从输入神经元进行划分,输出神经元划分和权值连接进行划分。神经网络的划分是对于神经网络处理模式的分解,并不是将神经网络划分成为独立的子网,也即划分是算法层面的划分,是软件或者编译器完成的操作,其目的是将处理划分成为可以在多个核心处理的多个部分。
图3是本发明一种实施例中神经网络划分的示意图;图4是本发明另一实施例中神经网络划分的示意图;图5是本发明又一实施例中神经网络划分的示意图。
在神经网络的处理中,卷积层是按照特征图进行组织,也即输入是多个图,输出是多个图。在图3中,对于二维或者多维运算,从输出角度可按照每个核处理一层输出特征图进行神经网络划分。图3中包括输入特征图1、输入特征图2、核心处理模块1、核心处理模块2、输出特征图1、输入特征图2,每个特征图为二维矩阵。在进行处理时,将输入特征图1、2分别发送至核心处理模块1、2,核心处理模块1处理输出特征图1,核心处理模块处理输出特征图2,核心处理模块1和核心处理模块2分别处理一层输出特征图。也即,在进行二维或多维处理时,将输入特征图分别发送至多个核心处理模块,多个核心处理模块分别处理一层输出特征图。多个核心处理模块均分别完成当前输出特征图的处理后,多核心处理模块再执行新的输出特征图处理,也即只有当所有的核完成当前的输出特征图处理后才会进行新的特征图处理。
在实际应用中,输入特征图、核心处理模块、输出处理模块均可以有多个。下面以2个核(核#1、核#2)、4个输出特征图(输出特征图#1、#2、#3、#4)、4个输入特征图(输入特征图#1、#2、#3、#4)为例说明多核心处理模块的处理方式:处理开始后,核#1负责处理输出特征图#1,核#2负责处理输出特征图#2,输入特征图#1被送入核#1和核#2(也即共享输入特征图#1),同时相应的权值也被送入核#1和核#2进行处理;当输入特征图#1处理完成后,输入特征图#2被从片上存储读取,送入核#1和核#2进行处理(同样读取权值);当核#1和核#2完成输出特征图#1和#2的处理后,核#1和核#2则开始处理输出特征图#3和#4,也即重复以上的操作过程。
如图4所示,对于二维或者多维运算,从输出角度也可按照每个核处理一层输出特征图进行神经网络划分。不同的核负责处理同一特征图的不同区域,而输入相应的则被送至每一个核中,权值则根据相应的连接进行读取,这里权值有可能存在复用,如卷积神经网中的卷积层。只有当所有的核完成当前的输出特征图处理后才会进行新的特征图处理。在图4中,输入特征图1、和输入特征图2均送入核心处理模块1和核心处理模块2,核心处理模块1负责处理输出特征图1的区域1和输出特征图2的区域1,核心处理模块2负责处理输出特征图1的区域2和输出特征图2的区域2。从而,在执行二维或者多维运算时,将输入特征图分别发送至多个核心处理模块,多个核心处理模块分别处理同一输出特征图的不同区域,多个核心处理模块均分别完成当前输出特征图的处理后,多核心处理模块再执行新的输出特征图处理。
如图5所示,对于一维运算,从输出角度按照每个核心处理模块处理输出的一部分进行神经网络划分。每个核负责处理不同的神经元,这里的划分方式则可以多种多样,并不局限于图5所示的划分方法。输入被送至每一个核心处理模块中,权值则根据相应的连接进行读取,只有当所有的核心处理模块完成当前的输出特征图处理后才会进行新的特征图处理。也即神经网络处理系统在执行一维运算时,将同一输入分别发送至多个核心处理模块,多个核心处理模块分别处理不同的输出神经元,多个核心处理模块均分别完成当前输出神经元的处理后,再执行新的输入的处理。
神经网络划分包括从输入神经元进行划分,输出神经元划分和权值连接进行划分。本发明按照输出神经元进行划分,输出神经元需要多个甚至全部输入神经元参与处理,而输出神经元的处理多数情况下彼此独立。按照输出神经元划分可以复用输入神经元,降低带宽需求,从而使得加速器更加高效。
图6是本发明一种神经网络的处理方法的流程图,该方法包括:
步骤S601,片内地址索引模块根据输入的索引映射至正确的存储地址;
步骤S602,根据存储地址从片上存储介质中获取输入数据;
步骤S603,将输入数据发送至多核心处理模块或所述ALU模块;
步骤S604,多核心处理模块执行神经网络运算中的向量乘加操作,ALU模块根据多核心处理模块的处理结果或者从片上存储介质中获取的输入数据执行多核心处理模块无法完成的非线性运算;
步骤S605,将处理过程中产生的数据缓存至片上存储介质。
优选的是,所述方法还包括:将同一输入神经元分别发送至多个核心处理模块,将不同的输入权值分配至不同的核心处理模块,多个核心处理模块分别将输入神经元和输入权值进行向量内积操作后得到不同的输出神经元。
综上所述,本发明针对神经网络处理系统的核心处理部分通过提升片上核心处理模块的数目从而提升神经网络算法中的核心运算部分处理速度,使得加速器获得更高的性能。核心处理指的是神经网络算法中占据大部分处理时间的向量乘加操作。从而本发明能够提升神经网络处理系统的运算速度,使得神经网络处理系统性能更高,更加高效。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
工业应用性
本发明针对神经网络处理系统的核心处理部分通过提升片上核心处理模块的数目从而提升神经网络算法中的核心运算部分处理速度,使得加速器获得更高的性能。核心处理指的是神经网络算法中占据大部分处理时间的向量乘加操作。从而本发明能够提升神经网络处理系统的运算速度,使得神经网络处理系统性能更高,更加高效。

Claims (10)

  1. 一种神经网络的处理系统,其特征在于,包括:
    至少一片上存储介质、用于存储由神经网络处理系统外部传来的数据或用于存储处理过程中产生的数据;
    至少一片内地址索引模块、用于执行运算时根据输入的索引映射至正确的存储地址;
    由多个核心处理模块组成的多核心处理模块,用于执行神经网络运算中的向量乘加操作;
    至少一ALU模块,用于从所述多核心处理模块或所述片上存储介质获取输入数据执行所述多核心处理模块无法完成的非线性运算,
    其中,所述多个核心处理模块共享所述片上存储介质以及ALU模块,或者所述多个核心处理模块具有独立的所述片上存储介质以及ALU模块。
  2. 根据权利要求1所述的处理系统,其特征在于,所述处理过程中产生的数据包括处理结果或中间结算结果。
  3. 根据权利要求1所述的处理系统,其特征在于,所述神经网络的处理系统进行处理时,将同一输入神经元分别发送至所述多个核心处理模块,将不同的输入权值分配至不同的核心处理模块,所述多个核心处理模块分别将所述输入神经元和输入权值进行向量内积操作后得到不同的输出神经元。
  4. 根据权利要求3所述的处理系统,其特征在于,所述神经网络的处理系统在执行二维或者多维运算时,将输入特征图分别发送至所述多个核心处理模块,所述多个核心处理模块分别处理一层输出特征图。
  5. 根据权利要求3所述的处理系统,其特征在于,所述神经网络的处理系统在执行二维或者多维运算时,将输入特征图分别发送至所述多个核心处理模块,所述多个核心处理模块分别处理同一输出特征图的不同区域。
  6. 根据权利要求4或5所述的处理系统,其特征在于,所述多个核心处理模块均分别完成当前输出特征图的处理后,所述多核心处理模块再执行新的输出特征图处理。
  7. 根据权利要求3所述的处理系统,其特征在于,所述神经网络的处理 系统在执行一维运算时,将同一输入分别发送至所述多个核心处理模块,所述多个核心处理模块分别处理不同的输出神经元,所述多个核心处理模块均分别完成当前输出神经元的处理后,所述多核心处理模块再执行新的输入的处理。
  8. 根据权利要求1所述的处理系统,其特征在于,所述多核心处理模块的多个核心处理模块之间为同构设计或异构设计。
  9. 一种神经网络的处理方法,其特征在于,所述方法包括:
    片内地址索引模块根据输入的索引映射至正确的存储地址;
    根据所述存储地址从片上存储介质中获取输入数据;
    将所述输入数据发送至多核心处理模块或所述ALU模块;
    所述多核心处理模块执行神经网络运算中的向量乘加操作,所述ALU模块根据所述多核心处理模块的处理结果或者从所述片上存储介质中获取的输入数据执行所述多核心处理模块无法完成的非线性运算;
    将处理过程中产生的数据缓存至所述片上存储介质。
  10. 根据权利要求9所述的处理方法,其特征在于,所述方法还包括:
    将同一输入神经元分别发送至所述多个核心处理模块,将不同的输入权值分配至不同的核心处理模块,所述多个核心处理模块分别将所述输入神经元和输入权值进行向量内积操作后得到不同的输出神经元。
PCT/CN2016/094189 2016-04-18 2016-08-09 一种神经网络的处理方法、系统 WO2017181562A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/079,525 US11580367B2 (en) 2016-04-18 2016-08-09 Method and system for processing neural network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610240416.XA CN105930902B (zh) 2016-04-18 2016-04-18 一种神经网络的处理方法、系统
CN201610240416.X 2016-04-18

Publications (1)

Publication Number Publication Date
WO2017181562A1 true WO2017181562A1 (zh) 2017-10-26

Family

ID=56838374

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/094189 WO2017181562A1 (zh) 2016-04-18 2016-08-09 一种神经网络的处理方法、系统

Country Status (3)

Country Link
US (1) US11580367B2 (zh)
CN (4) CN105930902B (zh)
WO (1) WO2017181562A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542837A (zh) * 2018-11-30 2019-03-29 上海寒武纪信息科技有限公司 运算方法、装置及相关产品

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018058452A1 (zh) * 2016-09-29 2018-04-05 北京中科寒武纪科技有限公司 一种执行人工神经网络运算的装置和方法
JP2018060268A (ja) * 2016-10-03 2018-04-12 株式会社日立製作所 認識装置および学習システム
US10261786B2 (en) 2017-03-09 2019-04-16 Google Llc Vector processing unit
CN107086910B (zh) * 2017-03-24 2018-08-10 中国科学院计算技术研究所 一种针对神经网络处理的权重加解密方法和系统
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11551067B2 (en) 2017-04-06 2023-01-10 Shanghai Cambricon Information Technology Co., Ltd Neural network processor and neural network computation method
WO2018184570A1 (zh) 2017-04-06 2018-10-11 上海寒武纪信息科技有限公司 运算装置和方法
CN108694441B (zh) * 2017-04-07 2022-08-09 上海寒武纪信息科技有限公司 一种网络处理器和网络运算方法
CN108734288B (zh) * 2017-04-21 2021-01-29 上海寒武纪信息科技有限公司 一种运算方法及装置
CN107301456B (zh) * 2017-05-26 2020-05-12 中国人民解放军国防科学技术大学 基于向量处理器的深度神经网络多核加速实现方法
GB2568776B (en) 2017-08-11 2020-10-28 Google Llc Neural network accelerator with parameters resident on chip
JP7065877B2 (ja) 2017-08-31 2022-05-12 カンブリコン テクノロジーズ コーポレーション リミテッド チップ装置および関連製品
WO2019079994A1 (zh) * 2017-10-25 2019-05-02 华为技术有限公司 核心调度方法和终端
CN109034382A (zh) 2017-10-30 2018-12-18 上海寒武纪信息科技有限公司 场景或物体的识别方法及相关产品
WO2019114842A1 (zh) 2017-12-14 2019-06-20 北京中科寒武纪科技有限公司 一种集成电路芯片装置
CN109993292B (zh) * 2017-12-30 2020-08-04 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
CN108764466B (zh) * 2018-03-07 2022-02-11 东南大学 基于现场可编程门阵列的卷积神经网络硬件及其加速方法
CN108509373A (zh) * 2018-03-19 2018-09-07 复旦大学 一种面向SoC软件研发的全系统模拟平台
CN109409510B (zh) * 2018-09-14 2022-12-23 深圳市中科元物芯科技有限公司 神经元电路、芯片、系统及其方法、存储介质
WO2020063940A1 (zh) * 2018-09-29 2020-04-02 上海寒武纪信息科技有限公司 计算装置及相关产品
CN111078624B (zh) * 2018-10-18 2022-03-25 上海寒武纪信息科技有限公司 片上网络处理系统和片上网络数据处理方法
CN110705703B (zh) * 2019-10-16 2022-05-27 北京航空航天大学 基于脉动阵列的稀疏神经网络处理器
KR20210077348A (ko) * 2019-12-17 2021-06-25 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그 동작 방법
CN111339027B (zh) * 2020-02-25 2023-11-28 中国科学院苏州纳米技术与纳米仿生研究所 可重构的人工智能核心与异构多核芯片的自动设计方法
US20210357730A1 (en) * 2020-05-12 2021-11-18 Alibaba Group Holding Limited Multi-size convolutional layer background
CN111695685B (zh) * 2020-05-12 2023-09-26 中国科学院计算技术研究所 一种面向图神经网络应用的片上存储系统及方法
CN111767246B (zh) * 2020-06-09 2024-03-05 上海寒武纪信息科技有限公司 数据处理方法、相关设备及计算机可读介质
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
US20220188492A1 (en) * 2020-12-10 2022-06-16 Memryx Incorporated Chiplet based artificial intelligence accelerators and configuration methods

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024625A1 (ja) * 2003-08-28 2005-03-17 Hitachi Ulsi Systems Co., Ltd. データ処理装置
CN104346622A (zh) * 2013-07-31 2015-02-11 富士通株式会社 卷积神经网络分类器及其分类方法和训练方法
CN105488565A (zh) * 2015-11-17 2016-04-13 中国科学院计算技术研究所 加速深度神经网络算法的加速芯片的运算装置及方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974487A (en) * 1997-07-14 1999-10-26 Advanced Micro Devices, Inc. Data transfer network on a chip utilizing a mesh of rings topology
GB9902115D0 (en) * 1999-02-01 1999-03-24 Axeon Limited Neural networks
US20100158005A1 (en) * 2008-12-23 2010-06-24 Suvhasis Mukhopadhyay System-On-a-Chip and Multi-Chip Systems Supporting Advanced Telecommunication Functions
CN101639901A (zh) * 2009-09-03 2010-02-03 王连明 基于多核技术的前馈神经网络硬件实现方法
US8718978B2 (en) * 2011-02-28 2014-05-06 Apple Inc. Performance logging framework
CN102314614B (zh) * 2011-10-24 2013-06-05 北京大学 一种基于类共享多核学习的图像语义分类方法
US9251116B2 (en) * 2011-11-30 2016-02-02 International Business Machines Corporation Direct interthread communication dataport pack/unpack and load/save
US9143325B2 (en) * 2012-12-14 2015-09-22 Microsoft Technology Licensing, Llc Masking with shared random bits
RU2579958C1 (ru) * 2014-12-25 2016-04-10 Федеральное государственное бюджетное образовательное учреждение высшего образования "Донской государственный технический университет" Искусственный нейрон
CN105095967B (zh) * 2015-07-16 2018-02-16 清华大学 一种多模态神经形态网络核
CN205139973U (zh) * 2015-10-26 2016-04-06 中国人民解放军军械工程学院 基于fpga器件构建的bp神经网络
CN105469143B (zh) * 2015-11-13 2017-12-19 清华大学 基于神经网络动态特征的片上网络资源映射方法
CN107563497B (zh) * 2016-01-20 2021-03-19 中科寒武纪科技股份有限公司 用于稀疏人工神经网络的计算装置和运算方法
US10445099B2 (en) * 2016-04-19 2019-10-15 Xiaolin Wang Reconfigurable microprocessor hardware architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005024625A1 (ja) * 2003-08-28 2005-03-17 Hitachi Ulsi Systems Co., Ltd. データ処理装置
CN104346622A (zh) * 2013-07-31 2015-02-11 富士通株式会社 卷积神经网络分类器及其分类方法和训练方法
CN105488565A (zh) * 2015-11-17 2016-04-13 中国科学院计算技术研究所 加速深度神经网络算法的加速芯片的运算装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHU, XINSHAO ET AL.: "The Design and Implementation of Reconfigurable Multilayer Perctrons Neural Network Based on MPSoC", MICROELECTRONICS & COMPUTER, vol. 31, no. 11, 5 November 2014 (2014-11-05), pages 28 - 31, ISSN: 1000-7180 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542837A (zh) * 2018-11-30 2019-03-29 上海寒武纪信息科技有限公司 运算方法、装置及相关产品

Also Published As

Publication number Publication date
CN105930902A (zh) 2016-09-07
US20190087716A1 (en) 2019-03-21
CN108416437A (zh) 2018-08-17
CN108510064B (zh) 2021-12-10
CN105930902B (zh) 2018-08-10
CN108510064A (zh) 2018-09-07
CN108416437B (zh) 2021-08-03
CN108416436B (zh) 2021-06-01
CN108416436A (zh) 2018-08-17
US11580367B2 (en) 2023-02-14

Similar Documents

Publication Publication Date Title
WO2017181562A1 (zh) 一种神经网络的处理方法、系统
US20190026626A1 (en) Neural network accelerator and operation method thereof
US20230325348A1 (en) Performing concurrent operations in a processing element
US20200234124A1 (en) Winograd transform convolution operations for neural networks
US10943167B1 (en) Restructuring a multi-dimensional array
TWI818944B (zh) 神經網路處理單元及系統晶片
Jo et al. DSIP: A scalable inference accelerator for convolutional neural networks
WO2018108126A1 (zh) 神经网络卷积运算装置及方法
JP2020526830A (ja) 演算アクセラレータ
TWI634489B (zh) 多層人造神經網路
CN111105023B (zh) 数据流重构方法及可重构数据流处理器
US10747292B2 (en) Dynamic voltage frequency scaling device and method
Knapheide et al. A high throughput MobileNetV2 FPGA implementation based on a flexible architecture for depthwise separable convolution
JP2021518591A (ja) 機械知覚および高密度アルゴリズム集積回路を実装するためのシステムおよび方法
WO2019215907A1 (ja) 演算処理装置
WO2023045446A1 (zh) 计算装置、数据处理方法及相关产品
US20190050370A1 (en) Hardware accelerator for online estimation
Zhang et al. A real-time and hardware-efficient processor for skeleton-based action recognition with lightweight convolutional neural network
Liu et al. Resource and data optimization for hardware implementation of deep neural networks targeting FPGA-based edge devices
Ali et al. Hardware accelerators and accelerators for machine learning
CN109670578A (zh) 神经网络首层卷积层数据处理方法、装置及计算机设备
WO2021031351A1 (zh) 一种数据处理系统、方法及介质
Wu et al. High Efficient Bandwidth Utilization Hardware Design and Implement for AI Deep Learning Accelerator
Nuno-Maganda et al. A hardware coprocessor integrated with OpenCV for edge detection using cellular neural networks
TWI753728B (zh) 運算單元架構、運算單元叢集及卷積運算的執行方法

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16899149

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16899149

Country of ref document: EP

Kind code of ref document: A1