テストにパイプライン実行を追加する

Google Cloud コンソールまたは Vertex AI SDK for Python のいずれかを使用して、パイプライン実行をテストまたはテスト実行に追加できます。

Google Cloud コンソール

次の手順で ML パイプラインを実行し、パイプラインをテストに関連付け、必要に応じて Google Cloud コンソールでテストを実行します。テスト実行は、Vertex AI SDK for Python を介してのみ作成できます(テスト実行の作成と管理を参照)。
  1. Google Cloud コンソールの [Vertex AI] セクションで、[パイプライン] ページに移動します。
    [パイプライン] に移動
  2. [リージョン] プルダウン リストで、パイプラインを作成するリージョンを選択します。
  3. [ 実行を作成] をクリックして、[パイプライン実行の作成] ペインを開きます。
  4. [実行の詳細] に次の内容を指定します。
    • [ファイル] フィールドで [選択] をクリックして、ファイル選択ツールを開きます。 実行するコンパイル済みパイプライン JSON ファイルに移動し、パイプラインを選択して [開く] をクリックします。
    • デフォルトでは、[パイプライン名] にパイプラインの定義で指定した名前が使用されます。必要に応じて、別の [パイプライン名] を指定します。
    • このパイプライン実行を一意に識別できるように実行名を指定します。
  5. このパイプラインの実行にカスタム サービス アカウント、顧客管理の暗号鍵、またはピアリングされる VPC ネットワークを使用するように指定するには、[ADVANCED OPTIONS] をクリックします(省略可)。
    詳細オプション(カスタム サービス アカウントなど)を構成する手順は次のとおりです。
    • サービス アカウントを指定するには、[サービス アカウント] プルダウン リストからサービス アカウントを選択します。
      サービス アカウントを指定しない場合、Vertex AI Pipelines はデフォルトの Compute Engine サービス アカウントを使用してパイプラインを実行します。
      詳細については、Vertex AI Pipelines で使用するサービス アカウントの構成をご覧ください。
    • 顧客管理の暗号鍵(CMEK)を使用するには、[顧客管理の暗号鍵を使用する] を選択します。[顧客管理の暗号鍵を選択] プルダウン リストが表示されます。[顧客管理の暗号鍵を選択] プルダウン リストで、使用する鍵を選択します。
    • このパイプライン実行でピアリングされた VPC ネットワークを使用するには、[ピアリングされた VPC ネットワーク] ボックスに VPC ネットワーク名を入力します。
  6. [続行] をクリックします。
    [Cloud Storage] のロケーションと [パイプライン パラメータ] ペインが表示されます。
    • 必須: Cloud Storage の出力ディレクトリを入力します(例: gs://location_of_directory)。
    • (省略可)このパイプライン実行に使用するパラメータを指定します。
  7. [送信] をクリックして、パイプライン実行を作成します。
  8. パイプラインが送信されると、パイプラインの Google Cloud コンソール テーブルに表示されます。
  9. パイプラインに関連付けられた行で、もっと見る > [テストに追加])をクリックします。
    • 既存のテストを選択するか、新しく作成します。
    • 省略可: テスト実行がテストに関連付けられている場合は、プルダウンに表示されます。既存のテスト実行を選択します。
  10. [保存] をクリックします。

Google Cloud コンソールでパイプライン実行とテスト実行を比較する

  1. Google Cloud コンソールで、[テスト] ページに移動します。
    [テスト] に移動
    [テスト] ページにテストのリストが表示されます。
  2. パイプライン実行を追加するテストを選択します。
    実行のリストが表示されます。
  3. 比較する実行を選択して、[比較] をクリックします。
  4. [実行を追加] ボタンをクリックします。実行のリストが表示されます。
  5. 追加するパイプライン実行を選択します。実行が追加されます。

Vertex AI SDK for Python {:#sdk-add-pipeline-run}

以下のサンプルでは、PipelineJob API を使用しています。

パイプライン実行をテストに関連付ける

このサンプルは、パイプライン実行をテストに関連付ける方法を示しています。パイプライン実行を比較する場合は、パイプライン実行をテストに関連付ける必要があります。Vertex AI SDK for Python のリファレンス ドキュメントの init をご覧ください。

Python

from typing import Any, Dict, Optional

from google.cloud import aiplatform


def log_pipeline_job_to_experiment_sample(
    experiment_name: str,
    pipeline_job_display_name: str,
    template_path: str,
    pipeline_root: str,
    project: str,
    location: str,
    parameter_values: Optional[Dict[str, Any]] = None,
):
    aiplatform.init(project=project, location=location)

    pipeline_job = aiplatform.PipelineJob(
        display_name=pipeline_job_display_name,
        template_path=template_path,
        pipeline_root=pipeline_root,
        parameter_values=parameter_values,
    )

    pipeline_job.submit(experiment=experiment_name)

  • experiment_name: テストの名前を指定します。Google Cloud コンソールで、セクション ナビゲーションの [テスト] を選択すると、テストのリストを見つけることができます。
  • pipeline_job_display_name: このパイプラインのユーザー定義の名前。
  • template_path: PipelineJob または PipelineSpec の JSON ファイルか YAML ファイルのパス。ローカルパスまたは Cloud Storage URI を指定できます。例: 「gs://project.name」
  • pipeline_root: パイプライン出力のルート。デフォルトでは、ステージング バケットになります。
  • parameter_values: ランタイム パラメータ名から、パイプライン実行を制御する値へのマッピング。
  • project: 実際のプロジェクト ID。これらの ID は、Google Cloud コンソールの [ようこそ] ページで確認できます。
  • location: 利用可能なロケーションの一覧をご覧ください。

パイプライン実行をテスト実行に関連付ける

用意されているサンプルには、パイプライン実行とテスト実行の関連付けが含まれています。

使用例:

  • ローカルモデルのトレーニングを行った後、そのモデルで評価を実行する場合(評価はパイプラインを使用して行われます)。この場合、パイプライン実行から ExperimentRun に評価指標を書き込みます。
  • 同じパイプラインを複数回再実行する場合。たとえば、入力パラメータを変更する場合や、1 つのコンポーネントでエラーが発生して再実行が必要になる場合などです。

パイプライン実行をテスト実行に関連付ける場合、パラメータと指標は自動的には表示されず、Logging API を使用して手動でログに記録する必要があります。

注: オプションの resume パラメータを TRUE として指定すると、以前に開始した実行が再開されます。指定しない場合、resume はデフォルトで FALSE になり、新しい実行が作成されます。

Vertex AI SDK for Python のリファレンス ドキュメントの initstart_runlog をご覧ください。

Python

from google.cloud import aiplatform


def log_pipeline_job_sample(
    experiment_name: str,
    run_name: str,
    pipeline_job: aiplatform.PipelineJob,
    project: str,
    location: str,
):
    aiplatform.init(experiment=experiment_name, project=project, location=location)

    aiplatform.start_run(run=run_name, resume=True)

    aiplatform.log(pipeline_job=pipeline_job)

  • experiment_name: テストの名前を指定します。Google Cloud コンソールで、セクション ナビゲーションの [テスト] を選択すると、テストのリストを見つけることができます。
  • run_name: 実行名を指定します。
  • pipeline_job: Vertex AI PipelineJob。
  • project: 実際のプロジェクト ID。これらは、Google Cloud コンソールの [ようこそ] ページで確認できます。
  • location: 利用可能なロケーションの一覧をご覧ください。

Google Cloud コンソールでパイプライン実行のリストを表示する

  1. Google Cloud コンソールの [Vertex AI] セクションで、[パイプライン] ページに移動します。

    [パイプライン] ページに移動

  2. 正しいプロジェクトが選択されていることを確認します。

  3. プロジェクトのパイプライン実行に関連付けられたテストと実行のリストが、それぞれ [テスト] 列と [テスト実行] 列に表示されます。

Vertex AI のテストリスト

Codelab

  • テストを最大限に活用: Vertex AI による ML テストの管理

    この Codelab では、Vertex AI を使用して、TensorFlow でカスタム Keras モデルをトレーニングするパイプラインを作成します。最適なパフォーマンスのハイパーパラメータの組み合わせを特定するため、Vertex AI Experiments を使用してテスト実行を追跡し、比較します。

次のステップ

関連するノートブックのサンプル