神经网络加速方法、神经网络加速器、芯片及电子设备与流程
未命名
07-13
阅读:128
评论:0
bit向量相乘,再将所述向量相乘的结果按位进行加法运算,然后进行移位操作,并送入二进制累加器进行累加,使得对于多元素多bit向量的整个二进制点积处理的过程更加简单、高效,从而大大提升了对所述的二进制向量基于神经网络算法进行运算处理的运算效率,同时降低了系统功耗。
8.优选的,在步骤将所述向量相乘的结果按位进行加法运算和进行移位操作之间,还包括:将所述加法运算结果用二进制表示;对所述用二进制表示的结果进行按位提取。
9.通过采用上述技术方案,从而使得对所述的二进制向量基于神经网络算法进行运算处理时,可以更加高效、低功耗的处理无符号二进制向量与无符号二进制向量的点积运算。
10.优选的,在步骤将所述移位操作的结果送入二进制累加器进行累加之前,还包括:对送入二进制累加器的以补码表示的二进制数据进行位数扩展操作。
11.通过采用上述技术方案,从而使得对所述的二进制向量基于神经网络算法进行运算处理时,可以处理无符号二进制向量与有符号二进制向量的点积运算。
12.优选的,具体需要扩展的位数y通过以下方法获得:y=。
13.通过采用上述技术方案,从而可以获得满足需求的扩展位数,同时减少系统开销。
14.优选的,在步骤对所述用二进制表示的结果进行按位提取之后,还包括:对最高位按位取反加1。
15.通过采用上述技术方案,从而使得对所述的二进制向量基于神经网络算法进行运算处理时,可以处理有符号二进制向量与有符号二进制向量的点积运算。
16.优选的,所述的n≥4,m≥5时,采用本技术的技术方案可以大大提升对所述的二进制向量基于神经网络算法进行运算处理的运算效率,同时降低系统功耗。
17.第二方面,本技术提供的一种神经网络加速器采用如下的技术方案:一种神经网络加速器,包括:数据接收及处理模块,用于响应于数据接收指令,接收二进制向量形式的待处理数据;或响应于数据接收指令,接收二进制向量形式的待处理数据,并将所述待处理数据存入存储器中;所述二进制向量为m元素n bit的向量,所述的m、n为任意整数;神经网络处理模块,与所述的数据接收及处理模块连接,用于响应于神经网络运算指令,对所述的二进制向量基于神经网络算法进行运算处理;或响应于神经网络运算指令,调取所述存储器中的二进制向量,对所述的二进制向量基于神经网络算法进行运算处理;所述的神经网络处理模块包括:m*n单bit乘法器,用于将n个m元素的单bit向量分别与m元素x bit向量相乘;所述的n个m元素的单bit向量由对m元素n bit的二进制向量中的所有元素进行按位提取获得;n路m输入混合信号加法器,与所述m*n单bit乘法器相连,用于将所述向量相乘的结果按位进行加法运算;移位寄存器,与所述n路m输入混合信号加法器相连,用于对n路m输入混合信号加
法器的输出结果进行移位操作;二进制累加器,与移位寄存器相连,用于对移位寄存器的输出结果进行累加获得处理结果。
18.通过采用以上技术方案,尤其是利用所述的m*n单bit乘法器、n路m输入混合信号加法器、移位寄存器及二进制累加器,从而使得神经网络算法中对于多元素多bit向量的二进制点积处理的过程更加简单、高效,进而大大提升了对所述的二进制向量基于神经网络算法进行运算处理的运算效率,同时降低了系统功耗。
19.优选的,所述的n路m输入混合信号加法器包括:n个单路m输入混合信号累加器,所述的单路m输入混合信号累加器包括并联连接的电容、与各个电容一端分别串联连接的选择开关和信号输入端口以及与各个电容另一端分别连接的比较器;利用所述的信号输入端口将m个输入值通过电容电荷的方式采样到电容阵列上,电容阵列上的总电荷等效于m个输入累加的结果;再利用逐次逼近型adc原理,结合选择开关和比较器,将所述电容阵列上的总电荷转换为累加结果的二进制输出,输出时从高位到低位依次输出。
20.通过采用上述技术方案来实现n路m输入混合信号加法器,其与m*n单bit乘法器都是基于存内计算硬件实现,属于存算一体的架构,因而不需要额外单独的累加器,节省了面积和功耗。
21.更优选的 ,所述的利用逐次逼近型adc原理,结合选择开关和比较器,将所述电容阵列上的总电荷转换为累加结果的二进制输出,输出时从高位到低位依次输出,包括:将所述电容阵列与所有信号输入端口以及电源(vcm)断开,将m个电容组合成log2m位二进制权重电容阵列,上极板全接在一起连到比较器的负向输入端,比较器的正向输入端连接所述电源(vcm);将第 [(log2m)-1]位接“1”,低于[(log2m)-1]位全部接“0”;读取比较器输出端out的值,若out=1,则第 [(log2m)-1]位保持为1;若out=0,则第 [(log2m)-1]位变为0;第 [(log2m)-1]位的值确定后,在后续的步骤中保持不变;(1相当于接通电源,0相当于接地)将第 [(log2m)-2]位接“1”,低于 [(log2m)-2]位全部接“0”;读取比较器输出端out的值,若out=1,则第 [(log2m)-2]位保持为1;若out=0,则第 [(log2m)-2]位变为0;第 [(log2m)-2]位的值确定后,在后续的步骤中保持不变;以此类推,直至得到最低位的值;以上步骤中依次输出的out值则为累加结果的由高位到低位的二进制输出。
[0022]
优选的,所述的神经网络处理模块还包括:选择电路,所述的选择电路分别与n路m输入混合信号加法器和移位寄存器相连,用于控制取反使能作用的开启或关闭。
[0023]
通过采用以上技术方案,从而使得神经网络加速器能够同时适用于无符号向量与无符号向量的点积运算、有符号向量与有符号向量的点积运算以及有符号向量与无符号向量的点积运算,可根据实际的需求进行模式选择。
[0024]
优选的,所述的神经网络处理模块还包括:二进制位数扩展电路,所述的二进制位数扩展电路包括buffer和高位选择器,低位直接原值输入经buffer输出,高位选择器根据输入是无符号或有符号数,将0或者输入最高位的值输出,高低位共同实现将nbit二进制数扩展为ybit二进制数,其中y》n。
[0025]
通过采用上述技术方案,从而使得本技术的神经网络加速器能够实现进行有符号向量与无符号向量的点积运算,并且电路简单,成本低。
[0026]
第三方面,本技术提供的一种芯片采用如下的技术方案:一种芯片,包括前述的神经网络加速器。
[0027]
第四方面,本技术提供的一种电子设备采用如下的技术方案:一种电子设备,包括如前述的神经网络加速器或者如前述的芯片。
[0028]
综上所述,本技术包括以下至少一种有益技术效果:本技术中,尤其是对m元素n bit的二进制向量中的所有元素进行按位提取,获得n个m元素的单bit向量,然后再将所述的n个m元素的单bit向量分别与m元素x bit向量相乘,再将所述向量相乘的结果按位进行加法运算,然后进行移位操作,并送入二进制累加器进行累加,使得对于多元素多bit向量的整个二进制点积处理的过程更加简单、高效,从而大大提升了对所述的二进制向量基于神经网络算法进行运算处理的运算效率,同时降低了系统功耗。
[0029]
本技术中,在步骤将所述向量相乘的结果按位进行加法运算和进行移位操作之间,通过采用步骤将所述加法运算结果用二进制表示;对所述用二进制表示的结果进行按位提取,从而使得对所述的二进制向量基于神经网络算法进行运算处理时,可以更加高效、低功耗的处理无符号二进制向量与无符号二进制向量的点积运算。
[0030]
本技术的神经网络加速器实现了“两无符号向量点积运算”,“无符号数与有符号向量点积运算”和“双有符号向量点积运算”,并在单个系统实现了同时支持。
附图说明
[0031]
图1是本技术的一种实施例中的神经网络加速方法的方法流程图。
[0032]
图2是本技术的一种实施例中的两个无符号二进制向量点积算法的方法流程图。
[0033]
图3是本技术的另一种实施例中的两个无符号二进制向量点积算法的方法流程图。
[0034]
图4是本技术的另一种实施例中的无符号二进制向量与有符号二进制向量的点积算法的方法流程图。
[0035]
图5是本技术的另一种实施例中的两个有符号二进制向量的点积算法的方法流程图。
[0036]
图6是本技术的一种实施例中的神经网络处理模块的示意框图。
[0037]
图7是本技术实施例的工作原理中采用方法1的示例计算方法流程图。
[0038]
图8是本技术实施例的工作原理中采用方法2的示例计算方法流程图。
[0039]
图9是本技术实施例的工作原理中采用方法3的示例计算方法流程图。
[0040]
图10是本技术实施例的工作原理中采用方法4的示例计算方法流程图。
[0041]
图11-图12是单路m输入混合信号累加器的电路原理图。
[0042]
图13是二进制位数扩展电路的电路原理图。
具体实施方式
[0043]
以下结合附图1-图13对本技术作进一步详细说明。
[0044]
在很多数据的处理中,尤其是在神经网络的运算处理中,需要实现2个向量[a0,a1,a2,...,a
n-1
]和[w0,w1,w2,...,w
n-1
]的点积运算:“a0*w0+a1w1+a2*w2+...+a
n-1
*w
n-1”,而用电子系统实现时,数据通常只能以二进制的形式存储和运算,所以需要实现相应二进制向量的点积运算。点积运算最简单的实现方式是基于已有的基本运算单元:“二进制乘法器”和“累加器”,将需要的乘法和累加运算逐步实现,但用这种通用运算单元实现点积的计算是非常低效且高功耗的,也即使得神经网络算法的计算比较低效且高功耗。为了实现更高效率和更低功耗的神经网络运算,可以采用本技术的以下技术方案。
[0045]
本技术实施例公开一种神经网络加速方法。参照图1,一种神经网络加速方法,包括:s1’,响应于数据接收指令,接收二进制向量形式的待处理数据,所述二进制向量为m元素n bit的向量,所述的m、n为任意整数;s2’,响应于神经网络运算指令,对所述的二进制向量基于神经网络算法进行运算处理;或s1,响应于数据接收指令,接收二进制向量形式的待处理数据,并将所述待处理数据存入存储器中,所述二进制向量为m元素n bit的向量,所述的m、n为任意整数;s2,调取所述存储器中的二进制向量,对所述的二进制向量基于神经网络算法进行运算处理;其中,步骤s2’或s2中所述的对所述的二进制向量基于神经网络算法进行运算处理,包括,对所述的二进制向量进行点积运算,具体包括(如图2所示):s21,对m元素n bit的二进制向量中的所有元素进行按位提取,获得n个m元素的单bit向量;s22,将所述的n个m元素的单bit向量分别与m元素x bit向量相乘;s23,将所述向量相乘的结果按位进行加法运算,然后进行移位操作(即乘以权重);s24,将所述移位操作的结果送入二进制累加器进行累加获得处理结果。
[0046]
通过以上步骤实现的向量点乘运算,相对于传统的点积运算方法,减少了运算过程、大大提高了运算效率、且降低了系统功耗,进而提高了神经网络处理装置的运算效率,同时降低了其功耗。
[0047]
为了进一步提升神经网络处理装置的运算效率,同时降低其功耗,在步骤s23中,将所述向量相乘的结果按位进行加法运算和进行移位操作之间,还包括(如图3所示):将所述加法运算结果用二进制表示;对所述用二进制表示的结果进行按位提取。
[0048]
为了使得神经网络处理装置能够同时实现对无符号向量与有符号向量的高效、低功耗的点积运算,在步骤s24中将所述移位操作的结果送入二进制累加器进行累加之前,还包括(如图4所示):对送入二进制累加器的以补码表示的二进制数据进行位数扩展操作。
[0049]
在某一实施例中,具体需要扩展的位数y可通过以下方法获得:y=。
[(log2m)-2]位的值确定后,在后续的步骤中保持不变;以此类推,直至得到最低位的值,即将b [0] 接“1”,其它更低位全部接“0”,读取比较器输出端out的值,若out=1,则b [0]保持为1;若out=0,则b [0]变为0;以上步骤中依次输出的out值则为累加结果的由高位到低位的二进制输出。
[0055]
为了使得神经网络加速器能够同时适用于无符号向量与无符号向量的点积运算、有符号向量与有符号向量的点积运算以及有符号向量与无符号向量的点积运算,可根据实际的需求进行模式选择,所述的神经网络处理模块还包括:选择电路,所述的选择电路分别与n路m输入混合信号加法器和移位寄存器相连,用于控制取反使能作用的开启或关闭。
[0056]
上述的神经网络加速器中,在进行有符号向量与无符号向量的点积运算时,所述的神经网络处理模块还包括:二进制位数扩展电路,如图13所示,所述的二进制位数扩展电路包括buffer和高位选择器,低位直接原值输入经buffer输出,高位选择器根据输入是无符号或有符号数,将0或者输入最高位的值输出,高低位共同实现将nbit二进制数扩展为ybit二进制数,其中y》n;图中,若i 为无符号数,则sign_en=0, o [n]~o [y-1]=0;若i 为有符号数补码,则sign_en=1, o [n]~o [y-1]=i[n-1]。
[0057]
本技术实施例还公开一种芯片。一种芯片,包括上述任一项所述的神经网络加速器。
[0058]
本发明提供的包括上述神经网络加速器的芯片,可以是感存算一体的芯片或者是其它功能的芯片。值得说明的是,本发明提供的神经网络加速器也可以以芯片的形式存在。
[0059]
本技术实施例还公开一种电子设备。一种电子设备,包括如上述的神经网络加速器或者如上述的芯片。
[0060]
本技术实施例中的对所述的二进制向量进行点积运算的实施原理为:假设需要实现2个向量[a0,a1,a2]和[w0,w1,w2]的点积运算:“a0*w0+a1w1+a2*w2+...+a
n-1
*w
n-1”,其中,。
[0061]
对应的转化为二进制向量,即三元素3bit向量进行点积运算时,通过“二进制乘法器”和“累加器”,将需要的乘法和累加运算逐步实现,需要3次2个3-bit数的乘法运算以及3次加法运算,相当于6次移位操作和9次累加操作;而采用本技术中的技术方案——s21,对m元素n bit的二进制向量中的所有元素进行按位提取,获得n个m元素的单bit向量;s22,将所述的n个m元素的单bit向量分别与m元素x bit向量相乘;s23,将所述向量相乘的结果按位进行加法运算,然后进行移位操作(即乘以权重);s24,将所述移位操作的结果送入二进制累加器进行累加获得处理结果,进行计算时(简称方法1),如图7所示,即假设m=n=3,需要9次乘法(移位)操作, 6次累加操作,外加9个单bit二输入乘法器进行乘法运算以及9次3个单bit数相加操作。由此可知,三元素3bit向量进行点积运算时采用本技术中的技术方案,优势还不太明显。
[0062]
但是当n=4,m=5时,采用传统的“二进制乘法器”和“累加器”实现点积运算,需要15次乘法运算以及19次累加运算;而采用本技术的方法1进行运算时,仅需12乘法运算和11次
累加运算,因而当n≥4,m≥5时,采用本技术的技术方案可以大大提升对所述的二进制向量基于神经网络算法进行运算处理的运算效率,同时降低系统功耗。
[0063]
进一步的,可推导得到:当对m元素n bit向量与m元素n bit向量进行点积运算时,采用传统的乘法和累加运算,需要m次2个n-bit数的乘法运算以及m次加法运算,相当于m*(n-1)次移位操作和m*n次累加操作;采用本技术的步骤s21-s24的技术方案后,需要n*n次乘法(移位)运算, n*n-1次累加运算,外加m*n个单bit二输入乘法器以及n2次m个单bit数相加。以m=64, n=8为例,传统方法需要448次移位操作和511次累加操作;而采用本技术的步骤s21-s24的技术方案后,需要64次移位操作,63次累加操作,外加64*8个单bit二输入乘法器以及8*8次64个单bit数相加操作。通过对比可以明显判断,本技术的技术方案中,需要的移位操作和累加操作相比传统乘法累加器大大减少,效率提升约7~8倍。由此可知,对于m和n较大的场景下,采用本技术的技术方案可以大大提升对所述的二进制向量基于神经网络算法进行运算处理的运算效率,同时降低系统功耗。
[0064]
在以上处理方法的基础上,为了进一步提升神经网络处理装置的运算效率,同时降低其功耗,在步骤s23中,将所述向量相乘的结果按位进行加法运算和进行移位操作之间,还可包括:将所述加法运算结果用二进制表示;对所述用二进制表示的结果进行按位提取(简称方法2)。具体的,如在前述内容的基础上,进一步以上处理后,如图8所示,乘法(移位)运算从9次变为6次,累加从8次变为5次。
[0065]
进一步的,可推导得到:当对m元素n bit向量与m元素n bit向量进行点积运算时,采用本技术的步骤s21-s24的技术方案及步骤“将所述加法运算结果用二进制表示;对所述用二进制表示的结果进行按位提取”后,需要
⌈
log2(m+1) ⌉
*n次乘法(移位)运算,
⌈
log2(m+1) ⌉
*n-1次累加运算,以及m*n个二输入单bit乘法器以及n2次m个单bit数相加操作。
[0066]
对比传统方法、方法1及方法2的向量点积处理效率,如表1和表2所示:表1 运算效率对比(m=64, n=8)
[0067]
表2运算效率对比(m=32, n=8)
[0068]
由此可知:相比传统算法,本技术中的方法1和方法2需要的额外m*n个二输入单bit乘法器以及n2次m个单bit数相加操作,而这两个功能可以用混合信号处理单元实现(比如基于sram的混合信号存算一体单元),其并不会影响移位和累加部分的运算效率,运算效率也依旧由移位和累加的次数决定。因此,本技术通过采用方法1和方法2,可以大大提高多元多bit向量的点积运算效率,尤其是采用方法2,可以在方法1的基础上,进一步提高多元素多bit向量的点积运算效率。
[0069]
在方法1的基础上,进一步的,对于无符号向量与有符号向量的点积运算,如:。
[0070]
需要在方法2的基础上,根据最终累加结果可能的最大范围对送入累加器的补码进行位数扩展(简称方法3),然后再参与运算。
[0071]
整个运算过程图9所示。
[0072]
对于有符号向量[a0,a1,a2,...,a
m-1
]和[w0,w1,w2,...,w
m-1
]的点积运算,如:。
[0073]
对应的二进制向量点积运算,在具体计算时,在方法3的基础上,在步骤对所述用二进制表示的结果进行按位提取之后,对最高位按位取反加1(简称方法4),即可获得最终结果。根据所述示例,具体的点积运算流程示意图如图10所示。其中,图10中,需要加入的两个常数可以乘权重之前加,也可以在最后的累加器加进去。上述的方法流程图中,算法中高低位的运算顺序不是固定的,而是可以变化的。图10中,对于有符号向量和有符号向量的点积运算模式下,进行位数扩展补位的时候,补0或补1是根据原二进制数决定的,负数(即最高位为1)扩展时需要补1,正数(即最高位为0)扩展时需要补0。
[0074]
本发明提供的神经网络加速器可以应用于诸多ai领域,例如包括本发明提供的神经网络加速器的存算处理系统可以为基于感存算一体技术架构实现的模数混合ai视觉芯片,该ai视觉芯片具有更低功耗与更高的能效比。本发明提供的神经网络加速器可应用于自动驾驶、ar、vr、激光雷达,还可广泛应用于智能手机、平板电脑、可穿戴电子装备、智能家居电子产品、工业或医疗或电池供电类等一系列对低功耗与高能效比有需求的应用领域。
[0075]
以上均为本技术的较佳实施例,并非依此限制本技术的保护范围,故:凡依本技术的方法、结构、原理所做的等效变化,均应涵盖于本技术的保护范围之内。
技术特征:
1.一种神经网络加速方法,其特征在于,包括:响应于数据接收指令,接收二进制向量形式的待处理数据,所述二进制向量为m元素n bit的向量,所述的m和n均为任意整数;响应于神经网络运算指令,对所述的二进制向量基于神经网络算法进行运算处理;或响应于数据接收指令,接收二进制向量形式的待处理数据,并将所述待处理数据存入存储器中,所述二进制向量为m元素n bit的向量,所述的m、n为任意整数;调取所述存储器中的二进制向量,对所述的二进制向量基于神经网络算法进行运算处理;其中,所述的对所述的二进制向量基于神经网络算法进行运算处理,包括,对所述的二进制向量进行点积运算,包括:对m元素n bit的二进制向量中的所有元素进行按位提取,获得n个m元素的单bit向量;将所述的n个m元素的单bit向量分别与m元素x bit向量相乘;所述的x为任意整数;将所述向量相乘的结果按位进行加法运算,然后进行移位操作;将所述移位操作的结果送入二进制累加器进行累加获得处理结果。2.根据权利要求1所述的神经网络加速方法,其特征在于,在步骤将所述向量相乘的结果按位进行加法运算和进行移位操作之间,还包括:将所述加法运算结果用二进制表示;对所述用二进制表示的结果进行按位提取。3.根据权利要求2所述的神经网络加速方法,其特征在于,在步骤将所述移位操作的结果送入二进制累加器进行累加之前,还包括:对送入二进制累加器的以补码表示的二进制数据进行位数扩展操作。4.根据权利要求3所述的神经网络加速方法,其特征在于,所述的进行位数扩展操作,具体需要扩展的位数y通过以下方法获得:y=。5.根据权利要求3所述的神经网络加速方法,其特征在于,在步骤对所述用二进制表示的结果进行按位提取之后,还包括:对最高位按位取反加1。6.根据权利要求1所述的神经网络加速方法,其特征在于,所述的n≥4,m≥5。7.一种神经网络加速器,其特征在于,包括:数据接收及处理模块,用于响应于数据接收指令,接收二进制向量形式的待处理数据;或响应于数据接收指令,接收二进制向量形式的待处理数据,并将所述待处理数据存入存储器中;所述二进制向量为m元素n bit的向量,所述的m、n为任意整数;神经网络处理模块,与所述的数据接收及处理模块连接,用于响应于神经网络运算指令,对所述的二进制向量基于神经网络算法进行运算处理;或响应于神经网络运算指令,调取所述存储器中的二进制向量,对所述的二进制向量基于神经网络算法进行运算处理;所述的神经网络处理模块包括:m*n单bit乘法器,用于将n个m元素的单bit向量分别与m元素x bit向量相乘;所述的n个m元素的单bit向量由对m元素n bit的二进制向量中的所有元素进行按位提取获得;n路m输入混合信号加法器,与所述m*n单bit乘法器相连,用于将所述向量相乘的结果按位进行加法运算;移位寄存器,与所述n路m输入混合信号加法器相连,用于对n路m输入混合信号加法器的输出结果进行移位操作;
二进制累加器,与移位寄存器相连,用于对移位寄存器的输出结果进行累加获得处理结果。8.根据权利要求7所述的神经网络加速器,其特征在于,所述的n路m输入混合信号加法器包括:n个单路m输入混合信号累加器,所述的单路m输入混合信号累加器包括并联连接的m个电容阵列、与各个电容一端分别串联连接的选择开关和信号输入端口以及与各个电容另一端分别连接的比较器和电源;进行工作时,将所述的电源接通,利用所述的信号输入端口将m个输入值通过电容电荷的方式采样到电容阵列上,电容阵列上的总电荷等效于m个输入累加的结果;再利用逐次逼近型adc原理,结合选择开关和比较器,将所述电容阵列上的总电荷转换为累加结果的二进制输出,输出时从高位到低位依次输出。9.根据权利要求8所述的神经网络加速器,其特征在于,所述的利用逐次逼近型adc原理,结合选择开关和比较器,将所述电容阵列上的总电荷转换为累加结果的二进制输出,输出时从高位到低位依次输出,包括:将所述电容阵列与所有信号输入端口以及电源断开,将m个电容组合成log2m位二进制权重电容阵列,上极板全接在一起连到比较器的负向输入端,比较器的正向输入端连接所述电源;将第 [(log2m)-1]位接“1”,低于[(log2m)-1]位全部接“0”;读取比较器输出端out的值,若out=1,则第 [(log2m)-1]位保持为1;若out=0,则第 [(log2m)-1]位变为0;第 [(log2m)-1]位的值确定后,在后续的步骤中保持不变;将第 [(log2m)-2]位接“1”,低于 [(log2m)-2]位全部接“0”;读取比较器输出端out的值,若out=1,则第 [(log2m)-2]位保持为1;若out=0,则第 [(log2m)-2]位变为0;第 [(log2m)-2]位的值确定后,在后续的步骤中保持不变;以此类推,直至得到最低位的值;以上步骤中依次输出的out值则为累加结果的由高位到低位的二进制输出。10.根据权利要求7所述的神经网络加速器,其特征在于,所述的神经网络处理模块还包括:选择电路,所述的选择电路分别与n路m输入混合信号加法器和移位寄存器相连,用于控制取反使能作用的开启或关闭。11.根据权利要求7所述的神经网络加速器,其特征在于,所述的神经网络处理模块还包括:二进制位数扩展电路,所述的二进制位数扩展电路包括buffer和高位选择器,低位直接原值输入经buffer输出,高位选择器根据输入是无符号或有符号数,将0或者输入最高位的值输出,高低位共同实现将nbit二进制数扩展为ybit二进制数,其中y>n。12.一种芯片,其特征在于,包括权利要求7-11任一项所述的神经网络加速器。13.一种电子设备,其特征在于,包括如权利要求7-11任一项所述的神经网络加速器或者如权利要求12所述的芯片。
技术总结
本申请涉及神经网络加速方法、加速器、芯片及电子设备,所述方法包括:响应于数据接收指令,接收二进制向量形式的待处理数据;响应于神经网络运算指令,对所述的二进制向量基于神经网络算法进行运算处理;所述的对所述的二进制向量基于神经网络算法进行运算处理,包括,对所述的二进制向量进行点积运算,包括:对m元素n bit的二进制向量中的所有元素进行按位提取,获得n个m元素的单bit向量;将所述的n个m元素的单bit向量分别与m元素x bit向量相乘;将所述向量相乘的结果按位进行加法运算,然后进行移位操作;最后将所述移位操作的结果送入二进制累加器进行累加获得处理结果。本申请可以提高神经网络的运算效率并降低功耗。请可以提高神经网络的运算效率并降低功耗。请可以提高神经网络的运算效率并降低功耗。
技术研发人员:陈科 杨晓风
受保护的技术使用者:深圳市九天睿芯科技有限公司
技术研发日:2023.06.07
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:机器人的定位方法与流程 下一篇:一种可快速对接的公路桥梁用护栏的制作方法
