Gemini Enterprise Agent Platform サーバーレス トレーニングを行う場合は、Gemini Enterprise Agent Platform で実行する機械学習(ML)コードを指定する必要があります。これを行うには、カスタム コンテナまたはビルド済みコンテナで動作する Python トレーニング アプリケーション用にトレーニング コンテナ 設定を構成します。
カスタム コンテナとビルド済み コンテナのどちらを使用するかを決定するには、トレーニング コードの要件をご覧ください。
このドキュメントでは、そのどちらのケースでも指定する必要がある Agent Platform API のフィールドについて説明します。
コンテナ設定を指定する場所
WorkerPoolSpec 内で構成の詳細を指定します。サーバーレス トレーニングの実行方法に応じて、この WorkerPoolSpec は、次のいずれかの API フィールドに配置します。
CustomJobリソースを作成する場合は、CustomJob.jobSpec.workerPoolSpecsにWorkerPoolSpecを指定します。Google Cloud CLI を使用している場合は、
gcloud ai custom-jobs createコマンドで--worker-pool-specフラグまたは--configフラグを使用して、ワーカープール オプションを指定します。詳細については、
CustomJobの作成をご覧ください。HyperparameterTuningJobリソースを作成する場合は、HyperparameterTuningJob.trialJobSpec.workerPoolSpecsにWorkerPoolSpecを指定します。gcloud CLI を使用している場合は、
gcloud ai hpt-tuning-jobs createコマンドで--configフラグを使用して、ワーカープール オプションを指定します。詳細については、
HyperparameterTuningJobの作成をご覧ください。ハイパーパラメータ調整を行わない
TrainingPipelineリソースを作成する場合は、TrainingPipeline.trainingTaskInputs.workerPoolSpecsにWorkerPoolSpecを指定します。詳細については、カスタムの
TrainingPipelineの作成をご覧ください。ハイパーパラメータ調整を行う
TrainingPipelineを作成する場合は、TrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecsにWorkerPoolSpecを指定します。
分散トレーニングを行う場合、ワーカープールごとに異なる設定を使用できます。
コンテナ設定を構成する
ビルド済みコンテナとカスタム コンテナのどちらを使用するかによって、指定する必要のある WorkerPoolSpec 内のフィールドが異なります。ご自身のシナリオに対応するタブを選択してください。
ビルド済みコンテナ
トレーニングに使用する ML フレームワークをサポートするビルド済みのコンテナを選択します。コンテナ イメージの URI を
pythonPackageSpec.executorImageUriフィールドに指定します。pythonPackageSpec.packageUrisフィールドに、Python トレーニング アプリケーションの Cloud Storage URI を指定します。pythonPackageSpec.pythonModuleフィールドに、トレーニング アプリケーションのエントリ ポイント モジュールを指定します。必要に応じて、
pythonPackageSpec.argsフィールドに、トレーニング アプリケーションのエントリ ポイント モジュールに渡すコマンドライン引数のリストを指定します。
次の例は、CustomJob の作成時に、これらのコンテナ設定を指定する場所をハイライト表示しています。
コンソール
Google Cloud コンソールでは、CustomJob を直接作成できません。ただし、CustomJob を作成する TrainingPipeline を作成することは可能です。 Google Cloud コンソールで TrainingPipeline を作成するときに、[トレーニング コンテナ] ステップで、特定のフィールドにビルド済みコンテナ設定を指定できます。
pythonPackageSpec.executorImageUri: [モデル フレームワーク] と [モデル フレームワークのバージョン] のプルダウン リストを使用します。pythonPackageSpec.packageUris: [Package location] フィールドを使用します。pythonPackageSpec.pythonModule: [Python モジュール] フィールドを使用します。pythonPackageSpec.args: [引数] フィールドを使用します。
gcloud
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--python-package-uris=PYTHON_PACKAGE_URIS \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=PYTHON_PACKAGE_EXECUTOR_IMAGE_URI,python-module=PYTHON_MODULE
詳細については、CustomJob の作成ガイドをご覧ください。
カスタム コンテナ
containerSpec.imageUriフィールドに、カスタム コンテナの Artifact Registry または Docker Hub URI を指定します。必要に応じて、コンテナ内の
ENTRYPOINTまたはCMDの命令をオーバーライドする場合は、containerSpec.commandフィールドまたはcontainerSpec.argsフィールドを指定してください。これらのフィールドは、次のルールに対するコンテナの動作に影響します。どちらのフィールドも指定しない場合: コンテナは、
ENTRYPOINT命令とCMD命令(存在する場合)に従って動作します。CMDとENTRYPOINTの相互作用については、Docker のドキュメントを参照してください。containerSpec.commandのみを指定する場合: コンテナは、ENTRYPOINT命令をcontainerSpec.commandの値に置き換えて動作します。コンテナにCMD命令がある場合は、無視されます。containerSpec.argsのみを指定する場合: コンテナはENTRYPOINT命令に従い、CMD命令をcontainerSpec.argsの値に置き換えて動作します。両方のフィールドを指定する場合: コンテナは、
ENTRYPOINT命令をcontainerSpec.commandに、CMD命令をcontainerSpec.argsにそれぞれ置き換えて動作します。
次の例は、CustomJob の作成時に、これらのコンテナ設定の一部を指定する場所をハイライト表示しています。
コンソール
Google Cloud コンソールでは、CustomJob を直接作成できません。ただし、CustomJob を作成する TrainingPipeline を作成することは可能です。 Google Cloud コンソールで TrainingPipeline を作成するときに、[トレーニング コンテナ] ステップで、特定のフィールドにカスタム コンテナ設定を指定できます。
containerSpec.imageUri: [コンテナ イメージ] フィールドを使用します。containerSpec.command: この API フィールドはGoogle Cloud コンソールでは構成できません。containerSpec.args: [引数] フィールドを使用します。
gcloud
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,container-image-uri=CUSTOM_CONTAINER_IMAGE_URI
Java
このサンプルを試す前に、クライアント ライブラリを使用した Agent Platform クイックスタートのJava設定手順に沿ってください。詳細については、 Agent Platform Java API リファレンス ドキュメントをご覧ください。
Agent Platform で認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
Node.js
このサンプルを試す前に、クライアント ライブラリを使用したNode.js Agent Platform クイックスタートの 手順に沿って設定を行ってください。 詳細については、 Agent Platform Node.js API リファレンス ドキュメントをご覧ください。
Agent Platform で認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の認証の設定をご覧ください。
Python
Vertex AI SDK for Python のインストールまたは更新の方法については、Vertex AI SDK for Python をインストールするをご覧ください。 詳細については、 Python API リファレンス ドキュメントをご覧ください。
詳細については、の作成ガイドをご覧ください
CustomJob。
次のステップ
CustomJobを作成するして、サーバーレス トレーニングの実行方法を学習する。