数据处理方法、装置、芯片以及计算机可读存储介质制造方法及图纸

技术编号:24939862 阅读:17 留言:0更新日期:2020-07-17 21:20
本发明专利技术实施例公开了一种数据处理方法、装置、芯片以及计算机可读存储介质,用于加速深度学习模型训练中批标准化层的运算。通过将多维张量数据按照预设规则存入第一存储器,再以二维数据的形式取出来并进行运算,并通过几个寄存器组以及第二存储器配合使用构建出第三矩阵,通过将第一矩阵和第三矩阵进行矩阵相乘可同时求出第一矩阵中的每一行的元素和与元素平方和,实现了求元素和与求元平方和的并行计算,从而加速批标准化层中的涉及均值和方差的计算,解决了批标准化层运算过程中因数据量过大而导致运算耗时长的问题。最终使批标准化操作的运算速度得以提高,极大地缩短了深度学习模型训练整体所需的时间。

【技术实现步骤摘要】
数据处理方法、装置、芯片以及计算机可读存储介质
本专利技术涉及深度学习模型训练领域,尤其涉及一种数据处理方法、装置、芯片以及计算机可读存储介质。
技术介绍
深度学习是机器学习研究中的一个新的领域,目的在于建立或模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像、声音和文本等数据。深度学习模型需经大量数据训练后才能实际使用,常见的深度学习模型有卷积神经网络(ConvolutionalNeuralNetwork,CNN)等。在深度学习模型的训练过程中,大多选择用批标准化(BatchNormalization,BN)的方法对深度学习模型的各层进行处理,使得网络在每一层传递的过程中样本的差异性有所降低,批标准化是2015年提出的一种用于提高深度神经网络(DeepNeuralNetwork)的速度,性能和稳定性的技术。我们称深度神经网络中间层的输出随着训练过程而发生的分布变化为内部协变量偏移(InternalCovariateShift),消除该现象将加速训练过程。批标准化层(BatchNormalizationLayer)通过对该层的输入进行标准化处理来固定输入的均值和方差,从而减小内部协变量偏移,所以批标准化可以使网络训练采用更大的学习率,最终加速网络的训练。同时,批标准化可以让网络不再过度依赖权重初始化。批标准化层在神经网络的训练过程中包括前向传播(ForwardPropagation)和反向传播(BackwardPropagation)。值得注意的是,在前向传播过程中,需要对数据元素进行求和的运算以及求平方和的运算;而在深度学习模型训练中,批标准化层需要处理的数据往往都是多维张量数据,庞大的数据量导致批标准化层在进行求和运算以及求平方和运算时需要耗费大量的时间,进而影响了深度学习模型训练的速度。
技术实现思路
有鉴于此,本专利技术提供了一种数据处理方法、装置、芯片以及计算机可读存储介质,以解决深度学习模型训练中批标准化层计算耗时长,深度学习模型训练速度慢的问题。第一方面,本专利技术实施例提供了一种数据处理方法。用于加速深度学习模型中批标准化层的运算。该标准化层的输入包括多维张量数据,多维张量数据中的维度包括通道;该方法提供第一寄存器组、第二寄存器组、第一存储器以及第二存储器,第一寄存器组与第二寄存器组均包括M行N列个寄存器。第二存储器至少能存放N行K列个数据,其中K不小于2M,该方法包括以下步骤:将多维张量数据按预设规则存入第一存储器;将第一存储器中的数据按照通道取出并放入第一寄存器组;同一个通道中的Q个数据仅能放入第一寄存器组中的一行,其中,Q不大于N,当Q小于N时,第一寄存器组中Q个数据所在的行补入至少N-Q个0;第一寄存器组中的全部数据构成第一矩阵;将初始数据放入第一寄存器组中的任意一行,初始数据的大小为1行Q列,且初始数据的内容全部为1,当第二寄存器组中的数据包括初始数据时,第二寄存器组中的全部数据构成第二矩阵,第二矩阵中除初始数据之外的数据均为0;将第一矩阵和第三矩阵进行矩阵相乘,得出相乘结果,相乘结果中包括第一矩阵中的每一行的元素和以及元素平方和。进一步地,多维张量数据包括四维张量数据,前述四维包括批处理大小B、高度H、宽度W以及通道C。更进一步地,前述预设规则包括按照通道元素交叉顺序存放。更进一步地,前述预设规则包括按照通道元素连续顺序存放。本申请提供的方法通过将多维张量数据按照预设规则存入第一存储器,再以二维数据的形式取出来并进行运算,并通过几个寄存器组以及第二存储器配合使用构建出第三矩阵,通过将第一矩阵和第三矩阵进行矩阵相乘可同时求出第一矩阵中的每一行的元素和与元素平方和,实现了求元素和与求元素平方和的并行计算,从而加速了批标准化层中的计算,解决了批标准化层运算过程中因数据量过大而导致运算耗时长的问题。最终使批标准化操作的运算速度得以提高,极大地缩短了深度学习模型训练整体所需的时间。第二方面,本专利技术实施例提供了一种数据处理装置,该装置用于加速深度学习模型训练中批标准化层的运算。该装置包括运算器,还包括第一存储器,第一寄存器组,第二存储器,第二寄存器组,其中,第一寄存器组连接第一存储器、第二存储器以及运算器,第二存储器连接第二寄存器组和运算器;第一寄存器组和第二寄存器组均包括M行N列个寄存器,提供多维张量数据作为批标准化层的输入,其中:第一存储器用于存储多维张量数据,多维张量数据的维度包括通道;第一寄存器组用于存放第一矩阵,第一矩阵中至少包括部分从第一存储器中取出的数据;第二寄存器组用于存放第二矩阵,第二矩阵中的任意一行包括一个1行Q列的初始数据,且初始数据的内容全部为1;第二存储器用于存放第三矩阵,第三矩阵至少包括第一矩阵的转置矩阵以及第二矩阵的转置矩阵;运算器用于将第一矩阵和第三矩阵进行相乘,得出相乘结果,相乘结果中包括第一矩阵中的每一行的元素和以及元素平方和。本申请提供的装置通过将多维张量数据按照预设规则存入第一存储器,再以二维数据的形式取出来并进行运算,并通过几个寄存器组以及第二存储器配合使用构建出第三矩阵,通过将第一矩阵和第三矩阵进行矩阵相乘可同时求出第一矩阵中的每一行的元素和与元素平方和,实现了求元素和与求元素平方和的并行计算,从而加速批标准化层中的计算,解决了批标准化层运算过程中因数据量过大而导致运算耗时长的问题。最终使批标准化操作的运算速度得以提高,极大地缩短了深度学习模型训练整体所需的时间。第三方面,本专利技术实施例提供了一种芯片。该芯片至少包括前述提及的数据处理装置。第四方面,本专利技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行处理器执行时实现上述数据处理方法的步骤。本专利技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种数据处理方法的流程示意图;图2是本专利技术实施例提供的一种四维张量数据的示意图;图3是本专利技术实施例提供的一种具体的四维张量数据的示意图;图4A是本专利技术实施例提供的一种四维数据按照通道元素交叉顺序存入SRAM存储器的示意图;图4B是本专利技术实施例提供的一种四维数据按照通道元素连续顺序存入SRAM存储器的示意图;图5是本专利技术实施例提供的一种数据处理装置500的结构示意图;图6A是本专利技术实施例提供的一种优选的数据处理装置600的结构示意图;图6B是本专利技术实施例提供的一种第一寄存器组602中的寄存器的排列示意图;图6C是本专利技术实施例提供的一种第一矩阵放入第一寄存器组602的示意图;图6D是本本文档来自技高网
...

【技术保护点】
1.一种数据处理方法,用于加速深度学习模型中批标准化层的运算,其特征在于,所述批标准化层的输入包括多维张量数据,所述多维张量数据中的维度包括通道;提供第一寄存器组、第二寄存器组、第一存储器以及第二存储器,所述第一寄存器组与所述第二寄存器组均包括M行N列个寄存器,所述第二存储器至少能存放N行K列个数据,所述K不小于2M,所述方法包括以下步骤:/n将所述多维张量数据按预设规则存入所述第一存储器;/n将所述第一存储器中的数据按照所述通道取出并放入所述第一寄存器组;同一个通道中的Q个数据仅能放入所述第一寄存器组中的一行;所述Q不大于所述N,当所述Q小于所述N时,所述第一寄存器组中所述Q个数据所在的行补入至少N-Q个0;所述第一寄存器组中的全部数据构成第一矩阵;/n将初始数据放入所述第二寄存器组中的任意一行,所述初始数据的大小为1行Q列且内容全部为1,当所述第二寄存器组中的数据包括所述初始数据时,所述第二寄存器组中的全部数据构成第二矩阵,所述第二矩阵中除所述初始数据之外的数据均为0;/n将所述第一矩阵和所述第二矩阵均转置,将转置后得到的两个矩阵按列放入所述第二存储器,所述第二存储器中的全部数据构成第三矩阵;/n将所述第一矩阵和所述第三矩阵进行矩阵相乘,得出相乘结果,所述相乘结果中包括所述第一矩阵中的每一行的元素和以及元素平方和。/n...

【技术特征摘要】
1.一种数据处理方法,用于加速深度学习模型中批标准化层的运算,其特征在于,所述批标准化层的输入包括多维张量数据,所述多维张量数据中的维度包括通道;提供第一寄存器组、第二寄存器组、第一存储器以及第二存储器,所述第一寄存器组与所述第二寄存器组均包括M行N列个寄存器,所述第二存储器至少能存放N行K列个数据,所述K不小于2M,所述方法包括以下步骤:
将所述多维张量数据按预设规则存入所述第一存储器;
将所述第一存储器中的数据按照所述通道取出并放入所述第一寄存器组;同一个通道中的Q个数据仅能放入所述第一寄存器组中的一行;所述Q不大于所述N,当所述Q小于所述N时,所述第一寄存器组中所述Q个数据所在的行补入至少N-Q个0;所述第一寄存器组中的全部数据构成第一矩阵;
将初始数据放入所述第二寄存器组中的任意一行,所述初始数据的大小为1行Q列且内容全部为1,当所述第二寄存器组中的数据包括所述初始数据时,所述第二寄存器组中的全部数据构成第二矩阵,所述第二矩阵中除所述初始数据之外的数据均为0;
将所述第一矩阵和所述第二矩阵均转置,将转置后得到的两个矩阵按列放入所述第二存储器,所述第二存储器中的全部数据构成第三矩阵;
将所述第一矩阵和所述第三矩阵进行矩阵相乘,得出相乘结果,所述相乘结果中包括所述第一矩阵中的每一行的元素和以及元素平方和。


2.根据权利要求1所述的数据处理方法,其特征在于,所述多维张量数据包括四维张量数据,所述四维包括批处理大小B、高度H、宽度W以及所述通道C。


3.根据权利要求2所述的数据处理方法,...

【专利技术属性】
技术研发人员:闯小明杨龚轶凡郑瀚寻高雷侯觉
申请(专利权)人:深圳芯英科技有限公司
类型:发明
国别省市:广东;44

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

1