このページでは、ワイド&ディープの表形式ワークフローを使用して、表形式のデータセットから分類モデルまたは回帰モデルをトレーニングする方法について説明します。
ワイド&ディープの表形式ワークフローには 2 つのバージョンがあります。
- HyperparameterTuningJob は、モデルのトレーニングに使用するハイパーパラメータ値の最適な組み合わせを検索します。
- CustomJob では、モデルのトレーニングに使用するハイパーパラメータ値を指定できます。必要なハイパーパラメータ値が正確にわかっている場合は、それらを検索する代わりに指定するとトレーニング リソースを節約できます。
このワークフローで使用されるサービス アカウントについては、表形式ワークフローのサービス アカウントをご覧ください。
ワークフローの API
このワークフローでは、次の API を使用します。
- Vertex AI
- Dataflow
- Compute Engine
- Cloud Storage
HyperparameterTuningJob を使用してモデルをトレーニングする
次のサンプルコードは、HyperparameterTuningJob パイプラインを実行する方法を示しています。
pipeline_job = aiplatform.PipelineJob(
...
template_path=template_path,
parameter_values=parameter_values,
...
)
pipeline_job.run(service_account=SERVICE_ACCOUNT)
pipeline_job.run()
でオプションの service_account
パラメータを使用すると、Vertex AI Pipelines サービス アカウントを任意のアカウントに設定できます。
パイプラインとパラメータ値は、次の関数で定義されます。トレーニング データは、Cloud Storage の CSV ファイルか、BigQuery のテーブルのいずれかです。
template_path, parameter_values = automl_tabular_utils.get_wide_and_deep_hyperparameter_tuning_job_pipeline_and_parameters(...)
get_wide_and_deep_hyperparameter_tuning_job_pipeline_and_parameters
パラメータのサブセットは次のとおりです。
パラメータ名 | 型 | 定義 |
---|---|---|
data_source_csv_filenames |
文字列 | Cloud Storage に保存されている CSV の URI。 |
data_source_bigquery_table_path |
文字列 | BigQuery テーブルの URI。 |
dataflow_service_account |
文字列 | (省略可)Dataflow ジョブを実行するカスタム サービス アカウント。プライベート IP と特定の VPC サブネットを使用するように Dataflow ジョブを構成できます。このパラメータは、デフォルトの Dataflow ワーカー サービス アカウントのオーバーライドとして機能します。 |
study_spec_parameters_override |
List[Dict[String, Any]] | (省略可)ハイパーパラメータをチューニングするためのオーバーライド。このパラメータは、空にすることも、1 つ以上のハイパーパラメータを含めることもできます。ハイパーパラメータ値が設定されていない場合、Vertex AI はハイパーパラメータにデフォルトのチューニング範囲を使用します。 |
study_spec_parameters_override
パラメータを使用してハイパーパラメータを構成する場合は、Vertex AI のヘルパー関数 get_wide_and_deep_study_spec_parameters_override
を使用できます。この関数は、ハイパーパラメータと範囲のリストを返します。
get_wide_and_deep_study_spec_parameters_override
関数の使用方法の例を次に示します。
study_spec_parameters_override = automl_tabular_utils.get_wide_and_deep_study_spec_parameters_override()
CustomJob を使用してモデルをトレーニングする
次のサンプルコードは、CustomJob パイプラインを実行する方法を示しています。
pipeline_job = aiplatform.PipelineJob(
...
template_path=template_path,
parameter_values=parameter_values,
...
)
pipeline_job.run(service_account=SERVICE_ACCOUNT)
pipeline_job.run()
でオプションの service_account
パラメータを使用すると、Vertex AI Pipelines サービス アカウントを任意のアカウントに設定できます。
パイプラインとパラメータ値は、次の関数で定義されます。トレーニング データは、Cloud Storage の CSV ファイルか、BigQuery のテーブルのいずれかです。
template_path, parameter_values = automl_tabular_utils.get_wide_and_deep_trainer_pipeline_and_parameters(...)
get_wide_and_deep_trainer_pipeline_and_parameters
パラメータのサブセットは次のとおりです。
パラメータ名 | 型 | 定義 |
---|---|---|
data_source_csv_filenames |
文字列 | Cloud Storage に保存されている CSV の URI。 |
data_source_bigquery_table_path |
文字列 | BigQuery テーブルの URI。 |
dataflow_service_account |
文字列 | (省略可)Dataflow ジョブを実行するカスタム サービス アカウント。プライベート IP と特定の VPC サブネットを使用するように Dataflow ジョブを構成できます。このパラメータは、デフォルトの Dataflow ワーカー サービス アカウントのオーバーライドとして機能します。 |
次のステップ
分類モデルまたは回帰モデルで予測を行う準備ができたら、次の 2 つのオプションがあります。
- モデルを使用してオンライン(リアルタイム)予測を行う。
- モデルからバッチ予測を取得する。
- モデル トレーニングの料金について学ぶ。