カスタム トレーニング ジョブを作成する

カスタム トレーニング ジョブ(Vertex AI API の CustomJob リソース)は、Vertex AI でカスタム機械学習(ML)トレーニング コードを実行するための基本的な方法です。

ジョブを送信する前に

Vertex AI で CustomJob を作成する前に、Python トレーニング アプリケーションまたはカスタム コンテナ イメージを作成して、Vertex AI で実行するトレーニング コードと依存関係を定義する必要があります。

このガイドの後半で説明する Google Cloud CLI の自動パッケージ化機能を使用することをおすすめします。この機能を使用すると、1 つのコマンドでローカルマシン上のコードから Docker コンテナ イメージを作成して Container Registry に push し、CustomJob を作成できます。

この機能を使用しない場合は、Python トレーニング アプリケーションまたはカスタム コンテナ イメージを手動で作成する必要があります。

どちらを選択すべきか判断に迷う場合は、トレーニング コードの要件をご覧ください。

カスタムジョブの内容

カスタムジョブを作成する場合、Vertex AI がトレーニング コードを実行するために必要な設定を指定します。次のような設定になります。

ワーカープールでは次の設定を指定できます。

分散トレーニングを構成する

分散トレーニングに CustomJob を構成するには、複数のワーカープールを指定します。

このページのほとんどの例では、1 つのワーカープールを持つ単一レプリカ トレーニング ジョブを示しています。分散トレーニング用に変更するには:

  • 最初のワーカープールを使用してプライマリ レプリカを構成し、レプリカ数を 1 に設定します。
  • 機械学習フレームワークが分散トレーニング用のこれらの追加クラスタタスクをサポートしている場合は、ワーカープールを追加して、ワーカー レプリカ、パラメータ サーバー レプリカ、またはエバリュエータ レプリカを構成します。

分散トレーニングの使用方法の詳細をご覧ください。

CustomJob を作成する

CustomJob を作成するには、使用するツールのタブを選択して、手順を確認してください。gcloud CLI を使用する場合は、1 つのコマンドでローカルマシン上のトレーニング コードを Docker コンテナ イメージに自動的にパッケージ化し、そのコンテナ イメージを Container Registry に push して CustomJob を作成できます。他のオプションの場合は、Python トレーニング アプリケーションまたはカスタム コンテナ イメージをすでに作成していることが前提となります。

gcloud

次の例では、gcloud ai custom-jobs create コマンドを使用しています。

トレーニング コードがローカル コンピュータ上にある場合は、自動パッケージ化ありの手順を行うことをおすすめします。また、Python トレーニング アプリケーションまたはカスタム コンテナ イメージをすでに作成している場合は、自動パッケージ化なしに進んでください。

自動パッケージ化あり

ローカル コンピュータにトレーニング コードがある場合、単一のコマンドで次のことを行うことができます。

  • コードに基づいてカスタム Docker イメージをビルドします。
  • イメージを Container Registry に push します。
  • 画像に応じて CustomJob を開始します。

結果は、他のカスタム コンテナを使用した CustomJob を作成する場合と似ています。ワークフローに役立つ場合は、このバージョンのコマンドを使用できます。

始める前に

このバージョンのコマンドでは、Docker イメージをビルドして push するため、ローカル コンピュータで次の構成を行う必要があります。

  1. Docker Engine をインストールします。

  2. Linux を使用している場合は、sudo なしで実行できるように Docker を構成します。

  3. Container Registry API を有効にします。

    API を有効にする

  4. Docker イメージを Container Registry に push できるように Docker の認証を構成します

    gcloud auth configure-docker
    

Docker イメージをビルドして push し、CustomJob を作成する

次のコマンドは、ビルド済みのトレーニング コンテナ イメージとローカルの Python コードに基づいて Docker イメージをビルドし、Container Registry に push して CustomJob を作成します。

gcloud ai custom-jobs create \
  --region=LOCATION \
  --display-name=JOB_NAME \
  --worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=EXECUTOR_IMAGE_URI,local-package-path=WORKING_DIRECTORY,script=SCRIPT_PATH

次のように置き換えます。