分布式计算系统的训练方法、装置、程序产品及介质与流程

文档序号:40405758发布日期:2024-12-20 12:29阅读:23来源:国知局
分布式计算系统的训练方法、装置、程序产品及介质与流程

本发明涉及分布式计算系统领域,特别涉及一种分布式计算系统的训练方法、装置、程序产品及介质。


背景技术:

1、随着对训练数据规模和模型参数的不断探索,深度学习模型在计算机视觉、自然语言处理和自动驾驶等领域得到了广泛应用。然而,单机训练的内存和计算能力常常无法满足需求,因此,基于多机多卡的分布式训练模式成为主流策略。这种模式通过多个计算工作者协同合作,加速模型训练。

2、尽管许多优秀的分布式深度学习框架已被提出,它们通常假设计算节点是同构的,即性能和硬件特性相同。然而,实际训练场景中,各计算节点表现出显著的异构性,导致计算能力、内存能力和硬件特性差异明显。这种异构性不仅影响计算能力,还涉及计算节点间的通信带宽差异,尤其是在不同网络设备和层级中,通信效率往往低下。

3、传统的整体同步训练方法要求所有异构的计算节点保持相同的迭代步调,导致速度较快的计算节点需等待较慢的计算节点,这种“拖累者效应”使训练过程受到最慢节点的制约,显著降低训练速度。可见,异构的计算节点的性能差异通常会造成资源闲置,且异构的计算节点之间的频繁通信也会降低训练效率。在处理这种训练过程时,计算节点(也即实体硬件设备,如服务器或服务器中的cpu(central processing unit,中央处理器)/gpu(graphics processing unit,图形处理器))面临资源利用不均衡和效率低下的问题。此外,较快的计算节点在等待时无法有效降低功耗,可能导致额外的功耗和热量产生,从而增加硬件负担,影响长期稳定性和可靠性。同时,频繁的数据传输和冗余交换增加了网络带宽的占用和延迟,进一步增大了计算节点的通信开销。

4、因此,需要提出一种面向异构分布式计算系统的优化方案,该方案应充分考虑各节点的性能差异,同时考虑异构的计算节点的计算与通信能力,以提升计算节点的资源利用率和运行效率,减小计算节点的通信开销。


技术实现思路

1、本发明的目的是提供一种分布式计算系统的训练方法、装置、程序产品及介质,不仅优化了训练过程的整体效率,还避免了计算节点之间的相互等待,计算节点在运行此训练过程时,降低了功耗和热量产生,也降低了通信开销,从而提高了计算节点的长期稳定性和可靠性。

2、一方面,本技术提供了一种分布式计算系统的训练方法,应用于分布式计算系统,所述分布式计算系统包括多个异构的计算节点,所述分布式计算系统的训练方法包括:获取每个所述计算节点的计算能力;根据每个所述计算节点的计算能力为每个所述计算节点分配目标模型的训练任务,所述训练任务的任务量与所述计算能力呈正相关;确定每个所述计算节点执行和自身对应的训练任务的单次迭代时长;根据每个所述计算节点对应的单次迭代时长确定每个所述计算节点在通信间隔时间内的迭代次数;每隔所述通信间隔时间,获取每个所述计算节点完成各自迭代次数后的局部模型参数,并根据全部所述局部模型参数确定全局模型参数,直至满足迭代结束条件。

3、其中,获取每个所述计算节点的计算能力,包括:获取每个所述计算节点的性能指标参数;根据所述性能指标参数确定每个所述计算节点的第一能力参数;控制每个所述计算节点执行预设测试任务,并根据每个所述计算节点执行所述预设测试任务的测试结果确定第二能力参数;根据每个所述计算节点对应的所述第一能力参数和所述第二能力参数,确定每个所述计算节点的计算能力。

4、其中,所述性能指标参数包括浮点运算性能、内存带宽、内存延迟、输入/输出吞吐率、错误率及单位能效中的一种或多种的组合;根据所述性能指标参数确定每个所述计算节点的第一能力参数,包括:获取所述浮点运算性能、所述内存带宽、所述内存延迟、所述输入/输出吞吐率、所述错误率分别对应的权重系数;根据所述浮点运算性能、所述内存带宽、所述内存延迟、所述输入/输出吞吐率、所述错误率分别对应的权重系数、所述单位能效,确定所述第一能力参数;所述第一能力参数与所述浮点运算性能、所述内存带宽、所述输入/输出吞吐率、所述单位能效呈正相关,所述第一能力参数与所述内存延迟和所述错误率呈负相关。

5、其中,根据所述浮点运算性能、所述内存带宽、所述内存延迟、所述输入/输出吞吐率、所述错误率分别对应的权重系数、所述单位能效,确定所述第一能力参数,包括:根据计算所述第一能力参数;com1为所述第一能力参数,c为所述浮点运算性能,为所述浮点运算性能的权重,m为所述内存带宽,为所述内存带宽的权重,io为所述输入/输出吞吐率,为所述输入/输出吞吐率的权重,d为所述内存延迟,为所述内存延迟的权重,et为所述错误率,为所述错误率的权重,w为所述单位能效。

6、其中,控制每个所述计算节点执行预设测试任务,并根据每个所述计算节点执行所述预设测试任务的测试结果确定第二能力参数,包括:控制每个所述计算节点执行多次预设测试任务;统计所述计算节点执行多次所述预设测试任务的运行时长和分类精度;根据所述运行时长和所述分类精度确定每个所述计算节点的单位精度,所述单位精度为所述第二能力参数。

7、其中,根据每个所述计算节点的计算能力为每个所述计算节点分配目标模型的训练任务,包括:根据每个所述计算节点的计算能力确定每个所述计算节点的能力占比;根据每个所述计算节点的能力占比及所述目标模型的初始化样本容量,确定分配给每个所述计算节点的样本容量。

8、其中,还包括:获取当前的网络状态参数,根据当前的所述网络状态参数实时调整所述通信间隔时间。

9、其中,获取当前的网络状态参数,包括:监测当前网络的网络延迟和/或丢包率,根据所述网络延迟和/或所述丢包率确定当前的网络拥塞程度,所述网络状态参数包括所述网络拥塞程度。

10、其中,还包括:获取每个所述训练任务的优先级;根据当前的所述网络状态参数实时调整所述通信间隔时间,包括:根据当前的所述网络状态参数、每个所述训练任务的所述优先级实时调整所述通信间隔时间。

11、其中,所述网络状态参数为网络拥塞程度,根据当前的所述网络状态参数、每个所述训练任务的所述优先级实时调整所述通信间隔时间,包括:根据cit=cit0/(1+ncd+dtp)计算目标通信间隔时间,并将所述通信间隔时间更新为所述目标通信间隔时间;cit为所述目标通信间隔时间,cit0为更新前的初始通信间隔时间,ncd为所述网络拥塞程度,dtp为所述优先级。

12、其中,获取每个所述训练任务的优先级,包括:获取每个所述训练任务的第一权重、第一评分、第二权重和第二评分,所述第一权重和所述第一评分用于表征所述训练任务的重要程度,所述第二权重和所述第二评分用于表征所述训练任务的紧迫程度;根据每个所述训练任务对应的所述第一权重、所述第一评分、所述第二权重和所述第二评分,确定每个所述训练任务的优先级。

13、其中,根据每个所述训练任务对应的所述第一权重、所述第一评分、所述第二权重和所述第二评分,确定每个所述训练任务的优先级,包括:根据dtp=wi·is+wu·us计算每个所述训练任务的优先级;dtp为所述优先级,wi为所述第一权重,is为所述第一评分,wu为所述第二权重,us为所述第二评分。

14、另一方面,本技术提供了一种分布式计算系统的训练装置,包括:存储器,用于存储计算机程序;处理器,用于在执行计算机程序时,实现上述所述的分布式计算系统的训练方法的步骤。

15、另一方面,本技术提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述所述分布式计算系统的训练方法的步骤。

16、另一方面,本技术提供了一种非易失性存储介质,所述非易失性存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的分布式计算系统的训练方法的步骤。

17、本发明提供了一种分布式计算系统的训练方法、装置、程序产品及介质,用于解决异构计算节点性能差异和通信效率低下的问题。该方案通过充分考虑每个计算节点的计算能力,实现了任务的动态分配和迭代优化;具体而言,通过获取每个计算节点的计算能力并为其分配与之相匹配的训练任务,避免了资源闲置和效率低下的问题;确定单次迭代时长并根据此调整通信间隔内的迭代次数,使得各计算节点可以在合适的时机进行数据交换,减少了频繁通信带来的网络带宽占用和延迟,不仅优化了训练过程的整体效率,还避免了计算节点之间的相互等待,硬件设备在运行此训练过程时,降低了功耗和热量产生,也降低了通信开销,从而提高了硬件设备的长期稳定性和可靠性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1