发布于: Mar 18, 2021
今天,我们将为 Amazon SageMaker 推出两个新的分布式训练库,为您提供快速训练大型深度学习模型的集成方法。这些 SageMaker 分布式训练库使用分区算法,在亚马逊云科技 GPU 实例中自动拆分大型深度学习模型和训练数据集,所需时间只是手动执行时间的一小部分。SageMaker 通过两种技术实现这些效率:模型并行度和数据并行度。模型并行度将太大而无法适合单个 GPU 的模型拆分为较小的部分,然后再分配到多个 GPU 进行训练,数据并行度则拆分大型数据集以同时进行训练,从而提高训练速度。
图像分类和文本转语音等机器学习使用案例需要不断增大的计算要求和数据集。例如,2018 年发布的先进的自然语言处理 (NLP) 模型 BERT 使用了 3.4 亿个参数。现在,先进的 NLP 模型,如 T5、GPT-3、Turing-NLG 和 Megatron,已创造了新的准确性记录,但需要数百至数千亿个参数。在单个 GPU 实例上训练 T5 或 GPT-3 等模型可能需要几天的时间,从而减缓了将最新迭代部署到生产环境中的能力。此外,手动实施自己的数据和模型并行度策略以确保模型在 GPU 集群中高效训练可能需要进行数周的实验。
只需几行附加代码,您就可以在 PyTorch 和 TensorFlow 训练脚本中添加数据并行度或模型并行度,Amazon SageMaker 将为您应用选择的方法,从而更快地训练模型。SageMaker 将通过使用图形分区算法来平衡每个 GPU 的计算,同时最大限度地减少 GPU 实例之间的通信,从而确定拆分模型的最佳方法。SageMaker 还通过旨在充分利用亚马逊云科技中国计算和网络基础设施的算法优化您的分布式训练作业,从而实现接近线性的扩展效率,使您能够比手动实施更快地完成训练。