Gérer des modèles BigQuery ML dans Vertex AI

Vous pouvez enregistrer des modèles BigQuery ML auprès de Vertex AI Model Registry, afin de les gérer avec vos modèles Vertex AI sans avoir à les exporter. Lorsque vous enregistrez des modèles dans Model Registry, vous pouvez gérer les versions, évaluer les modèles et les déployer pour la prédiction en ligne à l'aide d'une seule interface et sans avoir besoin d'un conteneur de déploiement. Si vous ne connaissez pas Vertex AI et son intégration à BigQuery ML, consultez la page Vertex AI pour les utilisateurs de BigQuery.

Pour en savoir plus sur la prédiction Vertex AI, consultez la page Présentation de l'obtention de prédictions sur Vertex AI.

Pour savoir comment gérer vos modèles BigQuery ML à partir du registre de modèles Vertex AI, consultez la page Présentation du registre de modèles Vertex AI.

Prérequis

Pour enregistrer des modèles BigQuery ML dans Model Registry, vous devez remplir plusieurs conditions préalables.

Activer l'API Vertex AI

Vous devez activer l'API Vertex AI dans votre projet avant d'enregistrer des modèles BigQuery ML dans Model Registry. Pour ce faire, utilisez la page API et services de la console Google Cloud ou exécutez la commande Google Cloud CLI suivante:

gcloud --project PROJECT_ID services enable aiplatform.googleapis.com

Accorder des autorisations IAM

Le compte de service ou le compte utilisateur que vous utilisez pour enregistrer des modèles BigQuery ML dans Model Registry doit disposer du rôle Administrateur Vertex AI (roles/aiplatform.admin). Pour en savoir plus sur les rôles et les autorisations Vertex AI, consultez la page Contrôle des accès avec IAM.

Utilisez la commande suivante pour accorder le rôle Administrateur Vertex AI à un compte de service:

gcloud projects add-iam-policy-binding PROJECT_ID --member=serviceAccount:SERVICE_ACCOUNT_EMAIL --role=roles/aiplatform.admin --condition=None

Utilisez la commande suivante pour attribuer le rôle d'administrateur Vertex AI à un compte utilisateur:

gcloud projects add-iam-policy-binding PROJECT_ID --member=user:USER_ACCOUNT --role=roles/aiplatform.admin --condition=None

Enregistrer des modèles

Lorsque vous créez un modèle BigQuery ML, vous pouvez utiliser l'option MODEL_REGISTRY dans l'instruction CREATE MODEL pour enregistrer le modèle dans le Model Registry. L'instruction CREATE MODEL contient également l'option VERTEX_AI_MODEL_ID permettant de spécifier l'ID de modèle et l'option VERTEX_AI_MODEL_VERSION_ALIASES permettant de spécifier un ou plusieurs alias de version de modèle, que vous pouvez utiliser pour simplifier le déploiement, gérer les modèles et activer Vertex Explainable AI sur les modèles.

Si vous définissez l'option MODEL_REGISTRY lorsque vous créez un modèle, il s'affiche automatiquement dans Model Registry une fois l'entraînement terminé dans BigQuery ML. Vous pouvez utiliser la colonne Source de la page Registre de modèles de la console Google Cloud pour voir d'où provient un modèle.

Une fois un modèle BigQuery ML enregistré, vous pouvez utiliser les fonctionnalités de Model Registry avec ce modèle. Vous pouvez déployer le modèle sur un point de terminaison, comparer des versions de modèle, effectuer des prédictions, surveiller le modèle et afficher les évaluations de modèle. En outre, si vous souhaitez comprendre quelles caractéristiques contribuent à vos prédictions, vous pouvez utiliser Vertex Explainable AI pour obtenir des explications basées sur les caractéristiques de votre modèle.

Tous les modèles créés à l'aide de BigQuery ML continuent de s'afficher dans l'interface utilisateur de BigQuery, qu'ils soient enregistrés dans Model Registry ou non.

Spécifier un ID de modèle Vertex AI

Pour faciliter la gestion des modèles, spécifiez un ID de modèle Vertex AI à l'aide de l'option VERTEX_AI_MODEL_ID lorsque vous créez le modèle. L'ID de modèle est associé à votre modèle BigQuery ML et est visible dans Model Registry.

L'ID de modèle Vertex AI n'accepte pas les lettres majuscules. Si vous ne spécifiez pas d'ID de modèle Vertex AI, l'ID de modèle BigQuery ML est utilisé. Dans ce cas, assurez-vous que l'ID du modèle BigQuery ML est également en minuscules. Pour obtenir la liste complète des exigences liées aux ID de modèle, consultez les spécifications dans la documentation de référence sur l'importation.

Pour mettre à jour l'ID de modèle Vertex AI, vous devez supprimer le modèle et le recréer avec le bon nouvel ID de modèle Vertex AI. Vous ne pouvez pas mettre à jour l'ID de modèle Vertex AI à l'aide de la commande ALTER MODEL.

Spécifier un alias de modèle Vertex AI

Pour spécifier un alias de modèle, spécifiez l'option VERTEX_AI_MODEL_VERSION_ALIASES lorsque vous créez le modèle. Les alias de modèle sont utiles pour récupérer ou déployer une version de modèle particulière par référence sans avoir à connaître l'ID de la version spécifique. De cette manière, ils fonctionnent comme les tags Docker ou les références de branche dans Git.

Pour en savoir plus sur le fonctionnement des alias de Model Registry, consultez la page Utiliser des alias de version de modèle.

Enregistrer plusieurs versions de modèles BigQuery ML

Si vous souhaitez créer une version d'un modèle BigQuery ML existant et la comparer à d'autres dans Model Registry, vous devez spécifier un ID de modèle BigQuery ML différent lors de la création du modèle, puis l'enregistrer sur l'ID du modèle Model Registry d'origine.

Si vous créez ou remplacez un modèle BigQuery ML et que vous utilisez un ID de modèle BigQuery ML déjà associé à un modèle dans Model Registry, la version de modèle Model Registry existante est supprimée et remplacée par le nouveau modèle.

Enregistrer un modèle BigQuery ML existant dans Model Registry

Les modèles BigQuery ML ne sont pas automatiquement ajoutés à Model Registry. Vous pouvez utiliser l'instruction ALTER MODEL pour ajouter un ID de modèle et l'enregistrer dans le Model Registry, et également mettre à jour des métadonnées telles que la description et les libellés du modèle.

Pour en savoir plus sur la mise à jour des métadonnées de modèle dans BigQuery ML, consultez la page Mettre à jour les métadonnées de modèle.

Pour enregistrer un modèle existant, procédez comme suit :

SQL

ALTER MODEL [IF EXISTS] <model_name> SET OPTIONS (vertex_ai_model_id="VERTEX_AI_MODEL_ID");

bq

Vous pouvez mettre à jour un modèle à l'aide de l'outil de ligne de commande bq. Pour ce faire, exécutez la commande bq update et spécifiez un ID de modèle. vertex_model_id peut être un nouvel ID ou un ID de modèle Model Registry existant. Chaque modèle BigQuery ML ne peut être enregistré que dans un seul ID de modèle dans Model Registry.

bq update --model --vertex_ai_model_id "VERTEX_AI_MODEL_ID" PROJECT_ID:DATASET.MODEL

API

  1. Accédez à la page Method: models.patch.
  2. Renseignez les champs Paramètres de requête et Corps de la requête.
  3. Cliquez sur le bouton Execute (Exécuter).
  {
    "trainingRuns": [
      {
        "vertexAiModelId": "VERTEX_AI_MODEL_ID"
      }
  }
 ```

Si vous spécifiez un nouvel ID de modèle lors de l'enregistrement du modèle, le modèle BigQuery ML s'affiche en tant que version 1 du modèle dans Model Registry. Pour ajouter le modèle en tant que nouvelle version d'un modèle existant, spécifiez l'ID du modèle existant. Le nouveau modèle est alors automatiquement enregistré en tant que dernière version du modèle existant.

Modifier l'ID de modèle d'un modèle BigQuery ML enregistré

Une fois qu'un modèle BigQuery ML est enregistré dans Model Registry, vous ne pouvez plus modifier la valeur VERTEX_AI_MODEL_ID. Pour enregistrer le modèle avec un nouveau VERTEX_AI_MODEL_ID, utilisez l'une des options suivantes:

  • Supprimez le modèle et recréez-le si le coût de réentraînement est acceptable.

  • Copiez le modèle, puis utilisez l'instruction ALTER MODEL pour enregistrer le nouveau modèle avec une nouvelle valeur VERTEX_AI_MODEL_ID.

Considérations relatives aux emplacements

Si vous enregistrez un modèle BigQuery ML multirégional dans Model Registry, il devient un modèle régional dans Vertex AI. Un modèle américain multirégional BigQuery ML est synchronisé avec Vertex AI (us-central1) et un modèle européen multirégional BigQuery ML est synchronisé avec Vertex AI (europe-west4). Pour les modèles dans une seule région, il n'y a pas de modification.

Pour savoir comment mettre à jour les emplacements de modèle, consultez la section Choisir votre emplacement.

Supprimer des modèles BigQuery ML du registre de modèles

Pour supprimer un modèle BigQuery ML de Model Registry, supprimez-le dans BigQuery ML. Le modèle est automatiquement supprimé du référentiel de modèles.

Il existe plusieurs façons de supprimer un modèle BigQuery ML. Pour en savoir plus, consultez la section Supprimer des modèles.

Si vous souhaitez supprimer un modèle dans BigQuery ML qui a été enregistré dans Model Registry et déployé sur un point de terminaison, vous devez d'abord utiliser Model Registry pour annuler le déploiement du modèle. Vous pouvez ensuite revenir à BigQuery ML et supprimer le modèle. Pour savoir comment désinstaller un modèle, consultez la section Supprimer un point de terminaison.

Étape suivante

Utilisez le notebook Prédictions en ligne avec BigQuery ML pour entraîner un modèle à l'aide de BigQuery ML, l'enregistrer dans Model Registry et le déployer sur un point de terminaison pour obtenir des prédictions en temps réel.