Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utiliser EI sur les points de terminaison SageMaker hébergés par Amazon
Pour utiliser Elastic Inference (EI) sur Amazon SageMaker avec un point de terminaison hébergé à des fins d'inférence en temps réel, spécifiez un accélérateur EI lorsque vous créez le modèle déployable à héberger sur ce point de terminaison. Vous pouvez effectuer cette opération de différentes manières :
-
Utilisez les versions du SDK Amazon SageMaker Python
de MXnet PyTorch ou des conteneurs prédéfinis pour TensorFlow, MXnet et TensorFlow SageMaker PyTorch -
Créez votre propre conteneur et utilisez l' SageMaker API de bas niveau (Boto 3). Vous devrez importer la version compatible IE de TensorFlow MXnet ou PyTorch des sites Amazon S3 fournis dans votre conteneur, puis utiliser l'une de ces versions pour écrire votre script de formation.
-
Employez les algorithmes intégrés Classification des images - MXNet ou Détection d'objets : MXNet, et utilisez le AWS SDK for Python (Boto3) pour exécuter votre tâche d'entraînement et créer votre modèle déployable ainsi que le point de terminaison hébergé.
Rubriques
Utiliser EI avec un SageMaker TensorFlow conteneur
Pour l'utiliser TensorFlow avec EI in SageMaker, vous devez appeler la deploy
méthode des objets Estimator ou
SageMaker fournit un code d'entraînement et d'inférence du modèle par défaut pour votre commodité. Pour les formats de fichier personnalisés, il se peut que vous ayez besoin d'implémenter un entraînement de modèle et un code d'inférence personnalisés.
Utiliser un objet évaluateur
Pour utiliser un objet évaluateur avec EI, lorsque vous utilisez la méthode deploy, incluez l'argument d'entrée accelerator_type
. L'évaluateur renvoie un objet prédicteur dont nous appelons la méthode deploy, comme illustré dans l'exemple de code.
# Deploy an estimator using EI (using the accelerator_type input argument) predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Utiliser un objet modèle
Pour utiliser un objet modèle avec EI, lorsque vous utilisez la méthode deploy, incluez l'argument d'entrée accelerator_type
. L'évaluateur renvoie un objet prédicteur dont nous appelons la méthode deploy, comme illustré dans l'exemple de code.
# Deploy a model using EI (using the accelerator_type input argument) predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Utiliser EI avec un conteneur SageMaker MXnet
Pour utiliser MXnet avec EI in SageMaker, vous devez appeler la deploy
méthode des objets Estimator ou Modelaccelerator_type
. Pour plus d'informations sur l'utilisation de MXnet dans le SDK Amazon SageMaker Python
Pour votre commodité, SageMaker fournit un code d'entraînement et d'inférence du modèle par défaut. Pour les formats de fichier personnalisés, il se peut que vous ayez besoin d'écrire du code d'entraînement et d'inférence de modèle personnalisé.
Utiliser un objet évaluateur
Pour utiliser un objet évaluateur avec EI, lorsque vous utilisez la méthode deploy, incluez l'argument d'entrée accelerator_type
. L'évaluateur renvoie un objet prédicteur dont nous appelons la méthode deploy, comme illustré dans l'exemple de code.
# Deploy an estimator using EI (using the accelerator_type input argument) predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Utiliser un objet modèle
Pour utiliser un objet modèle avec EI, lorsque vous utilisez la méthode deploy, incluez l'argument d'entrée accelerator_type
. L'évaluateur renvoie un objet prédicteur dont nous appelons la méthode deploy, comme illustré dans l'exemple de code.
# Deploy a model using EI (using the accelerator_type input argument) predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Utiliser EI avec un SageMaker PyTorch conteneur
Pour l'utiliser PyTorch avec EI in SageMaker, vous devez appeler la deploy
méthode des objets Estimator ouaccelerator_type
. Pour plus d'informations sur l'utilisation PyTorch dans le SDK Amazon SageMaker Python
Pour votre commodité, SageMaker fournit un code d'entraînement et d'inférence du modèle par défaut. Pour les formats de fichier personnalisés, il se peut que vous ayez besoin d'écrire du code d'entraînement et d'inférence de modèle personnalisé.
Utiliser un objet évaluateur
Pour utiliser un objet évaluateur avec EI, lorsque vous utilisez la méthode deploy, incluez l'argument d'entrée accelerator_type
. L'évaluateur renvoie un objet prédicteur dont nous appelons la méthode deploy, comme illustré dans l'exemple de code suivant.
# Deploy an estimator using EI (using the accelerator_type input argument) predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Utiliser un objet modèle
Pour utiliser un objet modèle avec EI, lorsque vous utilisez la méthode deploy, incluez l'argument d'entrée accelerator_type
. Le modèle renvoie un objet prédicteur dont nous appelons la méthode deploy, comme illustré dans l'exemple de code suivant.
# Deploy a model using EI (using the accelerator_type input argument) predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Utilisation d'EI avec votre propre conteneur
Pour utiliser IE avec un modèle dans un conteneur personnalisé que vous créez, utilisez le AWS SDK de bas niveau pour Python (Boto 3). Téléchargez et importez les versions AWS compatibles IE d' TensorFlowApache MXnet ou des frameworks d'apprentissage PyTorch automatique, et rédigez votre script d'entraînement à l'aide de ces frameworks.
Importez la version EI de TensorFlow, MXnet, ou PyTorch dans votre conteneur Docker
Pour utiliser EI avec votre propre conteneur, vous devez importer la bibliothèque Amazon EI TensorFlow Serving, la bibliothèque Amazon EI Apache MXnet ou la bibliothèque PyTorch compatible Elastic Inference dans votre conteneur. Les versions compatibles IE de et de TensorFlow MXnet sont actuellement disponibles sous forme de fichiers binaires stockés dans des emplacements Amazon S3. Vous pouvez télécharger le fichier binaire compatible IE depuis le compartiment Amazon S3 à l'adresse TensorFlow console.aws.amazon.com/s3/buckets/amazonei-tensorflow.
Création d'un point de terminaison EI avec le AWS SDK pour Python (Boto 3)
Pour créer un point de terminaison à l'aide du AWS SDK pour Python (Boto 3), vous devez d'abord créer une configuration de point de terminaison. La configuration de point de terminaison spécifie un ou plusieurs modèles (appelés variantes de production) que vous souhaitez héberger au point de terminaison. Pour attacher EI à une ou plusieurs des variantes de production hébergées au point de terminaison, vous devez spécifier l'un des types d'instance EI en tant que champ AcceleratorType
pour cette ProductionVariant
. Vous pouvez ensuite transmettre cette configuration de point de terminaison lorsque vous créez le point de terminaison.
Création d'une configuration de point de terminaison
Pour utiliser EI, vous devez spécifier un type d'accélérateur dans la configuration de point de terminaison.
# Create Endpoint Configuration from time import gmtime, strftime endpoint_config_name = 'ImageClassificationEndpointConfig-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) print(endpoint_config_name) create_endpoint_config_response = sagemaker.create_endpoint_config( EndpointConfigName = endpoint_config_name, ProductionVariants=[{ 'InstanceType':'ml.m4.xlarge', 'InitialInstanceCount':1, 'ModelName':model_name, 'VariantName':'AllTraffic', 'AcceleratorType':'ml.eia2.medium'}]) print("Endpoint Config Arn: " + create_endpoint_config_response['EndpointConfigArn'])
Création d'un point de terminaison
Une fois que vous avez créé une configuration de point de terminaison avec un type d'accélérateur, vous pouvez créer un point de terminaison.
endpoint_name = 'ImageClassificationEndpoint-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) endpoint_response = sagemaker.create_endpoint( EndpointName=endpoint_name, EndpointConfigName=endpoint_config_name)
Après avoir créé le point de terminaison, vous pouvez l'appeler en utilisant la méthode invoke_endpoint
dans un objet d'exécution Boto3, comme vous le feriez pour tout autre point de terminaison.