CN116628508B - 模型训练过程异常检测方法、装置、设备及存储介质 - Google Patents
模型训练过程异常检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116628508B CN116628508B CN202310893103.4A CN202310893103A CN116628508B CN 116628508 B CN116628508 B CN 116628508B CN 202310893103 A CN202310893103 A CN 202310893103A CN 116628508 B CN116628508 B CN 116628508B
- Authority
- CN
- China
- Prior art keywords
- training
- cluster
- communication
- abnormal
- efficiency data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 242
- 238000000034 method Methods 0.000 title claims abstract description 108
- 230000008569 process Effects 0.000 title claims abstract description 84
- 238000001514 detection method Methods 0.000 title claims description 25
- 230000006854 communication Effects 0.000 claims abstract description 164
- 238000004891 communication Methods 0.000 claims abstract description 159
- 230000002159 abnormal effect Effects 0.000 claims abstract description 95
- 230000005856 abnormality Effects 0.000 claims abstract description 39
- 238000004458 analytical method Methods 0.000 claims abstract description 27
- 238000012544 monitoring process Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 2
- 230000002547 anomalous effect Effects 0.000 claims 1
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种模型训练过程异常检测方法、装置、设备及存储介质,方法包括:在模型并行训练过程中,按照设定周期记录训练效率数据,该训练效率数据表示在一个周期内集群中各设备节点对训练数据的使用效率。当集群中存在异常的设备节点时,该异常设备节点对训练数据的读取、使用效率会大大降低,导致整个周期内记录的训练效率数据也偏离正常值,因此,本申请基于当前周期的训练效率数据,确定集群在当前周期是否出现异常,可以及时准确地发现集群的异常。在确定集群在当前周期出现异常时,可以进一步启动进程进行通信异常分析,从而确定异常通信的设备节点,协助快速发现问题节点。
Description
技术领域
本申请涉及人工智能模型技术领域,更具体的说,是涉及一种模型训练过程异常检测方法、装置、设备及存储介质。
背景技术
在传统神经网络训练任务上,训练的集群规模较小,单个设备虽然存在出现异常的可能性,但整体任务的稳定性可控,训练的设备少,即使出现了异常,可以直接对涉及的设备进行逐一排查检测,并不会带来太大的经济损失。
但在大模型场景下,由于训练关联的设备数量太大,即使单个设备出错的概率很低,这种累计造成的失败概率非常大,且由于设备数量多,停机进行问题节点的筛选和排查难度很大,需要耗费大量的人力,这对设备的空闲浪费很高,有极大资源浪费和经济损失。因此,有必要提供一种方案以及时发现模型训练过程中出现的异常,并定位异常节点,协助快速发现问题节点。
发明内容
鉴于上述问题,提出了本申请以便提供一种模型训练过程异常检测方法、装置、设备及存储介质,以及时发现模型训练过程中所出现的异常,并定位出异常节点,协助快速发现问题节点。具体方案如下:
第一方面,提供了一种模型训练过程异常检测方法,应用于模型训练集群,所述集群中包含多台设备节点,且多台设备节点被划分为若干通信组,训练方法包括:
在模型并行训练过程中,按照设定周期记录训练效率数据,所述训练效率数据表示在一个周期内所述集群中各设备节点对训练数据的使用效率;
基于当前周期的训练效率数据,确定所述集群在当前周期是否出现异常;
在确定所述集群在当前周期出现异常时,启动进程进行通信异常分析,以确定异常通信的设备节点。
优选地,所述按照设定周期记录训练效率数据,包括:
每间隔设定训练批次batch作为一个周期,统计一个周期内所述集群中各设备节点的训练效率数据。
优选地,所述统计一个周期内所述集群中各设备节点的训练效率数据的过程,包括:
统计一个周期内所述集群中各设备节点单位时间内所使用的训练数据的平均长度,作为训效率数据。
优选地,模型采用数据并行策略进行训练,则统计一个周期内所述集群中各设备节点单位时间内所使用的训练数据的平均长度,作为训效率数据的过程,按照如下公式计算:
B×S×D/T
其中,B表示输入的批大小,S表示单个数据并行的设备上计算的输入序列长度,D表示数据并行的维度,T表示完成前、反向计算和梯度统计的时长。
优选地,基于当前周期的训练效率数据,确定所述集群在当前周期是否出现异常,包括:
基于历史周期的训练效率数据,和当前周期的训练效率数据,计算平均训练效率数据;
计算所述当前周期的训练效率数据与所述平均训练效率数据的差值,并在所述差值满足设定差异条件时,确定所述集群在当前周期出现异常,否则,确定所述集群在当前周期未出现异常。
优选地,基于历史周期的训练效率数据,和/或,当前周期的训练效率数据,计算平均训练效率数据,包括:
将当前周期的前一历史周期所计算得到的平均训练效率数据乘以设定第一权重,得到第一结果;
将当前周期的训练效率数据乘以设定第二权重,得到第二结果,所述第一权重大于所述第二权重;
将所述第一结果和所述第二结果相加,得到当前周期的平均训练效率数据。
优选地,所述启动进程进行通信异常分析,以确定异常通信的设备节点,包括:
启动进程对所述集群进行通信分析,确定集群的通信效率是否符合预期,若否,表示所述集群在通信层出现异常,进一步对集群中的各通信组采用二分法进行通信分析,以确定异常通信的设备节点。
优选地,还包括:
在模型并行训练过程中针对设定的重点通信组,在其中主设备节点上启动监听进程;
令重点通信组的通信进程顺序启动NCCL异步通信和GLOO通信,并设置GLOO通信的超时时长为第一数值,若所述GLOO通信在所述超时时长内未完成,则由所述重点通信组内的正常设备节点与所述主设备节点进行信息通信;
通过所述监听进程接收所述重点通信组内正常设备节点发送的信息,并定位出未发送信息的异常设备节点。
优选地,所述重点通信组包括以下任意一种或多种:
跨节点的通信组、关联设备数量超过设定阈值的通信组。
优选地,还包括:
将定位出的所述异常设备节点记录到日志文件中,以及,将所述异常设备节点上传到训练调度平台,由训练调度平台剔除所述异常设备节点。
第二方面,提供了一种模型训练过程异常检测装置,应用于模型训练集群,所述集群中包含多台设备节点,且多台设备节点被划分为若干通信组,装置包括:
训练效率数据记录单元,用于在模型并行训练过程中,按照设定周期记录训练效率数据,所述训练效率数据表示在一个周期内所述集群中各设备节点对训练数据的使用效率;
集群异常判断单元,用于基于当前周期的训练效率数据,确定所述集群在当前周期是否出现异常;
异常节点确定单元,用于在确定所述集群在当前周期出现异常时,启动进程进行通信异常分析,以确定异常通信的设备节点。
第三方面,提供了一种模型训练过程异常检测设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如前所述的模型训练过程异常检测方法的各个步骤。
第四方面,提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如前所述的模型训练过程异常检测方法的各个步骤。
借由上述技术方案,本申请异常检测方案应用于模型训练集群,集群包含多台设备节点,多台设备节点被划分为若干通信组,在模型并行训练过程中,为了能够及时发现集群中的异常,本申请按照设定周期记录训练效率数据,该训练效率数据表示在一个周期内所述集群中各设备节点对训练数据的使用效率。可以理解的是,当集群中各设备节点均正常工作时,各设备节点对训练数据的读取使用效率维持在一个正常水平,而当集群中存在异常的设备节点时,该异常设备节点对训练数据的读取、使用效率会大大降低,从而导致整个周期内记录的训练效率数据也偏离正常值,因此,本申请可以基于当前周期的训练效率数据,确定集群在当前周期是否出现异常,基于此可以及时准确地发现集群的异常。在确定集群在当前周期出现异常时,可以进一步启动进程进行通信异常分析,从而确定异常通信的设备节点,协助快速发现问题节点。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示例了一种模型训练过程三维并行方案的示意图;
图2为本申请实施例提供的一种模型训练过程异常检测方法的流程示意图;
图3为本申请实施例提供的一种针对重点通信组的异常检测过程信令交互图;
图4为本申请实施例提供的一种模型训练过程异常检测装置结构示意图;
图5为本申请实施例提供的模型训练过程异常检测设备的结构示意图。
具体实施方式
在介绍本申请方案之前,首先对本文中涉及到的术语进行解释:
大型人工智能模型:又可以称之为大型深度学习模型,是一种基于深度学习技术的人工智能模型,它由数以亿计的参数组成,可以通过对大量数据的学习、训练,实现自然语音处理、图像识别、语音识别等复杂任务。大型人工智能模型可以包括大模型、大语言模型,大模型和大语言模型都是指参数量非常大的机器学习模型,但它们的应用场景和侧重点略有不同。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种模型训练过程异常检测方案,可以适用于对各类型人工智能模型进行训练过程中的异常检测,特别是对大型人工智能模型这类包含大规模参数的模型,能够及时发现模型训练所使用的集群中出现的异常,并定位异常节点,协助快速发现问题节点,解决大模型训练过程异常发现不及时,发现异常后需要逐个节点筛选、排查难度大,对设备的空闲浪费高的问题。
本申请方案可以基于具备数据处理能力的终端实现,该终端可以是服务器、服务器集群、云端等。
接下来,结合图1所示,本申请的模型训练过程异常检测方法应用于模型训练集群,集群中包含多台设备节点,多台设备节点被划分为若干通信组。本实施例中以大模型训练任务为例进行说明,在大模型训练的任务中,由于模型的尺寸过大,通常需要通过多维并行的方案进行模型的切割,并部署在不同的设备节点中。常见的技术手段包括流水线并行技术、张量并行技术,以及用于集群扩充的数据并行技术,构建了三维并行的整体解决方案,图1示例的为4个流水线并行组、8个张量并行组及16个数据并行组的三维并行方案。根据并行的计算划分,在实际的计算任务中,将集群中所有参与计算的设备节点划分为若干的通信组,同一设备节点可能被划分到多个通信组中。每个通信组内的设备会频繁的进行数据的交互通信。
在模型并行训练过程中,可能会存在训练异常的情况,其中比较典型的两种异常情况,第一是集群中某台硬件设备节点发生故障,与之关联的通信组内的其它设备发生通信超时,进而影响集群中全部的设备节点的计算过程;第二是集群中设备的部分通信硬件发生了故障,虽然还可以实现通信的功能,但是通信的带宽受到大幅降低,关联的通信组的通信效率降低,造成整体的计算效率异常。
由于通信错误在训练过程中出现异常的概率较高,且难以快速排查,针对上述两种典型的异常情况,本实施例提供了一种解决方案。本实施例中可以在训练框架中通过设置信息检测和通信监测来协助发现异常,及快速定位异常节点。具体方案可以参照图2所示,包括如下步骤:
步骤S100、在模型并行训练过程中,按照设定周期记录训练效率数据。
其中,所述训练效率数据表示在一个周期内所述集群中各设备节点对训练数据的使用效率。
可以理解的是,模型并行训练过程中,集群中各设备节点分别读取训练数据进行模型的训练,每个设备节点对训练数据的使用效率是相对固定的,因此一个周期内集群中各设备节点对训练数据的使用效率也是相对固定的。当集群中出现异常时,会影响整个集群中所有设备节点的计算,也即会使得一个周期内集群中各设备节点对应训练数据的使用效率发生明显降低。
本步骤中,对训练数据的使用效率的统计周期可以按照实际情况而设定,示例如每隔设定步、每隔设定时长等。本实施例中提供了一种周期设置方式,即每间隔设定训练批次batch作为一个周期,统计一次本周期内集群中各设备节点的训练效率数据。
一种可选的情况下,可以统计一个周期内所述集群中各设备节点单位时间内所使用的训练数据的平均长度,作为训效率数据。
在模型采用数据并行策略进行训练的情况下,本步骤中计算训练效率数据的方式可以参照下述公式:
B×S×D/T
其中,B表示输入的训练批次batch大小,S表示单个数据并行的设备上计算的输入序列长度,D表示数据并行的维度,T表示完成前、反向计算和梯度统计的时长。
步骤S110、基于当前周期的训练效率数据,确定所述集群在当前周期是否出现异常。
具体地,如上文所述,正常情况下一个周期内集群中各设备节点对训练数据的使用效率是相对固定的。当集群中出现异常时,会影响整个集群中所有设备节点的计算,也即会使得一个周期内集群中各设备节点对应训练数据的使用效率发生明显降低,因此本步骤中可以根据当前周期的训练效率数据,确定集群在当前周期是否出现异常,示例如当前周期的训练效率数据是否明显低于历史水平,或是否明显低于设定阈值等。
步骤S120、在确定所述集群在当前周期出现异常时,启动进程进行通信异常分析,以确定异常通信的设备节点。
具体地,在上一步骤中确定集群在当前周期出现异常后,可以在传统的训练进程的基础上进一步启动一个新的进程,用于进行集群的通信异常分析任务,以确定异常通信的设备节点,从而定位出问题节点。
本申请实施例提供的异常检测方案,在模型并行训练过程中,为了能够及时发现集群中的异常,本申请按照设定周期记录训练效率数据,该训练效率数据表示在一个周期内所述集群中各设备节点对训练数据的使用效率。可以理解的是,当集群中各设备节点均正常工作时,各设备节点对训练数据的读取使用效率维持在一个正常水平,而当集群中存在异常的设备节点时,该异常设备节点对训练数据的读取、使用效率会大大降低,从而导致整个周期内记录的训练效率数据也偏离正常值,因此,本申请可以基于当前周期的训练效率数据,确定集群在当前周期是否出现异常,基于此可以及时准确地发现集群的异常。在确定集群在当前周期出现异常时,可以进一步启动进程进行通信异常分析,从而确定异常通信的设备节点,协助快速发现问题节点。
在本申请的一些实施例中,介绍了上述步骤S110,基于当前周期的训练效率数据,确定所述集群在当前周期是否出现异常的一种可选实现方式。
为了更加准确的基于当前周期的训练效率数据判定集群在当前周期是否出现异常,本实施例中可以计算平均训练效率数据。
平均训练效率数据可以仅基于历史周期的训练效率数据确定,示例如将当前周期之前的若干个历史周期的训练效率数据求平均,作为平均训练效率数据。除此之外,本实施例中还可以同时基于历史周期的训练效率数据,和当前周期的训练效率数据,计算平均训练效率数据。
具体地,可以采用滑动平均的方式计算平均训练效率数据,即:
将当前周期的前一历史周期所计算得到的平均训练效率数据乘以设定第一权重,得到第一结果;
将当前周期的训练效率数据乘以设定第二权重,得到第二结果,所述第一权重大于所述第二权重;
将所述第一结果和所述第二结果相加,得到当前周期的平均训练效率数据。
公式表达如下:
当前周期的平均训练效率数据Avgi为:
Q1×Avgi-1+Q2×Cur
其中,i表示当前周期,Q1、Q2分别表示第一权重和第二权重,Avgi-1表示当前周期的前一历史周期所计算得到的平均训练效率数据,Cur表示当前周期的训练效率数据。
为了提升对历史周期计算得到的平均训练效率数据的关注度,可以设置Q1大于Q2,示例性的,Q1可以取值为0.9,Q2取值为0.1。
在计算得到平均训练效率数据Avgi之后,可以进一步计算当前周期的训练效率数据Cur与所述平均训练效率数据Avgi的差值,并在所述差值满足设定差异条件时,确定所述集群在当前周期出现异常,否则,确定所述集群在当前周期未出现异常。
示例性的,上述设定差异条件可以是:
当前周期的训练效率数据Cur与所述平均训练效率数据Avgi的差值超过设定阈值:
|Cur-Avgi|>T1,T1为设定阈值。
或者,上述设定差异条件还可以是:
当前周期的训练效率数据Cur相比于所述平均训练效率数据Avgi的差异超过设定差异阈值:
其中,T2为设定差异阈值,示例如可以取值为30%。
本实施例中当判断当前周期的训练效率数据Cur与所述平均训练效率数据Avgi的差值满足设定差异条件时,表明当前周期的训练效率数据出现异常,也即意味着集群在当前周期中出现了异常。本实施例中通过统计对比模型训练过程的训练效率数据,可以更加快速、准确地判断集群是否出现异常,可以更加及时地发现异常。
进一步地,对前述步骤S120,在确定所述集群在当前周期出现异常时,启动进程进行通信异常分析,以确定异常通信的设备节点的过程进行说明。
具体地,当确定集群在当前周期出现异常后,可以额外启动一个进程执行通信异常分析任务,对集群进行通信分析,确定集群的通信效率是否符合预期,若否,则表示集群在通信层出现异常,进一步可以对集群中的各通信组采用二分法进行通信分析,以确定异常通信的设备节点。
在对集群进行通信分析时,可以对集群中的各个设备节点进行点对点通信测试,以测试集群中各设备节点完成通信测试的整体用时,并判断整体用时是否在预期用时范围内,若否,则表明集群在通信层出现了异常。
在对集群中各通信组采用二分法进行通信分析时,可以采用二分法对各通信组进行通信测试,示例如总共有10个通信组,则可以先对前5个通信组中的设备节点进行通信测试,若通信测试正常,则表明异常节点出现在后5个通信组中,因此可以对后5个通信组再次采用二分法进行通信测试,以此类推,直至确定出异常通信的设备节点。如此可以节省通信测试的总用时,避免逐个设备节点的通信测试。
在本申请的一些实施例中,考虑到集群中一些重点通信组在通信过程中发生错误的概率更高,更容易出现问题。示例如,对于跨节点的通信组、关联设备数量超过设定阈值的通信组等,可以作为重点通信组。
结合图3示例的信令交互图可知:
本实施例中还可以在模型并行训练过程中,针对这些设定的重点通信组X,在其中主设备节点(一般是0号节点,又可以称之为Master节点)上启动监听进程,用于监听所有的通信异常上报信息。除此之外,可以令重点通信组X的通信进程依次顺序启动NCCL异步通信和GLOO通信,并设置GLOO通信的超时时长为第一数值,示例如5min,若GLOO通信在超时时长内未完成,则表示在其前面的NCCL通信也超时,此时由重点通信组X内的正常设备节点与主设备节点进行信息通信。其中,NCCL是NVIDIA集合通信库(NVIDIA CollectiveCommunications Library)的简称,是用于加速多GPU之间通信的库,能够实现集合通信和点对点通信。
主设备节点通过监听进程接收重点通信组X内正常设备节点发送的信息,从而可以筛选定位出未发送信息的异常设备节点。
主设备节点进一步还可以将定位出的异常设备节点记录到日志文件中。此外,主设备节点可以将异常设备节点上传到训练调度平台,辅助训练调度平台进行问题节点剔除。
本实施例提供的方案,在前述实施例的基础上进一步增加了对重点通信组的通信异常监测手段,可以增加对诸如跨节点的通信组、关联设备数量较多的一些重点通信组的异常监控,进而能够更加及时的发现这些重点通信组所存在的异常。
下面对本申请实施例提供的模型训练过程异常检测装置进行描述,下文描述的模型训练过程异常检测装置与上文描述的模型训练过程异常检测方法可相互对应参照。
参见图4,图4为本申请实施例公开的一种模型训练过程异常检测装置结构示意图。
如图4所示,该装置可以包括:
训练效率数据记录单元11,用于在模型并行训练过程中,按照设定周期记录训练效率数据,所述训练效率数据表示在一个周期内所述集群中各设备节点对训练数据的使用效率;
集群异常判断单元12,用于基于当前周期的训练效率数据,确定所述集群在当前周期是否出现异常;
异常节点确定单元13,用于在确定所述集群在当前周期出现异常时,启动进程进行通信异常分析,以确定异常通信的设备节点。
可选的,上述训练效率数据记录单元按照设定周期记录训练效率数据的过程,可以包括:
每间隔设定训练批次batch作为一个周期,统计一个周期内所述集群中各设备节点的训练效率数据。
可选的,上述训练效率数据记录单元统计一个周期内所述集群中各设备节点的训练效率数据的过程,可以包括:
统计一个周期内所述集群中各设备节点单位时间内所使用的训练数据的平均长度,作为训效率数据。
可选的,在模型采用数据并行策略进行训练的情况下,上述训练效率数据记录单元统计一个周期内所述集群中各设备节点单位时间内所使用的训练数据的平均长度,作为训效率数据的过程,可以按照如下公式计算训练效率数据:
B×S×D/T
其中,B表示输入的训练批次batch大小,S表示单个数据并行的设备上计算的输入序列长度,D表示数据并行的维度,T表示完成前、反向计算和梯度统计的时长。
可选的,上述集群异常判断单元基于当前周期的训练效率数据,确定所述集群在当前周期是否出现异常的过程,可以包括:
基于历史周期的训练效率数据,和当前周期的训练效率数据,计算平均训练效率数据;
计算所述当前周期的训练效率数据与所述平均训练效率数据的差值,并在所述差值满足设定差异条件时,确定所述集群在当前周期出现异常,否则,确定所述集群在当前周期未出现异常。
可选的,上述集群异常判断单元基于历史周期的训练效率数据,和/或,当前周期的训练效率数据,计算平均训练效率数据的过程,可以包括:
将当前周期的前一历史周期所计算得到的平均训练效率数据乘以设定第一权重,得到第一结果;
将当前周期的训练效率数据乘以设定第二权重,得到第二结果,所述第一权重大于所述第二权重;
将所述第一结果和所述第二结果相加,得到当前周期的平均训练效率数据。
可选的,上述异常节点确定单元启动进程进行通信异常分析,以确定异常通信的设备节点的过程,可以包括:
启动进程对所述集群进行通信分析,确定集群的通信效率是否符合预期,若否,表示所述集群在通信层出现异常,进一步对集群中的各通信组采用二分法进行通信分析,以确定异常通信的设备节点。
可选的,本申请的装置还可以包括:
重点通信组监控单元,用于在模型并行训练过程中针对设定的重点通信组,在其中主设备节点上启动监听进程;令重点通信组的通信进程顺序启动NCCL异步通信和GLOO通信,并设置GLOO通信的超时时长为第一数值,若所述GLOO通信在所述超时时长内未完成,则由所述重点通信组内的正常设备节点与所述主设备节点进行信息通信;通过所述监听进程接收所述重点通信组内正常设备节点发送的信息,并定位出未发送信息的异常设备节点。
可选的,本申请的装置还可以包括:
异常设备节点处理单元,用于将定位出的所述异常设备节点记录到日志文件中,和/或,将所述异常设备节点上传到训练调度平台,以供训练调度平台进行问题节点剔除。
本申请实施例提供的模型训练过程异常检测装置可应用于模型训练过程异常检测设备,如用于训练模型的集群中各设备节点,各设备节点可以是服务器、服务器集群、云端等。可选的,图5示出了异常检测设备的硬件结构框图,参照图5,设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
在模型并行训练过程中,按照设定周期记录训练效率数据,所述训练效率数据表示在一个周期内所述集群中各设备节点对训练数据的使用效率;
基于当前周期的训练效率数据,确定所述集群在当前周期是否出现异常;
在确定所述集群在当前周期出现异常时,启动进程进行通信异常分析,以确定异常通信的设备节点。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
在模型并行训练过程中,按照设定周期记录训练效率数据,所述训练效率数据表示在一个周期内所述集群中各设备节点对训练数据的使用效率;
基于当前周期的训练效率数据,确定所述集群在当前周期是否出现异常;
在确定所述集群在当前周期出现异常时,启动进程进行通信异常分析,以确定异常通信的设备节点。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种模型训练过程异常检测方法,其特征在于,应用于模型训练集群,所述集群中包含多台设备节点,且多台设备节点被划分为若干通信组,训练方法包括:
在模型并行训练过程中,按照设定周期记录训练效率数据,所述训练效率数据表示在一个周期内所述集群中各设备节点对训练数据的使用效率;
基于当前周期的训练效率数据,确定所述集群在当前周期是否出现异常;
在确定所述集群在当前周期出现异常时,启动进程进行通信异常分析,以确定异常通信的设备节点;
在模型采用数据并行策略进行训练的情况下,所述训练效率数据的计算方式为:
B×S×D/T
其中,B表示输入的训练批次batch大小,S表示单个数据并行的设备上计算的输入序列长度,D表示数据并行的维度,T表示完成前、反向计算和梯度统计的时长。
2.根据权利要求1所述的方法,其特征在于,所述按照设定周期记录训练效率数据,包括:
每间隔设定训练批次batch作为一个周期,统计一个周期内所述集群中各设备节点的训练效率数据。
3.根据权利要求2所述的方法,其特征在于,所述统计一个周期内所述集群中各设备节点的训练效率数据的过程,包括:
统计一个周期内所述集群中各设备节点单位时间内所使用的训练数据的平均长度,作为训练效率数据。
4.根据权利要求1所述的方法,其特征在于,基于当前周期的训练效率数据,确定所述集群在当前周期是否出现异常,包括:
基于历史周期的训练效率数据,和当前周期的训练效率数据,计算平均训练效率数据;
计算所述当前周期的训练效率数据与所述平均训练效率数据的差值,并在所述差值满足设定差异条件时,确定所述集群在当前周期出现异常,否则,确定所述集群在当前周期未出现异常。
5.根据权利要求4所述的方法,其特征在于,基于历史周期的训练效率数据,和/或,当前周期的训练效率数据,计算平均训练效率数据,包括:
将当前周期的前一历史周期所计算得到的平均训练效率数据乘以设定第一权重,得到第一结果;
将当前周期的训练效率数据乘以设定第二权重,得到第二结果,所述第一权重大于所述第二权重;
将所述第一结果和所述第二结果相加,得到当前周期的平均训练效率数据。
6.根据权利要求1所述的方法,其特征在于,所述启动进程进行通信异常分析,以确定异常通信的设备节点,包括:
启动进程对所述集群进行通信分析,确定集群的通信效率是否符合预期,若否,表示所述集群在通信层出现异常,进一步对集群中的各通信组采用二分法进行通信分析,以确定异常通信的设备节点。
7.根据权利要求1-6任一项所述的方法,其特征在于,还包括:
在模型并行训练过程中针对设定的重点通信组,在其中主设备节点上启动监听进程;
令重点通信组的通信进程顺序启动NCCL异步通信和GLOO通信,并设置GLOO通信的超时时长为第一数值,若所述GLOO通信在所述超时时长内未完成,则由所述重点通信组内的正常设备节点与所述主设备节点进行信息通信;
通过所述监听进程接收所述重点通信组内正常设备节点发送的信息,并定位出未发送信息的异常设备节点。
8.根据权利要求7所述的方法,其特征在于,所述重点通信组包括以下任意一种或多种:
跨节点的通信组、关联设备数量超过设定阈值的通信组。
9.根据权利要求7所述的方法,其特征在于,还包括:
将定位出的所述异常设备节点记录到日志文件中,和/或,将所述异常设备节点上传到训练调度平台,以供训练调度平台进行问题节点剔除。
10.一种模型训练过程异常检测装置,其特征在于,应用于模型训练集群,所述集群中包含多台设备节点,且多台设备节点被划分为若干通信组,装置包括:
训练效率数据记录单元,用于在模型并行训练过程中,按照设定周期记录训练效率数据,所述训练效率数据表示在一个周期内所述集群中各设备节点对训练数据的使用效率;
集群异常判断单元,用于基于当前周期的训练效率数据,确定所述集群在当前周期是否出现异常;
异常节点确定单元,用于在确定所述集群在当前周期出现异常时,启动进程进行通信异常分析,以确定异常通信的设备节点;
在模型采用数据并行策略进行训练的情况下,所述训练效率数据的计算方式为:
B×S×D/T
其中,B表示输入的训练批次batch大小,S表示单个数据并行的设备上计算的输入序列长度,D表示数据并行的维度,T表示完成前、反向计算和梯度统计的时长。
11.一种模型训练过程异常检测设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~9中任一项所述的模型训练过程异常检测方法的各个步骤。
12.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~9中任一项所述的模型训练过程异常检测方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310893103.4A CN116628508B (zh) | 2023-07-20 | 2023-07-20 | 模型训练过程异常检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310893103.4A CN116628508B (zh) | 2023-07-20 | 2023-07-20 | 模型训练过程异常检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116628508A CN116628508A (zh) | 2023-08-22 |
CN116628508B true CN116628508B (zh) | 2023-12-01 |
Family
ID=87636836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310893103.4A Active CN116628508B (zh) | 2023-07-20 | 2023-07-20 | 模型训练过程异常检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116628508B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463340A (zh) * | 2020-12-10 | 2021-03-09 | 武汉工程大学 | 基于tensorflow的多任务弹性调度方法及系统 |
CN114328098A (zh) * | 2021-12-23 | 2022-04-12 | 北京百度网讯科技有限公司 | 一种慢节点检测方法、装置、电子设备及存储介质 |
CN114444510A (zh) * | 2021-12-24 | 2022-05-06 | 科大讯飞股份有限公司 | 情感交互方法及装置、情感交互模型的训练方法及装置 |
CN114756385A (zh) * | 2022-06-16 | 2022-07-15 | 合肥中科类脑智能技术有限公司 | 一种深度学习场景下的弹性分布式训练方法 |
CN114791856A (zh) * | 2022-06-27 | 2022-07-26 | 北京瑞莱智慧科技有限公司 | 基于K8s的分布式训练任务处理方法、相关设备及介质 |
CN115063588A (zh) * | 2022-06-29 | 2022-09-16 | 深圳前海微众银行股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN115714692A (zh) * | 2022-11-18 | 2023-02-24 | 联通(广东)产业互联网有限公司 | 一种监测网卡的模型训练方法及其应用、系统和电子设备 |
CN115859793A (zh) * | 2022-11-21 | 2023-03-28 | 河北工业大学 | 基于注意力的异构信息网络用户异常行为检测方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9075912B2 (en) * | 2012-03-26 | 2015-07-07 | Nec Laboratories America, Inc. | Method and system for software system performance diagnosis with kernel event feature guidance |
-
2023
- 2023-07-20 CN CN202310893103.4A patent/CN116628508B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463340A (zh) * | 2020-12-10 | 2021-03-09 | 武汉工程大学 | 基于tensorflow的多任务弹性调度方法及系统 |
CN114328098A (zh) * | 2021-12-23 | 2022-04-12 | 北京百度网讯科技有限公司 | 一种慢节点检测方法、装置、电子设备及存储介质 |
WO2023115975A1 (zh) * | 2021-12-23 | 2023-06-29 | 北京百度网讯科技有限公司 | 慢节点检测方法、装置、电子设备及存储介质 |
CN114444510A (zh) * | 2021-12-24 | 2022-05-06 | 科大讯飞股份有限公司 | 情感交互方法及装置、情感交互模型的训练方法及装置 |
CN114756385A (zh) * | 2022-06-16 | 2022-07-15 | 合肥中科类脑智能技术有限公司 | 一种深度学习场景下的弹性分布式训练方法 |
CN114791856A (zh) * | 2022-06-27 | 2022-07-26 | 北京瑞莱智慧科技有限公司 | 基于K8s的分布式训练任务处理方法、相关设备及介质 |
CN115063588A (zh) * | 2022-06-29 | 2022-09-16 | 深圳前海微众银行股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN115714692A (zh) * | 2022-11-18 | 2023-02-24 | 联通(广东)产业互联网有限公司 | 一种监测网卡的模型训练方法及其应用、系统和电子设备 |
CN115859793A (zh) * | 2022-11-21 | 2023-03-28 | 河北工业大学 | 基于注意力的异构信息网络用户异常行为检测方法及系统 |
Non-Patent Citations (3)
Title |
---|
Hadoop集群异常节点实时检测与诊断算法;潘伟博 等;陕西理工大学学报(自然科学版);第37卷(第4期);24-31 * |
基于学习的容器环境Spark性能监控与分析;皮艾迪;喻剑;周笑波;;计算机应用(12);248-253 * |
基于预测模型及独立训练节点的负载均衡策略;陈大才;吕立;高岑;孙咏;;计算机系统应用(09);222-225 * |
Also Published As
Publication number | Publication date |
---|---|
CN116628508A (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109918313B (zh) | 一种基于GBDT决策树的SaaS软件性能故障诊断方法 | |
CN111666187B (zh) | 用于检测异常响应时间的方法和装置 | |
CN113282635A (zh) | 一种微服务系统故障根因定位方法及装置 | |
CN113657715A (zh) | 一种基于核密度估计调用链的根因定位方法及系统 | |
CN112532455B (zh) | 一种异常根因定位方法及装置 | |
CN116049146B (zh) | 一种数据库故障处理方法、装置、设备及存储介质 | |
CN107203464B (zh) | 业务问题的定位方法以及装置 | |
CN114356499A (zh) | Kubernetes集群告警根因分析方法及装置 | |
CN114757142A (zh) | 自纠错芯片验证方法、装置、设备及计算机可读介质 | |
CN110825466B (zh) | 一种程序卡顿的处理方法以及卡顿处理装置 | |
CN110659147B (zh) | 一种基于模块自检行为的自修复方法和系统 | |
CN111367782B (zh) | 回归测试数据自动生成的方法及装置 | |
CN116628508B (zh) | 模型训练过程异常检测方法、装置、设备及存储介质 | |
CN116228045B (zh) | 基于性能退化的产品可靠性薄弱环节评估方法和装置 | |
CN113986618B (zh) | 集群脑裂自动修复方法、系统、装置及存储介质 | |
CN114760190A (zh) | 一种面向服务的融合网络性能异常检测方法 | |
CN111885159B (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN111258788B (zh) | 磁盘故障预测方法、装置及计算机可读存储介质 | |
CN112799911A (zh) | 一种节点健康状态检测方法、装置、设备及存储介质 | |
CN112068935A (zh) | kubernetes程序部署监控方法、装置以及设备 | |
CN117439899B (zh) | 一种基于大数据的通信机房巡检方法及系统 | |
CN113746688B (zh) | 实现异常检测模型更新的方法、装置和计算设备 | |
CN113849364B (zh) | 一种边缘应用管理方法、装置、设备及可读存储介质 | |
CN109474445B (zh) | 一种分布式系统根源故障定位方法及装置 | |
CN110990387B (zh) | 一种电能计量设备停电记录错误处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |