一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种机器学习任务的恢复方法、装置、电子设备及介质与流程

2022-05-18 05:36:59 来源:中国专利 TAG:


1.本技术涉及机器学习技术领域,尤其是涉及一种机器学习任务的恢复方法、装置、电子设备及介质。


背景技术:

2.目前,机器学习任务的训练和计算时间会比较长,如果机器学习任务在训练过程或计算过程中运行失败了,则需要重新开始运行机器学习任务。尤其是机器学习任务训练或计算到末尾阶段,机器学习任务运行失败,之前的训练或计算则可能前功尽弃,需要重新再来,非常浪费计算资源和时间,这种成本付出是很多企业和个人无法忍受的。
3.现有的机器学习包括分布式计算方案和k8s管理方案,这两种方案均无法实现机器学习任务运行失败后的自动恢复和继续执行。因此,亟需研发一种器学习任务的恢复方案。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种机器学习任务的恢复方法、装置、电子设备及介质,以实现机器学习任务运行失败后的自动恢复和继续执行,节约计算资源和时间。
5.第一方面,本技术实施例提供了一种机器学习任务的恢复方法,所述机器学习任务划分为多个机器学习子任务,所述方法包括:
6.当所述多个机器学习子任务分别在各自的任务运行环境中正常运行时,对多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息进行细粒度保存;
7.通过任务状态机对所述多个机器学习子任务的状态信息进行保存;
8.若所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务,同时对保存的所述多个机器学习子任务的状态信息的总和校验码进行校验,以保证所述机器学习任务的状态信息的一致性。
9.在一种可能的实施方式中,所述任务运行环境为容器或虚拟机。
10.在一种可能的实施方式中,所述任务运行环境的状态信息包括以下至少一项:系统资源的状态信息、所述多个机器学习子任务分别在各自的任务运行环境中实际运行的状态信息和所述多个机器学习子任务的任务进程信息,所述系统资源包括cpu、gpu、npu和内存中的至少一种。
11.在一种可能的实施方式中,所述多个机器学习子任务的上下文信息包括所述多个机器学习子任务在运行时的全部状态信息。
12.在一种可能的实施方式中,若所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务,包括:
13.若多个所述任务运行环境异常导致所述机器学习任务运行失败,则重新启动多个
所述任务运行环境;
14.若多个所述任务运行环境恢复正常,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务。
15.在一种可能的实施方式中,若所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务,包括:
16.若多个所述任务运行环境正常且所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务。
17.在一种可能的实施方式中,所述方法还包括:若所述机器学习任务恢复正常,则从所述机器学习任务运行失败的断点处继续运行。
18.第二方面,本技术实施例还提供一种机器学习任务的恢复装置,所述机器学习任务划分为多个机器学习子任务,所述装置包括:
19.第一保存模块,用于当所述多个机器学习子任务分别在各自的任务运行环境中正常运行时,对多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息进行细粒度保存;
20.第二保存模块,用于通过任务状态机对所述多个机器学习子任务的状态信息进行保存;
21.自动恢复模块,用于若所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务,同时对保存的所述多个机器学习子任务的状态信息的总和校验码进行校验,以保证所述机器学习任务的状态信息的一致性。
22.第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
23.第四方面,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
24.本技术实施例提供的一种机器学习任务的恢复方法,所述机器学习任务划分为多个机器学习子任务,分别在各自的任务运行环境中运行。当所述多个机器学习子任务分别在各自的任务运行环境中正常运行时,对多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息进行细粒度保存;并且,通过任务状态机对所述多个机器学习子任务的状态信息进行保存。如果所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务,同时对保存的所述多个机器学习子任务的状态信息的总和校验码进行校验,以保证所述机器学习任务的状态信息的一致性。本技术实施例实现了机器学习任务运行失败后的自动恢复,保证了机器学习任务训练或计算的可持续性,可以节约计算资源和时间。
25.进一步,本技术实施例提供的一种机器学习任务的恢复方法,还可以在所述机器学习任务恢复正常时,从所述机器学习任务运行失败的断点处继续运行。本技术实施例在所述机器学习任务运行失败后,可以迅速恢复并且从运行失败的断点处继续运行,无需重新开始运行所述机器学习任务,实现了机器学习任务运行失败后的自动恢复和继续运行,保证了机器学习任务训练或计算的可持续性,可以节约计算资源和时间。
26.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
27.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
28.图1示出了本技术实施例所提供的一种机器学习任务的恢复方法的流程图;
29.图2示出了一种机器学习任务的恢复方法的信号流图;
30.图3示出了本技术实施例所提供的一种机器学习任务的恢复装置的结构示意图;
31.图4示出了本技术实施例所提供的一种电子设备的结构示意图。
具体实施方式
32.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
33.考虑到目前机器学习任务的训练和计算时间会比较长,如果机器学习任务在训练过程或计算过程中运行失败了,则需要重新开始运行机器学习任务。尤其是机器学习任务训练或计算到末尾阶段,机器学习任务运行失败,之前的训练或计算则可能前功尽弃,需要重新再来,非常浪费计算资源和时间,这种成本付出是很多企业和个人无法忍受的。现有的机器学习包括分布式计算方案和k8s管理方案,这两种方案均无法实现机器学习任务运行失败后的自动恢复和继续执行。基于此,本技术实施例提供了一种机器学习任务的恢复方法、装置、电子设备及介质,下面通过实施例进行描述。
34.为便于对本实施例进行理解,首先对本技术实施例所公开的一种机器学习任务的恢复方法进行详细介绍。
35.请参照图1,图1为本技术实施例所提供的一种机器学习任务的恢复方法的流程图。如图1所示,所述方法可以包括以下步骤:
36.s101、当所述多个机器学习子任务分别在各自的任务运行环境中正常运行时,对多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息进行细粒度
保存;
37.s102、通过任务状态机对所述多个机器学习子任务的状态信息进行保存;
38.s103、若所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务,同时对保存的所述多个机器学习子任务的状态信息的总和校验码进行校验,以保证所述机器学习任务的状态信息的一致性。
39.步骤s101中,所述机器学习任务划分为多个机器学习子任务,所述多个机器学习子任务分别在各自的任务运行环境中运行。其中,所述任务运行环境可以为容器或虚拟机。所述任务运行环境的状态信息包括以下至少一项:系统资源的状态信息、所述多个机器学习子任务分别在各自的任务运行环境中实际运行的状态信息和所述多个机器学习子任务的任务进程信息,所述系统资源包括cpu、gpu、npu和内存中的至少一种。所述多个机器学习子任务的上下文信息包括所述多个机器学习子任务在运行时的全部状态信息,例如变量、存储、内存等状态信息。
40.在一种可能的实施方式中,所述任务运行环境为容器,如图2所示,所述多个机器学习子任务分别在各自的容器中运行。在本步骤中,当所述多个机器学习子任务分别在各自的容器中正常运行时,实时或定时对多个所述容器的状态信息和所述多个机器学习子任务的上下文信息进行细粒度保存。其中,容器的状态信息包括以下至少一项:系统资源的状态信息、所述多个机器学习子任务分别在各自的容器中实际运行的状态信息和所述多个机器学习子任务的任务进程信息,所述系统资源包括cpu、gpu、npu和内存中的至少一种。
41.在另一种可能的实施方式中,所述任务运行环境为虚拟机,所述多个机器学习子任务分别在各自的虚拟机中运行。在本步骤中,当所述多个机器学习子任务分别在各自的虚拟机中正常运行时,实时或定时对多个所述虚拟机的状态信息和所述多个机器学习子任务的上下文信息进行细粒度保存。其中,虚拟机的状态信息包括以下至少一项:系统资源的状态信息、所述多个机器学习子任务分别在各自的虚拟机中实际运行的状态信息和所述多个机器学习子任务的任务进程信息,所述系统资源包括cpu、gpu、npu和内存中的至少一种。
42.步骤s102中,通过任务状态机对所述多个机器学习子任务的全部状态信息进行保存,通过bitmap位图算法的管理方式管理任务状态机。bitmap算法的核心思想是用bit数组来记录0-1两种状态,然后再将具体数据映射到这个比特数组的具体位置,这个比特位设置成0表示数据不存在,设置成1表示数据存在。
43.步骤s103中,若多个所述任务运行环境异常(例如容器的稳定性比较差导致的容器异常)导致所述机器学习任务运行失败,则重新启动多个所述任务运行环境(容器或虚拟机)。若多个所述任务运行环境(容器或虚拟机)恢复正常,则从保存的多个所述任务运行环境(容器或虚拟机)的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务。同时对保存的所述多个机器学习子任务的状态信息的总和校验码(checksum)进行校验,以保证所述机器学习任务的状态信息的一致性。
44.或者,若多个所述任务运行环境(容器或虚拟机)正常且所述机器学习任务运行失败(例如由于系统资源不够或者任何的中断导致的所述机器学习任务运行失败),则从保存的多个所述任务运行环境(容器或虚拟机)的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务。同时对保存的所述多个机器学习子任务的
状态信息的总和校验码(checksum)进行校验,以保证所述机器学习任务的状态信息的一致性。
45.在本实施例中,自动恢复所述机器学习任务最多重试三次,如果重试三次后所述机器学习任务仍然异常,则重新启动新的机器学习任务。
46.在一种可能的实施方式中,上述方法还可以包括:若所述机器学习任务恢复正常,则从所述机器学习任务运行失败的断点处继续运行。比如,假设所述机器学习任务运行了2小时后暂停,则在恢复时继续从2小时接着运行。这样,在所述机器学习任务运行失败后,可以迅速恢复并且从运行失败的断点处继续运行,无需重新开始运行所述机器学习任务,保证了机器学习任务训练或计算的可持续性,可以节约计算资源和时间。
47.本技术实施例提供的一种机器学习任务的恢复方法,所述机器学习任务划分为多个机器学习子任务,分别在各自的任务运行环境中运行。当所述多个机器学习子任务分别在各自的任务运行环境中正常运行时,对多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息进行细粒度保存;并且,通过任务状态机对所述多个机器学习子任务的状态信息进行保存。如果所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务,同时对保存的所述多个机器学习子任务的状态信息的总和校验码进行校验,以保证所述机器学习任务的状态信息的一致性。本技术实施例在所述机器学习任务运行失败后,可以迅速恢复并且从运行失败的断点处继续运行,无需重新开始运行所述机器学习任务,实现了机器学习任务运行失败后的自动恢复和继续运行,保证了机器学习任务训练或计算的可持续性,可以节约计算资源和时间。
48.基于相同的技术构思,本技术实施例还提供一种机器学习任务的恢复装置、电子设备、以及计算机存储介质等,具体可参见以下实施例。
49.请参照图3,图3为本技术实施例所提供的一种机器学习任务的恢复装置的结构示意图。所述机器学习任务划分为多个机器学习子任务,如图3所示,所述装置可以包括:
50.第一保存模块10,用于当所述多个机器学习子任务分别在各自的任务运行环境中正常运行时,对多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息进行细粒度保存;
51.第二保存模块20,用于通过任务状态机对所述多个机器学习子任务的状态信息进行保存;
52.自动恢复模块30,用于若所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务,同时对保存的所述多个机器学习子任务的状态信息的总和校验码进行校验,以保证所述机器学习任务的状态信息的一致性。
53.在一种可能的实施方式中,所述任务运行环境为容器或虚拟机。
54.在一种可能的实施方式中,所述任务运行环境的状态信息包括以下至少一项:系统资源的状态信息、所述多个机器学习子任务分别在各自的任务运行环境中实际运行的状态信息和所述多个机器学习子任务的任务进程信息,所述系统资源包括cpu、gpu、npu和内存中的至少一种。
55.在一种可能的实施方式中,所述多个机器学习子任务的上下文信息包括所述多个
机器学习子任务在运行时的全部状态信息。
56.在一种可能的实施方式中,自动恢复模块30具体用于:
57.若多个所述任务运行环境异常导致所述机器学习任务运行失败,则重新启动多个所述任务运行环境;
58.若多个所述任务运行环境恢复正常,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务。
59.在一种可能的实施方式中,自动恢复模块30具体用于:若多个所述任务运行环境正常且所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务。
60.在一种可能的实施方式中,所述装置还可以包括:
61.断点续跑模块40,用于若所述机器学习任务恢复正常,则从所述机器学习任务运行失败的断点处继续运行。
62.本技术实施例公开了一种电子设备,如图4所示,包括:处理器401、存储器402和总线403,所述存储器402存储有所述处理器401可执行的机器可读指令,当电子设备运行时,所述处理器401与所述存储器402之间通过总线403通信。所述机器可读指令被所述处理器401执行时执行以下步骤:
63.当所述多个机器学习子任务分别在各自的任务运行环境中正常运行时,对多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息进行细粒度保存;
64.通过任务状态机对所述多个机器学习子任务的状态信息进行保存;
65.若所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务,同时对保存的所述多个机器学习子任务的状态信息的总和校验码进行校验,以保证所述机器学习任务的状态信息的一致性。
66.在一种可能的实施方式中,所述任务运行环境为容器或虚拟机。
67.在一种可能的实施方式中,所述任务运行环境的状态信息包括以下至少一项:系统资源的状态信息、所述多个机器学习子任务分别在各自的任务运行环境中实际运行的状态信息和所述多个机器学习子任务的任务进程信息,所述系统资源包括cpu、gpu、npu和内存中的至少一种。
68.在一种可能的实施方式中,所述多个机器学习子任务的上下文信息包括所述多个机器学习子任务在运行时的全部状态信息。
69.在一种可能的实施方式中,若所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务,包括:
70.若多个所述任务运行环境异常导致所述机器学习任务运行失败,则重新启动多个所述任务运行环境;
71.若多个所述任务运行环境恢复正常,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务。
72.在一种可能的实施方式中,若所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复
所述机器学习任务,包括:
73.若多个所述任务运行环境正常且所述机器学习任务运行失败,则从保存的多个所述任务运行环境的状态信息和所述多个机器学习子任务的上下文信息的最小粒度开始恢复所述机器学习任务。
74.在一种可能的实施方式中,所述处理器401还用于执行:若所述机器学习任务恢复正常,则从所述机器学习任务运行失败的断点处继续运行。
75.本技术实施例所提供的一种机器学习任务的恢复方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
76.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
77.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
78.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
79.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
80.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
81.最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献