Utilice EI en Amazon SageMaker Hosted Endpoints - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Utilice EI en Amazon SageMaker Hosted Endpoints

Para usar Elastic Inference (EI) en Amazon SageMaker con un punto final alojado para realizar inferencias en tiempo real, especifique un acelerador de IE al crear el modelo desplegable que se alojará en ese punto final. Puede hacerlo de una de las siguientes formas:

  • Utilice las versiones del SDK de Amazon SageMaker Python de TensorFlow MXNet o los contenedores SageMaker prediseñados para TensorFlow MXNet PyTorch y PyTorch

  • Cree su propio contenedor y utilice la SageMaker API de bajo nivel (Boto 3). Deberá importar la versión compatible con IE de TensorFlow MXNet o PyTorch desde las ubicaciones de Amazon S3 proporcionadas a su contenedor y usar una de esas versiones para escribir su guion de entrenamiento.

  • Use los algoritmos integrados Image Classification - MXNet o Detección de objetos - MXNet, y use AWS SDK for Python (Boto3) para ejecutar su trabajo de entrenamiento y crear su modelo implementable y el punto de conexión alojado.

Utilice EI con un contenedor SageMaker TensorFlow

Para usarlo TensorFlow con EI in SageMaker, debes llamar al deploy método de los objetos Estimator o Model. A continuación, especifique un tipo de acelerador mediante el argumento de entrada accelerator_type. Para obtener información sobre el uso TensorFlow en el SDK de SageMaker Python, consulte: https://sagemaker.readthedocs.io/en/stable/frameworks/tensorflow/index.html.

SageMaker proporciona un código de inferencia y entrenamiento de modelos predeterminados para su comodidad. En los formatos de archivo personalizados, es posible que deba implementar el código de inferencia y entrenamiento de modelos personalizado.

Uso de un objeto de estimador

Para usar un objeto de estimador con EI, al usar el método de implementación, incluya el argumento de entrada accelerator_type. El estimador devuelve un objeto de predicción, que llamamos su método de implementación, como se muestra en el código de ejemplo.

# 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')

Uso de un objeto de modelo

Para usar un objeto de modelo con EI, al usar el método de implementación, incluya el argumento de entrada accelerator_type. El estimador devuelve un objeto de predicción, que llamamos su método de implementación, como se muestra en el código de ejemplo.

# 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')

Utilice EI con un contenedor SageMaker MXNet

Para usar MXNet con EI in SageMaker, debe llamar al deploy método de los objetos Estimator o Model. A continuación, especifique un tipo de acelerador mediante el argumento de entrada accelerator_type. Para obtener información sobre el uso de MXNet en el SDK de Amazon SageMaker Python, consulte https://sagemaker.readthedocs.io/en/stable/frameworks/mxnet/index.html

Para su comodidad, SageMaker proporciona el código de inferencia y entrenamiento del modelo predeterminado. En los formatos de archivo personalizados, es posible que deba escribir el código de inferencia y entrenamiento de modelos personalizado.

Uso de un objeto de estimador

Para usar un objeto de estimador con EI, al usar el método de implementación, incluya el argumento de entrada accelerator_type. El estimador devuelve un objeto de predicción, que llamamos su método de implementación, como se muestra en el código de ejemplo.

# 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')

Uso de un objeto de modelo

Para usar un objeto de modelo con EI, al usar el método de implementación, incluya el argumento de entrada accelerator_type. El estimador devuelve un objeto de predicción, que llamamos su método de implementación, como se muestra en el código de ejemplo.

# 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')

Utilice EI con un contenedor SageMaker PyTorch

Para usarlo PyTorch con EI in SageMaker, debes llamar al deploy método de los objetos Estimator o Model. A continuación, especifique un tipo de acelerador mediante el argumento de entrada accelerator_type. Para obtener información sobre su uso PyTorch en el SDK de Amazon SageMaker Python, consulte SageMaker PyTorch Estimadores y modelos.

Para su comodidad, SageMaker proporciona un código de inferencia y entrenamiento de modelos predeterminados. En los formatos de archivo personalizados, es posible que deba escribir el código de inferencia y entrenamiento de modelos personalizado.

Uso de un objeto de estimador

Para usar un objeto de estimador con EI, al usar el método de implementación, incluya el argumento de entrada accelerator_type. El estimador devuelve un objeto de predicción, que llamamos su método de implementación, como se muestra en este código de ejemplo.

# 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')

Uso de un objeto de modelo

Para usar un objeto de modelo con EI, al usar el método de implementación, incluya el argumento de entrada accelerator_type. El modelo devuelve un objeto de predicción, que llamamos su método de implementación, como se muestra en el código de ejemplo.

# 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')

Uso de EI con su propio contenedor

Para usar IE con un modelo en un contenedor personalizado que cree, use el AWS SDK de bajo nivel para Python (Boto 3). Descargue e importe las versiones AWS habilitadas para IE de TensorFlow Apache MXNet o marcos de aprendizaje PyTorch automático, y escriba su script de entrenamiento con esos marcos.

Importe la versión EI de TensorFlow MXNet o a su PyTorch contenedor Docker

Para usar EI con su propio contenedor, debe importar a su contenedor la biblioteca Amazon EI TensorFlow Serving, la biblioteca Amazon EI Apache MXNet o la biblioteca PyTorch habilitada para Elastic Inference. Las versiones compatibles con IE y TensorFlow MXNet están disponibles actualmente como archivos binarios almacenados en ubicaciones de Amazon S3. Puede descargar el binario compatible con IE TensorFlow desde el bucket de Amazon S3 en console.aws.amazon.com/s3/buckets/amazonei-tensorflow. Para obtener información sobre cómo crear un contenedor que TensorFlow utilice la versión compatible con IE de, consulte https://github.com/aws/sagemaker-tensorflow-container#building-the-sagemaker-elastic-inference-tensorflow-serving-container. Puede descargar el archivo binario habilitado para EI para Apache MXNet del bucket público de Amazon S3 en console.aws.amazon.com/s3/buckets/amazonei-apachemxnet. Para obtener información sobre cómo crear un contenedor que utilice la versión habilitada para EI de MXNet, consulte https://github.com/aws/sagemaker-mxnet-container#building-the-sagemaker-elastic-inference-mxnet-container. Puede descargar el binario habilitado para Elastic Inference para. PyTorch Para obtener información sobre cómo crear un contenedor que utilice la versión habilitada para Elastic Inference de PyTorch, consulte Creación de una imagen.

Cree un punto final EI con el AWS SDK para Python (Boto 3)

Para crear un punto final mediante el AWS SDK para Python (Boto 3), primero debe crear una configuración de punto final. La configuración de punto de conexión especifica uno o varios modelos (llamados variantes de producción) que desea alojar en el punto de conexión. Para asociar EI a una o más de las variantes de producción alojadas en el punto de conexión, especifica uno de los tipos de instancia de EI como el campo AcceleratorType para esa ProductionVariant. A continuación, pase la configuración de punto de conexión al crear el punto de conexión.

Creación de una configuración de punto de conexión

Para usar EI, debe especificar un tipo de acelerador en la configuración de punto de conexión.

# 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'])

Crear un punto de conexión

Tras crear una configuración de punto de conexión con un tipo de acelerador, puede crear un punto de conexión.

endpoint_name = 'ImageClassificationEndpoint-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) endpoint_response = sagemaker.create_endpoint( EndpointName=endpoint_name, EndpointConfigName=endpoint_config_name)

Tras la creación del punto de conexión, puede invocarlo con el método invoke_endpoint en un objeto en tiempo de ejecución Boto3, como haría con cualquier otro punto de conexión.