本发明属于计算机领域,尤其涉及一种面向ai的跨域数据并行训练调度方法。
背景技术:
1、在ai神经网络模型训练中,有价值的数据集通常由独立的组织拥有,并位于多个数据中心。大多数面向ai的神经网络模型训练技术都需要将多数据中心的数据集中起来以提高性能。然而,在实践中,由于隐私法规的限制,将不同组织的所有数据转移到一个集中的数据中心往往是不可实现的。在没有隐私泄露的情况下,在数据中心之间进行跨地域分布式神经网络模型的数据并行训练是非常具有挑战性的。
2、现有的跨地域分布式神经网络模型的数据并行训练方法主要面临两个技术问题。一方面,跨域通信使用的运营商网络与数据中心内部的高速局域网存在较大带宽差异,导致神经网络模型参数的跨域同步效率远低于域内同步效率,频繁的跨域参数同步增加了通信耗时;另一方面,一些现有技术通过跨域异步训练提高训练效率,但异步方式导致ai神经网络模型收敛性差。
技术实现思路
1、本发明旨在克服现有技术的不足,提供一种面向ai的跨域数据并行训练调度方法。
2、为了达到上述目的,本发明提供的技术方案为:
3、所述面向ai的跨域数据并行训练调度方法包括如下步骤:
4、(1)在跨域多数据中心之间建立广域网,使各数据中心的参数服务器与全局参数服务器之间可以在广域网下互相通信;在单个数据中心内部建立高速局域网,使数据中心内的工作节点可以在高速局域网下通信;
5、(2)基于步骤(1)搭建的通信网络,各数据中心在本地数据集上使用随机梯度下降算法训练本地的神经网络模型,在达到最大迭代次数后,聚合各数据中心的神经网络模型参数,得到全局神经网络模型参数。
6、优选地,步骤(2)具体包括如下步骤:
7、(1)设置epoch计数器j=0,变量j用来记录训练的轮次,且每轮次训练包含m次迭代,即当迭代次数达到m次时训练进入下一轮次;
8、(2)设置k=5,常量k表示各数据中心每迭代k次进行一次神经网络模型参数的跨域同步;
9、(3)设置迭代计数器i=0,变量i用来记录训练的迭代次数;
10、(4)在各数据中心内部,在各数据中心持有的本地数据集上,使用随机梯度下降算法,进行一轮前向和反向传播的计算过程,并以参数服务器架构在各数据中心内部,在高速局域网下进行本轮迭代的神经网络模型参数的同步;
11、(5)判断i对k取余的余数为0是否成立,若是,对步骤(4)获得的神经网络模型参数,以参数服务器架构在各数据中心之间,使用广域网进行神经网络模型参数的全局同步,然后转入下一步骤;否则,直接转入下一步骤;
12、(6)判断i对m取余的余数为0是否成立,如果是则设置j=j+1且转入下一步骤;否则设置i=i+1且转入步骤(4);
13、(7)判断j<=m是否成立,若是,则转入步骤(3);否则,对步骤(4)获得的神经网络模型参数,以参数服务器架构在各数据中心之间,使用广域网进行神经网络模型参数的全局同步,得到最终的全局神经网络模型参数。
14、本发明中,首先,面向跨域的多数据中心建立层次化通信网络,数据中心内部建立高速局域网,数据中心之间建立广域网;然后,在ai神经网络模型的跨域数据并行训练过程中,基于层次化通信网络和随机梯度下降算法,层次化地同步、更新神经网络模型参数。与现有技术相比,本发明的主要优点为:提出了一种面向ai的跨域数据并行训练调度方法,基于跨域的层次化的通信网络和参数同步方式,能够减少域间通信频率、提高神经网络模型收敛性。本发明能够解决现有的ai神经网络模型训练技术在跨域场景下存在的跨域通信频繁、模型收敛难的问题,使得ai神经网络模型的跨域训练用时缩短、精度提高。
1.一种面向ai的跨域数据并行训练调度方法,其特征在于,所述方法包括如下步骤:
2.如权利要求1所述的方法,其特征在于,步骤(2)具体包括如下步骤: