本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
分布式训练优化
根据您的使用场景和数据自定义超参数,以获得最佳的扩展效率。在接下来的讨论中,我们将重点介绍一些最具影响力的训练变量,并提供对 state-of-the-art实现的参考,以便您可以更多地了解您的选择。此外,建议您参考您偏好的框架的分布式训练文档。
批次大小
SageMaker 分布式工具包通常允许您进行更大规模的训练。例如,如果某个模型能够放入单个设备,但只能使用小批次大小进行训练,则模型并行训练或数据并行训练可以让您实验较大的批次大小。
请注意,批次大小会控制每次迭代时模型更新中的噪声量,进而会直接影响模型准确性。增加批次大小可以减少梯度估算中的噪声量,这在从非常小的批次大小开始增加时会有所帮助,但随着批量大小增加到较大值,可能会导致模型准确性降低。
提示
调整超参数,以确保您的模型训练随着批次大小的增加能够得到满意的收敛性。
现在已经开发了许多技术,以便在批次增加时保持良好的模型收敛性。
小批次大小
在中SGD,小批量大小量化了梯度估计中存在的噪声量。较小的小批次会产生噪声非常多的小批次梯度,这并不能代表数据集的真正梯度。较大的小批次会得到接近数据集上真实梯度的微批次梯度,并且有可能噪声不够,因而可能会保持锁定在无关的最小点中。
要了解有关这些技术的更多信息,请参阅以下文章:
-
PowerAI DDL
、Cho 等人 -
大型 Minibatch 的横向扩展SGD:在 ImageNet -1K 上进行残差网络训练,提高了准确性并缩短了训练时间,Codrean
u 等人。 -
卷积网络的大批次训练
,You 等人。 -
在 54 分钟内加速BERT预训练的大批量优化
,Zheng 等人 -
深度渐变压缩
,Lin 等人。