Platform for AI (PAI) の Deep Learning Containers (DLC) は、分散トレーニング向けに柔軟で安定した、使いやすく高性能な環境を提供します。DataWorks では、PAI DLC ノードを使用して DLC タスクを直接読み込み、スケジューリングの依存関係を設定することで、定期的に実行できます。
前提条件
-
DataWorksに、Platform for AI (PAI) へのアクセス権限を付与していること。
承認ページ にアクセスして、ワンクリックで必要な権限を付与できます。ポリシーの詳細については、AliyunServiceRoleForDataWorksEngine をご参照ください。このワンクリック承認を実行できるのは、Alibaba Cloud アカウントまたは [AliyunDataWorksFullAccess] ポリシーを持つ RAM ユーザーのみです。
-
プロジェクトディレクトリを作成していること。詳細については、「プロジェクトディレクトリ」をご参照ください。
-
PAI DLC ノードを作成していること。詳細については、「ワークフローでのノード作成」をご参照ください。
操作手順
-
PAI DLC ノード編集ページで、タスクコードを作成します。
タスクコードの作成
ビジネス要件に応じて、次のいずれかの方法で DLC タスクコードを記述できます。
既存のタスクから
Platform for AI (PAI) で既存の DLC タスクを名前で検索し、読み込みます。タスクが読み込まれると、PAI DLC ノードエディタがタスクの PAI 設定からノードコードを生成します。その後、このコードを編集できます。
説明-
タスクの読み込みや作成の権限がない場合は、画面の指示に従って必要な権限を付与してください。
-
利用可能なタスクがない場合は、PAI コンソールにアクセスしてタスクを作成してください。PAI DLC タスクはいくつかの方法で作成できます。詳細については、「トレーニングジョブの作成」、「トレーニングジョブの作成:Python SDK」、「トレーニングジョブの作成:コマンドライン」をご参照ください。
ゼロから
DataWorks の PAI DLC ノードエディタで、タスクコードを直接記述します。
${変数名} 形式を使用して変数を定義できます。その後、右側の Scheduling Settings ペインの Scheduling Parameters セクションでこれらの変数に値を割り当てます。これにより、スケジュール実行のためにコードに動的パラメーターを渡すことができます。スケジューリングパラメーターの使用方法の詳細については、「スケジューリングパラメーターのソースと式」をご参照ください。以下はコードの例です。
dlc submit pytorchjob \ # DLC を使用して PyTorch ジョブを送信します。 --name=test \ # DLC タスクの名前。変数または DataWorks ノードの名前を使用することを推奨します。 --command='echo '\''hi'\''' \ # 実行するコマンド。この例では、コマンドは 'echo 'hi'' です。 --workspace_id=<your_workspace_id> \ # タスクが実行されるワークスペース。 --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-<region-id>.aliyuncs.com/::/mnt/data/:{mountType:jindo} \ # Object Storage Service (OSS) データソースをコンテナ内のパスにマウントします。この例では、マウントタイプは jindo です。 --worker_spec=ecs.g6.xlarge # ワーカーノードのインスタンスタイプ。 -
-
タスクコードを記述した後、ノードを実行します。
-
Run Configuration ペインで、Resource Group を設定します。
データソースとの接続テストに合格したスケジューリング用のリソースグループを選択してください。 詳細については、「ネットワーク接続ソリューション」をご参照ください。
-
ツールバーで、Runをクリックします。
-
-
ノードタスクをスケジュールに従って実行する必要がある場合は、ビジネス要件に応じてスケジューリング情報を設定します。詳細については、ノードスケジューリングプロパティをご参照ください。
-
ノードタスクを設定した後、ノードを公開する必要があります。詳細については、「ノード/ワークフローの公開」をご参照ください。
-
タスクがデプロイされた後、オペレーションセンターで定期実行のステータスを確認できます。詳細については、「オペレーションセンターの概要」をご参照ください。