ワイド&ディープでモデルをトレーニングする

このページでは、ワイド&ディープの表形式ワークフローを使用して、表形式のデータセットから分類モデルまたは回帰モデルをトレーニングする方法について説明します。

ワイド&ディープの表形式ワークフローには 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 つのオプションがあります。