并行处理系统中模型参数的更新技术方案

技术编号:36155921 阅读:14 留言:0更新日期:2022-12-31 20:02
一种数据处理系统,包括被布置为以并行方式更新模型的多个处理节点。所述处理节点中的每个处理节点都从对模型参数的更新的不同集合开始。所述处理节点中的每个处理节点被配置为执行一个或多个规约

【技术实现步骤摘要】
【国外来华专利技术】并行处理系统中模型参数的更新


[0001]本公开涉及用于在具有多个处理节点的系统中进行数据交换和更新模型参数的系统和方法。

技术介绍

[0002]用于执行并行处理的系统可以包括多个处理节点,每个处理节点被配置为在周期性地共享它们的结果之前对数据的集合执行操作。常见类型的并行处理涉及每个处理节点独立地获得对模型的更新,该模型由模型参数的集合表示。然后,每个处理节点协作以确定如何更新模型参数。
[0003]在机器学习算法的上下文中,例如在深度神经网络的上下文中,找到应用多处理节点系统来更新模型的一个示例。如机器智能领域的技术人员所熟悉的,机器智能算法基于对“知识模型”执行迭代更新,该“知识模型”可以由多个互连节点的图表示。每个节点表示其输入的函数。一些节点接收图的输入,而一些节点接收来自一个或多个其它节点的输入。一些节点的输出形成其它节点的输入,并且一些节点的输出提供图的输出(并且在一些情况下,给定节点甚至可以具有所有这些:图的输入、图的输出和到其它节点的连接)。另外,每个节点处的函数由一个或多个相应的模型内置参数参数化,例如权重。在学习阶段(stage)期间,目标是基于经验输入数据(即,样本)的集合找到各种参数的值,使得图作为整体将为一系列可能的输入生成期望的输出。然后可以在操作时期(phase)期间应用具有那些导出的参数的图,以使用进一步的输入数据生成输出值。
[0004]用于执行图的训练的各种算法在本领域中是已知的,诸如基于随机梯度下降的反向传播算法。在多次迭代中,基于训练数据集,逐渐调谐参数以减小它们的误差,从而使图朝着解收敛。在后续阶段,学习到的模型可以被用于在给定指定的输入集合的情况下预测输出,或在给定指定的输出集合的情况下推断输入(原因)。
[0005]可以使用多处理节点系统来执行神经网络的训练。使用多处理节点系统训练神经网络是通过应用数据并行性来实现的,其中每个处理节点使用不同的数据集为神经网络导出更新后的权重或对权重的更新。然后在交换时期期间在处理节点之间同步更新/更新后的权重。这种同步处理可以涉及在第一阶段在处理节点之间交换更新,每个处理节点对其在第一阶段接收到的更新执行操作(例如,求平均),然后进入下一个阶段,其中那些操作的结果(例如,求平均的更新)本身被交换。这种交换方案可以使用集合体来实现。
[0006]集合体是在计算机中处理数据时常用的例程。它们是使数据能够跨多个不同处理被共享和处理的例程,这些处理可以在同一处理节点或不同处理节点上运行。例如,如果一个处理从数据存储库中读取数据,那么它可以使用“广播”处理与其它处理共享该数据。另一个示例是当在多个处理上需要特定函数的结果时。“规约(reduce)”是要求对来自多个处理中的每一个的数据值应用计算函数的结果。“收集(gather)”和“发散(scatter)”集合体处置多于一个数据项。某些集合体在处理机器学习应用中变得越来越重要。
[0007]一种类型的集合体被称为全规约集合体。全规约集合体包括两个阶段,第一个阶
段称为“规约

发散”集合体,第二个阶段称为“全收集”集合体。假设多个处理节点中的每一个都存储不同的数据集,当执行规约

发散集合体时,在规约

发散集合体的每一步,每个处理节点将不同的数据子集传递给它的邻居中的至少一个。每个处理节点规约它接收的数据子集,然后将规约的数据子集传递给它的至少一个邻居。最终,系统中的每个处理节点都以总数据的不同子集结束,这些子集中的每一个都是在每个处理节点上规约其所有对应的起始子集的结果。在规约

发散之后,执行全收集集合体;其中每个处理节点持有的数据子集在处理节点之间共享,因此每个处理节点都具有相同的完整数据集。

技术实现思路

[0008]与使用多处理节点系统更新模型相关联的一个问题是如何最小化更新模型所涉及的处理的量。一旦每个处理节点获得了不同的更新集,所有这些更新就都将用于更新完整的模型参数集。一种方法是在使用全规约集合体的处理节点与每个处理节点之间交换更新,然后独立地导出模型的完整的更新后的参数集。但是,这涉及在不同节点处多次执行相同的更新操作,这是低效的。
[0009]根据第一方面,提供了一种包括多个处理节点的数据处理系统,多个处理节点中的每一个包括至少一个存储器,该存储器被配置为存储用于模型的模型参数的阵列和对模型参数的更新的阵列,其中更新的阵列中的每一个是用模型处理输入数据的不同集合的结果,其中多个处理节点中的每一个的至少一个处理器被配置为:使用更新的相应阵列参与一个或多个集合体的第一集合以获得更新的规约的阵列的子集,集合体的第一集合包括一个或多个规约

发散集合体,其中一个或多个规约

发散集合体与其它处理节点一起执行;在一个或多个集合体的第一集合之后,将更新的规约的集合的相应子集应用于模型参数的相应阵列,以产生更新后的模型参数的阵列的子集;并且随后,使用更新后的模型参数的阵列的相应子集参与集合体的第二集合以获得更新后的模型参数的阵列的剩余元素,集合体的第二集合包括一个或多个全收集集合体,其中一个或多个全收集集合体与其它处理节点一起执行。
[0010]在一些实施例中,在一个或多个规约

发散集合体之后,每个处理节点存储要应用于模型参数的完整更新集的不同子集。然后每个处理节点应用其更新子集来更新模型参数中的一些。更新后的参数使用一个或多个全收集在处理节点之间被共享,以便每个处理节点以模型参数的完整集合结束。由于每个处理节点更新模型参数的不同部分,然后共享更新后的参数,因此每个处理节点没有必要独立地导出更新后的模型参数的完整集合。虽然本专利技术是在机器学习模型的上下文中开发的,但它可以作为一种技术来应用,以更新在多处理节点系统中使用并行处理更新的任何种类的计算机模型。
[0011]在一些实施例中,对于多个处理节点中的每一个:相应的至少一个存储器包括状态信息;并且产生更新后的模型参数的阵列的子集的步骤包括使用相应的状态信息和更新的规约的阵列的相应子集来产生更新后的模型参数的阵列的子集。
[0012]在一些实施例中,对于多个处理节点中的每一个:相应的状态信息包括多个状态信息项,其中每个更新后的模型参数与至少一个状态信息项相关联;以及产生更新后的模型参数的阵列的子集的步骤包括使用其相关联的至少一个状态信息项来产生每个更新后的模型参数。
[0013]在一些实施例中,对于多个处理节点中的每一个:在一个或多个集合体的第一集合之后,通过使用更新的规约的阵列的相应子集更新状态信息的较早集合来获得相应的状态信息。
[0014]在一些实施例中,对于多个处理节点中的每一个:由相应处理节点维护的状态信息与模型参数中的不同模型参数相关联到由其它处理节点维护的状态信息。
[0015]在一些实施例中,每个模型参数的阵列包括用于神经网络的模型参数,其中每个更新的阵列包括用于更新用于神经网络的模型参数的梯度。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种数据处理系统,包括多个处理节点,所述多个处理节点中的每个处理节点包括至少一个存储器,所述存储器被配置为存储用于模型的模型参数的阵列和对模型参数的更新的阵列,其中更新的阵列中的每个阵列是用模型处理输入数据的不同集合的结果,其中所述多个处理节点中的每个处理节点的至少一个处理器被配置为:使用更新的相应阵列参与一个或多个集合体的第一集合,以获得更新的规约的阵列的子集,集合体的第一集合包括一个或多个规约

发散集合体,其中所述一个或多个规约

发散集合体与其它处理节点一起执行;在一个或多个集合体的第一集合之后,将更新的规约的集合的相应子集应用于模型参数的相应阵列,以产生更新后的模型参数的阵列的子集;以及随后,使用更新后的模型参数的阵列的相应子集参与一个或多个集合体的第二集合,以获得更新后的模型参数的阵列的剩余元素,集合体的第二集合包括一个或多个全收集集合体,其中所述一个或多个全收集集合体与其它处理节点一起执行。2.如权利要求1所述的数据处理系统,其中对于所述多个处理节点中的每个处理节点:相应的至少一个存储器包括状态信息;以及产生更新后的模型参数的阵列的子集的步骤包括使用相应的状态信息和更新的规约的阵列的相应子集来产生更新后的模型参数的阵列的所述子集。3.如权利要求2所述的数据处理系统,其中对于所述多个处理节点中的每个处理节点:相应的状态信息包括多个状态信息项,其中所述更新后的模型参数中的每个更新后的模型参数与所述状态信息项中的至少一个状态信息项相关联;以及产生更新后的模型参数的阵列的子集的步骤包括使用其相关联的至少一个状态信息项来产生每个更新后的模型参数。4.如权利要求2或权利要求3所述的数据处理系统,其中对于所述多个处理节点中的每个处理节点:在一个或多个集合体的第一集合之后,通过使用更新的规约的阵列的相应子集更新状态信息的较早集合来获得相应的状态信息。5.如权利要求2至4中的任一项所述的数据处理系统,其中对于所述多个处理节点中的每个处理节点:由相应处理节点维护的状态信息与模型参数中的不同模型参数相关联到由其它处理节点维护的状态信息。6.如前述权利要求中的任一项所述的数据处理系统,其中所述模型参数的阵列中的每个模型参数的阵列包括用于神经网络的模型参数,其中所述更新的阵列中的每个更新的阵列包括用于更新用于神经网络的模型参数的梯度。7.如权利要求6所述的数据处理系统,其中对于所述多个处理节点中的每个处理节点:相应的至少一个存储器包括状态信息;以及产生更新后的模型参数的阵列的子集的步骤包括使用相应的状态信息和更新的规约的阵列的相应子集来产生更新后的模型参数的阵列的子集,其中相应的状态信息包括优化器状态。8.如前述权利要求中的任一项所述的数据处理系统,其中所述多个处理节点中的每个处理节点被配置为:使用模型参数的相应阵列和输入数据的相应集合来生成更新的相应阵
列。9.如权利要求1至5中的任一项所述的数据处理系统,其中所述多个处理节点中的每个处理节点被配置为从至少一个另外的处理节点接收更新的相应阵列。10.如前述权利要求中的任一项所述的数据处理系统,其中数据处理系统包括多组处理节点,每组处理节点包括第一处理节点和第二处理节点,其中所述多个处理节点中的每个处理节点属于所述组中的不同组,并且是第一处理节点之一或者第二处理节点之一,其中每组处理节点被配置为执行多阶段处理以生成用于该组的更新的相应阵列,其中对于每组处理节点:该组的第一处理节点被配置为在多个时间段中的至少一个时间段中的每个时间段期间,从至少一个数据存储装置加载在后续时间段期间用于执行与多阶段处理的阶段相关联的计算所需的数据,该组的第二处理节点被配置为在所述多个时间段中的至少一个时间段中的每个时间段期间,使用在较早时间段期间从所述至少一个数据存储装置加载的数据执行与多阶段处理的阶段之一相关联的计算,其中所述多个处理节点中的第一处理节点或第二处理节点中的至少一个被配置为:从所述多个处理节点中的第一处理节或第二处理节点中的另一个接收数据;在后续时间段中的至少一个时间段中的每个时间段期间,使用从所述多个处理节点中的第一处理节点或第二处理节点中的另一个接收的数据,执行与多阶段处理的相应阶段相关联的计算。11.如前述权利要求中的任一项所述的数据处理系统,其中所述多个处理节点中的每个处理节点包括:至少一个处理单元;以及网关设备。12.如权利要求11所述的数据处理系统,其中对于所述多个处理节点中的每个处理节点:所述一个或多个规约

发散集合体包括多个规约

发散集合...

【专利技术属性】
技术研发人员:O托鲁德巴肯L塞沃拉尼
申请(专利权)人:图核有限公司
类型:发明
国别省市:

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

1