【技术实现步骤摘要】
动态小批量大小
[0001]分案说明
[0002]本申请属于申请日为2019年12月16日的中国专利技术专利申请No.201980058339.8的分案申请。
技术介绍
[0003]本说明书涉及人工神经网络。
[0004]神经网络是采用多个操作层来从一个或多个输入预测一个或多个输出的机器学习模型。神经网络通常包括位于输入层和输出层之间的一个或多个隐藏层。每个隐藏层的输出用作下一层(例如,下一隐藏层或输出层)的输入。
[0005]神经网络的每个层指定了要对该层的输入执行的一个或多个变换操作。一些神经网络层包括被称为神经元的单元。每个神经元接收一个或多个输入,并生成由其他神经网络层接收的输出。通常,每个神经元从一个或多个其他神经元接收输入,并且每个神经元向一个或多个其他神经元提供输出。
[0006]每个层使用该层的一组参数的当前值生成一个或多个输出。训练神经网络涉及连续地对输入执行正向传递,计算梯度值,以及更新每个层的参数集的当前值。一旦神经网络被训练,就可以使用最终的参数集来进行预测。
[0007]一些神经网络具有作为嵌入层的隐藏层。通常,嵌入层将稀疏神经网络输入(即,相对于总数特征仅具有少量具有非零值的特征的神经网络输入)变换成称作嵌入的低维向量。
技术实现思路
[0008]本说明书描述一种可以在神经网络的训练期间处理所述神经网络的嵌入层的分布式计算系统。系统包括各自存储可训练的嵌入查找表的分区的主机计算机。为了处理特定训练示例,对于训练示例的每个特征,主机计算机从存储在相应主机 ...
【技术保护点】
【技术特征摘要】
1.一种包括多个主机计算机的系统,所述多个主机计算机被配置成在神经网络的训练期间处理所述神经网络的嵌入层,其中所述系统被配置成执行操作,所述操作包括:由每个主机计算机接收相应批量的训练示例用于在训练所述神经网络的训练过程的迭代期间进行处理,每个训练示例具有零个或更多个特征,并且其中,由所述主机计算机接收的所述相应批量中的至少两个不同的训练示例具有不同数量的特征;基于由所述主机计算机接收的相应批量中的训练示例中的每一个中的特征的数目,计算所述主机计算机能够将所述相应批量的训练示例划分成的最小数量的小批量,使得所述主机计算机能够使用所述神经网络的所述嵌入层来处理每个小批量,而不会超出所述主机计算机上的可用计算资源,其中,作为所述至少两个不同的训练示例具有不同数量的特征的结果,所述主机计算机中的至少两个主机计算机计算不同的最小数量的小批量;根据所述最小数量的小批量,确定每个主机计算机的所计算的最小数量的小批量当中的最大的最小数量的小批量N;从由所述主机计算机所接收的所述相应批量的训练示例中生成N个小批量;以及由每个主机计算机使用所述神经网络的所述嵌入层来处理所述训练示例的所述N个小批量。2.根据权利要求1所述的系统,其中,使用所述神经网络的所述嵌入层来处理相应小批量的训练示例包括:对于所述小批量中的每个训练示例中的每个输入特征,从可训练的查找表获得对应于所述输入特征的向量;以及对于每个训练示例,处理所获得的向量以生成向量表示。3.根据权利要求2所述的系统,其中,所述可训练的查找表分布在所述主机计算机中。4.根据权利要求3所述的系统,其中,计算所述主机计算机能够将所述相应批量的训练示例划分成的最小数量的小批量M包括对于从上限开始的M值重复:将由所述主机计算机所接收的所述相应批量的训练示例拆分成M个小批量;对于所述M个小批量中的每个小批量,确定与所述小批量中的每个训练示例中的每个输入特征相对应的所述向量是否适合所述主机计算机上的存储器;以及直到所述M个小批量中的任一个小批量不适合所述主机计算机上的存储器,递减M。5.根据权利要求1所述的系统,其中,所述操作还包括:将由所述主机计算机所接收的所述相应批量的训练示例划分成所述主机计算机的所计算的最小数量的小批量;以及如果N大于所述主机计算机的所计算的最小数量的小批量,则将一个小批量重新划分成多个小批量。6.根据权利要求5所述的系统,其中,将一个小批量拆分成多个小批量包括生成没有训练示例的小批量。7.根据权利要求1所述的系统,其中,所述主机计算机中的一个是指定的主控主机,其中,所述指定的主控主机被配置成执行包括以下的操作:从每个主机计算机接收所述主机计算机能够将所述相应批量的训练示例划分成的所述最小数量的小批量;确定任何主机计算机能够将其相应批量的训练示例划分成的所述最大的最小数量的
小批量N;以及向每个主机计算机发送指定N的数据。8.根据权利要求7所述的系统,其中,所述指定的主控主机在所述主机计算机当中轮换以用于所述训练过程的不同迭代。9.一种由多个主机计算机执行的方法,所述多个主机计算机被配置成在神经网络的训练期间处理所述神经网络的嵌入层,所述方法包括:由每个主机计算机接收相应批量的训练示例以用于在训练所述神经网络的训练过程的迭代期间进行处理,每个训练示例具有零个或更多个特征,并且其中,由所述主机计算机接收的相应批量中的至少两个不同的训练示例具有不同数量的特征;基于由所述主机计算机接收的相应批量中的训练示例中的每一个中的特征的数目,计算所述主机计算机能够将所述相应批量的训练示例划分成的最小数量的小批量,使得所述主机计算机能够使用所述神经网络的所述嵌入层来处理每个小批量,而不会超出所述主机计算机上的可用计算资源,其中,作为所述至少两个不同的训练示例具有不同数量的特征的结果,所述主机计算机中的至少两个主机计算机计算不同的最小数量的小批量;根据所述最小数量的小批量,确定每个主机计算机的所计算的最小数量的小批量当中的最大的最小数量的小批量N;从由所述主机计算机所接收的所述相应批量的训练示例中生成N个小批量;以及由每个主机计算机使用所述神...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。