Criar uma configuração de endpoint - Amazon SageMaker

Criar uma configuração de endpoint

Quando tiver um modelo, crie uma configuração de endpoint com CreateEndpointConfig. Os serviços de hospedagem do Amazon SageMaker usam esta configuração para implantar modelos. Na configuração, você identifica um ou mais modelos, criados usando a API CreateModel, para implantar os recursos que você deseja que o Amazon SageMaker provisione. Especifique o objeto AsyncInferenceConfig e forneça uma localização de saída do Amazon S3 para OutputConfig. Opcionalmente, você pode especificar tópicos do Amazon SNS sobre os quais enviar notificações sobre os resultados da predição. Para obter mais informações sobre tópicos do Amazon SNS, consulte o Configurando o Amazon SNS.

O seguinte exemplo mostra como criar uma configuração de endpoint usando AWS SDK for Python (Boto3):

import datetime from time import gmtime, strftime # Create an endpoint config name. Here we create one based on the date # so it we can search endpoints based on creation time. endpoint_config_name = f"XGBoostEndpointConfig-{strftime('%Y-%m-%d-%H-%M-%S', gmtime())}" # The name of the model that you want to host. This is the name that you specified when creating the model. model_name='<The_name_of_your_model>' create_endpoint_config_response = sagemaker_client.create_endpoint_config( EndpointConfigName=endpoint_config_name, # You will specify this name in a CreateEndpoint request. # List of ProductionVariant objects, one for each model that you want to host at this endpoint. ProductionVariants=[ { "VariantName": "variant1", # The name of the production variant. "ModelName": model_name, "InstanceType": "ml.m5.xlarge", # Specify the compute instance type. "InitialInstanceCount": 1 # Number of instances to launch initially. } ], AsyncInferenceConfig={ "OutputConfig": { # Location to upload response outputs when no location is provided in the request. "S3OutputPath": f"s3://{s3_bucket}/{bucket_prefix}/output" # (Optional) specify Amazon SNS topics "NotificationConfig": { "SuccessTopic": "arn:aws:sns:aws-region:account-id:topic-name", "ErrorTopic": "arn:aws:sns:aws-region:account-id:topic-name", } }, "ClientConfig": { # (Optional) Specify the max number of inflight invocations per instance # If no value is provided, Amazon SageMaker will choose an optimal value for you "MaxConcurrentInvocationsPerInstance": 4 } } ) print(f"Created EndpointConfig: {create_endpoint_config_response['EndpointConfigArn']}")

No exemplo acima mencionado, você especifica as seguintes chaves para OutputConfig no campo AsyncInferenceConfig:

  • S3OutputPath: Local para fazer upload das saídas de resposta quando nenhum local é fornecido na solicitação.

  • NotificationConfig: (Opcional) Tópicos do SNS que publicam notificações para você quando uma solicitação de inferência é bem-sucedida (SuccessTopic) ou falha (ErrorTopic).

Você também pode especificar o seguinte argumento opcional para ClientConfig no campo AsyncInferenceConfig:

  • MaxConcurrentInvocationsPerInstance: (Opcional) O número máximo de solicitações simultâneas enviadas pelo cliente do SageMaker ao contêiner do modelo.