System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 分布式训练系统的组网方法和装置制造方法及图纸_技高网

分布式训练系统的组网方法和装置制造方法及图纸

技术编号:40604675 阅读:4 留言:0更新日期:2024-03-12 22:10
本说明书实施例提供一种分布式训练系统的组网方法和装置,分布式训练系统包括一个主控节点和多个训练节点,主控节点基于通用处理单元实现,训练节点基于专用加速单元实现,方法包括:主控节点启动第一数目个训练节点,并为每个训练节点分配对应的序号;接收任一训练节点启动成功后发送的第一上报信息,包括训练节点的序号和训练进程的进程数;根据接收到的第一数目个训练节点的第一上报信息形成第一统计列表,并将其发送给各个训练节点,以使各个训练节点根据第一统计列表进行通信组网,并行执行目标训练任务。能够实现分布式训练系统的自动容错,在节点出现故障后,也能够继续训练任务。

【技术实现步骤摘要】

本说明书一个或多个实施例涉及计算机领域,尤其涉及分布式训练系统的组网方法和装置


技术介绍

1、当前,针对大模型常常采用分布式训练系统进行训练,其中,模型训练所使用的训练数据可能包括隐私数据。分布式训练系统的节点规模通常较大,训练耗时长,节点出现故障的概率高。比如,大模型具体为大语言模型(large language model,llm),节点规模达到上千个时,训练耗时可能需要数十天,节点故障导致一天内训练失败的概率高达90%以上,所以训练任务几乎每天都会失败。

2、现有技术中,分布式训练系统的组网方案,在节点出现故障后,常常需要人工维护,如果人工维护不及时,就会使得训练任务中断,中断的时间就会导致节点空闲,浪费昂贵的算力资源。

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、在一种可能的实施方式中,所述通用处理单元为中央处理器(centralprocessing unit,cpu),所述主控节点为容器化部署的基本单元pod。

38、进一步地,所述专用加速单元为图形处理器(graphics processing unit,gpu),所述训练节点为容器化部署的基本单元pod。

39、第二方面,提供了一种分布式训练系统的组网方法,所述分布式训练系统包括一个主控节点和多个训练节点,所述主控节点基于通用处理单元实现,所述训练节点基于专用加速单元实现,所述主控节点用于调度多个训练节点以构建所述分布式训练系统,所述多个训练节点用于通过训练进程运行训练代码,来并行执行针对目标模型的目标训练任务,该方法由所述训练节点执行,包括:

40、启动成功后向主控节点发送第一上报信息,所述第一上报信息包括训练节点的序号和训练进程的进程数;

41、从主控节点接收第一统计列表,所述第一统计列表包含第一数目个训练节点的第一上报信息;

42、根据所述第一统计列表实现所述第一数目个训练节点间的通信组网,并行执行所述目标训练任务。

43、第三方面,提供了一种分布式训练系统的组网装置,所述分布式训练系统包括一个主控节点和多个训练节点,所述主控节点基于通用处理单元实现,所述训练节点基于专用加速单元实现,所述主控节点用于调度本文档来自技高网...

【技术保护点】

1.一种分布式训练系统的组网方法,所述分布式训练系统包括一个主控节点和多个训练节点,所述主控节点基于通用处理单元实现,所述训练节点基于专用加速单元实现,所述主控节点用于调度多个训练节点以构建所述分布式训练系统,所述多个训练节点用于通过训练进程运行训练代码,来并行执行针对目标模型的目标训练任务,所述方法由所述主控节点执行,包括:

2.如权利要求1所述的方法,其中,所述为每个训练节点分配对应的序号,包括:

3.如权利要求1所述的方法,其中,所述方法还包括:

4.如权利要求3所述的方法,其中,所述形成第二统计列表,包括:

5.如权利要求4所述的方法,其中,所述形成第二统计列表,还包括:

6.如权利要求1所述的方法,其中,所述方法还包括:

7.如权利要求6所述的方法,其中,所述方法还包括:

8.如权利要求7所述的方法,其中,所述判断所述各个训练节点中是否存在异常节点,包括:

9.如权利要求7所述的方法,其中,所述节点状态检测程序包括计算性能测试程序和/或通信性能测试程序。

10.如权利要求1所述的方法,其中,所述方法还包括:

11.如权利要求10所述的方法,其中,所述方法还包括:

12.如权利要求1所述的方法,其中,所述通用处理单元为中央处理器CPU,所述主控节点为容器化部署的基本单元pod。

13.如权利要求12所述的方法,其中,所述专用加速单元为图形处理器GPU,所述训练节点为容器化部署的基本单元pod。

14.一种分布式训练系统的组网方法,所述分布式训练系统包括一个主控节点和多个训练节点,所述主控节点基于通用处理单元实现,所述训练节点基于专用加速单元实现,所述主控节点用于调度多个训练节点以构建所述分布式训练系统,所述多个训练节点用于通过训练进程运行训练代码,来并行执行针对目标模型的目标训练任务,所述方法由所述训练节点执行,包括:

15.一种分布式训练系统的组网装置,所述分布式训练系统包括一个主控节点和多个训练节点,所述主控节点基于通用处理单元实现,所述训练节点基于专用加速单元实现,所述主控节点用于调度多个训练节点以构建所述分布式训练系统,所述多个训练节点用于通过训练进程运行训练代码,来并行执行针对目标模型的目标训练任务,所述装置设置于所述主控节点,包括:

16.一种分布式训练系统的组网装置,所述分布式训练系统包括一个主控节点和多个训练节点,所述主控节点基于通用处理单元实现,所述训练节点基于专用加速单元实现,所述主控节点用于调度多个训练节点以构建所述分布式训练系统,所述多个训练节点用于通过训练进程运行训练代码,来并行执行针对目标模型的目标训练任务,所述装置设置于所述训练节点,包括:

17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-14中任一项的所述的方法。

18.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-14中任一项的所述的方法。

...

【技术特征摘要】

1.一种分布式训练系统的组网方法,所述分布式训练系统包括一个主控节点和多个训练节点,所述主控节点基于通用处理单元实现,所述训练节点基于专用加速单元实现,所述主控节点用于调度多个训练节点以构建所述分布式训练系统,所述多个训练节点用于通过训练进程运行训练代码,来并行执行针对目标模型的目标训练任务,所述方法由所述主控节点执行,包括:

2.如权利要求1所述的方法,其中,所述为每个训练节点分配对应的序号,包括:

3.如权利要求1所述的方法,其中,所述方法还包括:

4.如权利要求3所述的方法,其中,所述形成第二统计列表,包括:

5.如权利要求4所述的方法,其中,所述形成第二统计列表,还包括:

6.如权利要求1所述的方法,其中,所述方法还包括:

7.如权利要求6所述的方法,其中,所述方法还包括:

8.如权利要求7所述的方法,其中,所述判断所述各个训练节点中是否存在异常节点,包括:

9.如权利要求7所述的方法,其中,所述节点状态检测程序包括计算性能测试程序和/或通信性能测试程序。

10.如权利要求1所述的方法,其中,所述方法还包括:

11.如权利要求10所述的方法,其中,所述方法还包括:

12.如权利要求1所述的方法,其中,所述通用处理单元为中央处理器cpu,所述主控节点为容器化部署的基本单元pod。

13.如权利要求12所述的方法,其中,所述专用加速单元为图形处理器gpu,所述训练节点为容器化部署的基本...

【专利技术属性】
技术研发人员:王勤龙沙剑
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1