存储介质、机器学习方法和信息处理设备技术

技术编号:35589432 阅读:19 留言:0更新日期:2022-11-16 15:06
公开了一种存储机器学习程序的非暂态计算机可读存储介质、机器学习方法和信息处理设备。该机器学习程序使计算机执行进程,该进程包括:在机器学习的分布式训练中,多个计算节点中的第一计算节点的性能劣化的情况下,在第一计算节点的进程的比率等于或小于阈值的情况下,使多个计算节点中除第一计算节点以外的每个第二计算节点在第一模式下执行机器学习,在该第一模式中,第一计算节点的进程的学习结果不被反映在机器学习上;以及在该比率大于阈值的情况下,使每个第二计算节点在第二模式下执行机器学习,在该第二模式中,将要由第一计算节点的进程处理的训练数据分发给第二计算节点并且由第二计算节点处理。节点并且由第二计算节点处理。节点并且由第二计算节点处理。

【技术实现步骤摘要】
存储介质、机器学习方法和信息处理设备


[0001]本文中讨论的实施方式涉及存储介质、机器学习方法和信息处理设备。

技术介绍

[0002]作为深度学习中的机器学习方法,通过数据并行的分布式训练是已知的。在分布式训练中,提供了具有相同神经网络(模型)的多个进程(工作者),将不同的训练数据部分输入至多个进程,并且执行机器学习。在下文中,存在将机器学习称为训练或简称为学习的情况。
[0003]此处,在机器学习的一个进程中,重复前向传播(Fwd)、后向传播(Bwd)和更新(Up.)的每个处理。在使用多个进程的分布式训练中,在更新处理之前聚合所有进程中的后向传播的结果以获取平均值,并且由每个进程使用该平均值执行更新处理。
[0004]在后向传播中,可以获得指示神经网络的权重在更新权重之后改变多少以减少误差(损失)的权重梯度信息。此外,在更新处理中,基于通过相应进程获得的权重梯度的平均值来更新各种参数的值。
[0005]多个进程的训练结果(权重梯度信息)通过进程之间的通信进行聚合,并且例如通过全局归约(Allreduce)通信实现该聚合。
[0006]图9是用于说明通过数据并行的分布式训练的图。
[0007]在图9中,比较和示出了在正常时间的每个进程的处理时间和存在延迟进程(具有延迟进程)的状态下的每个进程的处理时间。在图9中,数据并行处理由四个进程P0至P3执行,并且在具有延迟进程的状态下,进程P1的前向传播和后向传播延迟。
[0008]在通过数据并行的分布式训练中,当聚合相应进程的训练结果时,在进程之间执行通信。然而,如果即使一个进程延迟,则整个处理时间也会由于其他进程的同步等待而延长。在图9中,出现同步等待,其中进程P0、P2和P3等待由进程P1的后向传播的完成。
[0009]因此,已知用于防止由于这样的延迟进程而引起的性能劣化的方法。存在一种用于从训练结果聚合目标中去除其中出现延迟的进程(图9中的进程P1)并且使用仅剩余进程(图9中的进程P0、P2和P3)的学习结果继续训练以防止速度减少的方法。这种方法被称为分离模式。
[0010]美国专利申请公开第2016/0092765号、日本公开特许公报第2020

177343号以及Koichi SHIRAHATA等人,“Preliminary Performance Analysis of Distributed DNN Training with Relaxed Synchronization”[在线]<网址:https://www.jstage.jst.go.jp/article/transele/advpub/0/advpub_2020LHS0001/_article/

char/ja/>被公开作为相关技术。

技术实现思路

[0011][技术问题][0012]然而,在分离模式中,存在由于从训练结果聚合目标中排除其中出现延迟的进程
而使机器学习变得不充分并且精度劣化的问题。例如,在多个进程的处理速度降低的情况下,存在通过经由分离模式从聚合目标中排除多个进程而使精度没有达到期望的某一精度(例如,73.3%)的情况。
[0013]在一个方面,本实施方式的目的是提高机器学习中分布式训练的精度。
[0014][问题解决方案][0015]根据本实施方式的一个方面,一种存储机器学习程序的非暂态计算机可读存储介质,该机器学习程序使至少一个计算机执行进程,该进程包括:在通过使用多个计算节点的机器学习中的分布式训练中的多个计算节点中的一个或更多个第一计算节点的性能劣化的情况下,当第一计算节点的进程与整个进程的比率等于或小于阈值时,使多个计算节点中除第一计算节点以外的每个第二计算节点在第一模式中执行机器学习,在该第一模式中,第一计算节点的进程的学习结果不反映在机器学习上;以及当比率大于阈值时,使每个第二计算节点在第二模式中执行机器学习,在该第二模式中,将要由第一计算节点的进程处理的训练数据分发给第二计算节点并且由第二计算节点处理。
[0016][专利技术的有益效果][0017]根据一个实施方式,可以提高机器学习中分布式训练的精度。
附图说明
[0018]图1是示意性示出作为实施方式的示例的计算机系统的配置的图;
[0019]图2是示出作为实施方式的示例的计算机系统中的计算节点的硬件配置的图;
[0020]图3是示出作为实施方式的示例的计算机系统中的主计算节点的功能配置的图;
[0021]图4是用于说明作为实施方式的示例的计算机系统的优化操作模式的图;
[0022]图5是示出作为实施方式的示例的计算机系统中的分离模式中的每个进程的数据处理量和收缩模式中的每个进程的数据处理量的图;
[0023]图6是用于说明由作为实施方式的示例的计算机系统中的处理时间计算单元进行的处理的图;
[0024]图7是用于说明用于确定在作为实施方式的示例的计算机系统中的分布式训练时的计算节点数量的方法的流程图;
[0025]图8是用于说明用于确定在作为实施方式的示例的计算机系统中的分布式训练时的计算节点数量的方法的流程图;以及
[0026]图9是用于说明通过数据并行的分布式训练的图。
具体实施方式
[0027]在下文中,将参照附图描述机器学习程序、机器学习方法和信息处理设备的实施方式。注意,下面将描述的实施方式仅为示例,并且不旨在排除在实施方式中未明确描述的各种修改和技术的应用。换言之,例如,可以在不脱离其主旨的范围的情况下对本实施方式进行各种修改和实现。此外,每个附图不旨在仅包括附图中所示的部件并且可以包括另外的功能等。
[0028](A)配置
[0029]图1是示意性示出作为实施方式的示例的计算机系统1的配置的图。如图1所示,作
为实施方式的示例的计算机系统1包括多个计算节点10

1至10

n(在图1所示的示例中为n)。
[0030]这些计算节点10

1至10

n经由网络2被连接成可彼此通信。计算节点10

1至10

n具有彼此类似的配置。在下文中,在不特别区分计算节点10

1至10

n的情况下,将计算节点10

1至10

n称为计算节点10。
[0031]该计算机系统1执行深度学习中的机器学习,并且使用多个计算节点10通过数据并行实现分布式训练。在每个计算节点10中提供具有相同神经网络(模型)的一个或更多个进程(工作者),并且这些计算节点10分别并行地执行机器学习的进程。在该计算机系统1中,将不同的训练数据部分并行地输入至多个进程,并且执行分布式机器学习(训练)。
[0032]在本实施方式中,指示了其中在每个计算节点10中分配一个进程的示例。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储机器学习程序的非暂态计算机可读存储介质,所述机器学习程序使至少一个计算机执行进程,所述进程包括:在通过使用多个计算节点进行机器学习的分布式训练中,所述多个计算节点中的一个或更多个第一计算节点的性能劣化的情况下,在所述第一计算节点的进程与整个进程的比率等于或小于阈值的情况下,使所述多个计算节点中除所述第一计算节点以外的每个第二计算节点在第一模式下执行机器学习,在所述第一模式中,所述第一计算节点的进程的学习结果不被反映在所述机器学习上;以及在所述比率大于所述阈值的情况下,使每个第二计算节点在第二模式下执行机器学习,在所述第二模式中,将要由所述第一计算节点的进程处理的训练数据分发给所述第二计算节点并且由所述第二计算节点处理。2.根据权利要求1所述的非暂态计算机可读存储介质,其中,所述进程还包括:基于所述多个计算节点中的每一个的性能信息,获取所包括的计算节点的数量彼此不同的多个类型的计算节点组在所述第一模式和所述第二模式中的每个处理时间;以及基于所述时间,将包括在从所述多个类型的计算节点组中选择的计算节点组中的多个计算节点设置为所述第二计算节点。3.一种用于计算机执行进程的机器学习方法,所述方法包括:在通过使用多个计算节点进行机器学习的分布式训练中,所述多个计算节点中的一个或更多个第一计算节点的性能劣化的情况下,在所述第一计算节点的进程与整个进程的比率等于或小于阈值的情况下,使所述多个计算节点中除所述第一计算节点以外的每个第二计算节点在第一模式下执行机器学习,在所述第一模式中,所述第一计算节点的进程的学习结果不被反映在所述机器学习上;以及在所述比率大于所述阈值的情况下,使每个第二计算节点在第二模式下执行机器学习,在所述...

【专利技术属性】
技术研发人员:三轮真弘
申请(专利权)人:富士通株式会社
类型:发明
国别省市:

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

1