CN112052944A - 一种神经网络计算模块及人工智能处理系统 - Google Patents

一种神经网络计算模块及人工智能处理系统 Download PDF

Info

Publication number
CN112052944A
CN112052944A CN202010813890.3A CN202010813890A CN112052944A CN 112052944 A CN112052944 A CN 112052944A CN 202010813890 A CN202010813890 A CN 202010813890A CN 112052944 A CN112052944 A CN 112052944A
Authority
CN
China
Prior art keywords
module
neural network
computation
computing
chip
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
CN202010813890.3A
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.)
Xiamen Yipu Intelligent Technology Co ltd
Original Assignee
Xiamen Yipu Intelligent 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 Xiamen Yipu Intelligent Technology Co ltd filed Critical Xiamen Yipu Intelligent Technology Co ltd
Priority to CN202010813890.3A priority Critical patent/CN112052944A/zh
Publication of CN112052944A publication Critical patent/CN112052944A/zh
Pending legal-status Critical Current

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (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)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种神经网络计算模块及人工智能处理系统,该神经网络计算模块包括PE网络模块,PE网络模块包括若干PE计算单元,PE计算单元包括片上网络接口,片上网络接口与相邻的PE计算单元的片上网络接口通信连接。本发明采用片上网络与数据流结合的技术,按照纯计算的方式以最高的效率利用计算资源。

Description

一种神经网络计算模块及人工智能处理系统
技术领域
本发明涉及人工智能领域,具体一种神经网络计算模块及人工智能处理系统。
背景技术
随着人工智能技术研究的不断深入,人工智能处理系统被应用到各个领域中,成为了研究热点之一。人工智能处理系统通过神经网络计算模块实现高效的人工智能计算。神经网络算法模型作为人工智能应用的底层模型,对人工智能应用的性能具有至关重要的影响。为了更好地应用人工智能技术,如何实现高性能的神经网络计算模块成为了人工智能处理系统的关键。
发明内容
本发明的目的在于针对现有技术中存在的不足,提出一种神经网络计算模块及人工智能处理系统,采用片上网络与数据流结合的技术,按照纯计算的方式以最高的效率利用计算资源。
为此,本发明采用以下技术方案。
一种神经网络计算模块,包括PE网络模块,所述PE网络模块包括若干PE计算单元,所述PE计算单元包括片上网络接口,所述片上网络接口与相邻的所述PE计算单元的所述片上网络接口通信连接。
优选的,所述PE计算单元还包括本地缓存、PE控制模块和计算通路模块,所述片上网络接口分别与所述本地缓存、所述PE控制模块和所述计算通路模块通信连接,所述计算通路模块分别与所述本地缓存和所述PE控制模块通信连接。
优选的,所述计算通路模块包括若干计算子模块,所述计算子模块为卷积计算子模块、ELTWISE计算子模块、FC计算子模块、Pooling计算子模块、BN/Scale计算子模块、归一化计算子模块中的一种或多种的组合。
优选的,参与计算的所述计算子模块能够进行配置。
优选的,所述神经网络计算模块还包括数据输入模块、片上缓存、数据管理与动态分配模块和数据输出模块,所述数据输入模块、所述片上缓存、所述数据管理与动态分配模块、所述PE网络模块和所述数据输出模块依次通信连接。
优选的,所述神经网络计算模块还包括指令控制模块,所述指令控制模块分别与所述数据输入模块、所述数据管理与动态分配模块和所述数据输出模块通信连接。
优选的,所述神经网络计算模块还包括内存接口,所述内存接口通信连接有内存。
基于同样的发明构思,本发明还提供了一种人工智能处理系统,包括处理器和上述神经网络计算模块,所述处理器与所述神经网络计算模块通信连接。
优选的,所述神经网络计算模块还包括控制接口,所述控制接口分别与所述处理器和所述神经网络计算模块通信连接。
本技术方案的有益之处在于:
1、相邻的PE计算单元通过片上网络接口进行数据交换,从而组成片上的互联网络,片上数据带宽容量高,数据传输效率高;
2、在数据流动过程中,无需任何控制指令与数据流进行交互,按照纯计算的方式以最高的效率利用计算资源;
3、计算通路模块采用一种可配置的流水线结构来实现,根据处理器对神经网络模型的分解,激活对应的计算子模块,适配多种神经网络计算算子类型。
附图说明
图1是神经网络计算模块的硬件结构示意框图;
图2是PE计算单元内部的数据流示意图;
图3是计算通路模块的结构示意图;
图4是人工智能处理系统的硬件结构示意框图。
具体实施方式
为了使本发明的目的、特征和优点更加的清晰,以下结合附图及实施例,对本发明的具体实施方式做出更为详细的说明,在下面的描述中,阐述了很多具体的细节以便于充分的理解本发明,但是本发明能够以很多不同于描述的其他方式来实施。因此,本发明不受以下公开的具体实施的限制。
实施例一
如图1所示,本实施例提供一种神经网络计算模块,包括内存接口,神经网络计算模块通过内存接口与内存通信连接。在本实施例中,内存接口为DDR接口,内存为DDR内存,即神经网络计算模块通过DDR接口与DDR内存通信连接。其中,DDR内存用于存储包括指令、图像、权重、结果及特征等所有数据。神经网络计算模块独立完成从DDR内存的取指和取数操作,再把计算所得结果写回DDR内存。
神经网络计算模块还包括指令控制模块、数据输入模块、片上缓存、数据管理与动态分配模块、数据输出模块和PE网络。
指令控制模块负责从DDR内存中获取指令,并把指令打包成网络配置数据包发送给数据输入模块、数据管理与动态分配模块和数据输出模块。
数据输入模块负责从DDR内存中获取输入特征数据,根据配置信息进行数据流的控制,即获取本次子计算所需的输入特征数据,然后再根据配置信息进行数据的重排,存储在片上缓存中。
数据管理与动态分配模块负责从片上缓存获取计算数据,即重排后的输入特征数据,进行PE网络计算池资源的配置,从而实现神经网络的计算。
如图2所示,PE计算单元是神经网络计算模块的基础计算单元。PE计算单元模拟的是一个由多种不同类型神经元组成的复杂簇结构。PE计算单元的内部包含多个功能模块,以数据流的方式构建一个可处理不同层类型的复杂计算结构。
PE计算单元包括片上网络接口、PE控制模块、本地缓存和计算通路,
其中,相邻的PE计算单元之间通过片上网络接口进行数据交换,从而组成片上的互联网络。
PE控制模块负责接收数据管理与动态分配模块的配置信息,实现PE内部其他模块的配置。
本地缓存存储来自数据管理与动态分配模块分配的计算数据,同时也存储来自计算通路模块的计算结果,该结果未来将会被控制数据包取走,并经过多级的网络交换,流出PE网络,并最终写回DDR内存,该结果作为下个子计算的输入特征数据。
PE计算单元的核心为计算通路模块,采用一种流水线结构来实现,该计算流水线按照具体实现的功能,可被划分为卷积,ELTWISE,FC,Pooling,BN/Scale,归一化等计算子模块。该计算流水线的一个抽象模型的结构示意图如图3所示。
该计算流水线可以根据需要被配置成多种模式,可以仅实现一种功能的计算,如Pooling,也可以实现多种功能计算的结合,如卷积+BN+归一化,具体的配置通过分析神经网络层的计算模型后,激活对应的计算子模块,得到多种神经网络计算算子类型。另外,如果需要增加新的计算,只需按照上述的抽象模型,把新的计算子模块插入到流水线中即可。因此,PE计算单元具有良好的可扩展性。
数据输出模块负责把PE网络计算得到的输出特征数据(中间结果或最终结果)写回DDR内存。
数据流进入神经网络计算模块后,根据配置信息,数据输入模块以及数据管理与动态分配模块将联合调度,确保数据流最终进入到某个PE计算单元中。PE计算单元的内部由一套完整的数据流计算子系统构成,实现神经网络计算相关的所有功能。数据通过片上网络接口流入PE计算单元,流入数据根据具体计算类型的不同,可能会在PE网络内部存留一段时间,但最终,流入PE网络的数据会完成所有计算,得到计算结果,并通过片上网络接口输出给数据输出模块。
本实施例采用数据流体系实现单个PE计算单元内计算数据流的自治处理,采用片上网络技术实现多个PE计算单元的片上互联并实现数据的片内高效传输。
神经网络计算模块可以为人工智能芯片,其中,指令控制模块、数据输入模块、片上缓存、数据管理与动态分配模块、数据输出模块和PE网络为芯片内的模块,也可以将上述模块放大,每个模块以单独的设备存在。
实施例二
如图4所示,本实施例提供一种人工智能处理系统来实现神经网络的高效计算,包括处理器和实施例一中的神经网络计算模块,处理器与神经网络计算模块进行数据(指令、计算数据、控制信息)的交互。
神经网络计算模块还包括控制接口,处理器通过控制接口与神经网络计算模块通信连接。
处理器将指令和计算数据在内的二进制文件写入DDR内存,通过控制接口将控制信息写入神经网络计算模块,神经网络计算模块根据控制信息实现计算任务的控制与分配,启动本实施例的计算任务。
其中,每次计算任务可以分为多个子计算。在本实施例的硬件架构的基础上,神经网络计算任务以神经网络计算层为基本单元被分解成逻辑上的“层”,通过处理器的分析与优化后,一个或几个这样的“逻辑层”被转变成“物理层”,每个“物理层”代表着一个子计算的过程。
神经网络计算模块的每个子计算过程分为初始化和计算两部分。
其中,初始化过程通常仅占计算的很小一部分,消耗的时间几乎可以忽略,通过读取DDR内存中的指令,对PE网络进行配置信息输入,然后数据输入模块、数据管理与动态分配模块和数据输出模块根据配置信息进行功能初始化。当初始化完成后,权重和输入特征数据便按照DDR内存—>数据输入模块—>片上缓存—>PE网络—>数据输出模块—>DDR内存的数据流水线的方式流动。在数据流动过程中,无需任何控制指令与数据流进行交互,按照纯计算的方式以最高的效率利用计算资源。
上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (9)

1.一种神经网络计算模块,其特征在于,包括PE网络模块,所述PE网络模块包括若干PE计算单元,所述PE计算单元包括片上网络接口,所述片上网络接口与相邻的所述PE计算单元的所述片上网络接口通信连接。
2.根据权利要求1所述的神经网络计算模块,其特征在于,所述PE计算单元还包括本地缓存、PE控制模块和计算通路模块,所述片上网络接口分别与所述本地缓存、所述PE控制模块和所述计算通路模块通信连接,所述计算通路模块分别与所述本地缓存和所述PE控制模块通信连接。
3.根据权利要求2所述的神经网络计算模块,其特征在于,所述计算通路模块包括若干计算子模块,所述计算子模块为卷积计算子模块、ELTWISE计算子模块、FC计算子模块、Pooling计算子模块、BN/Scale计算子模块、归一化计算子模块中的一种或多种的组合。
4.根据权利要求3所述的神经网络计算模块,其特征在于,参与计算的所述计算子模块能够进行配置。
5.根据权利要求1所述的神经网络计算模块,其特征在于,还包括数据输入模块、片上缓存、数据管理与动态分配模块和数据输出模块,所述数据输入模块、所述片上缓存、所述数据管理与动态分配模块、所述PE网络模块和所述数据输出模块依次通信连接。
6.根据权利要求5所述的神经网络计算模块,其特征在于,还包括指令控制模块,所述指令控制模块分别与所述数据输入模块、所述数据管理与动态分配模块和所述数据输出模块通信连接。
7.根据权利要求1所述的神经网络计算模块,其特征在于,还包括内存接口,所述内存接口通信连接有内存。
8.一种人工智能处理系统,其特征在于,包括处理器和如权利要求1~7任一项所述的神经网络计算模块,所述处理器与所述神经网络计算模块通信连接。
9.根据权利要求8所述的一种人工智能处理系统,其特征在于,所述神经网络计算模块还包括控制接口,所述控制接口分别与所述处理器和所述神经网络计算模块通信连接。
CN202010813890.3A 2020-08-13 2020-08-13 一种神经网络计算模块及人工智能处理系统 Pending CN112052944A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010813890.3A CN112052944A (zh) 2020-08-13 2020-08-13 一种神经网络计算模块及人工智能处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010813890.3A CN112052944A (zh) 2020-08-13 2020-08-13 一种神经网络计算模块及人工智能处理系统

Publications (1)

Publication Number Publication Date
CN112052944A true CN112052944A (zh) 2020-12-08

Family

ID=73602504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010813890.3A Pending CN112052944A (zh) 2020-08-13 2020-08-13 一种神经网络计算模块及人工智能处理系统

Country Status (1)

Country Link
CN (1) CN112052944A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567278A (zh) * 2011-12-29 2012-07-11 中国科学院计算技术研究所 一种片上多核数据传输方法和装置
US20160203401A1 (en) * 2013-10-04 2016-07-14 Commissariat A L'energie Atomique Et Aux Energies Alternatives Electronic circuit, in particular capable of implementing a neural network, and neural system
CN108153190A (zh) * 2017-12-20 2018-06-12 福建新大陆电脑股份有限公司 一种人工智能微处理器
CN108470009A (zh) * 2018-03-19 2018-08-31 上海兆芯集成电路有限公司 处理电路及其神经网络运算方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567278A (zh) * 2011-12-29 2012-07-11 中国科学院计算技术研究所 一种片上多核数据传输方法和装置
US20160203401A1 (en) * 2013-10-04 2016-07-14 Commissariat A L'energie Atomique Et Aux Energies Alternatives Electronic circuit, in particular capable of implementing a neural network, and neural system
CN108153190A (zh) * 2017-12-20 2018-06-12 福建新大陆电脑股份有限公司 一种人工智能微处理器
CN108470009A (zh) * 2018-03-19 2018-08-31 上海兆芯集成电路有限公司 处理电路及其神经网络运算方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YU-HSIN CHEN ET: "Eyeriss: An Energy-Efficient Reconfigurable Accelerator for Deep Convolutional Neural Networks", HTTPS://IEEEXPLORE.IEEE.ORG/DOCUMENT/7738524, pages 262 - 263 *
陈少杰 等: "《可重构片上网络》", 国防工业出版社, pages: 10 - 11 *

Similar Documents

Publication Publication Date Title
CN109102065B (zh) 一种基于PSoC的卷积神经网络加速器
CN107679620B (zh) 人工神经网络处理装置
CN107704922B (zh) 人工神经网络处理装置
CN111325321B (zh) 基于多神经网络融合的类脑计算系统及指令集的执行方法
CN110036369A (zh) 一种计算方法及相关产品
CN108510064A (zh) 包括多个核心处理模块的人工神经网络的处理系统及方法
CN110222818B (zh) 一种用于卷积神经网络数据存储的多bank行列交织读写方法
CN105843775A (zh) 片上数据划分读写方法、系统及其装置
CN111199275B (zh) 用于神经网络的片上系统
US20220179823A1 (en) Reconfigurable reduced instruction set computer processor architecture with fractured cores
US20210034958A1 (en) Configurable processor for implementing convolution neural networks
US11579921B2 (en) Method and system for performing parallel computations to generate multiple output feature maps
US20190197018A1 (en) Dynamic reconfiguration using data transfer control
CN108491924B (zh) 一种面向人工智能计算的神经网络数据串行流水处理装置
CN111860773B (zh) 处理装置和用于信息处理的方法
CN113238989A (zh) 将数据进行量化的设备、方法及计算机可读存储介质
CN111079908B (zh) 片上网络数据处理方法、存储介质、计算机设备和装置
CN115310037A (zh) 矩阵乘法计算单元、加速单元、计算系统和相关方法
CN113238987A (zh) 量化数据的统计量化器、存储装置、处理装置及板卡
CN113837922A (zh) 计算装置、数据处理方法及相关产品
CN112200310B (zh) 智能处理器、数据处理方法及存储介质
Prabhakar et al. Sambanova sn10 rdu: A 7nm dataflow architecture to accelerate software 2.0
CN112052944A (zh) 一种神经网络计算模块及人工智能处理系统
CN111078624B (zh) 片上网络处理系统和片上网络数据处理方法
CN111078623B (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