数据并行与模型并行
为了加快模型的训练,可以使用分布式计算的思路,把这个大批次分割为很多小批次,使用多个节点进行计算,在每个节点上计算一个小批次,对若干个节点的梯度进行汇总后再加权平均,最终求和就得到了最终的大批次的梯度结果。
在上面这个公式中:w是模型的参数;
是采用batch_size = n计算得到的真实梯度。这个公式想要证明的是,可以在不同的节点上分别对n的一部分进行梯度的计算,将各个GPU的梯度进行汇总后的加权平均值。公式中最后一行中,在第k个节点有
个数据,
是该节点上计算得到梯度。
,n个样本数据被分拆到了多个节点上。
其中,