fix typo
This commit is contained in:
Shaoyu Wang
2023-03-24 10:45:52 +08:00
committed by GitHub
parent 3d7c502c68
commit ec6ccd4686

View File

@@ -30,7 +30,7 @@
:width:`800px`
:label:`ch10-data-parallel`
数据并行往往可以解决单节点的算力不足。这种并行方式在人工智能框架中最为常见具体实现包括TensorFlow DistributedStrategyPyTorch DistributedHorovod DistributedOptimizer等。在一个数据并行系统中假设用户给定一个训练批大小$N$,并且希望使用$M$个并行设备来加速训练。那么,该训练批大小会被分为$M$个分区,每个设备会分配到$N/M$个训练样本。这些设备共享一个训练程序的副本,在不同数据分区上独立执行,计算梯度。不同的设备(假设设备编号为$i$)会根据本地的训练样本估计出梯度$G_i$。为了确保训练程序参数的一致性,本地梯度$G_i$需要聚合,计算出平均梯度$(\sum_{i=1}^{N} G_i) / N$。最终,训练程序利用平均梯度修正模型参数,完成小批量的训练。
数据并行往往可以解决单节点的算力不足。这种并行方式在人工智能框架中最为常见具体实现包括TensorFlow DistributedStrategyPyTorch DistributedHorovod DistributedOptimizer等。在一个数据并行系统中假设用户给定一个训练批大小$N$,并且希望使用$M$个并行设备来加速训练。那么,该训练批大小会被分为$M$个分区,每个设备会分配到$N/M$个训练样本。这些设备共享一个训练程序的副本,在不同数据分区上独立执行,计算梯度。不同的设备(假设设备编号为$i$)会根据本地的训练样本估计出梯度$G_i$。为了确保训练程序参数的一致性,本地梯度$G_i$需要聚合,计算出平均梯度$(\sum_{i=1}^{M} G_i) / M$。最终,训练程序利用平均梯度修正模型参数,完成小批量的训练。
:numref:`ch10-data-parallel`展示了2个设备构成的数据并行例子。假设用户给定的批大小Batch Size是64那么每个设备会分配到32个训练样本并且具有相同的神经网络参数程序副本。本地的训练样本会依次通过这个程序副本中的算子完成前向传播和反向传播。在反向传播的过程中程序副本会生成局部梯度。不同设备上对应的局部梯度如设备1和设备2上各自的梯度1会进行聚合从而计算平均梯度。这个聚合的过程往往由集合通信库Collective Communication的Allreduce操作来完成。
@@ -58,4 +58,4 @@
:width:`800px`
:label:`ch10-hybrid-parallel`
在训练大型人工智能模型中,我们往往会同时面对算力不足和内存不足。因此,我们需要混合使用数据并行和模型并行,这种方法被称为混合并行。 :numref:`ch10-hybrid-parallel`提供了一个由4个设备实现的混合并行的例子。在这个例子中我们首先实现算子间并行来解决训练程序内存开销过大的问题该训练程序的算子1和算子2被分摊到了设备1和设备2上。进一步我们通过数据并行来添加3和设备4提升系统算力。为了达到这一点我们对训练数据进行分区数据分区1和数据分区2并将模型算子1和算子2分配复制到设备3和设备4上生成可以并行执行的程序副本。在前向计算的过程中设备1和设备3上的算子1副本同时开始计算结果分别发送Send给设备2和设备4完成算子2副本的计算。在反向计算中设备2和设备4同时开始计算梯度本地梯度通过Allreduce进行平均。反向计算传递到设备1和设备3上的算子1副本结束。
在训练大型人工智能模型中,我们往往会同时面对算力不足和内存不足。因此,我们需要混合使用数据并行和模型并行,这种方法被称为混合并行。 :numref:`ch10-hybrid-parallel`提供了一个由4个设备实现的混合并行的例子。在这个例子中我们首先实现算子间并行来解决训练程序内存开销过大的问题该训练程序的算子1和算子2被分摊到了设备1和设备2上。进一步我们通过数据并行来添加3和设备4提升系统算力。为了达到这一点我们对训练数据进行分区数据分区1和数据分区2并将模型算子1和算子2分配复制到设备3和设备4上生成可以并行执行的程序副本。在前向计算的过程中设备1和设备3上的算子1副本同时开始计算结果分别发送Send给设备2和设备4完成算子2副本的计算。在反向计算中设备2和设备4同时开始计算梯度本地梯度通过Allreduce进行平均。反向计算传递到设备1和设备3上的算子1副本结束。