Le SDK Vertex AI pour Python inclut des classes qui facilitent la visualisation, les mesures et le suivi. Ces classes peuvent être regroupées en trois types :
- Classes utilisant des métadonnées pour assurer le suivi des ressources de votre workflow de machine learning (ML)
- Classes utilisées pour Vertex AI Experiments
- Classes utilisées pour un TensorBoard Vertex AI
Les articles suivants présentent les classes associées au suivi et à la surveillance d'un workflow de ML dans le SDK Vertex AI pour Python.
Classes de métadonnées
Vous pouvez utiliser le SDK Vertex AI pour Python pour créer des métadonnées Vertex ML Metadata afin de vous aider à suivre et à analyser les métadonnées dans votre workflow de ML. Pour plus d'informations, consultez la Présentation de Vertex ML Metadata.
Artifact
La classe Artifact
représente les métadonnées d'un artefact dans Vertex AI. Un artefact est une entité distincte ou une donnée produite par un workflow de ML. Il peut s'agir par exemple d'un ensemble de données, d'un modèle ou d'un fichier d'entrée.
Pour en savoir plus, consultez la section Suivre les exécutions et les artefacts.
Lorsque vous créez une ressource Artifact
, vous devez spécifier son schéma. Chaque type d'artefact possède un schéma unique. Par exemple, le schéma system.Dataset
représente un ensemble de données et le schéma system.Metrics
représente les métriques d'évaluation. Pour en savoir plus, consultez la section Utiliser des schémas système.
L'exemple de code suivant montre comment créer une ressource Artifact
qui représente un modèle :
model_artifact = aiplatform.Artifact.create(
schema_title="system.Model",
display_name=PREPROCESSED_DATASET_NAME,
uri=PREPROCESSED_DATASET_URI,
Execution
La classe Execution
représente les métadonnées d'une exécution dans Vertex AI. Une exécution est une étape d'un workflow de ML.
Il peut s'agir par exemple du traitement des données, de l'entraînement ou de l'évaluation d'un modèle. Une exécution peut consommer des artefacts, tels qu'un ensemble de données, et produire un artefact, tel qu'un modèle.
Utilisez aiplatform.start_execution
pour créer une ressource Execution
. Après avoir créé une ressource Execution
, utilisez la même méthode aiplatform.start_execution
avec son paramètre resume
défini sur True
pour reprendre l'exécution.
L'exemple de code suivant montre comment créer une ressource 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])
Classes Vertex AI Experiments
Vous pouvez utiliser le SDK Vertex AI pour Python pour créer et exécuter des tests Vertex AI Experiments. Utilisez les tests Vertex AI Experiments pour assurer le suivi des métriques et des paramètres enregistrés afin de vous aider à analyser et à optimiser votre workflow de ML. Pour en savoir plus, consultez la Présentation des tests Vertex AI.
Pour en savoir plus sur l'utilisation des classes Experiment
et ExperimentRun
, essayez l'un des tutoriels suivants :
- Créer une traçabilité des tests Vertex AI Experiments pour l'entraînement personnalisé
- Assurer le suivi des paramètres et des métriques pour les modèles entraînés localement
- Comparer les exécutions de pipeline avec les tests Vertex AI
- Faites vos premiers pas avec les tests Vertex AI
Experiment
La classe Experiment
représente un test dans Vertex AI. Utilisez un test pour analyser ses exécutions de test et ses exécutions de pipeline avec différentes configurations, telles que plusieurs artefacts d'entrée et hyperparamètres.
Il existe deux façons de créer une ressource Experiment
:
La méthode privilégiée pour créer une ressource
Experiment
consiste à spécifier un nom pour votre test en tant que paramètre lorsque vous appelezaiplatform.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)
Vous pouvez également créer une ressource
Experiment
en appelantaiplatform.Experiment.create
.aiplatform.Experiment.create
crée la ressourceExperiment
, mais ne la définit pas sur un environnement global. Pour cette raison, vous ne pouvez pas exécuter le test avecaiplatform.start_run
. L'exemple de code suivant montre comment utiliseraiplatform.Experiment.create
pour créer un test et ensuite l'exécuter :# 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
La classe ExperimentRun
représente une exécution d'un test.
L'exemple de code suivant montre comment créer et démarrer une exécution de test, puis comment l'utiliser pour obtenir des informations sur votre test. Pour supprimer l'exécution de test, obtenez une référence à l'instance ExperimentRun
et appelez sa méthode 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_name=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()
Classes Vertex AI TensorBoard
Le SDK Vertex AI pour Python inclut des classes permettant d'utiliser une version gérée de Vertex AI TensorBoard Open Source. Vertex AI TensorBoard est un outil utilisé pour surveiller les mesures et les visualisations pendant votre workflow de ML. Pour en savoir plus, consultez la section Premiers pas avec Vertex AI TensorBoard.
Pour en savoir plus sur l'utilisation et le fonctionnement du SDK Vertex AI pour Python avec Vertex AI TensorBoard, consultez l'un des tutoriels sur les notebooks suivants :
- Profiler les performances d'entraînement des modèles à l'aide de Cloud Profiler
- Entraînement personnalisé Vertex AI TensorBoard avec un conteneur personnalisé
- Entraînement personnalisé Vertex AI TensorBoard avec conteneur prédéfini
- Régler les hyperparamètres de Vertex AI TensorBoard avec le tableau de bord HParams
- Profiler les performances d'entraînement d'un modèle à l'aide de Cloud Profiler
- Profiler les performances d'entraînement d'un modèle à l'aide de Cloud Profiler dans l'entraînement personnalisé avec un conteneur prédéfini
Tensorboard
La classe Tensorboard
représente une ressource gérée qui stocke les tests Vertex AI TensorBoard. Vous devez créer une instance Tensorboard
avant de pouvoir visualiser les tests. Vous pouvez créer plusieurs instances Tensorboard
dans un projet Google Cloud.
L'exemple de code suivant montre comment créer une instance 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
représente un groupe d'objets TensorboardRun
. Une instance TensorboardRun
représente les résultats de l'exécution d'un job d'entraînement dans un TensorBoard.
TensorboardRun
Une instance de la classe TensorboardRun
est mappée à l'exécution d'un job d'entraînement dans un TensorBoard avec un ensemble spécifié d'hyperparamètres, une définition de modèle, un ensemble de données, etc.
TensorboardTimeSeries
La classe TensorboardTimeSeries
représente une série produite lors des exécutions d'entraînements.
Étapes suivantes
- En savoir plus sur le SDK Vertex AI.