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

Platform For AI:PAI-TensorFlowタスクのパラメータ

最終更新日:Aug 15, 2024

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アルゴリズムのスクリプト。 スクリプトを含むファイルは、file:/// path/to/fileまたはproject_name/resources/resource_name形式で指定できます。 file:/// path/to/fileは絶対パスです。

PythonのTensorFlowモデルファイル。 ファイルには、次のいずれかのタイプがあります。

  • オンプレミスファイル。

  • オンプレミスTARパッケージ。 パッケージはgzipを使用して圧縮されます。 パッケージのファイル名拡張子はtar.gzです。

  • Pythonファイル。

PythonファイルがObject Storage Service (OSS) に保存されている場合は、oss:// ..aliyuncs.com/.tar.gzまたはoss:// ..aliyuncs.com/*.py形式で指定できます。

oss:// demo-yuze.oss-cn-beijing-internal.aliyuncs.com/deepfm/deepfm.tar.gz

なし

はい

entryFile

エントリスクリプト。 スクリプトパラメーターに指定するスクリプトがTARパッケージの場合、このパラメーターを設定する必要があります。

main.py

スクリプトパラメーターに指定するスクリプトが単一ファイルの場合は、このパラメーターを設定する必要はありません。

はい

バケット

入力バケット。The input bucket.

複数のバケットはコンマ (,) で区切ります。 各バケット名はスラッシュ (/) で終わる必要があります。

oss:// ..aliyuncs.com/

なし

いいえ

テーブル

入力テーブル。 複数のテーブルはコンマ (,) で区切ります。

odps:/// tables/

なし

いいえ

出力

出力テーブル。 複数のテーブルはコンマ (,) で区切ります。

odps:/// tables/

なし

いいえ

gpuRequired

scriptパラメーターで指定したトレーニングスクリプトのサーバーにGPUが必要かどうかを指定します。

デフォルト値:100 100の値は、1つのGPUが必要であることを指定します。 200の値は、2つのGPUが必要であることを指定します。 このパラメーターは、スタンドアロントレーニングに対してのみ有効です。 マルチサーバートレーニングの詳細については、クラスターパラメーターをご参照ください。 GPUが不要な場合は、gpuRequiredパラメーターを0に設定します。 この機能はTensorFlow1120でのみ使用できます。

100

なし

いいえ

checkpointDir

TensorFlowチェックポイントディレクトリ。

oss:// ..aliyuncs.com/

なし

いいえ

クラスター

PAI-TensorFlowタスクを実行する分散サーバーに関する情報。 詳細については、このトピックの「次の表」をご参照ください。

{\"ps\" :{\ "count\":1 },\ "worker\" :{\ "count\":2,\"gpu\":100}}

なし

いいえ

enableDynamicCluster

単一のワーカーノードに対してフェールオーバー機能を有効にするかどうかを指定します。

このパラメーターをtrueに設定すると、ノードで障害が発生したときにワーカーノードが再起動します。 これにより、ワーカーノードの問題が発生しても、PAI-TensorFlowタスクが引き続き実行されます。

  • true

  • false

false

いいえ

jobName

実験の名前。 名前を指定する必要があります。 これにより、履歴データを検索し、実験のパフォーマンスを分析することができます。

このパラメーターをtestなどの値ではなく、わかりやすい文字列に設定します。

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値は、psworkerの2つのキーで構成されます。 次の表に、各キーの下にネストされるパラメーターを示します。

パラメーター

説明

デフォルト値

必須

カウント

PSまたはワーカーの数。

なし

はい

gpu

PSまたはワーカーのGPUの数。 100の値は1つのGPUを指定します。 workergpuパラメーターを0に設定した場合、CPUクラスターはPAI-TensorFlowタスクにスケジュールされ、GPUリソースは消費されません。

デフォルトでは、psgpuパラメーターは0に設定され、workergpuパラメーターは100に設定されます。

いいえ

cpu

PSまたはワーカーのCPUコアの数。 値100は1つのCPUコアを指定します。

600

いいえ

メモリ

PSまたはワーカーのメモリサイズ。 100の値は、100 MBのメモリを指定します。

30000

いいえ

I/Oパラメータ

次の表に、PAI-TensorFlowタスクの実行に使用されるI/Oパラメーターを示します。

パラメーター

説明

テーブル

データを読み取るテーブルのパス。

出力

データを書き込むテーブルのパス。 複数のパスはコンマ (,) で区切ります。

  • パーティション分割されていないテーブルの場合は、odps://<prj_name>/tables/<table_name> 形式でパスを指定します。

  • パーティションテーブルの場合、odps://<proj_name>tables/<table_name>/<pt_key1=v1> 形式でパスを指定します。

  • マルチレベルパーティションテーブルの場合、odps://<prj_name>/tables/<table_name>/<pt_key1=v1>/<pt_key2=v2> 形式でパスを指定します。

バケット

アルゴリズムで読み取るオブジェクトを格納するOSSバケット。

MaxComputeデータに対するI/O操作は、OSSオブジェクトに対するI/O操作とは異なります。 OSSオブジェクトを読み取るには、role_arnおよびhostパラメーターを設定する必要があります。

role_arnパラメーターの値を取得するには、次の手順を実行します。 PAIコンソールを開き、[依存サービス] ページに移動します。 [デザイナー] セクションでOSSを見つけ、[操作] 列の [権限の表示] をクリックします。 詳細については、「Machine Learning Designerの使用に必要な権限の付与」をご参照ください。

checkpointDir

データの書き込み先のOSSバケット。