As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Criar um modelo
O exemplo a seguir mostra como criar um usando o AWS SDK for Python (Boto3). As primeiras linhas definem:
sagemaker_client
: um objeto SageMaker cliente de baixo nível que facilita o envio e o recebimento de solicitações de AWS serviços.sagemaker_role
: Uma variável de string com a SageMaker IAM função Amazon Resource Name (ARN).aws_region
: uma variável de string com o nome da sua AWS região.
import boto3 # Specify your AWS Region aws_region=
'<aws_region>'
# Create a low-level SageMaker service client. sagemaker_client = boto3.client('sagemaker', region_name=aws_region) # Role to give SageMaker permission to access AWS services. sagemaker_role= "arn:aws:iam::<account>:role/*
"
Em seguida, especifique a localização do modelo pré-treinado armazenado no Amazon S3. Neste exemplo, usamos um XGBoost modelo pré-treinado chamadodemo-xgboost-model.tar.gz
. O Amazon S3 completo URI é armazenado em uma variável de string: model_url
#Create a variable w/ the model S3 URI s3_bucket =
'<your-bucket-name>'
# Provide the name of your S3 bucket bucket_prefix='saved_models' model_s3_key = f"{bucket_prefix}/demo-xgboost-model.tar.gz" #Specify S3 bucket w/ model model_url = f"s3://{s3_bucket}/{model_s3_key}"
Especifique um contêiner primário. Para o contêiner principal, você especifica a imagem do Docker que contém o código de inferência, os artefatos (do treinamento anterior) e um mapa do ambiente personalizado que o código de inferência usa quando você implanta o modelo para previsões.
Neste exemplo, especificamos uma imagem de contêiner de algoritmo XGBoost incorporada:
from sagemaker import image_uris # Specify an AWS container image. container = image_uris.retrieve(region=aws_region, framework='xgboost', version='0.90-1')
Crie um modelo na Amazon SageMaker comCreateModel
. Especifique o seguinte:
ModelName
: um nome para seu modelo (neste exemplo, ele é armazenado como uma variável de string chamadamodel_name
).ExecutionRoleArn
: O Amazon Resource Name (ARN) da IAM função que a Amazon SageMaker pode assumir para acessar artefatos de modelo e imagens do Docker para implantação em instâncias de computação de ML ou para trabalhos de transformação em lote.PrimaryContainer
: A localização da imagem do Docker primária que contém código de inferência, artefatos associados e mapas de ambiente personalizado usado pelo código de inferência quando o modelo é implantado para previsões.
model_name =
'<The_name_of_the_model>'
#Create model create_model_response = sagemaker_client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, PrimaryContainer = { 'Image': container, 'ModelDataUrl': model_url, })
Consulte a CreateModel
descrição no Guia de SageMaker API referência para obter uma lista completa dos API parâmetros.
Se você estiver usando um contêiner SageMaker fornecido, poderá aumentar o tempo limite do servidor modelo e os tamanhos da carga útil dos valores padrão para os máximos suportados pela estrutura definindo variáveis de ambiente nesta etapa. Talvez você não consiga aproveitar o tempo limite máximo e os tamanhos de carga que a inferência assíncrona suporta se não definir explicitamente essas variáveis. O exemplo a seguir mostra como você pode definir as variáveis de ambiente para um contêiner de PyTorch inferência com base em TorchServe.
model_name =
'<The_name_of_the_model>'
#Create model create_model_response = sagemaker_client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, PrimaryContainer = { 'Image': container, 'ModelDataUrl': model_url, 'Environment': { 'TS_MAX_REQUEST_SIZE': '100000000', 'TS_MAX_RESPONSE_SIZE': '100000000', 'TS_DEFAULT_RESPONSE_TIMEOUT': '1000' }, })
Quando terminar de criar seu endpoint, verifique se definiu as variáveis de ambiente corretamente imprimindo-as do seu script inference.py
. A tabela a seguir lista as variáveis de ambiente de uma série de estruturas que você pode definir para alterar os valores padrão.
Framework | Variáveis de ambiente |
---|---|
PyTorch 1.8 (baseado em TorchServe) |
'TS_ _ MAX REQUEST _ SIZE ':' 100000000 ' 'TS_ _ MAX RESPONSE _ SIZE ':' 100000000 ' 'TS_ _ DEFAULT RESPONSE _ TIMEOUT ':' 1000 ' |
PyTorch 1.4 (baseado emMMS) |
'MMS_ _ MAX REQUEST _SIZE': '1000000000' 'MMS_ _ MAX RESPONSE _SIZE': '1000000000' 'MMS_ DEFAULT _ RESPONSE _TIMEOUT': '900' |
HuggingFace Contêiner de inferência (baseado emMMS) |
'MMS_ _ MAX REQUEST _SIZE': '2000000000' 'MMS_ _ MAX RESPONSE _SIZE': '2000000000' 'MMS_ DEFAULT _ RESPONSE _TIMEOUT': '900' |