Déploiement d'un pipeline d'inférence - Amazon SageMaker

Déploiement d'un pipeline d'inférence

Un pipeline d'inférence est un modèle Amazon SageMaker composé d'une séquence linéaire de deux à quinze conteneurs qui traitent les demandes d'inférence sur des données. Vous utilisez un pipeline d'inférence pour définir et déployer une combinaison d'algorithmes intégrés SageMaker pré-entraînés et de vos propres algorithmes packagés dans des conteneurs Docker. Vous pouvez utiliser un pipeline d'inférence pour combiner les tâches de science des données de prétraitement, prédictions et post-traitement. Les pipelines d'inférence sont entièrement gérés.

Vous pouvez ajouter des conteneurs SageMaker Spark ML Serving et Scikit-learn qui réutilisent les transformateurs de données développés pour les modèles d'entraînement. Le pipeline d'inférence assemblé peut être considéré globalement comme un modèle SageMaker utilisable pour réaliser des prédictions en temps réel ou traiter des transformations par lots directement, sans prétraitement externe.

Dans un modèle de pipeline d'inférence, SageMaker gère les appels sous la forme d'une séquence de demandes HTTP. Le premier conteneur du pipeline gère la demande initiale. La réponse intermédiaire est ensuite envoyée en tant que demande au deuxième conteneur, et ainsi de suite pour chaque conteneur du pipeline. SageMaker renvoie la réponse finale au client.

Lorsque vous déployez le modèle de pipeline, SageMaker installe et exécute tous les conteneurs sur chaque instance Amazon Elastic Compute Cloud (Amazon EC2) dans le point de terminaison ou la tâche de transformation. Le traitement de fonctionnalité et les inférences s'exécutent avec une faible latence, car les conteneurs sont colocalisés sur les mêmes instances EC2. Vous définissez les conteneurs pour un modèle de pipeline à l'aide de l'opération CreateModel ou à partir de la console. Au lieu de définir un PrimaryContainer, vous utilisez le paramètre Containers pour définir les conteneurs qui constituent le pipeline. Vous spécifiez également l'ordre dans lequel les conteneurs sont exécutés.

Un modèle de pipeline ne peut pas être modifié, mais vous pouvez mettre à jour un pipeline d'inférence en en déployant un nouveau à l'aide de l'UpdateEndpointopération. Cette modularité prend en charge une plus grande flexibilité dans le cadre de l'expérimentation.

Pour en savoir plus sur la création d'un pipeline d'inférence avec le registre de modèles SageMaker, veuillez consulter Enregistrer et déployer des modèles avec Model Registry.

Cette fonctionnalité est disponible sans coûts supplémentaires. Vous payez uniquement pour les instances qui s'exécutent sur un point de terminaison.

Exemples de blocs-notes pour les pipelines d'inférence

Pour obtenir un exemple de bloc-notes qui charge et traite un ensemble de données, entraîne un modèle et génère un modèle de pipeline, veuillez consulter le blocs-notes Pipelines d'inférence avec Spark ML et XGBoost sur Abalone. Ce bloc-notes vous explique comment créer votre pipeline de machine learning à l'aide des transformateurs de fonctions Spark et de l'algorithme SageMaker XGBoost. Une fois le modèle entraîné, l'exemple montre comment déployer le pipeline (outils de transformation de fonctionnalité et XGBoost) pour réaliser des prédictions en temps réel. Il exécute également une tâche de transformation par lots à l'aide du même pipeline.

Pour obtenir un exemple de la réalisation d'un prétraitement et d'un post-traitement à l'aide d'un pipeline d'inférence, veuillez consulter Deploy Apache Spark pre-processing and post-processing with XGBoost for real-time prediction requests in Amazon SageMaker using Inference Pipelines (Déploiement du prétraitement et du post-traitement Apache Spark avec XGBoost pour des demandes de prédiction en temps réel dans Amazon SageMaker à l'aide de pipelines d'inférence)

Pour obtenir d'autres exemples illustrant comment créer et déployer des pipelines d'inférence, consultez les exemples de blocs-notes Pipelines d'inférence avec SparkML et BlazingText sur DBPedia et Entraînement à l'aide de SparkML sur EMR et hébergement sur SageMaker. Pour obtenir des instructions relatives à la création d'instances de blocs-notes Jupyter et leur utilisation pour exécuter l'exemple dans SageMaker, veuillez consulter Utilisation des instances de bloc-notes Amazon SageMaker.

Pour consulter une liste de tous les exemples SageMaker, après avoir créé et ouvert une instance de bloc-notes, choisissez l'onglet SageMaker Examples (Exemples SageMaker). Il existe trois blocs-notes de pipelines d'inférence. Les deux premiers blocs-notes de pipelines d'inférence sont situés dans le dossier advanced_functionality et le troisième dans le dossier sagemaker-python-sdk. Pour ouvrir un bloc-notes, choisissez l'onglet Use (Utiliser) correspondant, puis Create copy (Créer une copie).