【技术实现步骤摘要】
【国外来华专利技术】加速嵌入层计算
相关申请的交叉引用
[0001]本申请要求于2019年10月2日提交的美国申请62/909,667的优先权,该申请通过引用并入本文。
技术介绍
[0002]本说明书一般涉及使用电路来执行神经网络计算。
[0003]神经网络是机器学习模型,其采用一个或多个节点层来为接收到的输入生成输出,例如分类。除了输出层之外,一些神经网络还包括一个或多个隐藏层。每个隐藏层的输出被用作为网络中的一个或多个其它层的输入,例如网络的其它隐藏层或输出层。网络的一些层根据相应参数集的当前值从接收到的输入产生输出。
[0004]一些神经网络是卷积神经网络(convolutional neural networks,CNN)(例如,用于图像处理)或递归神经网络(recurrent neural network,RNN)(例如,用于语音和语言处理)。这些神经网络中的每一个都包括相应的卷积或递归神经网络层的集合。神经网络层可以具有相关的内核(Kernel)集以及用于处理输入以生成用于训练神经网络的向量集的嵌入层。内核可以表示为权重的张量(Tensor),即多维阵列。例如,嵌入层可以处理输入集合,输入例如为图像像素数据的输入或由神经网络层生成的激活值。输入集合或激活值集合也可以表示为张量。
技术实现思路
[0005]本文描述了用于加速人工神经网络的嵌入层的计算的技术。该技术可用于计算系统,例如大规模分布式系统,其包括配置为对地址列表执行去重复(deduplication)操作的电路。在处理神经网络的嵌入层处的输入的 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种使用系统执行神经网络计算的方法,所述系统被配置为在硬件电路上实现神经网络,其特征在于,所述方法包括:主机接收到神经网络层的批次输入,其中所述批次输入中的每个输入存储在由地址标识的存储器位置中;识别所述批次输入中的一个或多个输入的地址列表中的一个或多个重复地址;对于每个重复地址:生成唯一标识符,所述唯一标识符标识所述地址列表中的所述重复地址;对于所述批次输入,从存储器位置获取第一输入,所述存储器位置由与所述唯一标识符相对应的地址所标识;从获取的所述第一输入中生成所述神经网络层的嵌入输出。2.根据权利要求1所述的方法,其特征在于,所述神经网络层是所述神经网络的嵌入层,所述嵌入输出包括嵌入特征向量,并且所述方法还包括:所述系统的分散电路确定所述唯一标识符与到所述嵌入层的所述批次输入中的特定输入的重复地址的反向映射;并且基于所述唯一标识符与所述特定输入的所述重复地址的所述反向映射,生成一个或多个嵌入向量作为所述嵌入层的输出。3.根据权利要求2所述的方法,其特征在于,所述方法包括:基于一个或多个唯一标识符生成所述批次输入的过滤后的地址列表;为所述过滤后的地址列表中的地址确定多个处理器中的每个处理器之间的地址分区;以及其中,获取所述第一输入包括:对于每一地址分区,使用被分配为从所述地址检索输入的相应处理器,从由所述地址分区中的地址所标识的存储器位置获得第一输入。4.根据权利要求2所述的方法,其特征在于,其中基于所述反向映射生成所述神经网络层的所述嵌入输出包括:解析包括所述重复地址的所述地址列表,以将为重复地址生成的与唯一标识符相对应的嵌入特征向量映射回到所述神经网络层的所述批次输入中的所述特定输入。5.根据权利要求2所述的方法,其特征在于,所述方法包括:请求处理器向远程处理器提供与唯一标识符对应的第一输入的地址和对所述第一输入的请求;所述请求处理器从所述远程处理器接收所述第一输入,所述第一输入存储于被分配给所述远程处理器的数据分片的存储器位置;并且执行一个或多个减小操作,以从所述数据分片获得的第一输入生成所述神经网络层的所述嵌入输出。6.根据权利要求2所述的方法,其特征在于,所述地址列表用于形成包括多组输入特征的输入特征样本的批次输入,并且生成所述唯一标识符包括:为所述输入特征样本中的相应组输入特征上的每个重复地址生成所述唯一标识符。7.根据权利要求6所述的方法,其特征在于,确定所述唯一标识符与重复地址的所述反向映射包括:确定所述唯一标识符与所述多组输入特征的特定输入的重复地址的所述反向映射。
8.根据权利要求6所述的方法,其特征在于,其中:重复地址是存储到神经网络层的输入的存储器位置的特定地址,所述特定地址在所述多个处理器中的每个处理器的对应数据分片之间是公共的,并且在(i)一组输入特征、或(ii)所述输入特征样本之间,所述特定地址是重复的。9.根据权利要求2所述的方法,其特征在于,其中:将每个地址分区分配给对应于多维稀疏张量的向量元素的激活值或增益值的数据分片;并且激活值或增益值的每个数据分片被分配给特定处理器,用于与相应的权重向量相乘以执行所述神经网络计算。10.根据权利要求1所述的方法,其特征在于,生成所述神经网络层的所述嵌入输出包括:从远程处理器向请求处理器提供多个输入,所述多个输入存储于被分配给所述远程处理器核的数据分片的存储器位置;并且执行查找以获得相应的权重向量,所述权重向量包括用于与所述多个输入中的输入相乘的相应权重值,以为后续神经网络层生成部分激活。11.根据权利要求10所述的方法,其特征在于,其中:从由非重复地址标识的所述存储器位置;或从由原始列表中不存在重复地址的地址所标识的存储器位置,接收多个输入的一部分。12.一种在硬件电路上实现神经网络以执行神经网络计算的系统,其特征在于,所述系统包括:一个或多个处理装置;和一个或多个非暂态机器可读存储装置,用于存储指令,所述指令可由所述一个或多个处理装置执行,以执行包括以下的操作:主机接收到神经网络层的批次输入,其中所述批次输入中的每个输入存储在由地址...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。