分布式深度学习训练加速(EPL)

EPL(Easy Parallel Library)是高效易用的分布式模型训练框架,深度集成多种训练优化技术,提供了简单易用的API实现各种并行化策略。您可以使用EPL实现低成本、高性能分布式模型训练。本文为您介绍如何在DLC中使用EPL高效地进行分布式TensorFlow训练。

前提条件

在开始执行操作之前,请确认您已经完成以下准备工作:

  • 已为DLC服务关联角色授权,详情请参见云产品依赖与授权:DLC

  • 已安装镜像环境:官方镜像或社区镜像(NVIDIA TensorFlow 1.15TensorFlow-GPU 1.15)。

    说明

    如果您使用的是DLC平台,建议镜像选择社区镜像:tensorflow-training:1.15-gpu-py36-cu100-ubuntu18.04。您可以在DLC中提交执行命令安装EPL,无需单独安装。

步骤一:代码配置

您可以使用EPL编写TensorFlow分布式训练代码,详情请参见快速开始

您也可以使用EPL代码示例快速开始分布式TensorFlow训练,本方案使用ResNet-50训练数据配置代码集,您可以使用该代码集提交TensorFlow训练任务,且每次进行模型训练时会自动克隆最新的版本,关于如何配置代码集,具体操作步骤如下所示。

  1. 进入代码配置页面。

    1. 登录PAI控制台

    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。

    3. 在工作空间页面的左侧导航栏选择AI资产管理 > 代码配置,进入代码配置页面。

  2. 代码配置页面,单击新建代码配置

  3. 新建代码配置页面配置参数,并单击提交

    其中Git地址https://github.com/alibaba/EasyParallelLibrary.git代码分支main。其他参数配置详情请参见代码配置

步骤二:启动训练任务

  1. 进入新建任务页面。

    1. 登录PAI控制台,在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入DLC

    2. 在分布式训练(DLC)页面,单击新建任务

  2. 新建任务页面,配置基本信息任务资源配置,其他参数配置详情,请参见创建训练任务。然后单击提交

    • 基本信息参数配置如下。

      参数

      使用示例值

      资源配额

      公共资源组。

      任务名称

      自定义训练任务名称。

      节点镜像

      选择社区镜像>tensorflow-training:1.15-gpu-py36-cu100-ubuntu18.04

      框架

      TensorFlow。

      代码配置

      在线配置下拉选项中选择在步骤一中配置的代码集。

      代码分支

      main。

      执行命令

      apt update
      apt install libnccl2 libnccl-dev
      cd /root/code/EasyParallelLibrary/
      pip install .
      cd examples/resnet
      bash scripts/train_dp.sh
    • 任务资源配置参数配置如下所示。

      参数

      使用示例值

      节点数量

      配置为2。您可以根据实际训练需求配置该参数。

      节点配置

      GPU实例页签选择ecs.gn6v-c8g1.2xlarge

      最长运行时长

      2小时。

  3. 在分布式训练任务列表中,单击目标任务名称,进入任务详情页面。在该页面中查看该任务的执行情况。具体操作,请参见查看训练详情

相关文档

  • 如果您想了解关于EPL的更多内容,请参见EPL

  • 更多关于DLC产品的内容介绍,请参见分布式训练(DLC)