Ce guide décrit les avantages et les limites de l'utilisation des VM à démarrage flexible avec l'inférence Vertex AI. Il explique également comment déployer un modèle qui utilise des VM à démarrage flexible.
Présentation
Vous pouvez réduire le coût d'exécution de vos jobs d'inférence à l'aide de VM à démarrage flexible, qui reposent sur le programmeur de charge de travail dynamique. Les VM à démarrage flexible offrent des remises importantes et sont bien adaptées aux charges de travail de courte durée.
Vous pouvez spécifier la durée d'utilisation d'une VM à démarrage flexible, jusqu'à sept jours. Une fois le délai demandé expiré, le modèle déployé est automatiquement annulé. Vous pouvez également annuler manuellement le déploiement du modèle avant l'expiration du délai.
Annulation automatique du déploiement
Si vous demandez une VM à démarrage flexible pour une durée spécifique, le déploiement de votre modèle est automatiquement annulé après cette période. Par exemple, si vous demandez une VM à démarrage flexible pendant cinq heures, le déploiement du modèle est automatiquement annulé cinq heures après l'envoi. Vous n'êtes facturé que pour la durée d'exécution de votre charge de travail.
Limites et exigences
Tenez compte des limites et des exigences suivantes lorsque vous utilisez des VM à démarrage flexible :
- Durée maximale : les VM à démarrage flexible ont une durée d'utilisation maximale de sept jours. Toute demande de déploiement pour une durée plus longue sera refusée.
- Compatibilité avec les TPU : l'utilisation de VM à démarrage flexible avec des pods TPU n'est pas possible.
- Quota : assurez-vous de disposer d'un quota préemptif Vertex AI suffisant avant de lancer votre job. Pour en savoir plus, consultez la page Quotas de débit.
- Provisionnement en file d'attente : l'utilisation de VM à démarrage flexible avec le provisionnement en file d'attente n'est pas possible.
- Recyclage des nœuds : le recyclage des nœuds n'est pas possible.
Facturation
Si votre charge de travail s'exécute pendant moins de sept jours, l'utilisation de VM à démarrage flexible peut réduire vos coûts.
Lorsque vous utilisez des VM à démarrage flexible, vous êtes facturé en fonction de la durée de votre job et du type de machine que vous sélectionnez. Vous n'êtes facturé que pour la durée d'exécution active de votre charge de travail. Vous ne payez pas pour le temps pendant lequel le job est en attente ni pour le temps écoulé après l'expiration de la durée demandée.
La facturation est répartie sur deux SKU :
Le SKU Compute Engine, avec le libellé
vertex-ai-online-prediction. Consultez les Tarifs du programmeur de charge de travail dynamique.Le SKU des frais de gestion Vertex AI. Consultez les Tarifs de Vertex AI.
Obtenir des inférences à l'aide de VM à démarrage flexible
Pour utiliser des VM à démarrage flexible lorsque vous déployez un modèle afin d'obtenir des inférences, vous pouvez utiliser l'API REST.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION_ID : région dans laquelle vous utilisez Vertex AI.
- PROJECT_ID : l'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 duModelpour leDeployedModel. -
MACHINE_TYPE (facultatif) : Ressources machine utilisées pour chaque nœud de ce déploiement. Le paramètre par défaut est
n1-standard-2. En savoir plus sur les types de machines. - ACCELERATOR_TYPE (facultatif) : Type d'accélérateur à associer à la machine. En savoir plus.
- ACCELERATOR_COUNT : facultatif. Nombre d'accélérateurs pour chaque instance dupliquée à utiliser.
-
MAX_RUNTIME_DURATION : durée maximale du déploiement à démarrage flexible.
Le déploiement du modèle est automatiquement annulé après cette durée. Spécifiez la durée
en secondes, en terminant par un
s. Par exemple,3600spour une heure. La valeur maximale est604800s(7 jours). - PROJECT_NUMBER : numéro de projet généré automatiquement pour votre projet.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel
Corps JSON de la requête :
{
"deployedModel": {
"model": "projects/PROJECT/locations/LOCATION/models/MODEL_ID",
"displayName": "DEPLOYED_MODEL_NAME",
"enableContainerLogging": true,
"dedicatedResources": {
"machineSpec": {
"machineType": "MACHINE_TYPE",
"acceleratorType": "ACCELERATOR_TYPE",
"acceleratorCount": ACCELERATOR_COUNT
},
"flexStart": {
"maxRuntimeDuration": "MAX_RUNTIME_DURATION"
},
"minReplicaCount": 2,
"maxReplicaCount": 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.v1beta1.DeployModelOperationMetadata",
"genericMetadata": {
"createTime": "2020-10-19T17:53:16.502088Z",
"updateTime": "2020-10-19T17:53:16.502088Z"
}
}
}