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

Platform For AI:NASを使用してスタンドアロンPyTorch移行学習ジョブを送信する

最終更新日:Sep 18, 2024

このトピックでは、Platform for AI (PAI) 、Data Science Workshop (DSW) 、およびApsara File Storage NAS (NAS) のDeep Learning Containers (DLC) を使用して、PyTorchベースのオフライン移行トレーニングを実行する方法について説明します。

前提条件

一般的なNASファイルシステムは、リージョンに作成されます。 詳細については、「NASコンソールでの汎用NASファイルシステムの作成」をご参照ください。

制限事項

このトピックで説明する操作は、一般的なコンピューティングリソースを使用し、パブリックリソースグループにデプロイされているクラスターにのみ適用できます。

手順1: データセットの作成

  1. [データセット] ページに移動します。

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

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

    3. 左側のナビゲーションウィンドウで、AI資産管理 > データセットを選択します。

  2. データセット管理ページで、データセットの作成をクリックします。

  3. [データセットの作成] パネルで、パラメーターを設定します。 下表にパラメーターを示します。

    パラメーター

    説明

    名前

    データセットの名前。

    説明

    データセットの説明。 説明は、データセットを他のデータセットと区別するのに役立ちます。

    データストアの選択

    [汎用NAS] を選択します。

    ファイルシステムの選択

    既存のNASファイルシステムのID。 NASコンソールにログインして、リージョン内のNASファイルシステムのIDを表示できます。 ドロップダウンリストからNASファイルシステムのIDを表示することもできます。

    ファイルシステムパス

    NASファイルシステムのマウントパス。 この例では、パラメーターを /に設定します。

    デフォルトのマウントパス

    ジョブ内のNASデータのパス。 この例では、パラメーターを /mnt/dataに設定します。

    重要

    DSWインスタンスのリージョンは、トレーニングデータとコードが格納されているNASファイルシステムのリージョンと同じである必要があります。

  4. 送信をクリックします。

手順2: DSWインスタンスの作成

DSWインスタンスを作成したら、[追加] をクリックして [環境情報] セクションの [データセット] を追加し、手順1で作成したNASデータセットを選択し、[マウントパス]/mnt/data/ に設定します。 [作業ディレクトリ]dataset-/mnt/data/ に設定します。

その他のパラメーターについては、「DSWインスタンスの作成」をご参照ください。

image

ステップ3: データを準備する

このトピックで使用されるデータは、パブリックアクセスで使用できます。 こちらをクリックしてデータをダウンロードし、データを解凍して使用できます。

  1. DSWインスタンスの開発環境に移動します。

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

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

    3. ページの左上隅で、PAIを使用するリージョンを選択します。

    4. 左側のナビゲーションウィンドウで、モデルトレーニング > データ科学ワークショップ (DSW)を選択します。

    5. オプション: [Data Science Workshop (DSW)] ページで、検索ボックスにDSWインスタンスの名前またはキーワードを入力して、DSWインスタンスを検索します。

    6. インスタンスのアクション列の開くをクリックします。

  2. DSW開発環境で、上部のナビゲーションバーのノートタブをクリックします。

  3. データをダウンロードします。

    1. 左上のツールバーの创建文件夹アイコンをクリックしてフォルダを作成します。 この例では、フォルダ名としてpytorch_transfer_learningが使用されています。

    2. DSW開発環境で、上部のナビゲーションバーのターミナルタブをクリックします。

    3. ターミナルタブで、次の図に示すようにコマンドを実行します。 cdコマンドを使用して作成したフォルダーに移動し、wgetコマンドを使用してデータセットをダウンロードできます。

      cd /mnt/workspace/pytorch_transfer_learning/
      wget https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/data.tar.gz

      https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/data.tar.gz は、データセットファイルをダウンロードするためのURLです。

      image

    4. tar -xf。/data.tar.gzコマンドを実行して、データセットを解凍します。

    5. [ノートブック] タブをクリックします。 pytorch_transfer_learningディレクトリに移動し、抽出したhymenoptera_dataフォルダを右クリックし、[名前の変更] をクリックして、ファイルの名前を入力として変更します。

ステップ4: トレーニングコードとモデル格納フォルダを準備する

  1. DSWインスタンスの [ターミナル] タブで、wgetコマンドを実行して、トレーニングコードをpytorch_transfer_learningフォルダーにダウンロードします。

    cd /mnt/workspace/pytorch_transfer_learning/
    wget https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/main.py

    https://pai-public-data.oss-cn-beijing.aliyuncs.com/hol-pytorch-transfer-cv/main.py は、トレーニングコードをダウンロードするためのURLです。

  2. pytorch_transfer_learningフォルダで、出力という名前のフォルダを作成してトレーニングされたモデルを保存します。

    mkdir output
  3. pytorch_transfer_learningフォルダーに含まれるコンテンツを見ます。

    フォルダには次のコンテンツが含まれます。

    • input: トレーニングデータを格納するフォルダ。

    • main.py: トレーニングコードファイル。

    • output: トレーニング済みモデルを格納するフォルダー。

    最终的文件夹内容

ステップ5: スケジュールされたジョブを作成する

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

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

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

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

  2. [ジョブの作成] ページで、必要なパラメーターを設定します。 次の表に、主要なパラメーターを示します。

    セクション

    パラメーター

    説明

    基本情報

    ジョブ名

    ジョブの名前を指定します。

    ノードイメージ

    [Alibaba Cloudイメージ] を選択し、ドロップダウンリストからPyTorchイメージを選択します。 この例では、pytorch-training:1.12pai-gpu-py38-cu113-ubuntu20.04イメージが使用されています。

    データセット

    ステップ1で作成したNASデータセットを選択します。

    コードビルド

    このパラメーターを設定する必要はありません。

    Startupコマンド

    このパラメーターをpython /mnt/data/pytorch_transfer_learning/main.py -i /mnt/data/pytorch_transfer_learning/input -o /mnt/data/pytorch_transfer_learning/outputに設定します。

    サードパーティのライブラリ

    [リストから選択] をクリックし、テキストボックスに次の内容を入力します。

    numpy==1.16.4
    absl-py==0.11.0

    リソース設定

    リソースクォータ

    [パブリックリソース] を選択します。

    フレームワーク

    [PyTorch] を選択します。

    求人リソース

    インスタンスタイプを選択し、インスタンス数を指定します。 例: [リソースタイプ] ページの [CPU] タブで [ecs.g6.xlarge] を選択します。 [ノード] パラメーターを1に設定します。

  3. OKをクリックします。

ステップ6: ジョブの詳細とログを表示する

  1. [分散トレーニングジョブ] ページで、表示するジョブの名前をクリックします。

  2. 詳細ページで、ジョブの基本情報リソースを見ます。

  3. ジョブの詳細ページの下部に、インスタンスタブをクリックして、管理したいインスタンスを見つけて、アクション列のログをクリックしてログを見ます。

    ログの例を次の図に示します。 image.png