すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:分散深層学習トレーニングを加速するEPL

最終更新日:Nov 29, 2024

Easy Parallel Library (EPL) は、分散モデルトレーニングのための効率的で使いやすいフレームワークです。 EPLは複数のトレーニング最適化テクノロジを採用し、並列処理戦略を使用できる使いやすいAPI操作を提供します。 EPLを使用してコストを削減し、分散モデルトレーニングの効率を向上させることができます。 このトピックでは、EPLを使用してディープラーニングコンテナ (DLC) でのTensorFlow分散モデルトレーニングを高速化する方法について説明します。

前提条件

このトピックで説明する操作を実行する前に、次の要件が満たされていることを確認してください。

  • 必要なサービスにリンクされたロールがDLCに作成されます。 詳細については、「DLCを使用するために必要な権限の付与」をご参照ください。

  • 公式イメージまたは次のコミュニティイメージのいずれかが準備されます: NVIDIA TensorFlow 1.15またはTensorFlow-GPU 1.15。

    • 公式イメージを使用する場合は、インストールする必要なしにEPLを使用できます。 公式イメージの詳細については、「Alibaba Cloudイメージ」をご参照ください。

    • オープンソースイメージを使用する場合は、まずEPLをインストールする必要があります。 コミュニティイメージの詳細については、「コミュニティイメージ」をご参照ください。 EPLのインストール方法の詳細については、 EPLのインストール

    説明

    DLCを使用する場合は、コミュニティイメージtensorflow-training:1.15-gpu-py36-cu100-ubuntu18.04を選択することを推奨します。 コマンドを実行して、DLCにEPLをインストールできます。

ステップ1: コードビルドの設定

EPLを使用して、TensorFlowベースの分散モデルトレーニングのコードを記述できます。 詳しくは、「クイックスタート」をご参照ください。

EPLが提供するサンプルコードを使用して、TensorFlow分散モデルトレーニングを開始することもできます。 この例では、トレーニングデータセットResNet50を使用してコードビルドを作成します。 コードビルドを使用して、TensorFlowトレーニングジョブを送信できます。 モデルトレーニングが実行されるたびに、最新バージョンが自動的に複製されます。 コードビルドを構成するには、次の手順を実行します。

  1. コードビルドページに移動します。

    1. PAIコンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。 [ワークスペース] ページで、使用するワークスペースの名前をクリックします。

    3. 左側のナビゲーションウィンドウで、AIコンピューティング資産管理 > ソースコードリポジトリ.

  2. コード設定ページでコードビルドの作成をクリックします。

  3. では、コードビルドの作成パネル、パラメータを設定し、送信.

    Repositoryパラメーターを https://github.com/alibaba/EasyParallelLibrary.git に、Code branchパラメーターをmainに設定します。 その他のパラメーターの詳細については、「コードビルド」をご参照ください。

ステップ2: トレーニングジョブを開始する

  1. [ジョブの作成] ページに移動します。

    1. PAIコンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。 管理するワークスペースを見つけて、ワークスペースIDをクリックします。

    3. [ワークスペース] ページの左側のナビゲーションウィンドウで、[モデルの開発とトレーニング] > [ディープラーニングコンテナ (DLC)] を選択します。 [分散トレーニングジョブ] ページで、[ジョブの作成] をクリックします。 [ジョブの作成] ページが表示されます。

  2. [ジョブの作成] ページで、[基本情報] および [リソース設定] セクションのパラメーターを設定します。 その他のパラメーターの詳細については、「トレーニングジョブの送信」をご参照ください。 [送信] をクリックします。

    • 次の表に、[基本情報] セクションのパラメーターを示します。

      パラメーター

      リソースクォータ

      パブリックリソースグループ。

      ジョブ名

      トレーニングジョブの名前を指定します。

      ノードイメージ

      [コミュニティイメージ] をクリックし、イメージリストからtensorflow-training:1.15-gpu-py36-cu100-ubuntu18.04を選択します。

      フレームワーク

      TensorFlow。

      コードビルド

      [オンライン設定] をクリックし、手順1で設定したデータセットをドロップダウンリストから選択します。

      コードブランチ

      メインです。

      Jobコマンド

      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の詳細については、「始める前」をご参照ください。