Ce guide explique comment importer des modèles dans Vertex AI Model Registry. Une fois votre modèle importé, il est visible dans Model Registry. À partir de Model Registry, vous pouvez déployer votre modèle importé sur un point de terminaison et exécuter des inférences.
Rôles requis
Pour obtenir les autorisations nécessaires pour importer des modèles, demandez à votre administrateur de vous attribuer le rôle IAM Utilisateur Vertex AI (roles/aiplatform.user
) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
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 d'inférence. Vous pouvez utiliser des conteneurs prédéfinis fournis par Vertex AI ou vos propres conteneurs personnalisés que vous créez et transférez vers 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, PyTorch, scikit-learn ou XGBoost
- Exporté pour répondre aux exigences spécifiques au framework pour l'un des conteneurs d'inférence 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-en un existant que vous avez dans 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 géographique que vous utilisez.
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 fichier de vos artefacts de modèles correspond exactement aux exemples suivants :
- TensorFlow SavedModel :
saved_model.pb
- PyTorch :
model.mar
- scikit-learn :
model.joblib
- XGBoost :
model.bst
oumodel.joblib
Découvrez comment exporter des artefacts de modèle pour l'inférence.
Importer un modèle à l'aide de la console Google Cloud
Pour importer un modèle à l'aide de la console Google Cloud , procédez comme suit :
Dans la console Google Cloud , accédez à la page Modèles de Vertex AI.
Cliquez sur Importer.
Sélectionnez Importer en tant que nouveau modèle pour importer un nouveau modèle.
Sélectionnez Importer en tant que nouvelle version pour importer un modèle en tant que version d'un modèle existant. Pour en savoir plus sur la gestion des versions de modèles, consultez Gestion des versions de modèles.
Nom et région : entrez le nom du modèle. Sélectionnez la région qui correspond à la région de votre bucket et au point de terminaison géographique Vertex AI que vous utilisez. Cliquez sur 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 sa version que vous avez utilisés pour entraîner le modèle.
Si vous souhaitez utiliser des GPU pour diffuser des inférences, 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.
Par exemple :
gs://BUCKET_NAME/models/
.Laissez le champ Schémas de prédiction vide.
Pour importer votre modèle sans paramètres Vertex Explainable AI, 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.
En savoir plus sur ces champs facultatifs
Pour importer votre modèle sans paramètres Vertex Explainable AI, 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 AutoML tabulaire
Sélectionnez Importer un conteneur personnalisé existant.
Dans le champ Image du conteneur, entrez
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 d'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 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 AutoML tabulaires, à l'exception des modèles AutoML tabulaires importés non compatibles avec Vertex Explainable AI.
Importer un modèle de manière programmatique
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
:
gcloud ai models upload \
--region=LOCATION \
--display-name=MODEL_NAME \
--container-image-uri=IMAGE_URI \
--artifact-uri=PATH_TO_MODEL_ARTIFACT_DIRECTORY
Remplacez les éléments suivants :
- LOCATION_ID : région dans laquelle vous utilisez Vertex AI.
-
MODEL_NAME : nom à afficher pour
Model
. -
IMAGE_URI : URI de l'image de conteneur à utiliser pour diffuser les inférences.
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 vos artefacts de modèle.
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 l'inférence, vous devrez probablement spécifier des options facultatives supplémentaires afin de permettre à Vertex AI d'utiliser votre image de conteneur. Ces options, qui commencent par --container-
, correspondent aux champs du containerSpec
de votre Model
.
REST
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, effectuez les remplacements suivants :
- LOCATION_ID : région dans laquelle vous utilisez Vertex AI.
- PROJECT_ID : ID de votre projet.
-
MODEL_NAME : nom à afficher pour
Model
. - MODEL_DESCRIPTION (facultatif) : description du modèle.
-
IMAGE_URI : URI de l'image de conteneur à utiliser pour diffuser les inférences.
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 vos 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. Par exemple :- "env" : "prod"
- "tier" : "backend"
- Spécifiez 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_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/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 print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/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 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_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/models:upload" | Select-Object -Expand Content
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI sur l'utilisation des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API 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. Vertex AI propose des méthodes d'assistance pour appeler les opérations de longue durée. Pour en savoir plus, consultez Travailler avec des opérations de longue durée.
Limites
- Model Registry accepte des modèles d'une taille maximale de 1 To.
Étape suivante
- Déployez votre modèle sur un point de terminaison de manière programmatique ou à l'aide de la console Google Cloud .