Platform for AI (PAI) の Deep Learning Containers (DLC) は、分散トレーニングのための柔軟で安定した、使いやすく高性能な環境を提供します。DataWorks は PAI DLC ノードを提供します。このノードでは、DLC ジョブを直接ロードし、スケジューリング依存関係を設定して定期的に実行できます。
前提条件
-
DataWorks に PAI へのアクセス権限を付与済みであること。
権限付与ページに移動して、ワンクリックで必要な権限を付与できます。ポリシーの詳細については、「AliyunServiceRoleForDataWorksEngine」をご参照ください。このワンクリックでの権限付与は、Alibaba Cloud アカウント、または [Aliyundataworksfullaccess] ポリシーを持つ RAM ユーザーのみが実行できます。
-
プロジェクトディレクトリを作成済みであること。詳細については、「プロジェクトディレクトリ」をご参照ください。
-
PAI DLC ノードを作成済みであること。詳細については、「ワークフローでのノードの作成」をご参照ください。
操作手順
-
PAI DLC ノードの編集ページで、ジョブコードを開発します。
ジョブコードの開発
ビジネス要件に応じて、次のいずれかの方法で DLC ジョブコードを作成できます。
既存ジョブから
PAI 内の既存の DLC ジョブを名前で検索してロードします。ジョブがロードされると、PAI DLC ノードエディターは、ジョブの PAI 設定からノードコードを生成します。その後、このコードを編集できます。
説明-
ジョブをロードまたは作成する権限がない場合は、画面の指示に従って必要な権限を付与してください。
-
利用可能なジョブがない場合は、PAI コンソールに移動してジョブを作成してください。PAI DLC ジョブはいくつかの方法で作成できます。詳細については、「トレーニングジョブの作成」、「Python SDK を使用したジョブの送信」、および「CLI を使用したジョブの送信」をご参照ください。
新規作成
DataWorks の PAI DLC ノードエディターでジョブコードを直接作成します。
${variable_name} 形式を使用して変数を定義できます。次に、右側の スケジューリング設定 ペインの スケジューリングパラメーター セクションで、これらの変数に値を割り当てます。これにより、スケジュール実行のために動的なパラメータをコードに渡すことができます。スケジューリングパラメータの使用方法の詳細については、「スケジューリングパラメータのソースと式」をご参照ください。以下にコード例を示します。
dlc submit pytorchjob \ # DLC を使用して PyTorch ジョブを送信します。 --name=test \ # DLC ジョブ名。変数名または DataWorks ノード名を使用することを推奨します。 --command='echo '\''hi'\''' \ # 実行するコマンド。この例では、コマンドは echo 'hi' です。 --workspace_id=309801 \ # ジョブが実行されるワークスペース。 --priority=1 \ # ジョブの優先度。有効値:1~9。1 が最も低い優先度で、9 が最も高い優先度です。 --workers=1 \ # ワーカーの数。この値が 1 より大きい場合、ジョブは複数のノードで同時に実行できる分散ジョブになります。 --worker_image=<image> \ # ワーカーのイメージパス。 --image_repo_username=<username> \ # プライベートイメージの権限付与用のユーザー名。 --image_repo_password=<password> \ # プライベートイメージの権限付与用のパスワード。 --data_source_uris=oss://oss-cn-shenzhen.aliyuncs.com/::/mnt/data/:{mountType:jindo} \ # OSS データソースをコンテナ内の指定されたパスにマウントします。この例では、マウントタイプは jindo です。 --worker_spec=ecs.g6.xlarge # ノード仕様。コンピューティングノードのタイプを指定します。 -
-
PAI DLC ジョブを作成したら、ノードタスクを実行します。
-
デバッグの構成 で、リソースグループ を選択して設定します。
データソースとの接続テストに合格したスケジューリング用のリソースグループを選択します。詳細については、「リソースグループの作成と管理」をご参照ください。
-
ツールバーで 実行 をクリックして、ノードタスクを実行します。
-
-
ノードタスクを定期的に実行するには、ビジネス要件に基づいてスケジュール設定を構成します。詳細については、「スケジュール設定の構成」をご参照ください。
-
ノードタスクの設定後、ノードをデプロイする必要があります。詳細については、「ノードのデプロイ」をご参照ください。
-
タスクがデプロイされると、オペレーションセンターに移動して、スケジュール済みタスクの実行ステータスを表示できます。詳細については、「スケジュール済みタスクの表示」をご参照ください。