机器学习硬件加速器制造技术

技术编号:32872055 阅读:14 留言:0更新日期:2022-04-02 12:02
本申请公开机器学习硬件加速器。在存储器设备中,静态随机存取存储器(SRAM)电路包括按行和列排列并配置为存储数据的SRAM单元阵列[401、403]。SRAM阵列[401、403]被配置为:在SRAM阵列[401、403]中的查找表中存储用于机器学习(ML)过程的第一组信息;以及从查找表沿着SRAM单元的行连续地访问来自选择的SRAM单元组的信息。存储器控制器电路被配置为基于用于ML过程的第二组信息来选择SRAM单元组。ML过程的第二组信息来选择SRAM单元组。ML过程的第二组信息来选择SRAM单元组。

【技术实现步骤摘要】
机器学习硬件加速器

技术介绍

[0001]机器学习(ML)是一种帮助软件系统学习以从数据中识别模式,而无需直接编程来这样做的人工智能(AI)。机器学习可以涉及广泛的技术。ML技术的示例包括神经网络和深度学习。广义上讲,ML技术以两个阶段操作,即:(a)训练阶段,在此阶段,模型和/或权重基于接收到的训练数据进行调整;和(b)操作阶段,在此阶段,这些模型和/或权重应用于接收到的实际数据。
[0002]ML技术在智能系统中非常有用,以检测或识别环境的多个方面。此类检测或识别场景的示例包括语音识别、视频和/或图像中的对象识别、手势和运动识别、声音签名检测、异常检测等。机器学习技术能够消耗大量的处理、数据和功率资源。这些要求对在便携式、电池供电和/或低功耗设备上执行复杂的ML技术提出了挑战。为了解决这些挑战,一种解决方法将部分或所有ML操作的处理卸载到远程网络(如云端),并将卸载后的ML操作的结果返回给设备。然而,该解决方法能够将不相关的信息发送到云端进行处理。例如,“始终开启”的设备能够不断监听特定的命令或关键字,捕获大量不相关的音频,并将不相关的音频上传到云端中进行处理,这会造成浪费带宽、处理能力和潜在的隐私问题。

技术实现思路

[0003]在存储器设备中,一种静态随机存取存储器(SRAM)电路包括按行和列排列并配置为存储数据的SRAM单元的阵列。SRAM阵列被配置为:在SRAM阵列中的查找表中存储用于机器学习(ML)过程的第一组信息;以及从查找表沿着SRAM单元的行连续地访问来自选择的SRAM单元组的信息。存储器控制器电路被配置为基于用于ML过程的第二组信息来选择SRAM单元组。
[0004]在另一方面中,一种系统包括耦合到存储器电路的一个或多个微处理器。存储器电路包括静态随机存取存储器(SRAM)电路,静态随机存取存储器(SRAM)电路包括按行和列排列并配置为存储数据的SRAM单元的阵列,SRAM阵列被配置为:在SRAM阵列中的查找表中存储用于机器学习(ML)过程的第一组信息;以及从查找表沿着SRAM单元的行连续地访问来自选择的SRAM单元组的信息。存储器控制器电路被配置为基于用于ML过程的第二组信息来选择SRAM单元组。
[0005]在另一方面中,一种方法包括接收用于机器学习(ML)过程的第一组信息;将第一组信息存储在SRAM单元的阵列中的查找表中,SRAM单元按行和列排列;基于用于ML过程的第二组信息选择SRAM单元组;以及从查找表沿着SRAM单元的行连续地访问来自选择的SRAM单元组的信息。
附图说明
[0006]图1在该说明书的多个方面中图示了示例分布式算术(DA)计算。
[0007]图2A、图2B和图2C是在该说明书的多个方面中的DA电路的框图。
[0008]图3在该说明书的多个方面中图示了ML网络的示例层。
[0009]图4在该说明书的多个方面中图示了示例SRAM存储器电路。
[0010]图5在该说明书的多个方面中图示了卷积层的示例操作。
[0011]图6在该说明书的多个方面中图示了具有进位保存加法器和移位器的示例累加器电路。
[0012]图7在该说明书的多个方面中图示了包括多个累加器电路的示例列选择电路。
[0013]图8在该说明书的多个方面中图示了用于预计算数据的电路。
[0014]图9在该说明书的多个方面中图示了用于增加ML过程的处理吞吐量的技术。
[0015]图10是在该说明书的多个方面中的计算设备的实施例的框图。
具体实施方式
[0016]为了提高设备的效率,专用硬件与更通用的硬件一起或代替更通用的硬件执行特定的操作。一个示例是图形处理单元(GPU)以及中央处理单元(CPU)。在该说明书的多个方面中,基于分布式算法(DA)和近存储器计算的ML硬件加速器可以提高操作ML网络的效率。
[0017]图1在该说明书的多个方面中图示了示例DA计算100。分布式算法是一种用于通过使用加法和移位运算代替硬件乘法器来高效求解乘法和累加运算的技术。DA计算可以是但不一定是位串行操作,该位串行操作通过预先计算某些常用值并根据需要将这些值存储在查找表(LUT)中,在单个步骤中形成一对向量的点积。例如,形式为的等式(其中A
n
是固定系数,X
n
是接收到的数据,n是和的数量)可以以Y=A[0]X[0]+A[1]X[1]...A[N]X[N]形式展开。其中接收到的数据X是K位长(例如,8位、16位等),并且其中X[0][0]表示X[0]的最低有效位(LSB)[0],则该等式可以如图1所示展开。在该示例中,每个X都是单个二进制位,即逻辑0或逻辑1。DA计算不是通过将A[0]与X[0][0]相乘,将A[0]与X[0][1]*21相乘,并将这些相乘步骤的结果相加来执行计算,而是有效地垂直考虑等式。因此,在该示例中,LUT中,DA计算将X[n][i]的可能值(例如该示例中的十六个可能值)映射到在A[0]、A[1]、A[2]和A[3]的线性组合,如图1的102A

102D所示,并且如下面的表1所示。
[0018]表1
[0019]X[0][i]X[1][i]X[2][i]X[3][i] Y0000 00001 A[3]0010 A[2]0011 A[2]+A[3]0100 A[1]0101 A[1]+A[3]0110 A[1]+A[2]0111 A[1]+A[2]+A[3]1000 A[0]1001 A[0]+A[3]1010 A[0]+A[2]1011 A[0]+A[2]+A[3]1100 A[0]+A[1]1101 A[0]+A[1]+A[3]1110 A[0]+A[1]+A[2]1111 A[0]+A[1]+A[2]+A[3][0020]因此,电路200(图2A)可以通过将正被处理到LUT的X[N][i]位的值映射到适当的Y值来求解使用DA的等式。例如,对于i=1位,其中X[0][1]是0,X[1][1]是1,X[2][1]是0,X[3][1]是1,Y值是A[1]+A[3]。从LUT 202读取A[1]+A[3]的值并将其置于累加器204中。从LUT读取X的下一个值,其中i=2,并通过执行来自LUT的值的左移位或右移位,有效地与累加器204的内容相乘。
[0021]因此,一个示例对累加器204的内容执行右移206,然后(经由加法器208)将结果加到累加器204的内容。对接收数据的所有K位重复该过程,以确定等式的解。通常,与求解此类等式的常规技术相比,使用DA求解会增加许多加法运算,但不需要复杂的乘法运算。这有助于DA计算比传统技术更高效,因为与传统技术的复杂乘法运算相比,LUT查找、位移位和加法步骤消耗的处理、数据和功率资源的量更少。使用DA计算,评估加权和的另一种方法是使用X[i]以及使用A[i]填充LUT以寻址LUT。
[0022]在某些情况下,可以减小LUT的大小,诸如通过使用多个较小的LUT或偏移二进制编码。图2B图示了使用偏移二进制编码的示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储器设备,包括:静态随机存取存储器电路即SRAM电路,其包括按行和列排列并配置为存储数据的SRAM单元的阵列,SRAM阵列被配置为:在所述SRAM阵列中的查找表中存储用于机器学习过程即ML过程的第一组信息;并且从所述查找表沿所述SRAM单元的行连续访问来自选择的SRAM单元组的信息;以及存储器控制器电路,其被配置为基于用于所述ML过程的第二组信息来选择所述SRAM单元组。2.根据权利要求1所述的存储器设备,还包括:第一开关电路,其被配置为基于来自所述第二组信息的位值来选择所述查找表的列;以及第一累加器电路,其被配置为:接收从所选择的SRAM单元组访问的信息;以及当连续地访问接收的信息的第一位时,对第一位执行第一逐位加法和移位。3.根据权利要求2所述的存储器设备,还包括:第二开关电路,其被配置成基于来自第三组信息的位值来选择所述查找表的列;以及第二累加器电路,其被配置为:接收从所述选择的SRAM单元组访问的所述信息;以及在连续访问接收的信息的第二位时,对第二位执行第二逐位加法和移位。4.根据权利要求3所述的存储器设备,其中所述第一累加器电路和所述第二累加器电路包括一组1位全加器。5.根据权利要求1所述的存储设备,其中所述第一组信息基于适用于所述ML过程的一个或更多个权重,并且所述第二组信息包括用于所述ML过程的输入数据。6.根据权利要求1所述的存储设备,其中所述第一组信息包括用于所述ML过程的输入数据,并且所述第二组信息基于适用于所述ML过程的一个或更多个权重。7.根据权利要求6所述的存储器设备,还包括被配置为基于所述输入数据计算一组可能的结果的电路。8.一种系统,包括:耦合到存储器电路的一个或更多个微处理器,所述存储器电路包括:静态随机存取存储器电路即SRAM电路,其包括按行和列排列并配置为存储数据的SRAM单元的阵列,SRAM阵列被配置为:在所述SRAM阵列中的查找表中存储用于机器学习过程即ML过程的第一组信息;以及从所述查找表沿所述SRAM单元的行连续访问来自选择的一组所述SRAM单元的信息;以及存储器控制器电路,其被配置为基于用于所述ML过程的第二组信息来选择该组所述SRAM单元。9.根据权利要求8所述的系统,其中所述存储器电路包括:第一开关电路,其被配置为基于来自所述第二组信息的位值来选择所述查找表的列;以及第一累加器电路,其被配置为:接...

【专利技术属性】
技术研发人员:M
申请(专利权)人:德克萨斯仪器股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1