AIACC-Training(AIACC训练加速)支持优化基于AI主流计算框架(包括TensorFlow、PyTorch、MXNet和Caffe)搭建的模型,可以显著提升训练性能。本文介绍针对TensorFlow、PyTorch、MXNet框架手动安装AIACC-Training(AIACC训练加速)的步骤。

前提条件

已创建阿里云GPU实例,且GPU实例满足以下要求:
  • 实例镜像为CentOS 7.x或Ubuntu 16.04。
  • 实例已安装CUDA 10.1、10.0或9.0。
  • 实例已安装Python 3.6或2.7。
  • 实例已安装AI计算框架。

背景信息

AIACC-Training(AIACC训练加速)针对在阿里云IaaS资源上执行训练任务进行了深度优化,使用同一套核心代码统一加速基于AI主流计算框架的训练任务。
说明 云市场提供了基于CentOS 7.x部署AIACC-Training(AIACC训练加速)的镜像,创建GPU实例时使用该镜像,可以免去本文所述安装步骤,直接开始使用AIACC-Training(AIACC训练加速)。更多信息,请参见阿里云飞天AI加速器(AIACC)

操作步骤

  1. 远程连接实例
  2. 安装通用依赖包。
    • CentOS 7.x
      # install OpenMPI4
      yum -y install epel-release
      yum -y install perl openssh-clients openssh-server openblas-devel
      wget https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/openmpi-4.0.3-1.el7.x86_64.rpm
      rpm -Uivh openmpi-4.0.3-1.el7.x86_64.rpm
    • Ubuntu 16.04
      # install OpenMPI4
      wget https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/openmpi_4.0.3-1_amd64.deb
      dpkg -i openmpi_4.0.3-1_amd64.deb
  3. 安装AI计算框架支持包。
    AI计算框架支持包为whl格式,您可以根据CUDA、框架、Python的版本组合出下载地址,如下表所示。
    框架类型 支持的版本 下载地址格式 下载地址示例
    TensorFlow
    • CUDA 9.0+TensorFlow 1.12
    • CUDA 10.0+TensorFlow 1.14
    • CUDA 10.0+TensorFlow 1.15
    • CUDA 10.1+TensorFlow 2.1
    Python 3和Python 2格式相同:https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/${CUDA_VER}/perseus_tensorflow-1.3.2%2B${TENSORFLOW_VER}-py2.py3-none-manylinux1_x86_64.whl 如果环境为CUDA10.0+TensorFlow 1.14:https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/cuda100/perseus_tensorflow-1.3.2%2B1.14-py2.py3-none-manylinux1_x86_64.whl
    PyTorch
    • CUDA 9.0+PyTorch 1.2
    • CUDA 10.0+PyTorch 1.3
    • CUDA 10.0+PyTorch 1.4
    • Python 3.6:https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/${CUDA_VER}/perseus_torch-1.3.2.post2%2B${TORCH_VER}-cp36-cp36m-linux_x86_64.whl
    • Python 2.7: https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/${CUDA_VER}/perseus_torch-1.3.2.post2%2B${TORCH_VER}-cp27-cp27mu-linux_x86_64.whl
    • 如果环境为CUDA 10.0+PyTorch 1.3+Python 3.6:https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/cuda100/perseus_torch-1.3.2%2B1.3-cp36-cp36m-linux_x86_64.whl
    • 如果环境为CUDA 10.0+PyTorch 1.3+Python 2.7:https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/cuda100/perseus_torch-1.3.2%2B1.3-cp27-cp27mu-linux_x86_64.whl
    MXNet
    • CUDA 9.0+MXNet 1.4
    • CUDA 9.0+MXNet 1.5
    • CUDA 10.0+MXNet 1.4
    • CUDA 10.0+MXNet 1.5
    Python 3和Python 2格式相同:https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/${CUDA_VER}/perseus_mxnet-1.3.2%2B${MXNET_VER}-py2.py3-none-manylinux1_x86_64.whl 如果环境为CUDA 10.0+MXNet 1.5:https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/cuda100/perseus_mxnet-1.3.2%2B1.5-py2.py3-none-manylinux1_x86_64.whl
    以下载和安装CUDA10.0+TensorFlow 1.14对应的框架支持包为例,命令如下:
    wget https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/cuda100/perseus_tensorflow-1.3.2%2B1.14-py2.py3-none-manylinux1_x86_64.whl
    pip3 install perseus_tensorflow-1.3.2%2B1.14-py2.py3-none-manylinux1_x86_64.whl
    说明 为了使用AIACC-Training(AIACC训练加速)加速训练,您需要对模型代码做少量修改。具体操作,请参见模型代码适配AIACC-Training(AIACC训练加速)