Google Distributed Cloud (GDC) air-gapped propose des conteneurs prédéfinis pour diffuser des prédictions en ligne à partir de modèles entraînés à l'aide des frameworks de machine learning (ML) suivants :
- TensorFlow
- PyTorch
Pour utiliser l'un de ces conteneurs prédéfinis, vous devez enregistrer votre modèle sous la forme d'un ou de plusieurs artefacts de modèle qui respectent les exigences du conteneur prédéfini. Ces exigences s'appliquent que vos artefacts de modèle soient créés ou non sur Distributed Cloud.
Avant de commencer
Avant d'exporter des artefacts de modèle, procédez comme suit :
- Créez et entraînez un modèle de prédiction ciblant l'un des conteneurs compatibles.
- Si vous n'avez pas de projet, configurez-en un pour Vertex AI.
Collaborez avec votre opérateur d'infrastructure (IO) pour créer le cluster de prédiction.
L'IO crée le cluster pour vous, l'associe à votre projet et attribue les pools de nœuds appropriés au sein du cluster, en tenant compte des ressources dont vous avez besoin pour les prédictions en ligne.
Créez le compte de service Vertex AI Default Serving (
vai-default-serving-sa
) dans votre projet. Pour en savoir plus sur les comptes de service, consultez Configurer des comptes de service.Attribuez le rôle Lecteur des objets du bucket du projet (
project-bucket-object-viewer
) au compte de service Vertex AI Default Serving (vai-default-serving-sa
) pour le bucket de stockage que vous avez créé. Pour savoir comment accorder l'accès à un bucket à des comptes de service, consultez Accorder l'accès à un bucket.Pour obtenir les autorisations nécessaires pour accéder à la prédiction en ligne, demandez à l'administrateur IAM de votre projet de vous attribuer le rôle Utilisateur Vertex AI Prediction (
vertex-ai-prediction-user
). Pour en savoir plus sur ce rôle, consultez Préparer les autorisations IAM.
Exigences spécifiques au framework pour l'exportation vers des conteneurs prédéfinis
Selon le framework de ML que vous prévoyez d'utiliser pour la prédiction, vous devez exporter les artefacts de modèle dans différents formats. Les sections suivantes décrivent les formats de modèle acceptables pour chaque framework de ML.
TensorFlow
Si vous utilisez TensorFlow pour entraîner un modèle, exportez-le en tant que répertoire TensorFlow SavedModel.
Il existe plusieurs façons d'exporter SavedModels
à partir de code d'entraînement TensorFlow. La liste suivante décrit plusieurs méthodes applicables à différentes API TensorFlow :
Si vous utilisez Keras pour l'entraînement,
tf.keras.Model.save
vous permet d'exporter un SavedModel.Si vous utilisez un Estimator pour l'entraînement,
tf.estimator.Estimator.export_saved_model
vous permet d'exporter un SavedModel.Sinon, utilisez
tf.saved_model.save
ou utiliseztf.compat.v1.saved_model.SavedModelBuilder
.
Si vous n'utilisez pas Keras ni Estimator, veillez à utiliser le tag serve
et la signature serving_default
lorsque vous exportez votre SavedModel afin de garantir que Vertex AI puisse utiliser vos artefacts de modèle pour diffuser des prédictions. Keras et Estimator s'en chargent automatiquement.
Découvrez comment spécifier des signatures lors de l'exportation.
Pour diffuser des prédictions à l'aide de ces artefacts, créez un Model
avec le conteneur de prédiction prédéfini correspondant à la version de TensorFlow que vous avez utilisée pour l'entraînement.
PyTorch
Si vous utilisez PyTorch pour entraîner un modèle, vous devez empaqueter les artefacts de modèle, y compris un gestionnaire par défaut ou personnalisé, en créant un fichier d'archive à l'aide de l'archiveur de modèles Torch.
Les images PyTorch prédéfinies s'attendent à ce que l'archive soit nommée model.mar
. Par conséquent, veillez à définir le nom du modèle sur model.
Pour en savoir plus sur l'optimisation de l'utilisation de la mémoire, de la latence ou du débit d'un modèle PyTorch diffusé avec TorchServe, consultez le guide de performances de PyTorch.
Importer votre modèle
Vous devez importer votre modèle dans le bucket de stockage que vous avez créé. Pour en savoir plus sur l'importation d'objets dans des buckets de stockage, consultez Importer et télécharger des objets de stockage dans des projets.
Le chemin d'accès au bucket de stockage de votre modèle doit avoir la structure suivante :
s3://BUCKET_NAME/MODEL_ID/MODEL_VERSION_ID
Pour en savoir plus sur l'exportation, consultez les exigences spécifiques au framework pour l'exportation vers des conteneurs prédéfinis.