一种异常检测方法、装置及设备与流程

摘要: 本技术涉及人工智能,尤其一种异常检测方法、装置及设备。背景技术:1、为了提升数据吞吐性能,可以将计算负担较重的业务分解成多个可以独立执行的小任务,并将该小任务分...
一种异常检测方法、装置及设备与流程

本技术涉及人工智能,尤其一种异常检测方法、装置及设备。

背景技术:

1、为了提升数据吞吐性能,可以将计算负担较重的业务分解成多个可以独立执行的小任务,并将该小任务分配到集群中不同计算节点执行。在执行过程中,各个计算节点之间通过数据交互,以确保任务的顺序执行。例如,人工智能(artificial intelligence,ai)模型的训练和应用,往往需要多个计算节点对该ai模型进行分布式训练,或者利用多个计算节点运行该ai模型以提供推理服务。

2、由于执行分布式计算任务时涉及十分庞大的软硬件栈,任何一个计算节点软硬件故障将扩散到其他节点,导致任务中断。例如,万亿级别参数的ai模型训练可能会使用上万张图形处理器(graphics processing unit,gpu)进行训练,训练时上万个gpu通过分布式协同计算完成训练。由于整个大模型训练涉及十分庞大的软硬件栈,同时由于强分布式的训练模式,任何一处软硬件故障将扩散到其它训练进程,导致训练全部中断。当前存在基于硬件状态的检测技术,可以快速准确检测到故障设备位置及故障原因。遇到硬件故障时可根据故障类型快速隔离排查故障设备,重新更换设备后使用健康设备继续训练。

3、然而,当前的软件故障检测技术只有在执行任务的进程出现异常后才能获知软件故障,而且该检测方式需要查询所有计算节点的所有日志才能诊断出故障根因,工作量较大,检测时间长。当出现日志丢失时,会影响检测准确度。

技术实现思路

1、基于此,本技术提供了一种异常检测方法、装置及设备,提高异常检测效率和准确度。

2、第一方面,提供了一种异常检测方法,该方法应用于第一计算节点,该第一计算节点包括第一计算进程和第一管理进程,第一计算节点运行第一计算进程执行第一计算任务,该方法包括:第一计算节点通过监控线程获取第一计算进程的运行状态信息;第一计算节点通过监控线程向第一管理进程发送运行状态信息。其中,监控线程为第一计算进程中的线程,运行状态信息包括第一计算进程运行过程中的异常信息。通过该方案,第一计算节点可以通过监控线程及时收集第一计算进程执行分布式计算任务对应的运行状态信息,以便可以根据该运行状态信息快速确定异常根因,与传统的只有在计算进程异常停止后才能识别出故障相比,提升了异常检测效率。而且,在分析异常根因时,是基于实时采集的运行状态信息,该运行状态信息与日志相比,保留了异常时刻上下文信息,从而为定位异常根因提供更全面的信息,提高定位准确率。

3、其中,因此信息可以包括软件异常信息、指标异常信息等。这样,不仅可以识别软件异常,还可以识别指标异常现象,提高异常检测的多样性。

4、在一种可能的实现方式中,第一计算节点通过第一管理进程向第二计算节点的第二管理进程发送运行状态信息。其中,第二计算节点为与第一计算节点共同执行分布式计算任务的计算节点,该第二计算节点可以包括第二计算进程和第二管理进程,第二计算节点可以通过第二计算进程中的监控线程获取第二计算进程的运行状态信息,并通过监控线程向第二管理进程发送该运行状态信息,该运行状态信息包括第二计算进程运行过程的异常信息。

5、在该实现方式中,第二计算节点作为计算集群中的中心节点,可以负责收集该计算集群中其他计算节点的运行状态信息。其中,计算集群中的所有计算节点共同执行分布式计算任务。在收集所有计算节点的运行状态信息后,可以向上级节点例如管理节点,发送该运行状态信息,由管理节点根据运行状态信息分析异常根因,减少对第二计算节点中计算资源的占用。或者,第二计算节点根据所收集的各个运行状态信息分析异常根因,并向管理节点上报异常根因。这样,只需上管理节点上报异常根因,减少上报的数据量。

6、在一种可能的实现方式中,第一计算节点通过第一管理进程向管理节点发送运行状态信息,该管理节点用于管理分布式计算任务的运行。在该实现方式中,第一计算节点可以其直接向管理节点上报运行状态信息。

7、在一种可能的实现方式中,第一计算节点还可以通过第一管理进程接收第三计算节点的第三管理进程发送的运行状态信息,该运行状态信息包括第三计算节点的第三计算进程运行过程的异常信息,第三计算节点为与第一计算节点共同执行分布式计算任务的计算节点。其中,第三计算节点对应的运行状态信息是通过第三计算进程中的监控线程获取的。

8、在该实现方式中,第一计算节点可以作为计算集群的中心节点,负责收集计算集群中其他计算节点的运行状态信息,并可以向管理节点上报所收集的运行状态信息,由管理节点根据运行状态信息分析异常根因,减少对第一计算节点中计算资源的占用。

9、在一种可能的实现方式中,第一计算节点根据第一计算进程过程的异常信息以及第三计算进程运行过程的异常信息确定分布式计算任务对应异常的根因,即异常根因;第一计算节点向管理节点发送根因。在该实现方式中,第一计算节点可以仅向管理节点上报异常根因,无需上报运行状态信息,减少上报数据量。

10、在一种可能的实现方式中,第一计算节点还可以根据运行状态信息确定第一计算进程运行过程中出现异常对应的异常标识。在该实现方式中,可以针对不同的异常进行标识,以便根据该异常标识快速定位异常根因。

11、在一种可能的实现方式中,第一计算节点可以包括共同执行第一计算任务的至少两个逻辑层,该至少两个逻辑层包括需要依次执行的第一逻辑层和第二逻辑层,则第一计算节点根据运行状态信息确定第一计算进程运行过程中出现异常的异常标识,包括:第一计算节点根据运行状态信息确定在第一逻辑层出现异常对应的第一异常标识;第一计算节点根据运行状态信息以及第一异常标识确定在第二逻辑层出现异常对应的第二异常标识。在该实现方式中,可以对所有逻辑层的异常进行统一标识,这样每一个异常对应一个异常标识,从而可以获取每一逻辑层的异常标识,避免信息传递过程中的丢失,提高异常根因定位的准确性。

12、在一种可能的实现方式中,第一计算节点可以通过第一管理进程向第二计算节点的第二管理进程发送异常标识。

13、在一种可能的实现方式中,第一计算节点通过第一管理进程向管理节点发送异常标识。

14、第二方面,提供了一种异常检测装置,该装置应用于第一计算节点,该第一计算节点包括第一计算进程和第一管理进程,第一计算节点通过运行第一计算进程执行第一计算任务,包括:获取单元,用于通过监控线性获取第一计算进程的运行状态信息,其中,监控线程为第一计算进程中的线程,运行状态信息包括第一计算进行过程的异常信息;第一发送单元,用于通过监控线程向第一管理进程发送运行状态信息。

15、在一种可能的实现方式中,所述装置还包括:第二发送单元,用于通过第一管理进程向第二计算节点的第二管理进程发送运行状态信息,该第二计算节点为与第一计算节点共同执行分布式计算任务的计算节点。

16、在一种可能的实现方式中,所述装置还包括:第三发送单元,用于通过第一管理进程向管理节点发送运行状态信息,管理节点用于管理分布式计算任务的运行。

17、其中,第二发送单元和第二发送单元可以为同一个发送单元。

18、在一种可能的实现方式中,所述装置还包括:

19、接收单元,用于通过第一管理进程接收第三计算节点的第三管理进程发送的运行状态信息,该运行状态信息包括第三计算节点的第三计算进程运行过程的异常信息,该第三计算节点为与第一计算节点共同执行分布式计算任务的计算节点。

20、在一种可能的实现方式中,所述装置还包括:

21、处理单元,用于根据第一计算进程运行过程的异常信息以及第三计算进程运行过程的异常信息确定分布式计算任务对应异常的根因;

22、第三发送单元,还用于向管理节点发送根因。

23、在一种可能的实现方式中,所述装置还包括:

24、处理单元,用于根据运行状态信息确定第一计算进程运行过程中出现异常对应的异常标识。

25、在一种可能的实现方式中,第一计算节点包括共同执行第一计算任务的至少两个逻辑层,该至少两个逻辑层包括需要依次执行的第一逻辑层和第二逻辑层,处理单元,具体用于根据运行状态信息确定在第一逻辑层出现异常对应的第一异常标识;根据运行状态信息以及第一异常标识确定在第二逻辑层出现异常对应的第二异常标识。

26、在一种可能的实现方式中,所述装置还包括:第四发送单元,用于通过第一管理进程向第二计算节点的第二管理进程发送异常标识,该第二计算节点为与第一计算节点共同执行分布式计算任务的计算节点。

27、在一种可能的实现方式中,所述装置还包括:第五发送单元,用于通过第一管理进程向管理节点发送异常标识,管理节点用于管理分布式计算任务的运行。

28、其中,第四发送单元和第二发送单元可以为同一个发送单元。或者,第二发送单元、第三发送单元、第四发送单元以及第五发送单元可以为同一个发送单元。

29、在一种可能的实现方式中,异常信息至少包括软件异常信息以及指标异常信息中的一种。

30、第三方面,提供了一种分布式计算系统,所述系统包括第一计算节点,该第一计算节点包括第一计算进程和第一管理进程,第一计算节点通过运行第一计算进程执行第一计算任务;

31、第一计算节点用于通过监控线程获取所述第一计算进程的运行状态信息,其中,所述监控线程为所述第一计算进程中的线程,所述运行状态信息包括所述第一计算进程运行过程的异常信息;通过监控线程向第一管理进程发送运行状态信息。

32、在一种可能的实现方式中,所述系统还包括第二计算节点,该第二计算节点为与第一计算节点共同执行分布式计算任务的计算节点,该第二计算节点包括第二管理进程;

33、所述第二计算节点用于通过所述第二管理进程接收所述第一计算节点通过所述第一管理进程发送的所述运行状态信息。

34、在一种可能的实现方式中,所述系统还包括管理节点,该管理节点用于管理分布式计算任务的运行;

35、所述管理节点用于接收所述第一计算节点通过所述第一管理进程发送的所述运行状态信息。

36、在一种可能的实现方式中,所述系统还包括第三计算节点,所述第三计算节点为与所述第一计算节点共同执行分布式计算任务的计算节点,所述第三计算包括第三管理进程和第三计算进程;

37、所述第三计算节点用于通过所述第三管理进程向所述第一管理进程发送运行状态信息,所述运行状态信息包括所述第三计算进程运行过程的异常信息。

38、在一种可能的实现方式中,所述第一计算节点还用于根据所述第一计算进程运行过程的异常信息以及所述第三计算进程运行过程的异常信息确定所述分布式计算任务对应异常的根因;向所述管理节点发送所述根因。

39、在一种可能的实现方式中,所述第一计算节点还用于根据所述运行状态信息确定所述第一计算进程运行过程中出现异常对应的异常标识。

40、在一种可能的实现方式中,所述第一计算节点包括共同执行所述第一计算任务的至少两个逻辑层,所述至少两个逻辑层包括需要依次执行的第一逻辑层和第二逻辑层,所述第一计算节点具体用于根据所述运行状态信息确定在所述第一逻辑层出现异常对应的第一异常标识;根据所述运行状态信息以及所述第一异常标识确定在所述第二逻辑层出现异常对应的第二异常标识。

41、在一种可能的实现方式中,所述系统还包括第二计算节点,该第二计算节点为与第一计算节点共同执行分布式计算任务的计算节点,该第二计算节点包括第二管理进程;

42、所述第二计算节点用于通过第二管理进程接收所述第一管理进程发送的异常标识。

43、在一种可能的实现方式中,所述系统还包括管理节点,所述管理节点用于管理分布式计算任务的运行;管理节点还用于接收第一管理进程发送的异常标识。

44、在一种可能的实现方式中,所述异常信息至少包括软件异常信息以及指标异常信息中的一种。

45、第四方面,本技术提供一种计算设备,该计算设备包括处理器和存储器,该计算设备用于执行分布式计算任务。所述处理器、所述存储器进行相互的通信。所述处理器用于执行所述存储器中存储的指令,以使得所述计算设备执行上述第一方面或第一方面的任一种实现方式中第一计算节点所执行的方法步骤。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。计算设备还可以包括总线。其中,处理器通过总线连接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。

46、第五方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在至少一个计算设备上运行时,使得所述至少一个计算设备执行上述第一方面或第一方面的任一种实现方式所述的方法。

47、第六方面,本技术提供一种包含指令的计算机程序产品,当其在至少一个计算设备上运行时,使得至少一个计算设备执行上述第一方面或第一方面的任一种实现方式中所述的方法。

48、本技术在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。