AIACC-Training(AIACC训练加速)支持优化基于AI主流计算框架(包括TensorFlow、PyTorch、MxNet和Caffe)搭建的模型,能显著提升训练性能。本文介绍如何自动安装AIACC-Training(AIACC训练加速)并测试demo。

背景信息

Conda是一款开源跨平台的软件包和环境管理系统,Miniconda是一款小巧的Conda环境部署工具。创建GPU实例时支持自动安装包含AIACC-Training(AIACC训练加速)的Conda环境,您可以使用Miniconda快速选择不同的Conda环境,一键安装和切换深度学习框架,并通过AIACC-Training(AIACC训练加速)显著提升训练性能。

自动安装AIACC-Training(AIACC训练加速)

AIACC-Training(AIACC训练加速)依赖GPU驱动、CUDA和cuDNN,请在创建GPU实例时配置自动安装GPU驱动,然后选中AIACC训练加速具体操作,请参见创建配备GPU驱动的GPU实例(Linux)aiacc-训练

Conda环境包括AIACC-Training及OpenMPI等依赖包,但不包括深度学习框架。安装深度学习框架的具体操作,请参见选择Conda环境并安装深度学习框架

CUDA版本决定支持安装的深度学习框架版本,对应关系如下表所示。
CUDA版本 默认进入的Conda环境 支持安装的深度学习框架版本
CUDA 11.0 aiacct_tr1.7.0_cu11.0_py36 TensorFlow 2.4
CUDA 10.1 aiacct_tf2.1_cu10.1_py36 TensorFlow 2.1
CUDA 10.0 aiacct_tf1.15_tr1.4.0_mx1.5.0_cu10.0_py36
  • TensorFlow 1.15 + Pytorch 1.4.0 + MXNet 1.5.0
  • TensorFlow 1.14 + Pytorch 1.3.0 + MXNet 1.4.0
CUDA 9.0 aiacct_tf1.12_tr1.3.0_mx1.5.0_cu9.0_py36 TensorFlow 1.12 + Pytorch 1.3.0 + MXNet 1.5.0

选择Conda环境并安装深度学习框架

  1. 远程连接实例
  2. 选择Conda环境。
    1. 初始化Miniconda。
      . /root/miniconda/etc/profile.d/conda.sh
    2. 查看已有的Conda环境列表。
      conda env list
      示例如下图所示。aiacc-training-envlist
    3. 选择Conda环境。
      conda activate [environments_name]
      示例如下图所示。aiacc-training-activate
      其中,aiacct_tf2.1_cu10.1_py36代表:
      • TensorFlow 2.1
      • CUDA 10.1
      • Python 3.6
  3. 安装深度学习框架。
    install_frameworks.sh
    install_frameworks.sh脚本中包括了在安装适用当前Conda环境的深度学习框架的命令,脚本内容示例如下图所示。install-frameworks-script
    执行脚本后安装过程示例如下图所示。install-frameworks
  4. 测试demo。
    demo文件ali-perseus-demos.tgz默认位于/root下,本文以测试TensorFlow的demo为例。
    • 如果TensorFlow版本为2.1:
      1. 解压demo测试包。
        tar -xvf ali-perseus-demos.tgz
      2. 进入TensorFlow的demo目录。
        cd ali-perseus-demos/tensorflow2-examples
      3. 执行目录下的测试脚本。

        示例命令如下:

        python tensorflow2_keras_mnist_perseus.py
        该demo使用MNIST数据集进行训练,在提升训练性能的同时,保证和您的基准代码达到相同的精度。训练结果示例如下图所示。tf2.1-demo
    • 如果TensorFlow版本为1.14:
      1. 解压demo测试包。
        tar -xvf ali-perseus-demos.tgz
      2. 进入TensorFlow的demo目录。
        cd ali-perseus-demos/tensorflow-benchmarks
      3. 查看README.txt中的测试命令。
      4. 进入对应版本的测试脚本目录。
        示例命令如下:
        cd benchmarks-tf1.14
      5. 根据实例规格的GPU数量修改并执行测试命令。
        示例命令如下:
        mpirun --allow-run-as-root --bind-to none -np 1 -npernode 1  \
               --mca btl_tcp_if_include eth0  \
               --mca orte_keep_fqdn_hostnames t   \
               -x NCCL_SOCKET_IFNAME=eth0   \
               -x LD_LIBRARY_PATH   \
               ./config-fp16-tf.sh
        该demo使用合成数据进行训练,测试训练速度。训练结果示例如下图所示。tf1.14-demo

删除Miniconda

如果您不需要使用AIACC-Training(AIACC训练加速),可以删除Miniconda。默认为root用户安装Miniconda,为root用户删除Miniconda即可。

  1. 删除miniconda文件夹。
    rm -rf /root/miniconda
  2. 删除相关环境变量和回显。
    1. 修改文件/root/.bashrc,注释Miniconda、AIACC-Training相关的环境变量和回显。
      示例如下图所示。bashrc-file
    2. 使环境变量修改生效。
      source /root/.bashrc