テスト実行にデータを自動的に記録する

自動ロギングは、モデル トレーニングの実行から Vertex AI Experiments に自動的にパラメータと指標をロギングする、Vertex AI SDK の機能です。このデータを手動でロギングする必要がなくなるため、時間と労力を節約できます。現在、自動ロギングはパラメータと指標の記録のみをサポートしています。

データの自動ログ

Vertex AI Experiments にデータを自動ロギングする方法は 2 つあります。

  1. Vertex AI SDK によって自動的に ExperimentRun リソースが作成されるようにする。
  2. 自動ロギングされたパラメータと指標を書き込む ExperimentRun リソースを指定する。

自動作成

ExperimentRun リソースの作成は、Vertex AI SDK for Python が行います。自動的に作成された ExperimentRun リソースの実行名は、{ml-framework-name}-{timestamp}-{uid} の形式になります(例: 「tensorflow-2023-01-04-16-09-20-86a88」)。

次のサンプルでは、aiplatform パッケージ関数init メソッドを使用します。

Python

from typing import Optional, Union

from google.cloud import aiplatform


def autologging_with_auto_run_creation_sample(
    experiment_name: str,
    project: str,
    location: str,
    experiment_tensorboard: Optional[Union[str, aiplatform.Tensorboard]] = None,
):
    aiplatform.init(
        experiment=experiment_name,
        project=project,
        location=location,
        experiment_tensorboard=experiment_tensorboard,
    )

    aiplatform.autolog()

    # Your model training code goes here

    aiplatform.autolog(disable=True)

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

ユーザーによる設定

独自の ExperimentRun 名を指定し、複数のモデル トレーニング実行の指標とパラメータが同じ ExperimentRun に記録されるようにします。aiplatform.end_run() が呼び出されるまで aiplatform.start_run("your-run-name") を呼び出すことで設定される、モデルから現在の実行セットへのすべての指標。

次のサンプルでは、aiplatform パッケージ関数init メソッドを使用します。

Python

from typing import Optional, Union

from google.cloud import aiplatform


def autologging_with_manual_run_creation_sample(
    experiment_name: str,
    run_name: str,
    project: str,
    location: str,
    experiment_tensorboard: Optional[Union[str, aiplatform.Tensorboard]] = None,
):
    aiplatform.init(
        experiment=experiment_name,
        project=project,
        location=location,
        experiment_tensorboard=experiment_tensorboard,
    )

    aiplatform.autolog()

    aiplatform.start_run(run=run_name)

    # Your model training code goes here

    aiplatform.end_run()

    aiplatform.autolog(disable=True)

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

Vertex AI SDK の自動ロギングは、MLFlow の自動ロギングを実装に使用します。自動ロギングが有効になっている場合、次のフレームワークの評価指標とパラメータが ExperimentRun に記録されます。

  • Fastai
  • Gluon
  • Keras
  • LightGBM
  • Pytorch Lightning
  • Scikit-learn
  • Spark
  • Statsmodels
  • XGBoost

自動ロギングされたパラメータと指標を表示する

Vertex AI SDK for Python を使用して、実行を比較して実行データを取得します。Google Cloud コンソールでは、これらの実行を簡単に比較できます。

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

ブログ投稿