Usa EI su Amazon SageMaker Hosted Endpoint - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Usa EI su Amazon SageMaker Hosted Endpoint

Per utilizzare Elastic Inference (EI) in Amazon SageMaker con un endpoint ospitato per l'inferenza in tempo reale, specifica un acceleratore EI quando crei il modello distribuibile da ospitare su quell'endpoint. Questa operazione può essere eseguita in uno dei seguenti modi:

  • Utilizza le versioni Amazon SageMaker Python SDK di TensorFlow MXNet o i contenitori predefiniti per MXNet PyTorch e SageMaker TensorFlow PyTorch

  • Crea il tuo contenitore e usa l'API di basso livello SageMaker (Boto 3). Dovrai importare la versione abilitata all'EI di TensorFlow MXNet o PyTorch dalle ubicazioni Amazon S3 fornite nel tuo contenitore e utilizzare una di queste versioni per scrivere lo script di formazione.

  • Utilizzando gli algoritmi predefiniti Classificazione delle immagini - MXNet o Rilevamento degli oggetti - MXNet e AWS SDK for Python (Boto3) per eseguire il processo di addestramento e creare il modello distribuibile e l'endpoint ospitato.

Usa EI con un contenitore SageMaker TensorFlow

Per utilizzarlo TensorFlow con EI in SageMaker, è necessario chiamare il deploy metodo degli oggetti Estimator o Model. Puoi quindi specificare un tipo di acceleratore utilizzando l'argomento di input accelerator_type. Per informazioni sull'utilizzo TensorFlow in SageMaker Python SDK, vedere: https://sagemaker.readthedocs.io/en/stable/frameworks/tensorflow/index.html.

SageMaker fornisce un codice di addestramento e inferenza predefinito per facilitare l'uso dei modelli. Per i formati di file personalizzati, potrebbe essere necessario implementare addestramento del modello e codice di inferenza personalizzati.

Utilizzo du un oggetto dello strumento di valutazione

Per utilizzare un oggetto dello strumento di valutazione con EI, quando utilizzi il metodo di distribuzione, includi l'argomento di input accelerator_type. Lo strumento di valutazione restituisce un oggetto predictor, che rappresenta il metodo di distribuzione, come mostrato nel codice di esempio.

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

Utilizzo di un oggetto del modello

Per utilizzare un oggetto del modello con EI, quando utilizzi il metodo di distribuzione, includi l'argomento di input accelerator_type. Lo strumento di valutazione restituisce un oggetto predictor, che rappresenta il metodo di distribuzione, come mostrato nel codice di esempio.

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

Usa EI con un contenitore SageMaker MXNet

Per utilizzare MXNet con EI in SageMaker, è necessario chiamare il deploy metodo degli oggetti Estimator o Model. Puoi quindi specificare un tipo di acceleratore utilizzando l'argomento di input accelerator_type. Per informazioni sull'uso di MXNet nell'SDK Amazon SageMaker Python, consulta https://sagemaker.readthedocs.io/en/stable/frameworks/mxnet/index.html

Per comodità, SageMaker fornisce un codice di inferenza e di addestramento del modello predefinito. Per i formati di file personalizzati, potrebbe essere necessario scrivere addestramento del modello e codice di inferenza personalizzati.

Utilizzo di un oggetto dello strumento di valutazione

Per utilizzare un oggetto dello strumento di valutazione con EI, quando utilizzi il metodo di distribuzione, includi l'argomento di input accelerator_type. Lo strumento di valutazione restituisce un oggetto predictor, che rappresenta il metodo di distribuzione, come mostrato nel codice di esempio.

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

Utilizzo di un oggetto del modello

Per utilizzare un oggetto del modello con EI, quando utilizzi il metodo di distribuzione, includi l'argomento di input accelerator_type. Lo strumento di valutazione restituisce un oggetto predictor, che rappresenta il metodo di distribuzione, come mostrato nel codice di esempio.

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

Usa EI con un contenitore SageMaker PyTorch

Per utilizzarlo PyTorch con EI in SageMaker, è necessario chiamare il deploy metodo degli oggetti Estimator o Model. Puoi quindi specificare un tipo di acceleratore utilizzando l'argomento di input accelerator_type. Per informazioni sull'utilizzo PyTorch nell'SDK Amazon SageMaker Python, consulta SageMaker PyTorch Estimators and Models.

Per comodità, SageMaker fornisce un codice di inferenza e di addestramento dei modelli predefiniti. Per i formati di file personalizzati, potrebbe essere necessario scrivere addestramento del modello e codice di inferenza personalizzati.

Utilizzo di un oggetto dello strumento di valutazione

Per utilizzare un oggetto dello strumento di valutazione con EI, quando utilizzi il metodo di distribuzione, includi l'argomento di input accelerator_type. Lo strumento di valutazione restituisce un oggetto predictor rappresenta il metodo di distribuzione, come mostrato nel codice di esempio.

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

Utilizzo di un oggetto del modello

Per utilizzare un oggetto del modello con EI, quando utilizzi il metodo di distribuzione, includi l'argomento di input accelerator_type. Il modello restituisce un oggetto predictor rappresenta il metodo di distribuzione, come mostrato nel codice di esempio:

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

Utilizzo di EI con i container personalizzati

Per utilizzare EI con un modello in un contenitore personalizzato creato da te, usa l' AWS SDK di basso livello per Python (Boto 3). scarica e importa le versioni AWS abilitate per l'EI di Apache MXNet PyTorch o i framework di TensorFlow machine learning e scrivi il tuo script di formazione utilizzando tali framework.

Importa la versione EI di TensorFlow MXNet o PyTorch nel tuo contenitore Docker

Per utilizzare EI con il tuo contenitore, devi importare la libreria Amazon EI TensorFlow Serving, la libreria Amazon EI Apache MXNet o la libreria PyTorch abilitata Elastic Inference nel tuo contenitore. Le versioni compatibili con EI e TensorFlow MXNet sono attualmente disponibili come file binari archiviati in sedi Amazon S3. Puoi scaricare il file binario abilitato per EI TensorFlow dal bucket Amazon S3 all'indirizzo console.aws.amazon.com/s3/buckets/amazonei-tensorflow. Per informazioni sulla creazione di un contenitore che utilizza la versione abilitata TensorFlow all'EI di, consulta https://github.com/aws/sagemaker-tensorflow-container#building-the-sagemaker-elastic-inference-tensorflow-serving-container. Puoi scaricare il file binario abilitato per EI per Apache MXNet dal bucket Amazon S3 pubblico all'indirizzo console.aws.amazon.com/s3/buckets/amazonei-apachemxnet. Per ulteriori informazioni sulla creazione di un container che usa la versione abilitata per EI di MXNet, visita https://github.com/aws/sagemaker-mxnet-container#building-the-sagemaker-elastic-inference-mxnet-container. Puoi scaricare il file binario abilitato per Elastic Inference per. PyTorch Per informazioni sulla creazione di un contenitore che utilizza la versione abilitata di Elastic Inference PyTorch, consulta Creazione dell'immagine.

Crea un endpoint EI con AWS SDK per Python (Boto 3)

Per creare un endpoint utilizzando AWS SDK for Python (Boto 3), devi prima creare una configurazione dell'endpoint. La configurazione endpoint specifica uno o più modelli (denominati varianti di produzione) da ospitare sull'endpoint. Per collegare EI a una o più varianti di produzione ospitate sull'endpoint, devi specificare uno dei tipi di istanza EI come campo AcceleratorType per ProductionVariant. Puoi quindi passare la configurazione endpoint quando crei l'endpoint.

Creazione di una configurazione endpoint

Per utilizzare EI, devi specificare un tipo di acceleratore nella configurazione endpoint.

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

Creazione di un endpoint

Dopo aver creato la configurazione endpoint con un tipo di acceleratore, puoi creare un endpoint.

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

Dopo aver creato l'endpoint, puoi richiamarlo utilizzando il metodo invoke_endpoint in un oggetto runtime Boto3, come qualsiasi altro endpoint.