分布式训练
更新时间:
平台提供分布式训练的能力,可大大提高算法工程师的研发效率。
# 什么是分布式训练
更大规模的数据集和更复杂的网络结构可以让模型最终的推理能力更强更精准,但这同时也对计算的时间和空间提出了挑战。如果算法工程师仍只用单机单 GPU 卡来进行训练,则会出现训练时间过长,显存不足等问题,此时算法工程师可以选择分布式训练。 分布式训练会将模型的训练拆分到多个节点上进行,这样本来在一台机器上进行的训练任务就被分到过个机器上同时进行,训练速度可显著提高。
# Gemini 的分布式训练
用户在提交分布式训练任务时指定参与训练的实例数及实例的资源配置,训练任务提交后,平台根据资源配置从 GPU 池中为各实例分配 GPU 资源并启动实例,启动的实例便可作为独立的虚拟机开始训练模型。
如图所示,如果在提交任务时指定了三个实例,则会有三台机器按照训练代码同时读取数据进行模型训练,最终输出完整的模型。

平台支持主流的分布式训练框架,如 Pytorch、TensorFlow、Horovod 等。