CN116451756A - 内存高利用率的神经网络协处理器 - Google Patents
内存高利用率的神经网络协处理器 Download PDFInfo
- Publication number
- CN116451756A CN116451756A CN202310714416.9A CN202310714416A CN116451756A CN 116451756 A CN116451756 A CN 116451756A CN 202310714416 A CN202310714416 A CN 202310714416A CN 116451756 A CN116451756 A CN 116451756A
- Authority
- CN
- China
- Prior art keywords
- memory
- neural network
- coprocessor
- data
- network coprocessor
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 276
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 82
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims abstract description 27
- 238000003062 neural network model Methods 0.000 claims description 28
- 238000012549 training Methods 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 16
- 238000009825 accumulation Methods 0.000 claims description 10
- 230000002776 aggregation Effects 0.000 claims description 9
- 238000004220 aggregation Methods 0.000 claims description 9
- 238000000926 separation method Methods 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 claims description 3
- 238000004088 simulation Methods 0.000 claims description 3
- 238000010438 heat treatment Methods 0.000 abstract description 5
- 230000000903 blocking effect Effects 0.000 abstract description 3
- 238000013461 design Methods 0.000 description 9
- 239000002699 waste material Substances 0.000 description 6
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 3
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Neurology (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及处理器技术领域,提供一种内存高利用率的神经网络协处理器,包括分别接入数据总线的FM内存以及计算阵列;其中,所述计算阵列包括多个计算簇,每个所述计算簇包括多个处理单元;每个所述计算簇均配置有预设单位的高速内存,且所述多个处理单元共用所述预设单位的高速内存;所述预设单位的高速内存用于将神经网络推理中需要的计算并行化,以及对使用的权重进行数据并行化;所述FM内存用于提供输入数据以及输出数据的存储。FM内存以及计算阵列的分块设计,使得可以大幅减少与外部内存数据的搬运,降低功耗和发热,并减少了计算阵列的闲置时间,提高了计算阵列的内存利用率。
Description
技术领域
本发明涉及处理器技术领域,特别涉及一种内存高利用率的神经网络协处理器。
背景技术
随着人工智能的快速发展带动了NPU芯片的快速发展,其中NPU芯片是专业进行深度学习的神经网络协处理器,作为辅助CPU的一种方式加速神经网络的推理过程。
市面上常见的移动端低精度INT8 NPU芯片大多使用DDR内存作为主要的储存方式。这种方式的NPU芯片设计简单,且NPU的面积很小,节约大量的硬件成本。但是,由于神经网络的推理特性,需要频繁加载和写入数据;同时,使用外部DDR内存需要严重依赖DDR内存的频率、数据总线、通道宽度、与大量数据搬运相关的其他硬件指标。且频繁在芯片内存与外部内存之间搬运数据会极大增加功耗和发热,增加计算阵列的idle时间(闲置时间),降低计算效率。
少数NPU处理器拥有内部SRAM(静态随机存取存储器)高速内存,但是由于使用SRAM高速内存和芯片阵列设计的原因,内存需求大。这种情况下,要么设计足够大的内存容量,但会造成芯片面积较大,成本较高;要么内存相对较小,在遇到内部内存不够用的情况下,仍要频繁使用外部DDR内存进行储存。
发明内容
本发明的主要目的为提供一种内存高利用率的神经网络协处理器,旨在克服频繁在芯片内存与外部内存之间搬运数据时增加功耗和发热的缺陷,以及克服内存利用率低的缺陷。
为实现上述目的,本发明提供了一种内存高利用率的神经网络协处理器,包括分别接入数据总线的FM内存以及计算阵列;
所述计算阵列包括多个计算簇,每个所述计算簇包括多个处理单元;每个所述计算簇均配置有预设单位的高速内存,且所述多个处理单元共用所述预设单位的高速内存;所述预设单位的高速内存用于将神经网络推理中需要的计算并行化,以及对使用的权重进行数据并行化;
所述FM内存用于提供输入数据以及输出数据的存储。
进一步地,每个所述计算簇中包括四个处理单元;每个所述计算簇均配置有100单位的高速内存。
进一步地,所述高速内存为mRAM内存,所述FM内存为mRAM内存。
进一步地,每个所述计算簇还包括累加计算电路;所述累加计算电路用于对每个计算簇中的多个处理单元进行累加计算。
进一步地,所述FM内存包括一个分隔寄存器;
其中,分隔寄存器用于保存一个内存地址,且内存地址将FM内存划分为逻辑上的第一内存块和第二内存块;第一内存块的起始地址永远为0x0,而第二内存块的地址为分隔寄存器中保存的内存地址;
输入数据存储在所述第一内存块的内存中,所述输入数据经过当前卷积层的运算之后的输出数据存储在第二内存块的内存中;
第二内存块中存储的输出数据用于作为下一卷积层运算的输入数据,并经过下一卷积层运算之后得到的输出数据存储在第一内存块的内存中。
进一步地,所述每个所述计算簇配置的高速内存的单位为神经网络协处理器支持的运算精度与单字节的比值。
进一步地,若所述神经网络协处理器支持的运算精度为INT8,则每个单位为一个字节;若所述神经网络协处理器支持的运算精度为INT16或FP16,则每个单位为两个字节;若所述神经网络协处理器支持的运算精度为FP32,则每个单位为四个字节。
进一步地,所述神经网络协处理器的FM内存的内存大小的确定方式包括:
获取多个不同应用场景下所采用的深度网络模型,并获取各个应用场景下采用的深度网络模型所使用的FM内存使用信息;
根据各个所述FM内存使用信息,得到平均FM内存;
预先将所述神经网络协处理器的FM内存的内存大小设为所述平均FM内存,模拟神经网络推理运算过程,统计所述神经网络协处理器的FM内存存储有数据的层数;
采用二分法逐步调节FM内存的内存大小,并重复模拟神经网络推理运算过程,当统计到所述神经网络协处理器的FM内存存储有数据的层数占所述FM内存的总层数的占比达到预设的目标百分比时,将对应调节到的FM内存的内存大小作为所述神经网络协处理器的FM内存的内存大小。
进一步地,所述计算簇配置的高速内存支持scale操作和/或bias操作;
所述高速内存支持的最大卷积尺寸为10*10。
进一步地,还包括多个逻辑电路;
所述逻辑电路包括激活函数电路、查表电路、乘加计算电路、饱和处理电路、移位处理电路中的一种或者多种
进一步地,所述内存高利用率的神经网络协处理器应用于神经网路模型的训练过程包括:
在外部存储设备中设置多个子文件夹;其中,每个子文件夹中均存储有一个相同的神经网络模型,且每个子文件夹中存储有训练所述神经网络模型的训练样本;每个子文件夹中的训练样本不同;
所述内存高利用率的神经网络协处理器基于各个所述子文件夹中的训练样本分别同步训练对应的神经网络模型,直至训练样本全部训练完成之后,训练得到各个神经网络模型的子模型参数;
所述内存高利用率的神经网络协处理器获取各个所述子模型参数,并对各个所述子模型参数进行聚合计算,得到聚合模型参数,并将所述聚合模型参数分别更新至各个子文件夹的神经网络模型中,得到更新的神经网络模型;基于各个子文件夹中对应的训练样本,再次训练所述更新的神经网络模型,得到最终的神经网络模型。
本发明提供的内存高利用率的神经网络协处理器,包括分别接入数据总线的FM内存以及计算阵列;其中,所述计算阵列包括多个计算簇,每个所述计算簇包括多个处理单元;每个所述计算簇均配置有预设单位的高速内存,且所述多个处理单元共用所述预设单位的高速内存;所述预设单位的高速内存用于将神经网络推理中需要的计算并行化,以及对使用的权重进行数据并行化;所述FM内存用于提供输入数据以及输出数据的存储。FM内存以及计算阵列的分块设计,使得可以大幅减少与外部内存数据的搬运,降低功耗和发热,并减少了计算阵列的闲置时间,提高了计算阵列的内存利用率。同时,内部内存和FM内存的分开设计则可以减少内存浪费的情况。
附图说明
图1是本发明一实施例中内存高利用率的神经网络协处理器的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,本发明一实施例中提供了一种内存高利用率的神经网络协处理器,包括分别接入数据总线的FM内存(快闪存储)以及计算阵列;
所述计算阵列包括多个计算簇,每个所述计算簇包括多个处理单元;每个所述计算簇均配置有预设单位的高速内存,且所述多个处理单元共用所述预设单位的高速内存;所述预设单位的高速内存用于将神经网络推理中需要的计算并行化,以及对使用的权重进行数据并行化;
所述FM内存用于提供输入数据以及输出数据的存储。
在本实施例中,上述神经网络协处理器即为NPU处理器,其是作为辅助CPU的一种方式用于加速神经网络的推理过程。
在本实施例中,上述计算阵列由多个计算簇组成,每个计算簇包含多个(例如四个)处理单元(processing element,PE)和一个累加计算电路并配备预设单位(例如100)的内部高速内存。这样做可实现高效的推理计算:可以将神经网络推理中需要的计算并行化,以及对使用的权重(weight ,WT)进行数据并行化,同时独立设计的FM内存实现FM数据并行化。上述给数据并行化和计算并行化可以大幅提高神经网络协处理器的计算效率,更好的支持权重大的算子,比如大内核的卷积运算。
在本实施例中,通过将多个处理单元组合为一个计算簇,且给每个计算簇分配预设单位字节的内存,以及设计内部FM内存以供输入数据和输出数据的存储,实现计算簇内部内存和FM内存的分开设计,综合以上设计可以实现大幅降低权重的内存需求。可以大幅减少与外部内存数据的搬运,从而降低功耗和发热,并减少了计算阵列的闲置时间,提高了计算阵列的内存利用率。而计算簇内部内存和FM内部内存的分开设计,则可以减少内存浪费的情况。
在一实施例中,每个所述计算簇中包括四个处理单元;每个所述计算簇均配置有100单位的高速内存。
在本实施例中,每个计算簇中的四个处理单元共用100单位的高速内存,使得计算簇中计算的权重数据并行化,使得硬件利用效率提高。上述高速内存可以高效支持常见的卷积尺寸,例如:1*1, 3*3,5*5,7*7,其中,上述高速内存支持的最大卷积尺寸为10*10。
在本实施例中,每个计算簇有100个单位的高速内存,这是因为100个单位可以应对所有常见的卷积大小,并且这个设计可以使得推理常见的卷积算子时的内存利用率和硬件利用率达到99%以上。例如:
卷积尺寸为1*1时,可以同时计算100个通道,即100*1*1;
卷积尺寸为3*3时,可以同时计算11个通道,即11*3*3;
卷积尺寸为5*5时,可以同时计算4个通道, 即4*5*5。
在本实施例中,上述计算簇配置的高速内存支持scale操作和/或bias操作,即可同时支持scale和bias操作,也可以支持单独的scale,单独的bias操作。
在一实施例中,所述高速内存为mRAM内存,所述FM内存为mRAM内存。
在本实施例中,mRAM(磁性随机存储器)具有接近sRAM(静态随机存储器)的高速访问速度和DDR内存的大容量的特性。使用mRAM内存作为内部计算簇的高速内存以及RM内存的内存介质,可以在保持面积不变的情况下,大幅增加内部内存的容量。进而,在增大了内部内存容量的基础上,可以大幅降低与外部内存的数据交换频率,降低功耗;从而大幅提高计算效率,减少计算阵列的闲置时间。
在本实施例中,计算阵列中内部内存(权重内存)和FM内存的分离设计方式,可以完成权重数据的并行存储,且可以分开存储,可以避免权重数据和闪存数据之间的影响。和现有的的神经网络协处理器相比,本实施例中的权重内存和FM内存分开设计的方式可以大幅降低内存浪费的情况。
在一实施例中,每个所述计算簇还包括累加计算电路;所述累加计算电路用于对每个计算簇中的多个处理单元进行累加计算。
在一实施例中,所述FM内存包括一个分隔寄存器。其中,分隔寄存器用于保存一个内存地址,且该内存地址将FM内存划分为逻辑上的第一内存块和第二内存块。第一内存块的起始地址永远为0x0,而第二内存块的地址为分隔寄存器中保存的内存地址。
具体地,输入数据存储在所述第一内存块的内存中,所述输入数据经过当前卷积层的运算之后的输出数据存储在第二内存块的内存中;
第二内存块中存储的输出数据用于作为下一卷积层运算的输入数据,并经过下一卷积层运算之后得到的输出数据存储在第一内存块的内存中。
在本实施例中,上述FM内存保存数据时分隔寄存器采用两端储存原则。即:FM数据尽可能地储存在内存的两端,这样做可以最大化内存利用,避免内存浪费。举例而言:如果当前输入数据(即输入FM数据)储存在第一内存块的最前端(最左边),那么输出数据(即输出FM数据)则储存在第二内存块的最末端(最右边),即,输出数据的最后一个字节刚好存储在整个FM内存的最右边的一个字节空间上。进一步地,上述FM内存应用在神经网络模型的卷积运算过程中时,下一卷积层的输入为当前卷积层的输出,那么输入和输出的位置会在卷积层之间相互切换。举例而言,当前卷积层的输入数据在最左边,那么其输出数据一定在最右边。而下一卷积层的运算时,前面卷积层的输出数据,就是当前卷积层的输入数据,即在FM内存的最右边,而下一卷积层输出的内存位置从FM内存的最左边开始。如此循环,形成一个两端相互来回存储的回合机制。
在一实施例中,上述神经网络协处理器还包括多个逻辑电路;
所述逻辑电路包括激活函数电路、查表电路、乘加计算电路、饱和处理电路、移位处理电路中的一种或者多种。
在一实施例中,所述每个所述计算簇配置的高速内存的单位为神经网络协处理器支持的运算精度与单字节的比值。
在一实施例中,若所述神经网络协处理器支持的运算精度为INT8,则每个单位为一个字节;若所述神经网络协处理器支持的运算精度为INT16或FP16,则每个单位为两个字节;若所述神经网络协处理器支持的运算精度为FP32,则每个单位为四个字节。
在一实施例中,内部FM内存的内存大小可以通过算法统计出一个数字,使得神经网络协处理器可以适合使用场景下的深度学习模型,并高效利用内存空间,同时避免过大的内存空间导致内存浪费,过小的内存空间导致频繁与外部内存的数据搬运。具体地,FM内存的内存大小,可以根据神经网络协处理器的使用场景和使用的深度网络的大小而定,例如如果应用于服务器端那么FM内存的内存可以相对较大,这样可以最大程度的减少数据在内部内存和外部内存的数据搬运。若是应用在移动设备端,则可以将FM内存的内部内存设计为一个合适的中间大小。而如果是应用于轻量化的设备,使用的神经网络往往都相对轻量,内存需要也很小,则可以将FM内存的内部内存设计为较小。
在一实施例中,所述神经网络协处理器的FM内存的内存大小的确定方式包括:
获取多个不同应用场景下所采用的深度网络模型,并获取各个应用场景下采用的深度网络模型所使用的FM内存使用信息;
根据各个所述FM内存使用信息,得到平均FM内存;
预先将所述神经网络协处理器的FM内存的内存大小设为所述平均FM内存,模拟神经网络推理运算过程,统计所述神经网络协处理器的FM内存存储有数据的层数;
采用二分法逐步调节FM内存的内存大小,并重复模拟神经网络推理运算过程,当统计到所述神经网络协处理器的FM内存存储有数据的层数占所述FM内存的总层数的占比达到预设的目标百分比时,将对应调节到的FM内存的内存大小作为所述神经网络协处理器的FM内存的内存大小。
在本实施例中,根据实际使用场景中的深度学习网路统计出上述神经网络协处理器的FM内存的内存大小,不仅可以在充分利用内部内存,还可以尽可能使得内部的FM内存足够数据存储,尽量避免和外部内存的数据交换时影响处理效率。
在一实施例中,上述内存高利用率的神经网络协处理器应用于神经网路模型的训练过程包括:
在外部存储设备中设置多个子文件夹;其中,每个子文件夹中均存储有一个相同的神经网络模型,且每个子文件夹中存储有训练所述神经网络模型的训练样本;每个子文件夹中的训练样本不同;
上述内存高利用率的神经网络协处理器基于各个上述子文件夹中的训练样本分别同步训练对应的神经网络模型,直至训练样本全部训练完成之后,训练得到各个神经网络模型的子模型参数;
上述内存高利用率的神经网络协处理器获取各个所述子模型参数,并对各个所述子模型参数进行聚合计算,得到聚合模型参数,并将所述聚合模型参数分别更新至各个子文件夹的神经网络模型中,得到更新的神经网络模型;基于各个子文件夹中对应的训练样本,再次训练所述更新的神经网络模型,得到最终的神经网络模型。在再次训练的过程中,各个子文件夹中的训练样本可以随机进行一次或者多次交换。
在一实施例中,所述神经网络协处理器还用于传输数据至用户端中,具体包括:
获取用户端的标识信息,按照预设方式对所述标识信息进行特征提取,得到多个特征字符,将特征字符进行组合得到特征字符组合;
对所述特征字符组合进行编码,得到对应的编码值;
基于所述编码值对待传输数据进行加密,得到加密数据;
随机生成多个混淆数据,将所述加密数据与所述混淆数据随机进行排序,得到数据序列,获取所述加密数据在所述数据序列中的序号;
将所述数据序列中的数据依序分别添加至信号载体中;其中,一个数据添加在一个信号载体中;
依序通过所述信号载体发送所述数据序列中的每个数据至数据库,并在所述数据序列中的数据发送完毕之后,发送N个特定的激励信号;其中,所述N等于所述加密数据在所述数据序列中的序号对应的数值。
综上所述,为本发明实施例中提供的内存高利用率的神经网络协处理器,包括分别接入数据总线的FM内存以及计算阵列;其中,所述计算阵列包括多个计算簇,每个所述计算簇包括多个处理单元;每个所述计算簇均配置有预设单位的高速内存,且所述多个处理单元共用所述预设单位的高速内存;所述预设单位的高速内存用于将神经网络推理中需要的计算并行化,以及对使用的权重进行数据并行化;所述FM内存用于提供输入数据以及输出数据的存储。FM内存以及计算阵列的分块设计,使得可以大幅减少与外部内存数据的搬运,降低功耗和发热,并减少了计算阵列的闲置时间,提高了计算阵列的内存利用率。同时,内部内存和FM内存的分开设计则可以减少内存浪费的情况。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种内存高利用率的神经网络协处理器,其特征在于,包括分别接入数据总线的FM内存以及计算阵列;
所述计算阵列包括多个计算簇,每个所述计算簇包括多个处理单元;每个所述计算簇均配置有预设单位的高速内存,且所述多个处理单元共用所述预设单位的高速内存;所述预设单位的高速内存用于将神经网络推理中需要的计算并行化,以及对使用的权重进行数据并行化;
所述FM内存用于提供输入数据以及输出数据的存储;
其中,所述神经网络协处理器的FM内存的内存大小的确定方式包括:
获取多个不同应用场景下所采用的深度网络模型,并获取各个应用场景下采用的深度网络模型所使用的FM内存使用信息;
根据各个所述FM内存使用信息,得到平均FM内存;
预先将所述神经网络协处理器的FM内存的内存大小设为所述平均FM内存,模拟神经网络推理运算过程,统计所述神经网络协处理器的FM内存存储有数据的层数;
采用二分法逐步调节FM内存的内存大小,并重复模拟神经网络推理运算过程,当统计到所述神经网络协处理器的FM内存存储有数据的层数占所述FM内存的总层数的占比达到预设的目标百分比时,将对应调节到的FM内存的内存大小作为所述神经网络协处理器的FM内存的内存大小。
2.根据权利要求1所述的内存高利用率的神经网络协处理器,其特征在于,每个所述计算簇中包括四个处理单元;每个所述计算簇均配置有100单位的高速内存。
3.根据权利要求1所述的内存高利用率的神经网络协处理器,其特征在于,所述高速内存为mRAM内存,所述FM内存为mRAM内存。
4.根据权利要求1所述的内存高利用率的神经网络协处理器,其特征在于,每个所述计算簇还包括累加计算电路;所述累加计算电路用于对每个计算簇中的多个处理单元进行累加计算。
5.根据权利要求1所述的内存高利用率的神经网络协处理器,其特征在于,所述FM内存包括一个分隔寄存器;
其中,分隔寄存器用于保存一个内存地址,且所述内存地址将FM内存划分为逻辑上的第一内存块和第二内存块;第一内存块的起始地址永远为0x0,而第二内存块的地址为分隔寄存器中保存的内存地址;
输入数据存储在所述第一内存块的内存中,所述输入数据经过当前卷积层的运算之后的输出数据存储在第二内存块的内存中;
第二内存块中存储的输出数据用于作为下一卷积层运算的输入数据,并经过下一卷积层运算之后得到的输出数据存储在第一内存块的内存中。
6.根据权利要求1-5任一项所述的内存高利用率的神经网络协处理器,其特征在于,所述每个所述计算簇配置的高速内存的单位为神经网络协处理器支持的运算精度与单字节的比值。
7.根据权利要求6所述的内存高利用率的神经网络协处理器,其特征在于,若所述神经网络协处理器支持的运算精度为INT8,则每个单位为一个字节;若所述神经网络协处理器支持的运算精度为INT16或FP16,则每个单位为两个字节;若所述神经网络协处理器支持的运算精度为FP32,则每个单位为四个字节。
8.根据权利要求1-5任一项所述的内存高利用率的神经网络协处理器,其特征在于,所述计算簇配置的高速内存支持scale操作和/或bias操作;
所述高速内存支持的最大卷积尺寸为10*10;
还包括多个逻辑电路;
所述逻辑电路包括激活函数电路、查表电路、乘加计算电路、饱和处理电路、移位处理电路中的一种或者多种。
9.根据权利要求1-5任一项所述的内存高利用率的神经网络协处理器,其特征在于,所述内存高利用率的神经网络协处理器应用于神经网路模型的训练过程包括:
在外部存储设备中设置多个子文件夹;其中,每个子文件夹中均存储有一个相同的神经网络模型,且每个子文件夹中存储有训练所述神经网络模型的训练样本;每个子文件夹中的训练样本不同;
所述内存高利用率的神经网络协处理器基于各个所述子文件夹中的训练样本分别同步训练对应的神经网络模型,直至训练样本全部训练完成之后,训练得到各个神经网络模型的子模型参数;
所述内存高利用率的神经网络协处理器获取各个所述子模型参数,并对各个所述子模型参数进行聚合计算,得到聚合模型参数,并将所述聚合模型参数分别更新至各个子文件夹的神经网络模型中,得到更新的神经网络模型;基于各个子文件夹中对应的训练样本,再次训练所述更新的神经网络模型,得到最终的神经网络模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310714416.9A CN116451756B (zh) | 2023-06-16 | 2023-06-16 | 内存高利用率的神经网络协处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310714416.9A CN116451756B (zh) | 2023-06-16 | 2023-06-16 | 内存高利用率的神经网络协处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116451756A true CN116451756A (zh) | 2023-07-18 |
CN116451756B CN116451756B (zh) | 2023-08-18 |
Family
ID=87135936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310714416.9A Active CN116451756B (zh) | 2023-06-16 | 2023-06-16 | 内存高利用率的神经网络协处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116451756B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382087A (zh) * | 2018-12-28 | 2020-07-07 | 华为技术有限公司 | 一种内存管理方法及电子设备 |
US20210050067A1 (en) * | 2019-08-16 | 2021-02-18 | Samsung Electronics Co., Ltd. | Memory system processing request based on inference and operating method of the same |
CN113435570A (zh) * | 2021-05-07 | 2021-09-24 | 西安电子科技大学 | 可编程卷积神经网络处理器、方法、设备、介质、终端 |
-
2023
- 2023-06-16 CN CN202310714416.9A patent/CN116451756B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382087A (zh) * | 2018-12-28 | 2020-07-07 | 华为技术有限公司 | 一种内存管理方法及电子设备 |
US20210050067A1 (en) * | 2019-08-16 | 2021-02-18 | Samsung Electronics Co., Ltd. | Memory system processing request based on inference and operating method of the same |
CN113435570A (zh) * | 2021-05-07 | 2021-09-24 | 西安电子科技大学 | 可编程卷积神经网络处理器、方法、设备、介质、终端 |
Also Published As
Publication number | Publication date |
---|---|
CN116451756B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220108148A1 (en) | System and architecture neural network accelerator including filter circuit | |
US11610099B2 (en) | Neural network architecture using single plane filters | |
CN105930902B (zh) | 一种神经网络的处理方法、系统 | |
US11915139B2 (en) | Modifying machine learning models to improve locality | |
US20180373981A1 (en) | Method and device for optimizing neural network | |
CN108345939A (zh) | 基于定点运算的神经网络 | |
CN111445020B (zh) | 一种基于图的卷积网络训练方法、装置及系统 | |
CN113313243B (zh) | 神经网络加速器的确定方法、装置、设备以及存储介质 | |
CN107292326A (zh) | 一种模型的训练方法和装置 | |
CN107633297A (zh) | 一种基于并行快速fir滤波器算法的卷积神经网络硬件加速器 | |
CN111144457A (zh) | 图像处理方法、装置、设备及存储介质 | |
KR20240035999A (ko) | 뉴럴 프로세싱 유닛 및 컴퓨트-인-메모리 프로세싱 엘리먼트들을 사용한 하이브리드 머신 러닝 아키텍처 | |
CN114677548A (zh) | 基于阻变存储器的神经网络图像分类系统及方法 | |
CN113827979A (zh) | 基于LightGBM的游戏流失用户预测方法和系统 | |
CN114764615A (zh) | 卷积运算的实现方法、数据处理方法及装置 | |
WO2022047390A1 (en) | Memory processing unit core architectures | |
CN112149047A (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
CN116451756B (zh) | 内存高利用率的神经网络协处理器 | |
CN112200310B (zh) | 智能处理器、数据处理方法及存储介质 | |
US10761847B2 (en) | Linear feedback shift register for a reconfigurable logic unit | |
KR20240036594A (ko) | 인-메모리 연산을 위한 부분 합 관리 및 재구성가능 시스톨릭 플로우 아키텍처들 | |
Feinberg et al. | Commutative data reordering: a new technique to reduce data movement energy on sparse inference workloads | |
CN114595641A (zh) | 组合优化问题的求解方法和系统 | |
Struharik et al. | Intellectual property core implementation of decision trees | |
CN109416757B (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 |