Cette page explique comment utiliser l'API Vertex AI pour déployer un modèle sur un point de terminaison.
Présentation
Vous devez déployer un modèle sur un point de terminaison avant de l'utiliser pour diffuser des prédictions en ligne. Le déploiement d'un modèle associe des ressources physiques au modèle afin de diffuser des prédictions en ligne avec une latence faible. Un modèle non déployé peut diffuser des prédictions par lots, qui ne présentent pas les mêmes exigences de latence faible.
Vous pouvez déployer plusieurs modèles sur un point de terminaison et un modèle sur plusieurs points de terminaison. Pour en savoir plus sur les options et les cas d'utilisation du déploiement de modèles, consultez la page À propos du déploiement des modèles.
Vous ne pouvez pas déployer un modèle vidéo sur un point de terminaison. Les modèles vidéo ne diffusent pas de prédictions en ligne.
Pour obtenir de l'aide sur le déploiement d'un modèle à l'aide de la console Google Cloud, consultez la page Déployer un modèle à l'aide de la console Google Cloud.
Déployer un modèle
Pour déployer un modèle à l'aide de l'API Vertex AI, vous devez effectuer les étapes suivantes :
- Créez un point de terminaison si nécessaire.
- Obtenez l'ID du point de terminaison.
- Déployez le modèle sur le point de terminaison.
Créer un point de terminaison
Si vous déployez un modèle sur un point de terminaison existant, vous pouvez ignorer cette étape.
gcloud
L'exemple suivant utilise la commande gcloud ai endpoints create
:
gcloud ai endpoints create \
--region=LOCATION \
--display-name=ENDPOINT_NAME
Remplacez l'élément suivant :
- LOCATION : région dans laquelle vous utilisez Vertex AI.
- ENDPOINT_NAME : nom à afficher du point de terminaison.
La création du point de terminaison par l'outil Google Cloud CLI peut prendre quelques secondes.
API REST et ligne de commande
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : votre région.
- PROJECT : ID de votre projet
- ENDPOINT_NAME : nom à afficher du point de terminaison.
- PROJECT_NUMBER : numéro de votre projet
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints
Corps JSON de la requête :
{ "display_name": "ENDPOINT_NAME" }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata", "genericMetadata": { "createTime": "2020-11-05T17:45:42.812656Z", "updateTime": "2020-11-05T17:45:42.812656Z" } } }
"done": true
.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Python.
Récupérer l'ID du point de terminaison
Vous avez besoin de l'ID de point de terminaison pour déployer le modèle.
gcloud
L'exemple suivant utilise la commande gcloud ai endpoints list
:
gcloud ai endpoints list \
--region=LOCATION \
--filter=display_name=ENDPOINT_NAME
Remplacez l'élément suivant :
- LOCATION : région dans laquelle vous utilisez Vertex AI.
- ENDPOINT_NAME : nom à afficher du point de terminaison.
Notez le nombre qui s'affiche dans la colonne ENDPOINT_ID
. Utilisez cet ID à l'étape suivante.
API REST et ligne de commande
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : votre région.
- PROJECT : ID de votre projet
- ENDPOINT_NAME : nom à afficher du point de terminaison.
- PROJECT_NUMBER : numéro de votre projet
Méthode HTTP et URL :
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints?filter=display_name=ENDPOINT_NAME
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "endpoints": [ { "name": "projects/PROJECT_NUMBER/locations/us-central1/endpoints/ENDPOINT_ID", "displayName": "ENDPOINT_NAME", "etag": "AMEw9yPz5pf4PwBHbRWOGh0PcAxUdjbdX2Jm3QO_amguy3DbZGP5Oi_YUKRywIE-BtLx", "createTime": "2020-04-17T18:31:11.585169Z", "updateTime": "2020-04-17T18:35:08.568959Z" } ] }
Déployer le modèle
Sélectionnez le type de modèle ci-dessous :
Soumis à un entraînement personnalisé
Sélectionnez l'onglet correspondant à votre langage ou à votre environnement :
gcloud
Les exemples suivants utilisent la commande gcloud ai endpoints deploy-model
.
L'exemple suivant déploie un Model
sur un Endpoint
sans utiliser de GPU pour accélérer la diffusion des prédictions et répartir le trafic entre plusieurs ressources DeployedModel
:
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- ENDPOINT_ID : ID du point de terminaison.
- LOCATION : région dans laquelle vous utilisez Vertex AI.
- MODEL_ID : ID du modèle à déployer.
-
DEPLOYED_MODEL_NAME : nom de l'élément
DeployedModel
. Vous pouvez également utiliser le nom à afficher duModel
pour leDeployedModel
. -
MACHINE_TYPE : facultatif. Ressources de machine à utiliser pour chaque nœud de ce déploiement, la valeur par défaut est
n1-standard-2
. En savoir plus sur les types de machines. -
MIN_REPLICA_COUNT : nombre minimal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou diminué selon les besoins de la charge de prédiction, jusqu'à atteindre le nombre maximal de nœuds. Toutefois, il ne sera jamais inférieur à ce nombre.
Cette valeur doit être supérieure ou égale à 1. Si l'option
--min-replica-count
est omise, la valeur par défaut est 1. -
MAX_REPLICA_COUNT : nombre maximal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou réduit selon les besoins de la charge de prédiction, mais ne dépassera jamais le maximum.
Si vous omettez l'option
--max-replica-count
, le nombre maximal de nœuds est défini sur la valeur de--min-replica-count
.
Exécutez la commande gcloud ai endpoints deploy-model :
Linux, macOS ou Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
Répartir le trafic
L'option --traffic-split=0=100
des exemples précédents envoie 100 % du trafic de prédiction que Endpoint
reçoit à la nouvelle ressource DeployedModel
, correspondant à l'ID temporaire 0
. Si votre Endpoint
dispose déjà d'autres ressources DeployedModel
, vous pouvez répartir le trafic entre le nouveau DeployedModel
et les anciens.
Par exemple, pour envoyer 20 % du trafic vers le nouveau DeployedModel
et 80 % vers une ressource plus ancienne, exécutez la commande suivante.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- OLD_DEPLOYED_MODEL_ID : ID de la ressource
DeployedModel
existante.
Exécutez la commande gcloud ai endpoints deploy-model :
Linux, macOS ou Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Spécifier des GPU
Vous pouvez éventuellement utiliser des GPU sur chaque nœud de votre DeployedModel
pour accélérer les prédictions. Toutefois, les GPU ne sont utiles que pour certains types de modèles de machine learning.
Découvrez quand utiliser les GPU et quelles configurations de GPU fonctionnent avec chaque type de machine.
Utilisez l'option --accelerator
pour spécifier le type de GPU à utiliser et le nombre de GPU à utiliser par chaque instance dupliquée. Par exemple, pour utiliser deux GPU NVIDIA Tesla T4 sur chaque nœud, exécutez la commande suivante :
Exécutez la commande gcloud ai endpoints deploy-model :
Linux, macOS ou Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --accelerator=count=2,type=nvidia-tesla-t4 \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --accelerator=count=2,type=nvidia-tesla-t4 ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --accelerator=count=2,type=nvidia-tesla-t4 ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
Si vous utilisez des GPU, votre DeployedModel
ne s'adapte pas automatiquement en fonction du trafic de prédiction. Il s'exécute toujours sur le nombre exact de nœuds que vous spécifiez avec l'option --min-replica-count
.
API REST et ligne de commande
Déployer le modèle
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 de votre projet
- ENDPOINT_ID : ID du point de terminaison.
- MODEL_ID : ID du modèle à déployer.
-
DEPLOYED_MODEL_NAME : nom de l'élément
DeployedModel
. Vous pouvez également utiliser le nom à afficher duModel
pour leDeployedModel
. -
MACHINE_TYPE : facultatif. Ressources de machine à utiliser pour chaque nœud de ce déploiement, la valeur par défaut est
n1-standard-2
. En savoir plus sur les types de machines. - ACCELERATOR_TYPE : type d'accélérateur à associer à la machine. Facultatif si ACCELERATOR_COUNT n'est pas spécifié ou est égal à zéro. Il n'est pas recommandé pour les modèles AutoML ni les modèles personnalisés qui utilisent des images non GPU. En savoir plus
- ACCELERATOR_COUNT : nombre d'accélérateurs pour chaque instance dupliquée à utiliser. Facultatif. Doit être égal à zéro ou non spécifié pour les modèles AutoML ou les modèles personnalisés qui utilisent des images non GPU.
- MIN_REPLICA_COUNT : nombre minimal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou diminué selon les besoins de la charge de prédiction, jusqu'à atteindre le nombre maximal de nœuds. Toutefois, il ne sera jamais inférieur à ce nombre. Cette valeur doit être supérieure ou égale à 1.
- MAX_REPLICA_COUNT : nombre maximal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou réduit selon les besoins de la charge de prédiction, mais ne dépassera jamais le maximum.
- TRAFFIC_SPLIT_THIS_MODEL : pourcentage du trafic de prédiction vers ce point de terminaison à acheminer vers le modèle déployé avec cette opération. La valeur par défaut est 100. La somme des pourcentages de trafic doit être égale à 100. En savoir plus sur la répartition du trafic.
- DEPLOYED_MODEL_ID_N : facultatif. Si d'autres modèles sont déployés sur ce point de terminaison, vous devez mettre à jour les pourcentages de répartition du trafic pour que le pourcentage cumulé de tous les pourcentages soit égal à 100.
- TRAFFIC_SPLIT_MODEL_N : valeur en pourcentage de la répartition du trafic pour la clé de l'ID de modèle déployé.
- PROJECT_NUMBER : numéro de votre projet
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
Corps JSON de la requête :
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": "ACCELERATOR_COUNT" }, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Python.
Découvrez comment modifier les paramètres par défaut pour la journalisation des prédictions.
Image AutoML
Sélectionnez l'onglet correspondant à votre langage ou à votre environnement :
gcloud
Les exemples suivants utilisent la commande gcloud ai endpoints deploy-model
.
L'exemple suivant déploie la ressource Model
sur Endpoint
sans répartir le trafic entre plusieurs ressources DeployedModel
:
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- ENDPOINT_ID : ID du point de terminaison.
- LOCATION : région dans laquelle vous utilisez Vertex AI.
- MODEL_ID : ID du modèle à déployer.
-
DEPLOYED_MODEL_NAME : nom de l'élément
DeployedModel
. Vous pouvez également utiliser le nom à afficher duModel
pour leDeployedModel
. - MIN_REPLICA_COUNT : nombre minimal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou diminué selon les besoins de la charge de prédiction, jusqu'à atteindre le nombre maximal de nœuds. Toutefois, il ne sera jamais inférieur à ce nombre.
-
MAX_REPLICA_COUNT : nombre maximal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou réduit selon les besoins de la charge de prédiction, mais ne dépassera jamais le maximum.
Si vous omettez l'option
--max-replica-count
, le nombre maximal de nœuds est défini sur la valeur de--min-replica-count
.
Exécutez la commande gcloud ai endpoints deploy-model :
Linux, macOS ou Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
Répartir le trafic
L'option --traffic-split=0=100
des exemples précédents envoie 100 % du trafic de prédiction que Endpoint
reçoit à la nouvelle ressource DeployedModel
, correspondant à l'ID temporaire 0
. Si votre Endpoint
dispose déjà d'autres ressources DeployedModel
, vous pouvez répartir le trafic entre le nouveau DeployedModel
et les anciens.
Par exemple, pour envoyer 20 % du trafic vers le nouveau DeployedModel
et 80 % vers une ressource plus ancienne, exécutez la commande suivante.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- OLD_DEPLOYED_MODEL_ID : ID de la ressource
DeployedModel
existante.
Exécutez la commande gcloud ai endpoints deploy-model :
Linux, macOS ou Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
API REST et ligne de commande
Déployer le modèle
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 de votre projet
- ENDPOINT_ID : ID du point de terminaison.
- MODEL_ID : ID du modèle à déployer.
-
DEPLOYED_MODEL_NAME : nom de l'élément
DeployedModel
. Vous pouvez également utiliser le nom à afficher duModel
pour leDeployedModel
. - MIN_REPLICA_COUNT : nombre minimal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou diminué selon les besoins de la charge de prédiction, jusqu'à atteindre le nombre maximal de nœuds. Toutefois, il ne sera jamais inférieur à ce nombre.
- MAX_REPLICA_COUNT : nombre maximal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou réduit selon les besoins de la charge de prédiction, mais ne dépassera jamais le maximum.
- TRAFFIC_SPLIT_THIS_MODEL : pourcentage du trafic de prédiction vers ce point de terminaison à acheminer vers le modèle déployé avec cette opération. La valeur par défaut est 100. La somme des pourcentages de trafic doit être égale à 100. En savoir plus sur la répartition du trafic.
- DEPLOYED_MODEL_ID_N : facultatif. Si d'autres modèles sont déployés sur ce point de terminaison, vous devez mettre à jour les pourcentages de répartition du trafic pour que le pourcentage cumulé de tous les pourcentages soit égal à 100.
- TRAFFIC_SPLIT_MODEL_N : valeur en pourcentage de la répartition du trafic pour la clé de l'ID de modèle déployé.
- PROJECT_NUMBER : numéro de votre projet
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
Corps JSON de la requête :
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "automaticResources": { "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT } }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Python.
Découvrez comment modifier les paramètres par défaut pour la journalisation des prédictions.
Tabulaire AutoML
Sélectionnez l'onglet correspondant à votre langage ou à votre environnement :
gcloud
Les exemples suivants utilisent la commande gcloud ai endpoints deploy-model
.
L'exemple suivant déploie un Model
sur un Endpoint
sans utiliser de GPU pour accélérer la diffusion des prédictions et répartir le trafic entre plusieurs ressources DeployedModel
:
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- ENDPOINT_ID : ID du point de terminaison.
- LOCATION : région dans laquelle vous utilisez Vertex AI.
- MODEL_ID : ID du modèle à déployer.
-
DEPLOYED_MODEL_NAME : nom de l'élément
DeployedModel
. Vous pouvez également utiliser le nom à afficher duModel
pour leDeployedModel
. -
MACHINE_TYPE : facultatif. Ressources de machine à utiliser pour chaque nœud de ce déploiement, la valeur par défaut est
n1-standard-2
. En savoir plus sur les types de machines. -
MIN_REPLICA_COUNT : nombre minimal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou diminué selon les besoins de la charge de prédiction, jusqu'à atteindre le nombre maximal de nœuds. Toutefois, il ne sera jamais inférieur à ce nombre.
Cette valeur doit être supérieure ou égale à 1. Si l'option
--min-replica-count
est omise, la valeur par défaut est 1. -
MAX_REPLICA_COUNT : nombre maximal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou réduit selon les besoins de la charge de prédiction, mais ne dépassera jamais le maximum.
Si vous omettez l'option
--max-replica-count
, le nombre maximal de nœuds est défini sur la valeur de--min-replica-count
.
Exécutez la commande gcloud ai endpoints deploy-model :
Linux, macOS ou Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
Répartir le trafic
L'option --traffic-split=0=100
des exemples précédents envoie 100 % du trafic de prédiction que Endpoint
reçoit à la nouvelle ressource DeployedModel
, correspondant à l'ID temporaire 0
. Si votre Endpoint
dispose déjà d'autres ressources DeployedModel
, vous pouvez répartir le trafic entre le nouveau DeployedModel
et les anciens.
Par exemple, pour envoyer 20 % du trafic vers le nouveau DeployedModel
et 80 % vers une ressource plus ancienne, exécutez la commande suivante.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- OLD_DEPLOYED_MODEL_ID : ID de la ressource
DeployedModel
existante.
Exécutez la commande gcloud ai endpoints deploy-model :
Linux, macOS ou Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
API REST et ligne de commande
Déployer le modèle
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 de votre projet
- ENDPOINT_ID : ID du point de terminaison.
- MODEL_ID : ID du modèle à déployer.
-
DEPLOYED_MODEL_NAME : nom de l'élément
DeployedModel
. Vous pouvez également utiliser le nom à afficher duModel
pour leDeployedModel
. -
MACHINE_TYPE : facultatif. Ressources de machine à utiliser pour chaque nœud de ce déploiement, la valeur par défaut est
n1-standard-2
. En savoir plus sur les types de machines. - ACCELERATOR_TYPE : type d'accélérateur à associer à la machine. Facultatif si ACCELERATOR_COUNT n'est pas spécifié ou est égal à zéro. Il n'est pas recommandé pour les modèles AutoML ni les modèles personnalisés qui utilisent des images non GPU. En savoir plus
- ACCELERATOR_COUNT : nombre d'accélérateurs pour chaque instance dupliquée à utiliser. Facultatif. Doit être égal à zéro ou non spécifié pour les modèles AutoML ou les modèles personnalisés qui utilisent des images non GPU.
- MIN_REPLICA_COUNT : nombre minimal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou diminué selon les besoins de la charge de prédiction, jusqu'à atteindre le nombre maximal de nœuds. Toutefois, il ne sera jamais inférieur à ce nombre. Cette valeur doit être supérieure ou égale à 1.
- MAX_REPLICA_COUNT : nombre maximal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou réduit selon les besoins de la charge de prédiction, mais ne dépassera jamais le maximum.
- TRAFFIC_SPLIT_THIS_MODEL : pourcentage du trafic de prédiction vers ce point de terminaison à acheminer vers le modèle déployé avec cette opération. La valeur par défaut est 100. La somme des pourcentages de trafic doit être égale à 100. En savoir plus sur la répartition du trafic.
- DEPLOYED_MODEL_ID_N : facultatif. Si d'autres modèles sont déployés sur ce point de terminaison, vous devez mettre à jour les pourcentages de répartition du trafic pour que le pourcentage cumulé de tous les pourcentages soit égal à 100.
- TRAFFIC_SPLIT_MODEL_N : valeur en pourcentage de la répartition du trafic pour la clé de l'ID de modèle déployé.
- PROJECT_NUMBER : numéro de votre projet
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
Corps JSON de la requête :
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": "ACCELERATOR_COUNT" }, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Python.
Découvrez comment modifier les paramètres par défaut pour la journalisation des prédictions.
Texte AutoML
Sélectionnez l'onglet correspondant à votre langage ou à votre environnement :
gcloud
Les exemples suivants utilisent la commande gcloud ai endpoints deploy-model
.
L'exemple suivant déploie la ressource Model
sur Endpoint
sans répartir le trafic entre plusieurs ressources DeployedModel
:
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- ENDPOINT_ID : ID du point de terminaison.
- LOCATION : région dans laquelle vous utilisez Vertex AI.
- MODEL_ID : ID du modèle à déployer.
-
DEPLOYED_MODEL_NAME : nom de l'élément
DeployedModel
. Vous pouvez également utiliser le nom à afficher duModel
pour leDeployedModel
. - MIN_REPLICA_COUNT : nombre minimal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou diminué selon les besoins de la charge de prédiction, jusqu'à atteindre le nombre maximal de nœuds. Toutefois, il ne sera jamais inférieur à ce nombre.
-
MAX_REPLICA_COUNT : nombre maximal de nœuds pour ce déploiement. Le nombre de nœuds peut être augmenté ou réduit selon les besoins de la charge de prédiction, mais ne dépassera jamais le maximum.
Si vous omettez l'option
--max-replica-count
, le nombre maximal de nœuds est défini sur la valeur de--min-replica-count
.
Exécutez la commande gcloud ai endpoints deploy-model :
Linux, macOS ou Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --traffic-split=0=100
Répartir le trafic
L'option --traffic-split=0=100
des exemples précédents envoie 100 % du trafic de prédiction que Endpoint
reçoit à la nouvelle ressource DeployedModel
, correspondant à l'ID temporaire 0
. Si votre Endpoint
dispose déjà d'autres ressources DeployedModel
, vous pouvez répartir le trafic entre le nouveau DeployedModel
et les anciens.
Par exemple, pour envoyer 20 % du trafic vers le nouveau DeployedModel
et 80 % vers une ressource plus ancienne, exécutez la commande suivante.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- OLD_DEPLOYED_MODEL_ID : ID de la ressource
DeployedModel
existante.
Exécutez la commande gcloud ai endpoints deploy-model :
Linux, macOS ou Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
API REST et ligne de commande
Déployer le modèle
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 de votre projet
- ENDPOINT_ID : ID du point de terminaison.
- MODEL_ID : ID du modèle à déployer.
-
DEPLOYED_MODEL_NAME : nom de l'élément
DeployedModel
. Vous pouvez également utiliser le nom à afficher duModel
pour leDeployedModel
. - TRAFFIC_SPLIT_THIS_MODEL : pourcentage du trafic de prédiction vers ce point de terminaison à acheminer vers le modèle déployé avec cette opération. La valeur par défaut est 100. La somme des pourcentages de trafic doit être égale à 100. En savoir plus sur la répartition du trafic.
- DEPLOYED_MODEL_ID_N : facultatif. Si d'autres modèles sont déployés sur ce point de terminaison, vous devez mettre à jour les pourcentages de répartition du trafic pour que le pourcentage cumulé de tous les pourcentages soit égal à 100.
- TRAFFIC_SPLIT_MODEL_N : valeur en pourcentage de la répartition du trafic pour la clé de l'ID de modèle déployé.
- PROJECT_NUMBER : numéro de votre projet
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
Corps JSON de la requête :
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "automaticResources": { } }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Vertex AI, consultez Bibliothèques clientes Vertex AI. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Python.
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
- Demander des prédictions en ligne à partir de votre modèle AutoML à l'aide de l'API.
Non compatible avec la vidéo. Demander des prédictions en ligne à partir de votre modèle personnalisé.