トラッキング クラス

Agent Platform SDK for Python には、可視化、測定データ、トラッキングを支援するクラスが含まれています。これらのクラスは、次の 3 つの種類に分類できます。

  • 機械学習(ML)ワークフローのリソースを追跡するためにメタデータを使用するクラス
  • Agent Platform でのテストに使用されるクラス
  • Agent Platform Vertex AI TensorBoard に使用されるクラス

以下のトピックでは、Agent Platform SDK for Python での ML ワークフローの追跡とモニタリングに関連するクラスの概要について説明します。

メタデータ クラス

Agent Platform SDK for Python を使用すると、Gemini Enterprise Agent Platform ML Metadata を作成し、ML ワークフローのメタデータを追跡および分析に役立てることができます。詳細については、 以下 の Gemini Enterprise Agent Platform ML Metadata の概要をご覧ください。

Artifact {: id="artifact-class"}

Artifact クラスは、Gemini Enterprise Agent Platform の アーティファクト内のメタデータを表します。アーティファクトは、ML ワークフローによって生成される個別のエンティティまたはデータの一部です。アーティファクトの例としては、データセットモデル入力ファイルなどがあります。詳細については、実行とアーティファクトを追跡するをご覧ください。

Artifact リソースを作成する場合は、そのスキーマを指定する必要があります。各種のアーティファクトには固有のスキーマがあります。たとえば、system.Dataset スキーマはデータセットを表し、system.Metrics スキーマは評価指標を表します。詳細については、システム スキーマの使用方法をご覧ください。

次のサンプルコードでは、モデルを表す Artifact リソースを作成する方法を示します。

model_artifact = aiplatform.Artifact.create(
        schema_title="system.Model",
        display_name=PREPROCESSED_DATASET_NAME,
        uri=PREPROCESSED_DATASET_URI,
)

Execution

Execution クラスは、Gemini Enterprise Agent Platform の 実行内のメタデータを表します。実行は、ML ワークフローの一ステップです。 実行の例には、データ処理、トレーニング、モデルの評価などがあります。実行では、データセットなどのアーティファクトを使用し、モデルなどのアーティファクトを生成できます。

aiplatform.start_execution を使用して Execution リソースを作成します。Execution リソースを作成した後、同じ aiplatform.start_execution メソッドで resume パラメータを True に設定して再開します。

次のサンプルコードでは、Execution リソースを作成する方法を示します。

with aiplatform.start_execution(schema_title='system.ContainerExecution',
                                display_name='trainer') as execution:
    execution.assign_input_artifacts([my_artifact])
    model = aiplatform.Artifact.create(uri='gs://my-uri', schema_title='system.Model')
    execution.assign_output_artifacts([model])

Vertex AI Experiments クラス

Agent Platform SDK for Python を使用して、Agent Platform でテストを作成、実行できます。Agent Platform でのテストを使用してログに記録された指標とパラメータを追跡し、ML ワークフローの分析と最適化に役立てます。詳細については、Agent Platform でのテストの 概要をご覧ください。

Experiment クラスと ExperimentRun クラスの使用方法の詳細については、次のいずれかの チュートリアルをご覧ください。

Experiment

Experiment クラスは、 Gemini Enterprise Agent Platform のテストを表します。テストを使用して、さまざまな 構成(複数の入力アーティファクトやハイパーパラメータなど)で テスト実行パイプライン実行を分析します。

Experiment リソースは、次の 2 つの方法で作成できます。

  1. Experiment の推奨される作成方法は、 テストの名前をパラメータとして指定することです。 aiplatform.init

    # In a real world scenario it's likely you would specify more parameters
    # when you call aiplatform.init. This sample shows only how to use the
    # parameter used to create an Experiment.
    
    # Specify a name for the experiment
    EXPERIMENT_NAME = "your-experiment-name"
    
    # Create the experiment
    aiplatform.init(experiment=EXPERIMENT_NAME)
    
  2. Experiment を呼び出して aiplatform.Experiment.create を作成することもできます。 aiplatform.Experiment.create Experiment リソースを作成しますが、 これをグローバル環境には設定しません。このため、テストを実行することはできません with aiplatform.start_run。次のサンプルコードでは、aiplatform.Experiment.create を使用してテストを作成し、実行する方法を示します。

    # Specify a name for the experiment
    EXPERIMENT_NAME = "your-experiment-name"
    EXPERIMENT_RUN_NAME = "your-run"
    
    # Create the experiment
    experiment = aiplatform.Experiment.create(experiment_name=EXPERIMENT_NAME)
    experiment_run = aiplatform.ExperimentRun.create(EXPERIMENT_RUN_NAME, experiment=EXPERIMENT_NAME)
    

ExperimentRun

ExperimentRun クラスはテストの実行を表します。

次のサンプルコードでは、テストの実行と開始を行い、それを使用してテストに関する情報を取得する方法を示します。テスト実行を解除するには、ExperimentRun インスタンスへの参照を取得し、その delete メソッドを呼び出します。

# Specify your project name, location, experiment name, and run name
PROJECT_NAME = "my-project"
LOCATION = "us-central1"
EXPERIMENT_NAME = "experiment-1"
RUN_NAME = "run-1"

# Create the experiment to run
aiplatform.init(experiment=EXPERIMENT_NAME,
                project=PROJECT_NAME,
                location=LOCATION)

# Create and run an ExperimentRun resource. Next, you can use it to get
# information about your experiment. For example, you can log parameters and
# metrics with specified key-value pairs.
with aiplatform.start_run(RUN_NAME):
     aiplatform.log_params({'learning_rate': 0.1, 'dropout_rate': 0.2})
     aiplatform.log_metrics({'accuracy': 0.9, 'recall': 0.8})

# Get a reference to the ExperimentRun resource, get the parameters logged to
# the run, get the summary metrics logged to the run, then delete it.
with aiplatform.start_run(RUN_NAME, resume=True) as run:
     run.get_params()
     run.get_metrics()
     run.delete()

Vertex AI TensorBoard クラス

Agent Platform SDK for Python には、 オープンソース のVertex AI TensorBoardのマネージド バージョンを操作するクラスが含まれています。 Vertex AI TensorBoard は、ML ワークフロー中に測定と可視化をモニタリングするために使用されるツールです。詳細については、Vertex AI TensorBoard を使ってみるをご覧ください。

Agent Platform SDK for Python を使用して Vertex AI TensorBoard と連携する方法については、次のいずれかのノートブックのチュートリアルをご覧ください。

Tensorboard

Tensorboard クラスは、Vertex AI TensorBoard のテストを保存するマネージド リソースを表します。テストを可視化する前に、Tensorboard インスタンスを作成する必要があります。 Google Cloud プロジェクトには、複数の Tensorboard インスタンスを作成できます。

次のサンプルコードでは、Tensorboard インスタンスを作成する方法を示します。

# Specify your project name, location, and the name of your Tensorboard
PROJECT_NAME = "my-project"
LOCATION = "us-central1"
TENSORBOARD_NAME = "my-tensorboard"

aiplatform.init(project=PROJECT_NAME, location=LOCATION)

tensorboard = aiplatform.Tensorboard.create(
    display_name=TENSORBOARD_NAME,
    project=PROJECT_NAME,
    location=LOCATION,
)

TensorboardExperiment

TensorboardExperiment は、TensorboardRun オブジェクトのグループを表します。TensorboardRun インスタンスは、TensorBoard で実行されたトレーニング ジョブの結果を表します。

TensorboardRun

TensorboardRun クラスのインスタンスは、指定された一連のハイパーパラメータ、モデル定義、データセットなどを使用して、TensorBoard で実行されるトレーニング ジョブにマッピングされます。

TensorboardTimeSeries

TensorboardTimeSeries クラスは、トレーニング実行で生成される系列を表します。

次のステップ