技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种分布式模型训练系统及方法与流程  >  正文

一种分布式模型训练系统及方法与流程

  • 国知局
  • 2024-07-31 23:23:46

本说明书涉及计算机,尤其涉及一种分布式模型训练系统及方法。

背景技术:

1、树型结构模型,如决策树和adaboost,因其出色的可解释性而广泛应用于工业控制领域,支持人工模型分析和模型行为干预等操作,以实现可控的人工智能自动化控制。随着工业自动化水平的不断提升,工业控制的问题也变得日益复杂,因此需要采用具有更高模型复杂度的大型树型结构模型来进行上述工业控制的建模。

2、当前,可以采用遗传算法训练大型树型结构模型,通过模拟自然选择和遗传机制,在解空间中进行广泛的搜索,有助于跳出局部最优解,找到全局或近全局最优的树型结构。

3、但在模型训练过程中,随着树型结构的复杂化,进行交叉和变异等进化操作的复杂度也相应增加,这会耗费大量的计算资源。因此,超大规模树型结构模型的训练对计算资源的需求极高,包括cpu时间和内存使用,这对模型训练和计算平台的适配性提出了更高的要求。

4、基于此,本说明书提供了一种分布式模型训练系统。

技术实现思路

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、根据该第二计算节点对应的各进化操作执行任务包含的各树型结构模型,以及该第二计算节点采用的多个通信同步方案,通过预先定义的通信开销函数,确定该第二计算节点采用的多个通信同步方案分别对应的通信开销;

49、根据该第二计算节点采用的多个通信同步方案分别对应的通信开销,确定该第二计算节点执行该第二计算节点对应的各进化操作执行任务时采用的目标通信同步方案,并将该第二计算节点才用的目标通信同步方法发送给该第二计算节点。

50、可选地,所述方法还包括:

51、获取所述各第二计算节点执行各进化操作执行任务时的当前负载;

52、针对每个第二计算节点,当该第二计算节点的当前负载高于预设的负载阈值时,将该第二计算节点执行的各进化操作执行任务中的至少部分进化操作执行任务分配给其他第二计算节点。

53、可选地,所述方法还包括:

54、根据所述各第二计算节点对应的各进化操作执行任务,分别确定所述各第二计算节点的任务执行时长;

55、根据所述各第二计算节点的任务执行时长,确定第一目标时长;

56、根据所述第二计算节点的原始数量,通过预先定义的可扩展性函数,确定所述第二计算节点的扩展数量,并确定所述扩展数量的各第二计算节点执行所述各进化操作执行任务时的第二目标时长;

57、若所述第一目标时长与所述第二目标时长之间的差异满足第三预设条件,则根据所述扩展数量,部署所述第二计算节点。

58、可选地,所述方法还包括:

59、在每一轮迭代训练中,确定当前迭代训练得到的当前待训练模型,以及上一次迭代训练得到的待训练模型之间的当前模型差异,并在增量更新日志记录所述当前模型差异;

60、响应于更新请求,查找所述增量更新日志,根据所述增量更新日志中记录的当前模型差异,以及上一次迭代训练得到的待训练模型,确定当前迭代训练得到的当前待训练模型,并在所述第一计算节点中存储所述当前待训练模型。

61、可选地,所述方法还包括:

62、响应于训练完成的目标模型,确定所述目标模型包含的各树型结构模型中的各树节点和各决策边;

63、确定所述各树节点的各节点编码,并确定所述各决策边的各边编码;

64、根据预先定义的映射函数,将所述各节点编码映射为各第一短编码,并将所述各边编码映射为各第二短编码;其中,所述第一短编码的长度小于所述节点编码,所述第二短编码的长度小于所述边编码;

65、建立所述各第一短编码和所述各节点编码之间的第一对应关系,以及建立所述各第二短编码和所述各边编码之间的第二对应关系,根据所述第一对应关系和所述第二对应关系构建映射字典,并存储所述映射字典;

66、根据所述映射字典中存储的第一对应关系,将所述目标模型中包含的各树型结构模型中的各树节点对应的各节点编码替换为所述各第一短编码;

67、根据所述映射字典中存储的第二对应关系,将所述目标模型中包含的各树型结构模型中的各决策边对应的各边编码替换为所述各第二短编码;

68、根据所述第一短编码和所述第二短编码构成压缩后的第一压缩模型,并存储所述第一压缩模型。

69、可选地,所述方法还包括:

70、将所述第一压缩模型包含的各树型结构模型中所述各树节点对应的各第一短编码,以及所述各决策边对应的各第二短编码作为输入,输入到预先定义的计数函数,得到所述第一压缩模型包含的各树型结构模型中所述各树节点分别对应的连续重复次数,以及所述各决策边分别对应的连续重复次数;

71、根据所述各树节点分别对应的连续重复次数和所述各决策边分别对应的连续重复次数,通过游程长度编码方法,对所述第一压缩模型进行压缩,得到第二压缩模型。

72、本说明书提供了一种分布式模型训练方法,所述方法应用于第二计算节点,所述方法包括:

73、接收第一计算节点发送的适应度函数;其中,所述适应度函数有所述第一计算节点根据模型训练任务确定;

74、根据所述适应度函数、训练样本以及训练样本的标注,确定自身存储的各树型结构模型分别对应的当前适应度;

75、根据所述各树型结构模型分别对应的当前适应度,从所述各树型结构模型中选择目标树型结构模型,并将所述目标树型结构模型发送给所述第一计算节点,以使所述第一计算节点从记忆库存储的各历史树型结构模型中选择若干参考树型结构模型,并根据所述目标树型结构模型和所述参考树型结构模型生成各进化操作执行任务,并分配所述各进化操作执行任务;

76、接收所述第一计算节点分配的进化操作执行任务,根据从所述进化操作执行任务解析出的树型结构模型进行进化操作,得到更新后的树型结构模型,并将更新后的树型结构模型发送给所述第一计算节点,使得所述第一计算节点采用增量适应度评估方法,确定各更新后的树型结构模型分别对应的更新后的适应度,根据各更新后的适应度,从所述各更新后的树型结构模型中确定各选中的树型结构模型,并根据各选中的树型结构模型构建当前待训练模型。

77、本说明书提供了一种分布式模型训练装置,所述装置应用于第一计算节点,所述装置包括:

78、适应度函数确定模块,用于根据模型训练任务确定适应度函数;

79、发送模块,用于将所述适应度函数分别发送给各第二计算节点,以使所述各第二计算节点根据所述适应度函数、训练样本以及训练样本的标注,确定自身存储的各树型结构模型分别对应的当前适应度,并根据所述各树型结构模型分别对应的当前适应度,从所述各树型结构模型中选择目标树型结构模型,以将所述目标树型结构模型返回给所述第一计算节点;

80、第一接收模块,用于接收所述各第二计算节点发送的各目标树型结构模型;

81、选择模块,用于从记忆库存储的各历史树型结构模型中选择若干参考树型结构模型;

82、任务分配模块,用于根据所述各目标树型结构模型和所述参考树型结构模型生成各进化操作执行任务,将所述各进化操作执行任务分配给各第二计算节点,使得所述各第二计算节点根据从所述进化操作执行任务解析出的树型结构模型进行进化操作,得到并返回更新后的树型结构模型;

83、适应度更新模块,用于接收所述各第二计算节点发送的各更新后的树型结构模型,采用增量适应度评估方法,确定所述各更新后的树型结构模型分别对应的更新后的适应度;

84、当前待训练模型确定模块,用于根据各更新后的适应度,从所述各更新后的树型结构模型中确定各选中的树型结构模型,并根据各选中的树型结构模型构建当前待训练模型;

85、目标模型确定模块,用于将所述当前待训练模型包含的各树型结构模型分配给各第二计算节点,并重新执行选择和进化,直至当前待训练模型满足第一预设条件,得到训练完成的目标模型。

86、本说明书提供了一种分布式模型训练装置,所述装置应用于第二计算节点,所述装置包括:

87、第二接收模块,用于接收第一计算节点发送的适应度函数;其中,所述适应度函数有所述第一计算节点根据模型训练任务确定;

88、当前适应度确定模块,用于根据所述适应度函数、训练样本以及训练样本的标注,确定自身存储的各树型结构模型分别对应的当前适应度;

89、目标树型结构模型确定模块,用于根据所述各树型结构模型分别对应的当前适应度,从所述各树型结构模型中选择目标树型结构模型,并将所述目标树型结构模型发送给所述第一计算节点,以使所述第一计算节点从记忆库存储的各历史树型结构模型中选择若干参考树型结构模型,并根据所述目标树型结构模型和所述参考树型结构模型生成各进化操作执行任务,并分配所述各进化操作执行任务;

90、任务执行模块,用于接收所述第一计算节点分配的进化操作执行任务,根据从所述进化操作执行任务解析出的树型结构模型进行进化操作,得到更新后的树型结构模型,并将更新后的树型结构模型发送给所述第一计算节点,使得所述第一计算节点采用增量适应度评估方法,确定各更新后的树型结构模型分别对应的更新后的适应度,根据各更新后的适应度,从所述各更新后的树型结构模型中确定各选中的树型结构模型,并根据各选中的树型结构模型构建当前待训练模型。

91、本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述分布式模型训练方法。

92、本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述分布式模型训练方法。

93、本说明书采用的上述至少一个技术方案能够达到以下有益效果:

94、本说明书提供的分布式模型训练系统中,该系统包括第一计算节点和各第二计算节点,第一计算节点将根据模型训练任务确定的适应度函数发送给各第二计算节点,各第二计算节点基于适应度函数分别确定自身存储的各树型结构模型分别对应的当前适应度,以此选择目标树型结构模型,并将目标树型结构模型发送给第一计算节点,第一计算节点从记忆库中选择参考树型结构模型,根据参考树型结构模型和目标树型结构模型,生成进化操作执行任务,将其分配给各第二计算节点,各第二计算节点分别执行各进化操作执行任务,得到更新后的树型结构模型,第一计算节点从各更新后的树型结构模型中确定各选中的树型结构模型,并以此构建当前待训练模型,迭代多次直到满足第一预设条件,得到训练完成的目标模型。可见,通过上述方案,实现了基于大型计算集群系统的分布式计算适配,促进了面向大型树型模型构建的自动化软硬协同优化,解决了大型树型模型占用计算资源高的问题,提升了大型树型模型的训练效率。

本文地址:https://www.jishuxx.com/zhuanli/20240730/197345.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。