CN117236391A - 利用mram实现基于随机计算的贝叶斯神经网络存算一体方法 - Google Patents

利用mram实现基于随机计算的贝叶斯神经网络存算一体方法 Download PDF

Info

Publication number
CN117236391A
CN117236391A CN202311175404.XA CN202311175404A CN117236391A CN 117236391 A CN117236391 A CN 117236391A CN 202311175404 A CN202311175404 A CN 202311175404A CN 117236391 A CN117236391 A CN 117236391A
Authority
CN
China
Prior art keywords
calculation
array
equivalent
standard deviation
input
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
CN202311175404.XA
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202311175404.XA priority Critical patent/CN117236391A/zh
Publication of CN117236391A publication Critical patent/CN117236391A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明属于神经网络技术领域。具体为一种利用MRAM实现基于随机计算的贝叶斯神经网络存算一体方法,本方法适用于随机计算域的贝叶斯神经网络,利用MRAM的二值特性,将权重数据预先存储在MRAM中,利用三极管作为电路的开关信号,表示数据的输入,采用PCSA作为信号读取方式,得出计算结果。本发明利用非易失性存储器件MRAM,来设计存算一体架构,实现数据在原位的存储和计算。相对于CMOS技术,能够大幅降级计算功耗,缓解“存储墙”的问题。

Description

利用MRAM实现基于随机计算的贝叶斯神经网络存算一体方法
技术领域
本发明涉及神经网络技术领域,具体涉及利用非易失性存储器MRAM搭建的存内计算架构,适用于随机计算域的贝叶斯神经网络的存算一体方法。
背景技术
如今人工智能等高运算处理环境需要处理的数据量越来越多,而存储器的数据搬运慢、搬运能耗大,缓存的大小和密度都很难提升,因此存储器和处理器之间的差距越来越大,导致算力不能充分发挥。传统冯诺依曼架构用的是CMOS技术,该架构下的“存储墙”问题不断凸显,限制了技术的发展。并且目前已经有不同的技术方案,来尝试解决“存储墙”的问题。包括1)继续优化存储器和处理器的性能;2)近存计算,使存储器和处理器距离更近,减少数据搬运的消耗;3)存内计算,利用器件的性质,让数据的存储和计算可以在原位同时进行,直接避免数据的搬运。
当前新型的主要是用非易失性存储器来构建存内计算架构,常见的有RRAM,PCM,FeFET and MRAM等。这些目前都已有一些存内计算架构的成果。这些器件有各自的特性,适用于不同的应用场景。
而对于贝叶斯神经网络来说,相较于传统深度神经网络具有更多的参数量,需要进行更多次的计算,因此贝叶斯神经网络的“存储墙”问题会更严重。
发明内容
为解决上述技术问题,本发明提供了一种利用MRAM实现基于随机计算的贝叶斯神经网络存算一体方法,基于贝叶斯神经网络的随机计算特征等需求。选择采用MRAM,以缓解传统冯诺依曼架构的“存储墙”问题并大幅降级整体功耗。
为实现上述目的,本发明完整的技术方案包括:
一种利用MRAM实现基于随机计算的贝叶斯神经网络存算一体方法,所述方法适用于随机计算域的贝叶斯神经网络,利用非易失性存储器件MRAM设计存算一体架构,实现数据在原位的存储和计算;
所述存算一体架构包括等效均值μ′计算阵列和等效标准差σ′计算阵列,所述等效均值μ′计算阵列和等效标准差σ′计算阵列预存有贝叶斯神经网络的权重数据,
所述等效均值μ′计算阵列和等效标准差σ′计算阵列利用三极管作为电路的开关信号,表示数据的输入,采用预充电感知放大器(PCSA)作为信号读取方式,得出计算结果。
所述等效均值μ′计算阵列的每一行均单独通过行字线(RWL)与行控制器连接,所述的行控制器包括与等效均值μ′计算阵列的每一行单独连接的多个三极管,所述三极管作为电路的开关信号,完成输入数据xj的输入;
所述等效标准差σ′计算阵列的每一行均单独通过行字线(RWL)与行控制器连接,所述的行控制器包括与等效标准差σ′计算阵列的每一行单独连接的多个三极管,所述三极管作为电路的开关信号,完成输入数据xj的输入;所述等效标准差σ′计算阵列的每一列均单独通过列字线(CWL)将实时高斯随机数发生器与列控制器连接,所述的列控制器包括与等效标准差σ′计算阵列的每一行单独连接的多个三极管,所述三极管作为电路的开关信号,完成高斯随机数的输入。
进一步的,所述等效均值μ′计算阵列和等效标准差σ′计算阵列的每一列均单独连接有一个PCSA,采用PCSA作为信号读取器件,得出计算结果。
进一步的,在等效均值μ′计算阵列和等效标准差σ′计算阵列的计算过程中,不涉及MRAM的翻转,只有高阻或低阻两种状态,用来分别表示0和1,同时MRAM不存在中间态。
进一步的,所述贝叶斯神经网络的输入数据作为控制信号不用预先存储,为实时输入并实时得出计算结果;
在等效均值μ′计算阵列中,每次输入只有1根RWL有数据输入,其他都处于断开状态;
在等效标准差σ′计算阵列中,每次输入过程中,只有1根RWL有数据输入,其他RWL都处于断开状态,且所有CWL均与等效标准差σ′计算阵列保持导通并输入高斯随机数。
进一步的,所述PCSA作为信号读取的器件,读取出来的高/低电平直接表述计算结果为1或0。
进一步的,所述存算一体架构还包括数据选择器MUX,用以实现加法计算,
进一步的,所述存算一体架构还包括计数器Counter,用以计算随机比特流代表的具体值。
本发明与现有技术相比的有益效果为:
1.采用存算一体的方式,显著缓解了“存储墙”的问题。
2.MRAM的功耗低,占用面积小,相对于CMOS技术,能够大幅降级计算功耗。
3.器件有两种状态,分别代表0/1,可以通过注入电流来实现翻转,以完成数据的预存储,在运算阶段不涉及MRAM器件的翻转。
4.目前的存内计算方案都是在模拟域中进行,通过累积阵列中的电压/电流值,经过放大器,再进行模/数转化,从而得到最后的计算值。而本发明的阵列在数字域中而非在模拟域中计算,无需复杂的数/模和模/数转换器,外围电路简单,电路可靠性强。
附图说明
图1为基于随机计算的贝叶斯神经网络存内计算架构。
图2为两个计算阵列的基本单元示意,其中图2(a)为等效均值计算阵列基本单元,图2(b)为等效标准差计算阵列基本单元。
图3为两个计算阵列示意,其中图3(a)为等效均值计算阵列,(b)为等效标准差计算阵列。
具体实施方式
下面结合本发明的附图,对本发明的技术方案进行进一步的详细说明,显然,所描述的实施例仅作为例示,并非用于限制本次申请。
在贝叶斯神经网络中,权重符合概率分布,一般为高斯分布,通常用均值μ和标准差σ来表征。在贝叶斯神经网络的推理过程中,输出向量y中的每一个元素,其计算公式如下:
其中,yi为贝叶斯神经网络的输出,wij为权重,xj为输入,σij为标准差,μij为均值,uij为符合标准正态分布的随机数,即u~N(0,1)。在随机计算域中,公式可以等效成如下形式:
在单级编码的模式下,hij代表随机比特流的值这样,随机计算域的贝叶斯神经网络计算就可以通过分别计算hijxjσ′ij,μ′ijxj两个部分来得到,其中μ′为等效均值,σ′为等效标准差。
图1显示了基于随机计算的贝叶斯神经网络存内计算架构。它包含了高斯随机数发生器(GRNG,用于产生hij,等效均值μ′和等效标准差σ′两个计算阵列(分别实现μ′ijxj,hijxjσ′ij两个部分的计算),PCSA阵列(预充电感知放大器,读出相应阵列的乘法结果),MUX(数据选择器,实现加法计算)和Counter(计数器,计算随机比特流代表的具体值)。其中最核心的就是等效均值μ′和等效标准差σ′两个计算阵列,也是本发明的核心。
本发明涉及了两个不同的计算阵列,来分别实现μ′ijxj,hijxjσ′ij的计算。其中μ′ijxj的基本计算单元如图2(a)所示。hijxjσ′ij的基本计算单元如图2(b)所示。
在整个计算过程中,数据被预先转换成随机比特流,其中,权重参数μ′ij和σ′ij被直接存储在MRAM中。输入数据xh作为控制信号(RWL,即行字线),控制三极管的通断。当输入数据为1时,RWL处给高电平,使得三极管导通;当输入数据为0时,RWL处给低电平,使得三极管断开。高斯随机数hij也用作控制信号(CWL,即列字线),当hij为1时,CWL处给高电平,三极管导通;当hij为0时,CWL处给低电平,三极管断开。
具体工作流程如下:
如图2(a)所示,假设输入数据x为2位比特长度的比特流(每一位是0或者1)。首先将所有三极管都断开,然后在第一行(RWL1)输入x的第一位数据,PCSA直接读出所测电路的结果,PCSA输出高电平代表1,低电平代表0,PCSA测出的值就是的计算值。计算方法如下:
PCSA的读取原理为,将两端连接的等效电阻值Req与它的内部参考电阻值Rref进行比较,如果Req大于Rref,那么PCSA就输出低电平(相当于0),如果Req小于Rref,那么PCSA就输出高电平(相当于1)。
然后断开RWL1的三极管,在第二行(RWL2)输入x的第二位数据,PCSA作为感测放大器直接读出所测电路的结果,PCSA测出的值就是的计算值。
图2(a)是最小计算单元,贝叶斯神经网络的计算架构的整个阵列可以表现为图3(a)。
对于图2(b)来说,同样假设x为2位比特长度的比特流,首先将所有三极管都断开,然后在第一行(RWL1)输入x的第一位数据,同时在CWL上输入hi1的第一位数据(所有列同时输入由不用的GRNG实时产生的不同数据),PCSA测出的值就是的计算值。然后断开RWL1的三极管,在第二行(RWL2)输入x的第二位数据,同时在CWL上继续输入hi1的第二位数据,PCSA测出的值就是/>的计算值。图2(b)是最小计算单元,贝叶斯神经网络的计算架构的整个阵列可以表现为图3(b)。
计算阵列中每一列代表对应不同的输出向量yi,列与列之间共享输入x,但彼此互不影响。
因此,利用MRAM和阵列的性质,就可以把μ′ijxj,hijxjσ′ij中的乘法运算,简化成利用PCSA对电路的读取运算。
此外,本发明中数据标号中,代表hij的第一位,假设随机计算域下,比特流长度是32位,那么/>这一串32位的0/1比特流所代表的具体数值,就是hij的值。i代表的是输出数据的个数(y的个数),j代表的是输入数据的个数(x的个数)。
以上申请的仅为本申请的一些实施方式。对于本领域的普通技术人员来说,在不脱离本申请创造构思的前提下,还可以做出若干变型和改进,这些都属于本申请的保护范围。

Claims (7)

1.一种利用MRAM实现基于随机计算的贝叶斯神经网络存算一体方法,其特征在于,所述方法适用于随机计算域的贝叶斯神经网络,利用非易失性存储器件MRAM设计存算一体架构,实现数据在原位的存储和计算;
所述存算一体架构包括等效均值μ′计算阵列和等效标准差σ′计算阵列,所述等效均值μ′计算阵列和等效标准差σ′计算阵列预存有贝叶斯神经网络的权重数据,
所述等效均值μ′计算阵列和等效标准差σ′计算阵列利用三极管作为电路的开关信号,表示数据的输入,采用预充电感知放大器(PCSA)作为信号读取方式,得出计算结果。
所述等效均值μ′计算阵列的每一行均单独通过行字线(RWL)与行控制器连接,所述的行控制器包括与等效均值μ′计算阵列的每一行单独连接的多个三极管,所述三极管作为电路的开关信号,完成输入数据xj的输入;
所述等效标准差σ′计算阵列的每一行均单独通过行字线(RWL)与行控制器连接,所述的行控制器包括与等效标准差σ′计算阵列的每一行单独连接的多个三极管,所述三极管作为电路的开关信号,完成输入数据xj的输入;所述等效标准差σ′计算阵列的每一列均单独通过列字线(CWL)将实时高斯随机数发生器与列控制器连接,所述的列控制器包括与等效标准差σ′计算阵列的每一列单独连接的多个三极管,所述三极管作为电路的开关信号,完成高斯随机数的输入。
2.根据权利要求1所述的存算一体方法,其特征在于,所述等效均值μ′计算阵列和等效标准差σ′计算阵列的每一列均单独连接有一个PCSA,采用PCSA作为信号读取器件,得出计算结果。
3.根据权利要求2所述的存算一体方法,其特征在于,在等效均值μ′计算阵列和等效标准差σ′计算阵列的计算过程中,不涉及MRAM的翻转,只有高阻或低阻两种状态,用来分别表示0和1,同时MRAM不存在中间态。
4.根据权利要求2所述的存算一体方法,其特征在于,所述贝叶斯神经网络的输入数据作为控制信号不用预先存储,为实时输入并实时得出计算结果;
在等效均值μ′计算阵列中,每次输入只有1根RWL有数据输入,其他都处于断开状态;
在等效标准差σ′计算阵列中,每次输入过程中,只有1根RWL有数据输入,其他RWL都处于断开状态,且所有CWL均与等效标准差σ′计算阵列保持导通并输入高斯随机数。
5.根据权利要求4所述的存算一体方法,其特征在于,所述PCSA作为信号读取的器件,读取出来的高/低电平直接表述计算结果为1或0。
6.根据权利要求5所述的存算一体方法,其特征在于,所述存算一体架构还包括数据选择器MUX,用以实现加法计算。
7.根据权利要求6所述的存算一体方法,其特征在于,所述存算一体架构还包括计数器Counter,用以计算随机比特流代表的具体值。
CN202311175404.XA 2023-09-13 2023-09-13 利用mram实现基于随机计算的贝叶斯神经网络存算一体方法 Pending CN117236391A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311175404.XA CN117236391A (zh) 2023-09-13 2023-09-13 利用mram实现基于随机计算的贝叶斯神经网络存算一体方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311175404.XA CN117236391A (zh) 2023-09-13 2023-09-13 利用mram实现基于随机计算的贝叶斯神经网络存算一体方法

Publications (1)

Publication Number Publication Date
CN117236391A true CN117236391A (zh) 2023-12-15

Family

ID=89094104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311175404.XA Pending CN117236391A (zh) 2023-09-13 2023-09-13 利用mram实现基于随机计算的贝叶斯神经网络存算一体方法

Country Status (1)

Country Link
CN (1) CN117236391A (zh)

Similar Documents

Publication Publication Date Title
US11151439B2 (en) Computing in-memory system and method based on skyrmion racetrack memory
EP3671748A1 (en) In-memory computing for machine learning
CN111478703B (zh) 基于忆阻交叉阵列的处理电路及输出电流的补偿方法
CN113688984B (zh) 一种基于磁性随机存储器的存内二值化神经网络计算电路
CN113936717B (zh) 一种复用权重的存算一体电路
CN117636945B (zh) 5bit带符号位的同或与同或累加运算电路、CIM电路
He et al. Accelerating low bit-width deep convolution neural network in MRAM
CN112182495B (zh) 一种基于忆阻器的二元域矩阵运算电路
CN111193511A (zh) 一种应用于基于eFlash存算一体电路的数模混合读取电路的设计
WO2021038228A1 (en) Refactoring mac operations
CN115390789A (zh) 基于磁隧道结计算单元的模拟域全精度存内计算电路及方法
CN114822638A (zh) 计算器件以及计算方法
CN114937470B (zh) 基于多比特sram单元的定点全精度存内计算电路
CN112989273A (zh) 一种利用补码编码进行存内运算的方法
Yang et al. Essence: Exploiting structured stochastic gradient pruning for endurance-aware reram-based in-memory training systems
CN118034644A (zh) 一种基于eDRAM的高密度高可靠性存内计算电路
CN108154226B (zh) 一种使用模拟计算的神经网络芯片
CN115879530B (zh) 一种面向rram存内计算系统阵列结构优化的方法
CN110085270B (zh) 存储运算电路模块及处理器
CN116860696A (zh) 一种基于非易失性存储器的存内计算电路
CN117236391A (zh) 利用mram实现基于随机计算的贝叶斯神经网络存算一体方法
CN114093394B (zh) 一种可转置存内计算电路及其实现方法
CN113553028B (zh) 基于概率比特电路的问题求解优化方法及系统
Zhang et al. On-Device Continual Learning With STT-Assisted-SOT MRAM Based In-Memory Computing
US20230161557A1 (en) Compute-in-memory devices and methods of operating the same

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