Daten in einer Testausführung automatisch protokollieren

Autologging ist ein Feature im Vertex AI SDK, das Parameter und Messwerte automatisch aus Modelltrainingsläufen in Vertex AI Experiments protokolliert. Dies spart Zeit und Aufwand, da diese Daten nicht manuell protokolliert werden müssen. Derzeit unterstützt das automatische Logging nur das Parameter- und Messwert-Logging.

AutoLog-Daten

Es gibt zwei Optionen für das automatische Logging von Daten in Vertex AI Experiments.

  1. Das Vertex AI SDK erstellt automatisch ExperimentRun-Ressourcen für Sie.
  2. Geben Sie die ExperimentRun-Ressource an, in die automatisch geloggte Parameter und Messwerte geschrieben werden sollen

Automatisch erstellt

Das Vertex AI SDK für Python übernimmt das Erstellen von ExperimentRun-Ressourcen für Sie. Automatisch erstellte ExperimentRun-Ressourcen haben Ausführungsnamen im folgenden Format: {ml-framework-name}-{timestamp}-{uid}, z. B. „tensorflow-2023-01-04-16-09-20-86a88“.

Im folgenden Beispiel wird die Methode init aus den aiplatform-Paketfunktionen verwendet.

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: Geben Sie einen Namen für den Test an. Um die Liste der Experimente in der Google Cloud Console aufzurufen, wählen Sie Tests im Navigationsbereich aus.
  • experiment_tensorboard: (Optional) Geben Sie einen Namen für Ihre Vertex AI TensorBoard-Instanz ein.
  • project: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.
  • location: Siehe Liste der verfügbaren Standorte.

Vom Nutzer angegeben

Geben Sie Ihre eigenen ExperimentRun-Namen an und lassen Sie Messwerte und Parameter aus mehreren Modell-Trainingsläufen im selben ExperimentRun protokollieren. Alle Messwerte vom Modell bis zum aktuellen Ausführungssatz; dazu rufen Sie aiplatform.start_run("your-run-name") auf, bis aiplatform.end_run() aufgerufen wird.

Im folgenden Beispiel wird die Methode init aus den aiplatform-Paketfunktionen verwendet.

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: Geben Sie den Namen Ihres Tests an.
  • run_name: Geben Sie einen Namen für den Testlauf an. Um die Liste der Experimente in der Google Cloud Console aufzurufen, wählen Sie Tests in der Abschnittsnavigation aus.
  • project: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.
  • location: Siehe Liste der verfügbaren Standorte.
  • experiment_tensorboard: (Optional) Geben Sie einen Namen für Ihre Vertex AI TensorBoard-Instanz ein.

Das Autologging des Vertex AI SDK verwendet das Autologging von MLFlow in seiner Implementierung. Bewertungsmesswerte und -parameter aus folgenden Frameworks werden in Ihrem ExperimentRun protokolliert, wenn das automatische Logging aktiviert ist.

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

Automatisch protokollierte Parameter und Messwerte anzeigen

Verwenden Sie das Vertex AI SDK für Python, um Ausführungen zu vergleichen und Ausführungsdaten abzurufen. Die Google Cloud Console bietet eine einfache Möglichkeit zum Vergleichen dieser Ausführungen.

Relevantes Notebookbeispiel

Blogpost