1.一种分布式数据处理系统,用于在多个计算设备上对数据进行并行处理,每个计算设备包含前向数据处理组件和后向数据处理组件,其中至少一个计算设备含有其他计算设备不具有的一个模型参数组件以及与一个所述模型参数组件对应的模型参数更新组件,所述模型参数组件通过与其对应的广播组件将所述模型参数组件含有的一组将被并行处理的数据所使用的模型参数输入到其他计算设备的广播组件,以及所述模型参数更新组件从与所述模型参数更新组件对应的梯度汇聚组件获取对应的全局梯度值进行更新处理。
2.根据权利要求1所述的分布式数据处理系统,其中每个计算设备的广播组件将模型参数输入到对应的前向数据处理组件执行前向数据处理和输入到后向数据处理组件执行后向数据处理。
3.根据权利要求1所述的分布式数据处理系统,其还包括:
一个或多个串联在所述模型参数组件和其对应的广播组件之间的多个运算任务组件,所述多个运算任务组件中每一个运算任务组件为单输入与单输出的运算任务组件;以及
一个或多个串联在所述模型参数更新组件和其对应的梯度汇聚组件之间的多个运算任务组件,所述多个运算任务组件中每一个运算任务组件为单输入与单输出的运算任务组件。
4.根据权利要求1所述的分布式数据处理系统,其中与所述模型参数组件相连的所述广播组件将模型参数组件中的模型参数输入到所述模型参数组件所在计算设备上的与所述模型参数组件对应的前向运算组件和后向运算组件,并且还输入到其他并行计算设备上的并行广播组件,以便该并行广播组件将所接收到的模型参数输入到并行的前向运算组件和后向运算组件。
5.一种分布式数据处理方法,包括:
将待处理数据按照分布式数据处理架构的计算设备的数量分片成多个分片数据发送到各个计算设备,执行前向数据处理和后向数据处理,
将模型参数集合划分成多个子集,将一个子集只分布到一个计算设备上的模型参数组件;
一个模型参数组件将自身维护的参数通过与其相连的一个广播组件发送到各个并行处理分片数据的其他计算设备对应的一个广播组件,以便各个其他计算设备上的前向数据处理组件和后向数据处理组件基于所接收模型参数对分片数据进行处理。
6.根据权利要求5所述的分布式数据处理方法,还包括:
连接到所述模型参数组件的广播组件所对应的一个梯度汇聚组件获取其他计算设备上对应的梯度汇聚组件发送来的梯度值,从而获取全局梯度值,并传输到与该模型参数组件对应的一个模型参数更新组件,以便模型参数更新组件进行模型参数更新处理。
7.一种分布式计算任务部署系统,包括:
作业描述组件,基于作业类型描述作业神经网络模型以及获取将要处理作业的计算资源,所述计算资源包括多个可执行并行计算的计算设备,并为将要进行并行运算的作业数据的分片数据所属的前向运算任务节点、广播节点、后向运算任务节点以及梯度汇聚节点给出所属计算设备的位置标签;
模型参数节点配置组件,基于作业神经网络模型的描述,获取处理作业的模型参数,计算所有模型参数的总量,并负载均衡地将所有模型参数划分到几个模型参数节点,其中一个模型参数节点只被配置到一个计算设备上,并经由广播节点置于所述神经网络模型中该模型参数节点的后继前向运算任务节点之前;以及
模型参数更新节点配置组件,与每个模型参数节点相对应,配置一个更新组件节点,其中一个模型参数更新节点只被配置在一个计算设备上,并连接到与该模型参数节点的对应广播节点对应的梯度汇聚节点之后,而所述梯度汇聚节点布置在与该模型参数节点的对应运算任务节点相对应的后向运算任务节点之后。
8.根据权利要求7所述的分布式计算任务部署系统,还包括:
单一后继运算任务节点配置组件,遍历所述模型参数节点的每个后继前向运算任务节点,为仅消费所述模型参数节点输出并仅具有单一输出的单一后继前向运算任务节点配置与所述模型参数节点相同的位置标签,并在所述模型参数节点和对应的广播节点之间串联前向运算任务节点,以及在与所述模型参数节点对应的模型参数更新节点和与广播节点相对应的梯度汇聚节点之间配置与所述单一后继前向运算任务节点对应的后向运算任务节点。
9.一种分布式计算任务部署方法,包括:
基于作业类型描述作业神经网络模型以及获取将要处理作业的计算资源,所述计算资源包括多个可执行并行计算的计算设备,并为将要进行并行运算的作业数据的分片数据所属的前向运算任务节点、广播节点、后向运算任务节点以及梯度汇聚节点赋予所属计算设备的位置标签;
基于作业的神经网络模型,获取处理作业的模型参数,计算所有模型参数的总量,并负载均衡地将所有模型参数划分成多个部分,配置对应数量的模型参数节点,并为一个模型参数节点配置一个计算设备的位置标签;
在每个模型参数节点及其后继前向运算任务节点之间插入广播节点,并配置相同的位置标签;
为与一个模型参数节点相对应的一个模型参数更新节点赋予与该模型参数节点相同的计算设备的位置标签;以及
在所述模型参数更新节点与对应的后向运算任务节点之间插入与所插入的广播节点对应的梯度汇聚节点,并配置相同的位置标签。
10.根据权利要求9所述的分布式计算任务部署方法,还包括:
遍历所述模型参数节点的每个后继前向运算任务节点,将仅消费所述模型参数节点输出并仅具有单一输出的单一后继前向运算任务节点配置的位置标签修改为与所述模型参数节点相同的位置标签,并将修改了位置标签的前向运算任务节点串联在所述模型参数节点与其对应的广播节点之间;以及
修改与所述单一后继前向运算任务节点对应的后向运算任务节点的位置标签为与所述模型参数节点相同的位置标签,并将修改了位置标签的后向运算任务节点串联到所述模型参数更新节点和梯度汇聚节点之间。
11.一种分布式计算任务部署方法,包括:
基于作业类型描述作业神经网络模型以及获取将要处理作业的计算资源,所述计算资源包括多个可执行并行计算的计算设备,并为将要进行并行运算的作业数据的分片数据所属的前向运算任务节点赋予所属计算设备的位置标签
基于作业的神经网络模型的前向部分,获取处理作业的模型参数,计算所有模型参数的总量,并负载均衡地将所有模型参数划分成多个部分,配置对应数量的模型参数节点,并为一个模型参数节点配置一个计算设备的位置标签;
在每个模型参数节点及其后继前向运算任务节点之间插入广播节点,并配置相同的位置标签;
基于已经配置的神经网络模型的前向部分,对应配置神经网络模型的后向部分,包括配置与一个模型参数节点相对应的一个模型参数更新节点使其具有与该模型参数节点相同的位置标签,配置与一个广播节点对应的梯度汇聚节点并使其具有与该广播节点相同的位置标签,以及配置与一个前向运算任务节点对应的后向运算任务节点使其具有与该前向运算任务节点相同的位置标签。
12.根据权利要求11所述的分布式计算任务部署方法,还包括:
遍历所述模型参数节点的每个后继前向运算任务节点,将仅消费所述模型参数节点输出并仅具有单一输出的单一后继前向运算任务节点配置的位置标签修改为与所述模型参数节点相同的位置标签,并将修改了位置标签的前向运算任务节点串联在所述模型参数节点与其对应的广播节点之间;以及
修改与所述单一后继前向运算任务节点对应的后向运算任务节点的位置标签为与所述模型参数节点相同的位置标签,并将修改了位置标签的后向运算任务节点串联到所述模型参数更新节点和梯度汇聚节点之间。