Automatiser la journalisation des données dans une exécution de test

La journalisation automatique est une fonctionnalité du SDK Vertex AI qui consigne automatiquement les paramètres et les métriques des exécutions d'entraînement de modèle dans Vertex AI Experiments. Cela peut vous faire gagner du temps et des efforts, car vous n'avez pas besoin de consigner manuellement ces données. Actuellement, la journalisation automatique n'est compatible qu'avec la journalisation des paramètres et des métriques.

Journalisation automatique des données

Deux options s'offrent à vous pour automatiser la journalisation des données dans Vertex AI Experiments.

  1. Laissez le SDK Vertex AI créer automatiquement des ressources ExperimentRun pour vous.
  2. Spécifiez la ressource ExperimentRun sur laquelle vous souhaitez que les paramètres et les métriques enregistrés automatiquement soient écrits.

Création automatique

Le SDK Vertex AI pour Python gère la création des ressources ExperimentRun pour vous. Les ressources ExperimentRun créées automatiquement auront un nom au format suivant : {ml-framework-name}-{timestamp}-{uid} (par exemple, "tensorflow-2023-01-04-16-09-20-86a88").

L'exemple suivant utilise la méthode init des fonctions du package aiplatform.

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 : attribuez un nom à votre test. Pour trouver la liste des tests dans la console Google Cloud, sélectionnez Tests dans le menu de navigation.
  • experiment_tensorboard : (Facultatif) indiquez un nom pour votre instance Vertex AI TensorBoard.
  • project : l'ID de votre projet. Vous pouvez trouver ces ID de projet sur la page d'accueil de la console Google Cloud.
  • location : consultez la liste des emplacements disponibles.

Spécifié par l'utilisateur

Nommez vos propres ressources ExperimentRun, puis enregistrez des métriques et des paramètres de plusieurs exécutions d'entraînements de modèle dans la même ressource ExperimentRun. Toutes les métriques du modèle vers l'exécution actuelle définies en appelant aiplatform.start_run("your-run-name") jusqu'à l'appel de aiplatform.end_run().

L'exemple suivant utilise la méthode init des fonctions du package aiplatform.

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 : indiquez le nom de votre test.
  • run_name : attribuez un nom à votre test d'exécution. Pour trouver la liste des tests dans la console Google Cloud, sélectionnez Tests dans le menu de navigation
  • project : l'ID de votre projet. Vous pouvez trouver ces ID de projet sur la page d'accueil de la console Google Cloud.
  • location : consultez la liste des emplacements disponibles.
  • experiment_tensorboard : (Facultatif) indiquez un nom pour votre instance Vertex AI TensorBoard.

La journalisation automatique du SDK Vertex AI utilise la journalisation automatique de MLFlow dans sa mise en œuvre. Les métriques et les paramètres d'évaluation des frameworks suivants sont consignés dans votre ressource ExperimentRun lorsque la journalisation automatique est activée.

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

Afficher les paramètres et les métriques enregistrés automatiquement

Utilisez le SDK Vertex AI pour Python pour comparer les exécutions et obtenir des données sur ces exécutions. La console Google Cloud permet de comparer facilement ces exécutions.

Exemple de notebook pertinent

Article du blog