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 クラスの使用方法の詳細については、次のいずれかの
チュートリアルをご覧ください。
- カスタム トレーニング用の Agent Platform でのテストのリネージを構築する
- ローカルでトレーニングされたモデルのパラメータと指標を追跡する
- Agent Platform でのテストでパイプライン実行を比較する
- Agent Platform でのテストを使ってみる
Experiment
Experiment クラスは、
Gemini Enterprise Agent Platform のテストを表します。テストを使用して、さまざまな
構成(複数の入力アーティファクトやハイパーパラメータなど)で
テスト実行と
パイプライン実行を分析します。
Experiment リソースは、次の 2 つの方法で作成できます。
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)Experimentを呼び出してaiplatform.Experiment.createを作成することもできます。aiplatform.Experiment.createExperimentリソースを作成しますが、 これをグローバル環境には設定しません。このため、テストを実行することはできません withaiplatform.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 と連携する方法については、次のいずれかのノートブックのチュートリアルをご覧ください。
- Cloud Profiler を使用してモデルのトレーニング パフォーマンスをプロファイリングする。
- カスタム コンテナを使用した Vertex AI TensorBoard カスタム トレーニング
- ビルド済みコンテナを使用した Vertex AI TensorBoard カスタム トレーニング
- HParams ダッシュボードを使用した Vertex AI TensorBoard ハイパーパラメータ チューニング
- Cloud Profiler を使用してモデルのトレーニング パフォーマンスをプロファイリングする
- ビルド済みコンテナを使用したカスタム トレーニングで、Cloud Profiler を使用してモデルのトレーニング パフォーマンスをプロファイリングする
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 クラスは、トレーニング実行で生成される系列を表します。
次のステップ
- Agent Platform SDK について学習する。