Platform for AI (PAI) は、複数のモデルに基づくトレーニングをサポートするPAI-TensorFlow深層学習コンピューティングフレームワークを提供します。 このトピックでは、PAI-TensorFlowタスクの実行に使用されるコマンドパラメーターとI/Oパラメーターについて説明します。
GPUアクセラレーションサーバーは段階的に廃止されます。 CPUサーバーで実行されるTensorFlowタスクを送信できます。 モデルトレーニングにGPU高速化インスタンスを使用する場合は、Deep Learning Containers (DLC) に移動してジョブを送信します。 詳細については、「トレーニングジョブの送信」をご参照ください。
コマンドとパラメータ
PAI-TensorFlowタスクを開始するには、MaxComputeクライアント、DataWorksコンソールのSQLノード、またはPAIコンソールのMachine Learning DesignerページでPAIコマンドを実行します。 Machine Learning Designerが提供するTensorFlowコンポーネントを使用することもできます。 ここでは、PAIコマンドとパラメータについて説明します。
# Specify actual values for the parameters.
pai -name tensorflow1120_ext
-project algo_public
-Dscript= 'oss://<bucket_name>.<oss_host>.aliyuncs.com/*.tar.gz'
-DentryFile='entry_file.py'
-Dbuckets='oss://<bucket_name>.<oss_host>.aliyuncs.com/<path>'
-Dtables='odps://prj_name/tables/table_name'
-Doutputs='odps://prj_name/tables/table_name'
-DcheckpointDir='oss://<bucket_name>.<oss_host>.aliyuncs.com/<path>'
-Dcluster="{\"ps\":{\"count\":1},\"worker\":{\"count\":2,\"gpu\":100}}"
-Darn="acs:ram::******:role/aliyunodpspaidefaultrole"
-DossHost="oss-cn-beijing-internal.aliyuncs.com"
次の表に、上記の構文のパラメーターを示します。
nameおよびprojectパラメーターは固定値であり、変更できません。
パラメーター | 説明 | 例 | デフォルト値 | 必須 |
スクリプト | PAI-TensorFlowタスクの実行に使用されるTensorFlowアルゴリズムのスクリプト。 スクリプトを含むファイルは、 PythonのTensorFlowモデルファイル。 ファイルには、次のいずれかのタイプがあります。
PythonファイルがObject Storage Service (OSS) に保存されている場合は、 |
| なし | はい |
entryFile | エントリスクリプト。 スクリプトパラメーターに指定するスクリプトがTARパッケージの場合、このパラメーターを設定する必要があります。 |
| スクリプトパラメーターに指定するスクリプトが単一ファイルの場合は、このパラメーターを設定する必要はありません。 | はい |
バケット | 入力バケット。The input bucket. 複数のバケットはコンマ (,) で区切ります。 各バケット名はスラッシュ ( |
| なし | いいえ |
テーブル | 入力テーブル。 複数のテーブルはコンマ (,) で区切ります。 |
| なし | いいえ |
出力 | 出力テーブル。 複数のテーブルはコンマ (,) で区切ります。 |
| なし | いいえ |
gpuRequired | scriptパラメーターで指定したトレーニングスクリプトのサーバーにGPUが必要かどうかを指定します。 デフォルト値:100 100の値は、1つのGPUが必要であることを指定します。 200の値は、2つのGPUが必要であることを指定します。 このパラメーターは、スタンドアロントレーニングに対してのみ有効です。 マルチサーバートレーニングの詳細については、クラスターパラメーターをご参照ください。 GPUが不要な場合は、gpuRequiredパラメーターを0に設定します。 この機能はTensorFlow1120でのみ使用できます。 | 100 | なし | いいえ |
checkpointDir | TensorFlowチェックポイントディレクトリ。 |
| なし | いいえ |
クラスター | PAI-TensorFlowタスクを実行する分散サーバーに関する情報。 詳細については、このトピックの「次の表」をご参照ください。 |
| なし | いいえ |
enableDynamicCluster | 単一のワーカーノードに対してフェールオーバー機能を有効にするかどうかを指定します。 このパラメーターをtrueに設定すると、ノードで障害が発生したときにワーカーノードが再起動します。 これにより、ワーカーノードの問題が発生しても、PAI-TensorFlowタスクが引き続き実行されます。 |
| false | いいえ |
jobName | 実験の名前。 名前を指定する必要があります。 これにより、履歴データを検索し、実験のパフォーマンスを分析することができます。 このパラメーターを | jk_wdl_online_job | なし | はい |
maxHungTimeBeforeGCInSeconds | 自動リクラメーションが実行される前にGPUが中断される最大期間。 これは新しいパラメータです。 このパラメーターを0に設定すると、自動再利用機能は無効になります。 | 3600 | 3600 | いいえ |
ossHost | OSSのエンドポイント。 詳細は、「リージョンとエンドポイント」をご参照ください。 | oss-cn-beijing-internal.aliyuncs.com | なし | いいえ |
PAI-TensorFlowタスクは分散モードで実行できます。 clusterパラメーターを使用して、パラメーターサーバー (PS) とワーカーの数を指定できます。 clusterパラメーターの値はJSON形式で、引用符をエスケープする必要があります。 例:
{
"ps": {
"count": 2
},
"worker": {
"count": 4
}
}
JSON値は、psとworkerの2つのキーで構成されます。 次の表に、各キーの下にネストされるパラメーターを示します。
パラメーター | 説明 | デフォルト値 | 必須 |
カウント | PSまたはワーカーの数。 | なし | はい |
gpu | PSまたはワーカーのGPUの数。 100の値は1つのGPUを指定します。 workerのgpuパラメーターを0に設定した場合、CPUクラスターはPAI-TensorFlowタスクにスケジュールされ、GPUリソースは消費されません。 | デフォルトでは、psのgpuパラメーターは0に設定され、workerのgpuパラメーターは100に設定されます。 | いいえ |
cpu | PSまたはワーカーのCPUコアの数。 値100は1つのCPUコアを指定します。 | 600 | いいえ |
メモリ | PSまたはワーカーのメモリサイズ。 100の値は、100 MBのメモリを指定します。 | 30000 | いいえ |
I/Oパラメータ
次の表に、PAI-TensorFlowタスクの実行に使用されるI/Oパラメーターを示します。
パラメーター | 説明 |
テーブル | データを読み取るテーブルのパス。 |
出力 | データを書き込むテーブルのパス。 複数のパスはコンマ (,) で区切ります。
|
バケット | アルゴリズムで読み取るオブジェクトを格納するOSSバケット。 MaxComputeデータに対するI/O操作は、OSSオブジェクトに対するI/O操作とは異なります。 OSSオブジェクトを読み取るには、role_arnおよびhostパラメーターを設定する必要があります。 role_arnパラメーターの値を取得するには、次の手順を実行します。 PAIコンソールを開き、[依存サービス] ページに移動します。 [デザイナー] セクションでOSSを見つけ、[操作] 列の [権限の表示] をクリックします。 詳細については、「Machine Learning Designerの使用に必要な権限の付与」をご参照ください。 |
checkpointDir | データの書き込み先のOSSバケット。 |