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

前提条件

在开始执行操作之前,请确认您已经完成以下准备工作:
  • 已为PAI-DLC服务关联角色授权,详情请参见云产品依赖与授权:DLC
  • 已安装镜像环境:官方镜像或社区镜像(NVIDIA TensorFlow 1.15或TensorFlow-GPU 1.15)。
    说明 如果您使用的是DLC平台,建议镜像选择社区镜像:tensorflow-training:1.15-gpu-py36-cu100-ubuntu18.04。您可以在DLC中提交执行命令安装EPL,无需单独安装。

步骤一:代码配置

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

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

  1. 进入代码配置页面。
    1. 登录PAI控制台
    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
    3. 在工作空间页面的左侧导航栏选择AI资产管理 > 代码配置,进入代码配置页面。
  2. 代码集管理页面,单击新建代码配置
  3. 新建代码配置页面,按照下图操作指引配置参数,并单击提交
    代码配置其中Git地址为https://github.com/alibaba/EasyParallelLibrary.git,代码分支为main。其他参数配置详情请参见代码配置

步骤二:启动训练任务

  1. 进入PAI-Training页面。
    1. 登录PAI控制台
    2. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
    3. 在工作空间页面的左侧导航栏选择模型开发和训练 > 训练任务提交,进入Training页面。
  2. 在创建任务页面,配置基本信息任务资源配置,并单击提交
    • 基本信息参数配置如下所示。基本信息
      参数 使用示例值
      资源类型 公共资源组。
      任务名称 训练任务名称。
      节点镜像 选择社区镜像tensorflow-training:1.15-gpu-py36-cu100-ubuntu18.04
      任务类型 TensorFlow。
      代码配置 请选择步骤一:代码配置中配置的代码集EPL。
      代码分支 main。
      执行命令
      apt update
      apt install libnccl2 libnccl-dev
      cd /root/code/EasyParallelLibrary/
      pip install .
      cd examples/resnet
      bash scripts/train_dp.sh

      具体参数配置详情请参见提交任务(通过Training页面)

    • 任务资源配置参数配置如下所示。
      参数 使用示例值
      节点数量 2。您可以根据实际训练需求配置该参数。
      节点配置 GPU页签选择ecs.gn6v-c8g1.2xlarge
      最长运行时长 2小时。

      具体参数配置详情请参见提交任务(通过Training页面)

  3. 单击查看详情,您可以查看训练任务的执行情况。
    查看详情
后续如果您想了解关于EPL的更多内容,详情请参见EPL