Classes de modèles

Le SDK Vertex AI inclut la classe Model pour fonctionner avec un modèle que vous entraînez et utilisez ensuite pour les prédictions. Le SDK comprend également la classe ModelEvaluation pour évaluer les métriques sur les modèles AutoML entraînés. Pour en savoir plus sur les modèles, consultez la section Entraîner et utiliser vos propres modèles.

Model

La classe Model représente un modèle entraîné enregistré dans Vertex AI Model Registry. Vous utilisez un modèle entraîné pour générer des prédictions.

Utilisez la méthode aiplatform.Model() pour trouver et renvoyer une référence à un modèle. Vous pouvez spécifier un modèle à l'aide de son nom ou de son ID. Étant donné que plusieurs modèles d'un projet peuvent partager le même nom, nous vous recommandons de spécifier un modèle avec son ID. L'exemple de code suivant montre comment utiliser un ID de modèle pour trouver et renvoyer une référence à un modèle existant :

MODEL_ID="my-sample-model-ID"
model = aiplatform.Model(model_name=MODEL_ID)

Une fois que vous disposez d'une référence à un modèle entraîné, vous pouvez utiliser les propriétés et les méthodes du Model pour fonctionner avec et obtenir des prédictions.

Créer un modèle enregistré

Pour créer une ressource de modèle enregistrée dans Vertex AI Model Registry, appelez la méthode run sur une classe de job d'entraînement. Les méthodes suivantes permettent de créer un modèle, d'entraîner le modèle, d'enregistrer le modèle dans Vertex AI Model Registry, puis de renvoyer une référence au modèle.

L'exemple de code suivant vous montre comment créer une ressource CustomTrainingJob, puis comment utiliser sa méthode run pour créer un modèle, entraîner le modèle, enregistrer le modèle dans Vertex AI Model Registry et renvoyer une référence au modèle :

# Create a custom training job using a script
job = aiplatform.CustomTrainingJob(
    display_name="my-training-job",
    script_path="task.py",
    container_uri="us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-8:latest",
    requirements=["google-cloud-bigquery>=2.20.0", "db-dtypes", "protobuf<3.20.0"],
    model_serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-8:latest",
)

# Create and train your model using a BigQuery dataset. The method
# returns a reference to the trained model.
model = job.run(
    dataset=dataset,
    model_display_name="my-model-name",
    bigquery_destination=f"bq://{project_id}",
    args=CMDARGS,
)

Créer un modèle non enregistré

Pour créer un modèle qui n'est pas enregistré dans Vertex AI Model Registry, utilisez la classe CustomJob et sa méthode run. La méthode CustomJob.run entraîne un modèle, mais ne l'enregistre pas dans Vertex AI Model Registry et ne renvoie pas de référence au modèle.

Si vous utilisez la classe CustomJob, vous devez utiliser un script pour écrire votre modèle dans un emplacement tel qu'un bucket Cloud Storage. Pour plus d'informations, consultez la section Exporter un modèle de ML entraîné.

Enregistrer un modèle

Si vous disposez d'un modèle qui n'est pas enregistré auprès de Vertex AI Model Registry, vous devez l'enregistrer afin de pouvoir gérer son cycle de vie. Vertex AI Model Registry est un dépôt central qui fournit une vue d'ensemble de vos modèles afin que vous puissiez les gérer. Pour plus d'informations, consultez la Présentation de Vertex AI Model Registry.

Le SDK Vertex AI inclut les méthodes suivantes pour importer un modèle dans Vertex AI Model Registry. Cliquez sur l'une des méthodes pour en apprendre davantage à son sujet dans le guide de référence du SDK Vertex AI.

Déployer un modèle

Après avoir enregistré un modèle, vous devez le déployer sur un point de terminaison avant de pouvoir l'utiliser pour les prédictions. Utilisez la méthode Model.deploy pour déployer votre modèle sur un Endpoint. Pour en savoir plus, consultez la section Déployer un modèle sur un point de terminaison.

ModelEvaluation

Utilisez la classe ModelEvaluation pour obtenir des métriques d'évaluation pour les modèles AutoML, telles que la précision et le rappel, afin de déterminer les performances de vos modèles. Pour en savoir plus, consultez la section Évaluation de modèle dans Vertex AI.

L'exemple de code suivant montre comment lister toutes les évaluations pour un modèle dont l'ID est model-id, qui fait partie d'un projet dont l'ID est my-project et qui se trouve dans la région us-central1 :

model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')

evaluations = model.list_model_evaluations()

L'exemple de code suivant montre comment obtenir l'évaluation d'un modèle pour un modèle dont l'ID est model-id, qui fait partie d'un projet dont l'ID est my-project et qui se trouve dans la région us-central1 :

model = aiplatform.Model('projects/my-project/locations/us-central1/models/{model-id}')

# Return the first evaluation with no arguments. You can also specify a model
# using its model ID.
evaluation = model.get_model_evaluation()

eval_metrics = evaluation.metrics

Pour créer une référence à une évaluation de modèle, utilisez son nom de ressource ou son ID de modèle ainsi que l'ID d'évaluation. L'exemple de code suivant montre comment créer une référence à une évaluation de modèle à l'aide de son nom de ressource :

evaluation = aiplatform.ModelEvaluation(
  evaluation_name='projects/my-project/locations/us-central1/
    models/{model-id}/evaluations/{evaluation-id}')

eval_metrics = evaluation.metrics

L'exemple de code suivant montre comment créer une référence à une évaluation de modèle à l'aide de l'ID de modèle et de l'ID d'évaluation :

evaluation.metrics = aiplatform.ModelEvaluation(
  evaluation_name={evaluation-id},
  model_id={model-id})

eval_metrics = evaluation.metrics

Étapes suivantes