CN114707647B - 适用于多精度神经网络的精度无损存算一体装置及方法 - Google Patents
适用于多精度神经网络的精度无损存算一体装置及方法 Download PDFInfo
- Publication number
- CN114707647B CN114707647B CN202210227427.XA CN202210227427A CN114707647B CN 114707647 B CN114707647 B CN 114707647B CN 202210227427 A CN202210227427 A CN 202210227427A CN 114707647 B CN114707647 B CN 114707647B
- Authority
- CN
- China
- Prior art keywords
- precision
- neural network
- multiply
- accumulate
- analog
- 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.)
- Active
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 82
- 238000004364 calculation method Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 44
- 238000005215 recombination Methods 0.000 claims abstract description 36
- 230000006798 recombination Effects 0.000 claims abstract description 36
- 238000006243 chemical reaction Methods 0.000 claims abstract description 34
- 238000009825 accumulation Methods 0.000 claims description 22
- 230000001066 destructive effect Effects 0.000 claims 2
- 230000010354 integration Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008521 reorganization Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 1
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 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
- 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
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
本发明公开了适用于多精度神经网络的精度无损存算一体装置及方法,所述方法包括:获取多精度神经网络的输入数据,并将所述输入数据按位拆分后进行数模转换,得到若干模拟信号;基于选择器和处理元件,将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据。本发明实施例通过多精度神经网络的输入数据与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,使得多精度神经网络的存算一体支持混合精度的神经网络计算,避免精度损失从而提升计算准确性,并且对比传统片上***架构可以大幅度地提高计算能效。
Description
技术领域
本发明涉及混合信号电路技术领域,尤其涉及的是适用于多精度神经网络的精度无损存算一体装置及方法。
背景技术
多精度神经网络的存算一体架构的核心思想在于将部分或全部的计算转移至存储模块中,即计算单元和存储单元集成在同一个芯片。但是目前基于存算一体架构的芯片大多均存在两个问题:牺牲一定的计算精度的方法来降低AD/DA的数目,从而降低AD/DA的功耗,提高计算能效,但是这种方法通常会带来计算精度的下降,并导致推理准确率的下降;现有的存算一体的架构并不能很好的支持混合精度网络计算。
因此,现有技术还有待改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种适用于多精度神经网络的精度无损存算一体装置及方法,旨在解决现有技术中多精度神经网络的存算一体架构计算能效低,且并不能很好的支持混合精度网络计算的问题。
本发明解决问题所采用的技术方案如下:
第一方面,本发明实施例提供一种适用于多精度神经网络的精度无损存算一体装置,其中,所述所述装置包括:
数模转换模块,用于将数字信号转换为模拟信号;
选择器,与所述数模转换模块电连接,且用于对若干乘法累加器进行选择;
处理元件,与所述选择器电连接,且用于对模拟信号进行混合精度计算。
在一种实现方式中,所述处理元件包括乘法累加阵列、与所述乘法累加阵列电连接的模数转换模块以及与所述模数转换模块电连接的多精度移位累加模块。
在一种实现方式中,所述处理元件采用空间复用的方式排列。
在一种实现方式中,所述乘法累加阵列由p行q列的乘法累加器组成,其中,p和q均为非零整数。
在一种实现方式中,所述乘法累加器包括忆阻器以及与所述忆阻器电连接的数据处理模块。
第二方面,本发明实施例还提供一种适用于多精度神经网络的精度无损存算一体装置的方法,其中,所述方法包括:获取多精度神经网络的输入数据,并将所述输入数据按位拆分后进行数模转换,得到若干模拟信号;
基于选择器和处理元件,将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据。
在一种实现方式中,所述基于选择器和处理元件,将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据包括:
获取若干时隙,其中,所述时隙用于表征特定的时间间隔;
针对每个所述时隙,通过所述选择器对若干所述模拟信号进行选择,得到若干时隙信号;
将若干所述时隙信号按照时间复用的方式输入到处理元件进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据。
在一种实现方式中,所述将若干所述时隙信号按照时间复用的方式输入到处理元件进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据包括:
将若干所述时隙信号按照时间复用的方式输入到乘法累加阵列的各行,得到若干乘累加结果;
将若干所述乘累加结果依次输入到模数转换模块和多精度移位累加模块进行多精度精度重组,得到多精度神经网络的输出数据。
第三方面,本发明实施例还提供一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的适用于多精度神经网络的精度无损存算一体装置的方法。
第四方面,本发明实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的适用于多精度神经网络的精度无损存算一体装置的方法。
本发明的有益效果:本发明实施例首先获取多精度神经网络的输入数据,并将所述输入数据按位拆分后进行数模转换,得到若干模拟信号;然后基于选择器和处理元件,将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据;可见,本发明实施例中通过多精度神经网络的输入数据与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,使得多精度神经网络的存算一体支持混合精度的神经网络计算,避免精度损失从而提升计算准确性,并且对比传统片上***架构可以大幅度地提高计算能效。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的适用于多精度神经网络的精度无损存算一体装置的原理框图。
图2为本发明实施例提供的一种实施例的空间复用的PE结构原理图。
图3为本发明实施例提供的一种实施例的MAC结构以及卷积计算原理图。
图4为本发明实施例提供的一种实施例的精度重组电路设计及原理图。
图5为本发明实施例提供的适用于多精度神经网络的精度无损存算一体装置的方法流程示意图。
图6为本发明实施例提供的智能终端的内部结构原理框图。
具体实施方式
本发明公开了适用于多精度神经网络的精度无损存算一体装置及方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
由于现有技术中,目前,人工智能领域快速发展,人工智能应用迅猛增长,对复杂网络运算能力和数据处理速度的要求也越来越严苛。在当前的计算框架下,如何高效率地利用深度学习神经网络来处理数据,开发新一代高能效神经网络加速器是学界及产业界研究开发的核心问题之一。
传统的冯·诺依曼结构将数据处理和存储分离,在深度学习的运算过程中需频繁和内存交换数据,消耗大量能量。根据研究显示,数据搬运的能耗是浮点计算的4到1000倍。随着半导体工艺的进步,虽然总体功耗下降,但数据搬运的功耗占比却越来越大。多精度神经网络的存算一体架构则是打破存储墙的限制,突破AI计算能效瓶颈的关键技术。神经网络的存算一体架构存在以下两个问题:
为了处理数字信息,使用模拟运算的存内计算架构不可避免地需要对输入和输出数据进行相应的数模/模数转化。当前存算一体设计普遍存在的瓶颈在于AD/DA模块所占整个***的面积和能耗过大,通常达到70%~90%左右。目前存算的工作大多以牺牲一定的计算精度的方法来降低AD/DA的数目,从而降低AD/DA的功耗,提高计算能效,但是这种方法通常会带来计算精度的下降,并导致推理准确率的下降。
常规神经网络中仅存在一种输入和权重位宽的情况,例如INT8,但是在神经网络中有很多的计算在降低数据位宽的同时并不会引起推理准确性的降低,并且,相比较于8比特位宽的计算,较低位宽的输入数据以及权重数据的计算能够取得更高的能效和吞吐量,尤其是混合精度的(也即混合数据位宽)的网络在保证推理准确性的同时尽可能提升能效和吞吐量。而现有的存算一体的架构并不能很好的支持混合精度网络计算。
为了解决现有技术的问题,本实施例提供了适用于多精度神经网络的精度无损存算一体装置及方法,通过多精度神经网络的输入数据与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,使得多精度神经网络的存算一体支持混合精度的神经网络计算,避免精度损失从而提升计算准确性,并且对比传统片上***架构可以大幅度地提高计算能效。具体实施时,首先获取多精度神经网络的输入数据,并将所述输入数据按位拆分后进行数模转换,得到若干模拟信号;然后基于选择器和处理元件,将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据。
示例性设备
如图1中所示,本发明实施例提供一种适用于多精度神经网络的精度无损存算一体装置,该装置包括数模转换模块、选择器和处理元件,其中:
数模转换模块,用于将数字信号转换为模拟信号;
选择器,与所述数模转换模块电连接,且用于对若干乘法累加器进行选择;
处理元件,与所述选择器电连接,且用于对模拟信号进行混合精度计算。
在本实施例中,数模转换模块(DAC)可以选用36465ADC,也可以采用其他型号的DAC,具体不做限制,数模转换模块将输入神经网络的数字信号转换为模拟信号。选择器可以采用现有的器件,也可以通过设计逻辑电路来实现,与所述数模转换模块通过电路连接,用于对乘法累加器的选择。选择器为p选1。处理元件在本实施例中为PE,与所述选择器通过电路连接,用于对模拟信号进行混合精度计算。
在一种实现方式中,处理元件包括乘法累加阵列、与所述乘法累加阵列电连接的模数转换模块(ADC)以及与所述模数转换模块电连接的多精度移位累加模块。
具体地,如图2所示,处理元件(PE)采用空间复用的方式排列,所述乘法累加阵列由p行q列的乘法累加器(MAC)组成,其中,p和q均为非零整数。其中,模数转换模块(ADC)的个数为q个。每一列MAC以空间复用的方式共享一个ADC以及后续的精度重组模块。为了实现空间复用,在同一时刻只允许有一行的MAC保持开启的状态。因此,一个p选1的选择器被用来选择开启p行MAC中的一个。
在一种实现方式中,所述乘法累加器(MAC)包括忆阻器以及与所述忆阻器电连接的数据处理模块。
具体地,如图3所示,MAC是由m×n个1T1R的忆阻器器件以及负责输入数据分离等的***电路(也即数据处理模块)组成。1T1R在本发明中指的是使用到的忆阻器的器件结构,其英文全称为1transistor 1resistance,中文含义是1个晶体管一个电阻的结构。
在本实施例中,如图4所示,多精度移位累加模块采用处理精度为log2mbit的ADC来转换MAC中每一列的模拟电压信号,其中,处理精度计算方法:在mac中有m行的数据同时进行累加,这时就需要ADC能够区分清楚最多m个状态。此时,ADC的处理精度就是log2mbit的处理精度。例如,当mac中有16行的数据进行计算时,就需要4bit的处理精度的ADC才能够没有损失的完成数据的转换。本发明设置的数字的多精度移位累加模块,相较于使用电流镜的精度重组方案以及采用较低处理精度的ADC完成较多的开启行数的信号的转换而言,本发明并不会带来任何额外的精度的损失。并且,由于功耗主要集中于ADC以及后续的多精度移位累加模块中,因此,在本发明中采用时间复用的设计来尽可能的减少功耗以及面积的开销。ADC以及多精度移位累加模块的时钟频率被设置为主时钟频率的n倍,这样,在输入一次数据时,ADC以及后续的多精度移位累加模块需要连续工作n次,以完成n列数据的处理。
示例性方法
本实施例提供适用于多精度神经网络的精度无损存算一体装置的方法,该方法可以应用于混合信号电路的智能终端。具体如图5所示,所述方法包括:
步骤S100、获取多精度神经网络的输入数据,并将所述输入数据按位拆分后进行数模转换,得到若干模拟信号;
具体地,本发明的处理方法是应用于多精度神经网络的计算的,故先获取多精度神经网络的输入数据,然后将所述输入数据按位拆分后进行数模转换,例如在进行计算时,输入数据按位拆分后依次送入1bit的DAC中转换成电压,也即若干模拟信号。
得到若干模拟信号后,就可以执行如图5所示的如下步骤:S200、基于选择器和处理元件,将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据。相应的,所述基于选择器和处理元件,将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据包括如下步骤:
S201、获取若干时隙,其中,所述时隙用于表征特定的时间间隔;
S202、针对每个所述时隙,通过所述选择器对若干所述模拟信号进行选择,得到若干时隙信号;
S203、将若干所述时隙信号按照时间复用的方式输入到处理元件进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据。
具体地,先获取若干时隙,其中,所述时隙用于表征特定的时间间隔;若干时隙如T1,T2,T3,T4......然后针对每个所述时隙,通过所述选择器对若干所述模拟信号进行选择,得到若干时隙信号;例如,一个p选1的选择器被用来选择开启p行MAC中的一个,m行的时隙信号首先经过一个行选择器选择进入p行MAC中的一个,并且在U个***时钟周期之内保持选中此行MAC不变。
步骤S203包括如下步骤:将若干所述时隙信号按照时间复用的方式输入到乘法累加阵列的各行,得到若干乘累加结果;将若干所述乘累加结果依次输入到模数转换模块和多精度移位累加模块进行多精度精度重组,得到多精度神经网络的输出数据。
具体地,先将若干所述时隙信号按照时间复用的方式输入到乘法累加阵列的各行,得到若干乘累加结果;例如:若干所述时隙信号在进入MAC中与预存的权重数据进行模拟的乘累加运算,在每列MAC的下方,ADC以及移位累加模块以时间复用的形式在n个ADC时钟也即一个***时钟之内完成一列MAC中n列数据的转换,并实现结果的输出,得到若干乘累加结果。在U个***时钟之后,若干所述时隙信号被选择进去其他行的MAC中持续进行类似的操作。然后将若干所述时隙信号按照时间复用的方式输入到处理元件进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据。在本实施例中,乘法累加阵列中的乘法累加器(MAC)能够支持1-8bit的输入数据和权重数据的乘累加运算,在计算之前,Ubit的权重将会预存在同一行的U个忆阻器的器件中,这样,m×n的阵列大小共能够存储个权重,例如,在2bit的计算模式下,MAC阵列中能够存储的权重的个数为/>在计算时,将若干所述时隙信号连接至忆阻器阵列上进行模拟的乘累加计算,得到若干乘累加结果。然后将若干乘累加结果以电流的形式进入I/V放大器中,完成电流向电压的转换,电压信号由采样保持电路保持,直至ADC将其转换成数字信号输出至多精度移位累加模块,多精度移位累加模块采用两个移位累加模块来分别完成权重位的精度重组以及输入位(上述数字信号)的精度重组,并使用一个计数器信号来产生输出的标志信号。当计算时,计数器会从0-63重复进行计数,权重位的多精度移位累加模块将每个ADC的时钟下移位一次并进行累加,在n个ADC时钟之后,n列的数据全部转换完成,此时的标志信号拉高,并将权重位的多精度移位累加模块中送至输入位(上述数字信号)的多精度移位累加模块中进行一次移位并累加,得到多精度神经网络的输出数据。在n×U个ADC时钟也即U个***时钟后,即可得到权重数据以及数字信号均为U比特下的乘累加的计算结果。
本发明采用时空复用的ADC在不带来任何计算精度的损失的情况下实现AD/DA模块功耗的降低,使用多位宽的精度重组模块来实现对基于多精度神经网络的支持,提高计算能效以及数据处理的通量。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图6所示。该智能终端包括通过***总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种适用于多精度神经网络的精度无损存算一体装置的方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该智能终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的运行温度。
本领域技术人员可以理解,图6中的原理图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:获取多精度神经网络的输入数据,并将所述输入数据按位拆分后进行数模转换,得到若干模拟信号;
基于选择器和处理元件,将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本发明公开了适用于多精度神经网络的精度无损存算一体装置及方法,所述方法包括:获取多精度神经网络的输入数据,并将所述输入数据按位拆分后进行数模转换,得到若干模拟信号;基于选择器和处理元件,将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据。本发明实施例通过多精度神经网络的输入数据与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,使得多精度神经网络的存算一体支持混合精度的神经网络计算,避免精度损失从而提升计算准确性,并且对比传统片上***架构可以大幅度地提高计算能效。
基于上述实施例,本发明公开了一种适用于多精度神经网络的精度无损存算一体装置及方法,应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (8)
1.一种适用于多精度神经网络的精度无损存算一体装置,其特征在于,所述装置包括:
数模转换模块,用于将数字信号转换为模拟信号;
选择器,与所述数模转换模块电连接,且用于对若干乘法累加器进行选择;
处理元件,与所述选择器电连接,且用于对模拟信号进行混合精度计算,其中,所述混合精度计算是指将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据;
所述将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据包括:
获取若干时隙,其中,所述时隙用于表征特定的时间间隔;
针对每个所述时隙,通过所述选择器对若干所述模拟信号进行选择,得到若干时隙信号;
将若干所述时隙信号按照时间复用的方式输入到处理元件进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据;
所述将若干所述时隙信号按照时间复用的方式输入到处理元件进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据包括:
将若干所述时隙信号按照时间复用的方式输入到乘法累加阵列的各行,得到若干乘累加结果;
将若干所述乘累加结果依次输入到模数转换模块和多精度移位累加模块进行多精度精度重组,得到多精度神经网络的输出数据,其中,所述多精度的重组运算是所述多精度移位累加模块上进行的权重位的精度重组以及数字信号位的精度重组。
2.根据权利要求1所述的适用于多精度神经网络的精度无损存算一体装置,其特征在于,所述处理元件包括乘法累加阵列、与所述乘法累加阵列电连接的模数转换模块以及与所述模数转换模块电连接的多精度移位累加模块。
3.根据权利要求1所述的适用于多精度神经网络的精度无损存算一体装置,其特征在于,所述处理元件采用空间复用的方式排列。
4.根据权利要求2所述的适用于多精度神经网络的精度无损存算一体装置,其特征在于,所述乘法累加阵列由p行q列的乘法累加器组成,其中,p和q均为非零整数。
5.根据权利要求4所述的适用于多精度神经网络的精度无损存算一体装置,其特征在于,所述乘法累加器包括忆阻器以及与所述忆阻器电连接的数据处理模块。
6.一种基于权利要求1-5任一项所述的适用于多精度神经网络的精度无损存算一体装置的方法,其特征在于,所述方法包括:
获取多精度神经网络的输入数据,并将所述输入数据按位拆分后进行数模转换,得到若干模拟信号;
基于选择器和处理元件,将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据;
所述基于选择器和处理元件,将若干所述模拟信号与预设的权重采用时空复用的方式进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据包括:
获取若干时隙,其中,所述时隙用于表征特定的时间间隔;
针对每个所述时隙,通过所述选择器对若干所述模拟信号进行选择,得到若干时隙信号;
将若干所述时隙信号按照时间复用的方式输入到处理元件进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据;
所述将若干所述时隙信号按照时间复用的方式输入到处理元件进行乘累加运算和多精度的重组运算,得到多精度神经网络的输出数据包括:
将若干所述时隙信号按照时间复用的方式输入到乘法累加阵列的各行,得到若干乘累加结果;
将若干所述乘累加结果依次输入到模数转换模块和多精度移位累加模块进行多精度精度重组,得到多精度神经网络的输出数据,其中,所述多精度的重组运算是所述多精度移位累加模块上进行的权重位的精度重组以及数字信号位的精度重组。
7.一种智能终端,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于实现如权利要求6所述的方法。
8.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够实现如权利要求6所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210227427.XA CN114707647B (zh) | 2022-03-08 | 2022-03-08 | 适用于多精度神经网络的精度无损存算一体装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210227427.XA CN114707647B (zh) | 2022-03-08 | 2022-03-08 | 适用于多精度神经网络的精度无损存算一体装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114707647A CN114707647A (zh) | 2022-07-05 |
CN114707647B true CN114707647B (zh) | 2023-10-24 |
Family
ID=82168644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210227427.XA Active CN114707647B (zh) | 2022-03-08 | 2022-03-08 | 适用于多精度神经网络的精度无损存算一体装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114707647B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115906735B (zh) * | 2023-01-06 | 2023-05-05 | 上海后摩智能科技有限公司 | 基于模拟信号的多比特数存算一体电路、芯片及计算装置 |
CN115756388B (zh) * | 2023-01-06 | 2023-04-18 | 上海后摩智能科技有限公司 | 多模式存算一体电路、芯片及计算装置 |
CN116151343B (zh) * | 2023-04-04 | 2023-09-05 | 荣耀终端有限公司 | 数据处理电路和电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018109968A (ja) * | 2016-12-28 | 2018-07-12 | 株式会社半導体エネルギー研究所 | ニューラルネットワークを利用したデータ処理装置、電子部品、および電子機器 |
CN112257844A (zh) * | 2020-09-29 | 2021-01-22 | 浙江大学 | 一种基于混合精度配置的卷积神经网络加速器及其实现方法 |
CN112559046A (zh) * | 2020-12-09 | 2021-03-26 | 清华大学 | 数据处理装置及人工智能处理器 |
CN112836813A (zh) * | 2021-02-09 | 2021-05-25 | 南方科技大学 | 一种用于混合精度神经网络计算的可重构脉动阵列*** |
CN113126953A (zh) * | 2019-12-30 | 2021-07-16 | 三星电子株式会社 | 针对浮点处理的方法和装置 |
CN113364462A (zh) * | 2021-04-27 | 2021-09-07 | 北京航空航天大学 | 模拟存算一体多比特精度实现结构 |
CN113741857A (zh) * | 2021-07-27 | 2021-12-03 | 北京大学 | 一种乘累加运算电路 |
CN114026573A (zh) * | 2019-06-25 | 2022-02-08 | Arm有限公司 | 基于非易失性存储器的紧凑型混合信号乘法累加引擎 |
CN114049530A (zh) * | 2021-10-20 | 2022-02-15 | 阿里巴巴(中国)有限公司 | 混合精度神经网络量化方法、装置及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11741362B2 (en) * | 2018-05-08 | 2023-08-29 | Microsoft Technology Licensing, Llc | Training neural networks using mixed precision computations |
KR20210154502A (ko) * | 2020-06-12 | 2021-12-21 | 삼성전자주식회사 | 부동 소수점 연산을 수행하는 뉴럴 네트워크 장치 및 그의 동작 방법 |
-
2022
- 2022-03-08 CN CN202210227427.XA patent/CN114707647B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018109968A (ja) * | 2016-12-28 | 2018-07-12 | 株式会社半導体エネルギー研究所 | ニューラルネットワークを利用したデータ処理装置、電子部品、および電子機器 |
CN114026573A (zh) * | 2019-06-25 | 2022-02-08 | Arm有限公司 | 基于非易失性存储器的紧凑型混合信号乘法累加引擎 |
CN113126953A (zh) * | 2019-12-30 | 2021-07-16 | 三星电子株式会社 | 针对浮点处理的方法和装置 |
CN112257844A (zh) * | 2020-09-29 | 2021-01-22 | 浙江大学 | 一种基于混合精度配置的卷积神经网络加速器及其实现方法 |
CN112559046A (zh) * | 2020-12-09 | 2021-03-26 | 清华大学 | 数据处理装置及人工智能处理器 |
CN112836813A (zh) * | 2021-02-09 | 2021-05-25 | 南方科技大学 | 一种用于混合精度神经网络计算的可重构脉动阵列*** |
CN113364462A (zh) * | 2021-04-27 | 2021-09-07 | 北京航空航天大学 | 模拟存算一体多比特精度实现结构 |
CN113741857A (zh) * | 2021-07-27 | 2021-12-03 | 北京大学 | 一种乘累加运算电路 |
CN114049530A (zh) * | 2021-10-20 | 2022-02-15 | 阿里巴巴(中国)有限公司 | 混合精度神经网络量化方法、装置及设备 |
Non-Patent Citations (2)
Title |
---|
A Configurable Floating-Point Multiple-Precision Processing Element for HPC and AI Converged Computing;Wei Mao et.al;《IEEE Transactions on Very Large Scale Integration (VLSI) Systems》;第30卷(第2期);第213-226页 * |
一种细粒度可重构的深度神经网络加速芯片;刘晏辰 等;半导体技术(01);第25-30、51页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114707647A (zh) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114707647B (zh) | 适用于多精度神经网络的精度无损存算一体装置及方法 | |
US10936941B2 (en) | Efficient data access control device for neural network hardware acceleration system | |
US20240168718A1 (en) | Circuit based on digital domain in-memory computing | |
US10496855B2 (en) | Analog sub-matrix computing from input matrixes | |
CN110442323B (zh) | 进行浮点数或定点数乘加运算的装置和方法 | |
CN113743600B (zh) | 适用于多精度神经网络的存算一体架构脉动阵列设计方法 | |
CN111915001A (zh) | 卷积计算引擎、人工智能芯片以及数据处理方法 | |
CN112153139B (zh) | 基于传感器网络和存内计算神经网络的控制***及方法 | |
CN111611197A (zh) | 可软件定义的存算一体芯片的运算控制方法和装置 | |
CN212112470U (zh) | 一种矩阵乘法计算电路 | |
CN113870918A (zh) | 存内稀疏矩阵乘法运算方法、方程求解方法以及求解器 | |
US11748100B2 (en) | Processing in memory methods for convolutional operations | |
US11256503B2 (en) | Computational memory | |
US11182128B2 (en) | Multiply-accumulate operation device, multiply-accumulate operation methods, and systems | |
CN116306854A (zh) | 基于光电存算一体器件的transformer神经网络加速装置及方法 | |
CN111931938B (zh) | 基于结构化稀疏的循环神经网络推理运算的加速***及方法 | |
CN113741857A (zh) | 一种乘累加运算电路 | |
CN111988031A (zh) | 一种忆阻存内矢量矩阵运算器及运算方法 | |
CN115458010B (zh) | 一种适用于非易失性存储器存算一体阵列的运算单元 | |
CN113326914A (zh) | 神经网络计算方法和神经网络计算装置 | |
CN221200393U (zh) | 小芯片设备及人工智能加速器装置 | |
CN110717580B (zh) | 面向二值化神经网络的基于电压调制的计算阵列 | |
Kang et al. | The Era of Generative Artificial Intelligence: In-Memory Computing Perspective | |
WO2024027937A1 (en) | Memory-mapped compact computing array | |
US20240028900A1 (en) | Energy Efficient Computations Using Bit-Sparse Data Representations |
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 |