1.一种基于工作量自动调优的负载均衡方法,其特征在于该方法包括如下步骤:
步骤1:采用参数服务器系统,使用若干台服务器搭建集群,将集群中的一个节点作为参数服务器,其他节点作为计算节点;
步骤2:使用小规模训练集对分布式机器学习模型进行预训练,在保证一轮迭代训练总工作量不变的前提下,根据各计算节点上一轮迭代训练的耗时,对相应节点的工作量进行动态调整,直到获得最优工作量比例;其中动态调整的过程主要分为快速分配和微量调整:快速分配:为了加快自动调优的进程,各计算节点工作量的初次重分配采用快速分配的方式执行;在各计算节点完成第一次迭代训练后,根据各节点完成迭代训练的时间获得其相应的处理速度;在保证总工作量一定的前提下,根据处理速度的比值得出各计算节点的工作量,计算节点按照重分配的工作量进行下一轮迭代训练;
微量调整:进行完快速分配后,各计算节点的工作量大致上已经能够反映当前各节点的性能差异;在后续迭代训练过程中,采用微量调整的方式对各节点的工作量进行微调;在各计算节点完成迭代训练后,按照完成迭代训练的时间对各节点进行排序,然后在保证总工作量一定的前提下,对最快节点和最慢节点的工作量进行微调,直到找到最优工作量比例;
经过多次微量调整之后,各计算节点单次迭代训练的耗时会逐渐趋向稳定;将动态调整的结束条件定义为:任意两个计算进程上一轮迭代训练的耗时差小于等于精度系数;
步骤3:将步骤2中获得的最优工作量比例应用到完整的分布式机器学习模型训练中,各计算节点每次迭代训练按照相应工作量大小获取训练集进行梯度计算,从而有效地平衡了集群负载差异,提升了分布式机器学习模型训练的整体性能。
2.根据权利要求1所述的一种基于工作量自动调优的负载均衡方法,其特征在于:步骤
1中所述的参数服务器采用多线程的方式实现,每个传输线程对应一个计算节点,用于维持参数服务器与计算节点之间的通信。
3.根据权利要求1所述的一种基于工作量自动调优的负载均衡方法,其特征在于:步骤
1中还设置了一个线程作为参数更新管理器,用于处理全局模型参数的更新。
4.根据权利要求1所述的一种基于工作量自动调优的负载均衡方法,其特征在于:步骤
2中通过记录各计算节点开始迭代训练前的时间以及完成梯度计算并上传局部更新后的时间,从而计算出对应节点完成上一轮迭代训练所消耗的时间。