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á.
Hospede vários modelos que usam contêineres diferentes atrás de um endpoint
SageMaker endpoints de vários contêineres permitem que os clientes implantem vários contêineres, que usam modelos ou estruturas diferentes, em um único endpoint. SageMaker Os contêineres podem ser executados em uma sequência como um pipeline de inferência, ou cada contêiner pode ser acessado individualmente usando invocação direta para melhorar a utilização do endpoint e otimizar os custos.
Para obter informações sobre como invocar os contêineres em um endpoint de vários contêineres em sequência, consulte Hospede modelos junto com a lógica de pré-processamento como pipeline de inferência serial atrás de um endpoint.
Para obter informações sobre como invocar o contêiner específico em um endpoint de vários contêineres em sequência, consulte Use um endpoint de vários contêineres com invocação direta
Tópicos
Criar um endpoint de vários contêineres (Boto 3)
Crie um endpoint de vários contêineres chamando CreateModelCreateEndpointConfig, e CreateEndpointAPIs como você faria para criar qualquer outro endpoint. Você pode executar esses contêineres sequencialmente como um pipeline de inferência ou executar cada contêiner individual usando invocação direta. Os endpoints de vários contêineres têm os seguintes requisitos quando você liga create_model
:
-
Use o parâmetro
Containers
em vez dePrimaryContainer
e inclua mais de um contêiner no parâmetroContainers
. -
O parâmetro
ContainerHostname
é necessário para cada contêiner em um endpoint de vários contêineres com invocação direta. -
Defina oparâmetro
Mode
do campoInferenceExecutionConfig
paraDirect
para invocação direta de cada contêiner ouSerial
para usar contêineres como um pipeline de inferência. O modo padrão éSerial
.
nota
Atualmente, há um limite de até 15 contêineres suportados em um endpoint de vários contêineres.
O exemplo a seguir cria um modelo de vários contêineres para invocação direta.
-
Crie elementos de contêiner e
InferenceExecutionConfig
com invocação direta.container1 = { 'Image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myimage1:mytag', 'ContainerHostname': 'firstContainer' } container2 = { 'Image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myimage2:mytag', 'ContainerHostname': 'secondContainer' } inferenceExecutionConfig = {'Mode': 'Direct'}
-
Crie o modelo com os elementos do contêiner e defina o campo
InferenceExecutionConfig
.import boto3 sm_client = boto3.Session().client('sagemaker') response = sm_client.create_model( ModelName = 'my-direct-mode-model-name', InferenceExecutionConfig = inferenceExecutionConfig, ExecutionRoleArn = role, Containers = [container1, container2] )
Para criar um endpoint, você chamaria create_endpoint_config
Atualizar um endpoint de vários contêineres
Para atualizar um endpoint de vários contêineres, conclua as etapas a seguir.
-
Chame create_model
para criar um novo modelo com um novo valor para o parâmetro Mode
no campoInferenceExecutionConfig
. -
Chame create_endpoint_config
para criar uma nova configuração de endpoint com um nome diferente usando o novo modelo que você criou na etapa anterior. -
Chame update_endpoint
para atualizar o endpoint com a nova configuração de endpoint que você criou na etapa anterior.
Excluir um endpoint de vários contêineres
Para excluir um endpoint, chame delete_endpointEndpointName
.