Ce guide explique comment importer des modèles existants que vous avez entraînés en dehors de l'IA Vertex, ou que vous avez entraînés à l'aide de Vertex AI et exportés. Après avoir importé votre modèle, vous obtenez un modèle dans Vertex AI, que vous pouvez déployer sur un point de terminaison, puis utiliser pour demander des prédictions.
Conteneurs prédéfinis ou personnalisés
Lorsque vous importez un modèle, vous l'associez à un conteneur permettant à Vertex AI d'exécuter des requêtes de prédiction. Vous pouvez utiliser des conteneurs prédéfinis fournis par Vertex AI, ou utiliser vos propres conteneurs personnalisés que vous créez et transférez vers Container Registry ou Artifact Registry
Vous pouvez utiliser un conteneur prédéfini si votre modèle répond aux exigences suivantes :
- Entraîné dans Python 3.7 ou version ultérieure
- Entraîné à l'aide de TensorFlow, scikit-learn ou XGBoost
- Exporté pour répondre aux exigences spécifiques au framework pour l'un des conteneurs de prédiction prédéfinis
Si vous importez un modèle AutoML tabulaire que vous avez précédemment exporté, vous devez utiliser un conteneur personnalisé spécifique fourni par Vertex AI.
Sinon, créez un conteneur personnalisé ou utilisez un conteneur personnalisé existant que vous avez dans Container Registry ou Artifact Registry.
Importer des artefacts de modèle dans Cloud Storage
Vous devez stocker vos artefacts de modèle dans un bucket Cloud Storage, où la région du bucket correspond au point de terminaison régional que vous utilisez. La taille totale du fichier contenant les artefacts du modèle doit être inférieure ou égale à 10 Go.
Si votre bucket Cloud Storage se trouve dans un autre projet Google Cloud, vous devez accorder l'accès à Vertex AI pour lire les artefacts de votre modèle.
Si vous utilisez un conteneur prédéfini, assurez-vous que le nom de vos artefacts de modèles correspond exactement aux exemples suivants :
- Modèle SavedModel TensorFlow :
saved_model.pb
- scikit-learn :
model.joblib
oumodel.pkl
- XGBoost :
model.bst
,model.joblib
oumodel.pkl
Découvrez comment exporter des artefacts de modèle pour la prédiction.
Importer un modèle à l'aide de Cloud Console
Pour importer un modèle à l'aide de Cloud Console, procédez comme suit :
Dans Cloud Console, accédez à la page Modèles de Vertex AI.
Cliquez sur Import (Importer).
Nom et région : saisissez le nom du modèle. Sélectionnez la région qui correspond à la région de votre bucket et au point de terminaison régional Vertex AI que vous utilisez. Cliquez sur Continue (Continuer).
En développant Options avancées, vous pouvez éventuellement décider d'ajouter une clé de chiffrement gérée par le client.
Selon le type de conteneur que vous utilisez, sélectionnez l'onglet approprié ci-dessous.
Conteneur prédéfini
Sélectionnez Importer des artefacts de modèle dans un nouveau conteneur prédéfini.
Sélectionnez le framework de modèle et la version du framework de modèle que vous avez utilisés pour entraîner le modèle.
Si vous souhaitez utiliser des GPU pour diffuser des prédictions, définissez le type d'accélérateur sur GPU.
Vous sélectionnerez le type de GPU ultérieurement, lorsque vous déploierez le modèle sur un point de terminaison.
Indiquez le chemin d'accès Cloud Storage au répertoire contenant les artefacts de votre modèle.
Exemple :
gs://BUCKET_NAME/models/
Laissez le champ Predict schemata (Schémas de prédiction) vide.
Pour importer votre modèle sans paramètres Vertex Explainable IA, cliquez sur Importer.
Une fois l'importation terminée, votre modèle s'affiche sur la page Modèles.
Sinon, poursuivez la configuration du modèle en saisissant vos paramètres d'explicabilité dans l'onglet Explicabilité. En savoir plus sur les paramètres d'explicabilité.
Conteneur personnalisé
Sélectionnez Importer un conteneur personnalisé existant.
Définissez l'URI de l'image de conteneur.
Si vous souhaitez fournir des artefacts de modèle en plus d'une image de conteneur, spécifiez le chemin d'accès Cloud Storage au répertoire contenant les artefacts de votre modèle.
Par exemple,
gs://BUCKET_NAME/models/
.Spécifiez les valeurs de tous les autres champs.
Pour en savoir plus sur ces champs facultatifs, cliquez ici.
Pour importer votre modèle sans paramètres Vertex Explainable IA, cliquez sur Importer.
Une fois l'importation terminée, votre modèle s'affiche sur la page Modèles.
Sinon, poursuivez la configuration du modèle en saisissant vos paramètres d'explicabilité dans l'onglet Explicabilité. En savoir plus sur les paramètres d'explicabilité.
Conteneur tabulaire AutoML
Sélectionnez Importer un conteneur personnalisé existant.
Dans le champ Image du conteneur, saisissez
MULTI_REGION-docker.pkg.dev/vertex-ai/automl-tabular/prediction-server-v1:latest
.Remplacez
MULTI_REGION
parus
,europe
ouasia
pour sélectionner le dépôt Docker à partir duquel vous souhaitez extraire l'image Docker. Chaque dépôt fournit la même image Docker, mais le choix de l'emplacement multirégional de Artifact Registry le plus proche de la machine sur laquelle vous exécutez Docker est susceptible de réduire la latence.Dans le champ Emplacement du package, spécifiez le chemin d'accès Cloud Storage vers le répertoire contenant les artefacts de votre modèle.
Le chemin d'accès ressemble à l'exemple suivant:
gs://BUCKET_NAME/models-MODEL_ID/tf-saved-model/TIMESTAMP/
Laissez tous les autres champs vides.
Cliquez sur Import (Importer).
Une fois l'importation terminée, votre modèle s'affiche sur la page Modèles. Vous pouvez utiliser ce modèle de la même manière que d'autres modèles tabulaires AutoML, à l'exception des modèles tabulaires AutoML importés n'étant pas compatibles avec Vertex Explainable AI.
Importer un modèle de manière automatisée
Les exemples suivants montrent comment importer un modèle à l'aide de divers outils :
gcloud
L'exemple suivant utilise la commande gcloud ai models upload
:
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- LOCATION : région dans laquelle vous utilisez Vertex AI.
-
MODEL_NAME : nom à afficher pour l'objet
Model
. -
IMAGE_URI : URI de l'image de conteneur à utiliser pour diffuser les prédictions. Exemple :
us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-1:latest
. Utilisez un conteneur prédéfini ou un conteneur personnalisé. -
PATH_TO_MODEL_ARTIFACT_DIRECTORY : URI Cloud Storage (commençant par
gs://
) d'un répertoire Cloud Storage contenant les artefacts de modèle.
Exécutez la commande gcloud ai templates import :
Linux, macOS ou Cloud Shell
gcloud ai models upload \ --region=LOCATION \ --display-name=MODEL_NAME \ --container-image-uri=IMAGE_URI \ --artifact-uri=PATH_TO_MODEL_ARTIFACT_DIRECTORY
Windows (PowerShell)
gcloud ai models upload ` --region=LOCATION ` --display-name=MODEL_NAME ` --container-image-uri=IMAGE_URI ` --artifact-uri=PATH_TO_MODEL_ARTIFACT_DIRECTORY
Windows (cmd.exe)
gcloud ai models upload ^ --region=LOCATION ^ --display-name=MODEL_NAME ^ --container-image-uri=IMAGE_URI ^ --artifact-uri=PATH_TO_MODEL_ARTIFACT_DIRECTORY
L'exemple précédent montre toutes les options nécessaires pour importer la plupart des modèles. Si vous n'utilisez pas de conteneur prédéfini pour la prédiction, vous devrez probablement spécifier des options facultatives supplémentaires afin de permettre à AI Platform d'utiliser votre image de conteneur. Ces options, qui commencent par --container-
, correspondent aux champs du containerSpec
de votre Model
.
API REST et ligne de commande
Utilisez l'exemple de code suivant pour importer un modèle à l'aide de la méthode upload
de la ressource model
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : région dans laquelle vous utilisez Vertex AI.
- PROJECT_ID: ID de votre projet ou numéro de projet.
-
MODEL_NAME : nom à afficher pour l'objet
Model
. - MODEL_DESCRIPTION : facultatif. Description du modèle.
-
IMAGE_URI : URI de l'image de conteneur à utiliser pour diffuser les prédictions. Exemple :
us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-1:latest
. Utilisez un conteneur prédéfini ou un conteneur personnalisé. -
PATH_TO_MODEL_ARTIFACT_DIRECTORY : URI Cloud Storage (commençant par
gs://
) d'un répertoire Cloud Storage contenant les artefacts de modèle. Cette variable et le champartifactUri
sont facultatifs si vous utilisez un conteneur personnalisé. labels
: facultatif. Ensemble de paires clé/valeur pour organiser vos modèles. Exemple :- "env" : "prod"
- "tier" : "backend"
- Spécifiez les éléments LABEL_NAME et LABEL_VALUE pour toutes les étiquettes que vous souhaitez appliquer à ce pipeline d'entraînement.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/models:upload
Corps JSON de la requête :
{ "model": { "displayName": "MODEL_NAME", "predictSchemata": {}, "containerSpec": { "imageUri": "IMAGE_URI" }, "artifactUri": "PATH_TO_MODEL_ARTIFACT_DIRECTORY", "labels": { "LABEL_NAME_1": "LABEL_VALUE_1", "LABEL_NAME_2": "LABEL_VALUE_2" } } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/models:upload"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/models:upload" | Select-Object -Expand Content
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez la page Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI en langage Java.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez la page Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI en langage Node.js.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez la page Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI en langage Python.
Pour importer un modèle avec les paramètres Vertex Explainable AI activés, reportez-vous aux exemples d'importation de modèles Vertex Explainable AI.
Obtenir l'état de l'opération
Certaines requêtes démarrent des opérations de longue durée qui nécessitent du temps. Ces requêtes renvoient un nom d'opération, que vous pouvez utiliser pour afficher l'état de l'opération ou pour annuler l'opération. L'IA Vertex propose des méthodes d'assistance pour appeler les opérations de longue durée. Pour en savoir plus, consultez la section Travailler avec des opérations de longue durée.
Étape suivante
- Déployez votre modèle sur un point de terminaison par programmation ou à l'aide de Cloud Console.