Google Distributed Cloud (GDC) air-gapped propose des conteneurs prédéfinis pour diffuser les 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 de 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 en savoir plus sur l'attribution d'un 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.Pour obtenir les autorisations nécessaires pour déployer des modèles de prédiction en ligne, demandez à l'administrateur IAM de votre projet de vous attribuer le rôle Administrateur Vertex AI Prediction (
vertex-ai-prediction-Admin). 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 des SavedModels à partir du code d'entraînement TensorFlow. La liste suivante décrit quelques méthodes qui fonctionnent pour différentes API TensorFlow :
Si vous utilisez Keras pour l'entraînement, utilisez
tf.keras.Model.savepour exporter un SavedModel.Si vous utilisez un Estimator pour l'entraînement, utilisez
tf.estimator.Estimator.export_saved_modelpour exporter un SavedModel.Sinon, utilisez
tf.saved_model.saveou utiliseztf.compat.v1.saved_model.SavedModelBuilder.
Si vous n'utilisez pas Keras ou Estimator, veillez à
utiliser le serve tag et la serving_default signature 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 gèrent cette tâche automatiquement.
En savoir plus sur
la spécification des signatures lors de l'exportation.
Pour diffuser des prédictions à l'aide de ces artefacts, créez un Model avec le
conteneur prédéfini pour la prédiction
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 la commande
Archiveur de modèles Torch.
Les images PyTorch prédéfinies s'attendent à ce que l'archive soit nommée model.mar. Assurez-vous donc de 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.