Gérer des modèles

Cette page explique comment gérer les modèles BigQuery ML, y compris comment les copier et les renommer.

Renommer des modèles

Actuellement, vous ne pouvez pas changer le nom d'un modèle existant. Si vous devez modifier le nom, suivez les étapes pour copier le modèle. Lorsque vous spécifiez la destination dans l'opération de copie, utilisez le nouveau nom du modèle.

Copier des modèles

Vous pouvez copier un ou plusieurs modèles d'un ensemble de données source vers un ensemble de données cible à l'aide des méthodes suivantes :

  • Utiliser la console Google Cloud
  • Utiliser la commande bq cp de l'outil de ligne de commande bq
  • en appelant directement la méthode API jobs.insert et en configurant une tâche de copie ou en utilisant les bibliothèques clientes.

Limites relatives à la copie de modèles

Les tâches de copie de modèles sont soumises aux limites suivantes :

  • Lorsque vous copiez un modèle, le nom du modèle de destination doit respecter les mêmes conventions de dénomination que lorsque vous créez un modèle.
  • Les copies de modèles sont soumises aux limites de BigQuery sur les jobs de copie.
  • La copie d'un modèle n'est actuellement pas possible dans la console Google Cloud.
  • Lorsque vous copiez des modèles, l'ensemble de données de destination doit se trouver au même emplacement que l'ensemble de données contenant le modèle à copier. Par exemple, vous ne pouvez pas copier un modèle à partir d'un ensemble de données basé dans l'UE et l'écrire dans un ensemble de données basé aux États-Unis.
  • La copie de plusieurs modèles source dans une seule commande n'est pas acceptée.
  • Actuellement, l'interface de ligne de commande ne permet pas d'utiliser l'option --destination_kms_key pour la copie de modèles.

Copier un modèle

Vous pouvez copier un modèle à l'aide des méthodes suivantes :

  • utiliser la commande bq cp de l'outil de ligne de commande ;
  • en appelant la méthode API jobs.insert et en configurant une tâche de copie ou en utilisant les bibliothèques clientes.

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

Console

Actuellement, la console Google Cloud ne permet pas de copier des modèles.

bq

Exécutez la commande bq cp. Indicateurs facultatifs :

  • -f ou --force écrase un modèle existant dans l'ensemble de données de destination et ne vous demande pas de confirmation.
  • -n ou --no_clobber renvoie le message d'erreur suivant si le modèle existe dans l'ensemble de données de destination : '[PROJECT_ID]:[DATASET].[MODEL]' already exists, skipping.

    Si -n n'est pas spécifié, le comportement par défaut consiste à vous demander si vous souhaitez remplacer le modèle de destination.

Si l'ensemble de données source ou de destination se trouve dans un projet autre que votre projet par défaut, ajoutez l'ID du projet aux noms des ensembles de données en respectant le format suivant : [PROJECT_ID]:[DATASET].

Spécifiez l'option --location et définissez la valeur correspondant à votre emplacement.

bq --location=[LOCATION] cp -f -n [PROJECT_ID]:[DATASET].[SOURCE_MODEL] [PROJECT_ID]:[DATASET].[DESTINATION_MODEL]

Où :

  • [LOCATION] est le nom du site. L'option --location est facultative. Par exemple, si vous utilisez BigQuery dans la région de Tokyo, vous pouvez définir la valeur de l'option sur asia-northeast1. Vous pouvez définir une valeur par défaut correspondant à l'emplacement en utilisant le fichier .bigqueryrc.
  • [PROJECT_ID] est l'ID de votre projet.
  • [DATASET] est le nom de l'ensemble de données source ou de destination.
  • [SOURCE_MODEL] est le modèle que vous copiez.
  • [DESTINATION_MODEL] est le nom du modèle dans l'ensemble de données de destination.

Exemples :

Saisissez la commande suivante pour copier mydataset.mymodel dans mydataset2. Les deux ensembles de données sont dans votre projet par défaut et ont été créés dans l'emplacement multirégional US.

bq --location=US cp mydataset.mymodel mydataset2.mymodel

Saisissez la commande suivante pour copier mydataset.mymodel et pour écraser un modèle de destination portant le même nom. L'ensemble de données source est dans votre projet par défaut. L'ensemble de données de destination se trouve dans myotherproject. Le raccourci -f permet d'écraser le modèle de destination sans invite. mydataset et myotherdataset ont été créés dans l'emplacement multirégional US.

bq --location=US cp -f mydataset.mymodel myotherproject:myotherdataset.mymodel

Saisissez la commande suivante pour copier mydataset.mymodel et renvoyer une erreur si l'ensemble de données de destination contient un modèle portant le même nom. L'ensemble de données source est dans votre projet par défaut. L'ensemble de données de destination se trouve dans myotherproject. Le raccourci -n permet d'empêcher l'écrasement d'un modèle portant le même nom. Les deux ensembles de données ont été créés dans l'emplacement multirégional US.

bq --location=US cp -n mydataset.mymodel myotherproject:myotherdataset.mymodel

Saisissez la commande suivante pour copier mydataset.mymodel dans mydataset2 et renommer le modèle mymodel2. Les deux ensembles de données sont dans votre projet par défaut. Les deux ensembles de données ont été créés dans la région asia-northeast1.

bq --location=asia-northeast1 cp mydataset.mymodel mydataset2.mymodel2

API

Pour copier un modèle à l'aide de l'API, appelez la méthode bigquery.jobs.insert et configurez une tâche copy. Spécifiez votre emplacement dans la propriété location de la section jobReference de la ressource de tâche.

Vous devez spécifier les valeurs suivantes dans votre configuration de tâche :

"copy": {
      "sourceTable": {       // Required
        "projectId": string, // Required
        "datasetId": string, // Required
        "tableId": string    // Required
      },
      "destinationTable": {  // Required
        "projectId": string, // Required
        "datasetId": string, // Required
        "tableId": string    // Required
      },
      "createDisposition": string,  // Optional
      "writeDisposition": string,   // Optional
    },

Où :

  • sourceTable fournit des informations sur le modèle à copier.
  • destinationTable fournit des informations sur le nouveau modèle.
  • createDisposition spécifie s'il faut créer le modèle si celui-ci n'existe pas.
  • writeDisposition spécifie s'il faut écraser un modèle existant.

Chiffrer des modèles

Pour en savoir plus sur l'utilisation d'une clé de chiffrement gérée par le client (CMEK) pour chiffrer un modèle, consultez la page Utiliser CMEK pour protéger les modèles BigQuery ML.

Étapes suivantes