Implantar seus modelos em um endpoint - Amazon SageMaker

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á.

Implantar seus modelos em um endpoint

No Amazon SageMaker Canvas, você pode implantar seus modelos em um endpoint para fazer previsões. SageMaker fornece a infraestrutura de ML para você hospedar seu modelo em um endpoint com as instâncias de computação que você escolher. Em seguida, você pode invocar o endpoint (enviar uma solicitação de previsão) e obter uma previsão em tempo real do seu modelo. Com essa funcionalidade, você pode usar seu modelo na produção para responder às solicitações de entrada e integrar seu modelo aos fluxos de trabalho e aplicações existentes.

Para começar, você deve ter um modelo que gostaria de implantar. Você pode implantar versões personalizadas de modelos que você criou, modelos de SageMaker JumpStart fundação da Amazon e modelos de fundação ajustados. JumpStart Para obter mais informações sobre a criação de um modelo no Canvas, consulte Criar um modelo personalizado. Para obter mais informações sobre modelos de JumpStart base no Canvas, consulteUsar IA generativa com modelos básicos.

Revise a seção Gerenciamento de permissões a seguir e comece a criar novas implantações na seção Implantação de modelo.

Gerenciamento de permissões

Por padrão, você tem permissões para implantar modelos nos endpoints do SageMaker Hosting. SageMaker concede essas permissões para todos os perfis de usuário do Canvas novos e existentes por meio da AmazonSageMakerCanvasFullAccesspolítica, que é anexada à função de AWS IAM execução do SageMaker domínio que hospeda seu aplicativo Canvas.

Se o administrador do Canvas estiver configurando um novo domínio ou perfil de usuário, ao configurar o domínio e seguir as instruções de pré-requisito noPré-requisitos para configurar o Amazon Canvas SageMaker , SageMaker ativa as permissões de implantação do modelo por meio da opção Habilitar implantação direta de modelos do Canvas, que é ativada por padrão.

O administrador do Canvas também pode gerenciar as permissões implantações de modelos no nível do perfil do usuário. Por exemplo, se o administrador não quiser conceder permissões de implantação do modelo a todos os perfis de usuário ao configurar um domínio, ele poderá conceder permissões a usuários específicos após criar o domínio.

O procedimento a seguir mostra como modificar as permissões de implantação do modelo para um perfil de usuário específico:

  1. Abra o SageMaker console em https://console.aws.amazon.com/sagemaker/.

  2. No painel de navegação à esquerda, escolha Configurações do administrador.

  3. Em Configurações do administrador, escolha domínios.

  4. Na lista de domínios, selecione o domínio do perfil do usuário.

  5. Na página de detalhes do domínio, escolha o perfil do usuário cujas permissões você deseja editar.

  6. Na página Detalhes do usuário, escolha Editar.

  7. No painel de navegação à esquerda, escolha Configurações do Canvas.

  8. Na seção de configuração de permissões do ML Ops, ative a opção Habilitar implantação direta de modelos do Canvas para ativar as permissões de implantação.

  9. Escolha Enviar para salvar as alterações nas configurações do seu domínio.

O perfil do usuário agora deve ter permissões de implantação do modelo.

Depois de conceder permissões ao domínio ou perfil do usuário, certifique-se de que o usuário saia do aplicativo Canvas e faça login novamente para aplicar as alterações de permissão.

Implantar um modelo

Para começar a implantar seu modelo, você cria uma nova implantação no Canvas e especifica a versão do modelo que deseja implantar junto com a infraestrutura de ML, como o tipo e o número de instâncias de computação que você gostaria de usar para hospedar o modelo.

O Canvas sugere um tipo padrão e um número de instâncias com base no seu tipo de modelo, ou você pode aprender mais sobre os vários tipos de SageMaker instância na página de SageMaker preços da Amazon. Você é cobrado com base no preço da SageMaker instância enquanto seu endpoint está ativo.

Ao implantar modelos JumpStart básicos, você também tem a opção de especificar a duração do tempo de implantação. Você pode implantar o modelo em um endpoint indefinidamente (o que significa que o endpoint está ativo até você excluir a implantação). Ou, se você precisar do endpoint apenas por um curto período de tempo e quiser reduzir custos, você pode implantar o modelo em um endpoint por um determinado período de tempo e, em seguida, SageMaker desligar o endpoint para você.

nota

Se você implantar um modelo por um período de tempo especificado, permaneça conectado ao aplicativo Canvas durante o endpoint. Se você sair ou excluir o aplicativo, o Canvas não poderá desligar o endpoint no horário especificado.

Depois que seu modelo for implantado em um endpoint de inferência em tempo real do SageMaker Hosting, você pode começar a fazer previsões invocando o endpoint.

Há várias maneiras diferentes de implantar um modelo a partir do aplicativo Canvas. É possível acessar a opção de implantação do modelo usando qualquer um dos seguintes métodos:

  • Na página Meus modelos do aplicativo Canvas, escolha o modelo que você deseja implantar. Em seguida, na página Versões do modelo, escolha o ícone Mais opções ( Vertical ellipsis icon representing a menu or more options. ) ao lado da versão do modelo e selecione Implantar.

  • Na página de detalhes de uma versão do modelo, na guia Analisar, escolha a opção Implantar.

  • Na página de detalhes de uma versão do modelo, na guia Prever, escolha o ícone Mais opções ( Vertical ellipsis icon representing a menu or more options. ) na parte superior da página e selecione Implantar.

  • Na página ML Ops do aplicativo Canvas, escolha a guia Implantações e, em seguida, escolha Criar implantação.

  • Para modelos de JumpStart fundação e modelos de fundação ajustados, acesse a página de eady-to-use modelos R do aplicativo Canvas. Escolha Gerar, extrair e resumir conteúdo. Em seguida, encontre o modelo JumpStart básico ou o modelo de fundação ajustado que você deseja implantar. Escolha o modelo e, na página de bate-papo do modelo, escolha o botão Implantar.

Todos esses métodos abrem o painel lateral Implantar modelo, onde você especifica a configuração de implantação do seu modelo. Para implantar o modelo a partir desse painel, faça o seguinte:

  1. (Opcional) Se você estiver criando uma implantação na página ML Ops, você terá a opção de selecionar modelo e versão. Use os menus suspensos para selecionar o modelo e a versão do modelo que você deseja implantar.

  2. Insira um nome no campo Nome da implantação.

  3. (Somente para modelos de JumpStart base e modelos de base ajustados) Escolha um comprimento de implantação. Selecione Indefinido para deixar o endpoint ativo até que você o desligue, ou selecione Especificar duração e, em seguida, insira o período durante o qual você deseja que o endpoint permaneça ativo.

  4. Em Tipo de instância, SageMaker detecta um tipo e número de instância padrão adequados ao seu modelo. No entanto, você pode alterar o tipo de instância que gostaria de usar para hospedar seu modelo.

    nota

    Se você ficar sem a cota de instância para o tipo de instância escolhido em sua AWS conta, poderá solicitar um aumento de cota. Para obter mais informações sobre as cotas padrão e como solicitar um aumento, consulte SageMaker endpoints e cotas da Amazon no guia de referência AWS geral.

  5. Em Contagem de instâncias, você pode definir o número de instâncias ativas que são usadas para seu endpoint. SageMaker detecta um número padrão adequado ao seu modelo, mas você pode alterar esse número.

  6. Quando estiver pronto para implantação do seu modelo, selecione Implantar.

Seu modelo agora deve ser implantado em um endpoint. Para obter informações sobre como visualizar detalhes da implantação ou realizar várias ações, consulte as seções a seguir.

Veja suas implantações

Talvez você queira verificar o status ou os detalhes da implantação de um modelo no Canvas. Por exemplo, se tiver Falha na implantação, talvez você queira verificar os detalhes para solucionar o problema.

Você pode visualizar suas implantações do modelo Canvas no aplicativo Canvas ou no SageMaker console da Amazon.

Para visualizar detalhes da implantação do Canvas, escolha um dos seguintes procedimentos:

Para ver os detalhes da implantação na página ML Ops, faça o seguinte:

  1. Abra o aplicativo SageMaker Canvas.

  2. No painel de navegação esquerdo, escolha ML Ops.

  3. Escolha a guia Grupos de implantação.

  4. Escolha o seu estágio de implantação por nome da lista.

Para visualizar os detalhes da implantação na página versões do modelo, faça o seguinte:

  1. No aplicativo SageMaker Canvas, acesse a página de detalhes da versão do seu modelo.

  2. Escolha a guia Implantar.

  3. Na seção Implantações que lista todas as configurações de implantação associadas a essa versão do modelo, encontre sua implantação.

  4. Escolha o ícone Mais opções ( Vertical ellipsis icon representing a menu or more options. ) e, em seguida, selecione Visualizar detalhes para abrir a página de detalhes.

A página de detalhes da sua implantação é aberta e você pode visualizar informações como a hora da previsão mais recente, o status e a configuração do endpoint e a versão do modelo atualmente implantada no endpoint.

Você também pode visualizar suas instâncias de espaço de trabalho do Canvas atualmente ativas e endpoints ativos no SageMaker painel no SageMaker console. Seus endpoints do Canvas estão listados ao lado de quaisquer outros endpoints de SageMaker hospedagem que você criou, e você pode filtrá-los pesquisando endpoints com a tag Canvas.

A captura de tela a seguir mostra o SageMaker painel. Na seção Canvas, você pode ver que uma instância do workspace está em serviço e quatro endpoints estão ativos.

Captura de tela do SageMaker painel mostrando as instâncias e endpoints ativos do espaço de trabalho do Canvas.

Atualizar uma configuração de implantação

Você também pode atualizar sua configuração de implantação. Por exemplo, você pode implantar uma versão atualizada do modelo no endpoint ou atualizar o tipo de instância ou o número de instâncias atrás do endpoint com base nas suas necessidades de capacidade.

Há várias maneiras diferentes de atualizar sua implantação a partir do aplicativo Canvas. É possível usar qualquer um dos seguintes métodos:

  • Na página ML Ops do aplicativo Canvas, você pode escolher a guia Implantações e selecionar a implantação que deseja atualizar. Em seguida, escolha Atualizar configuração.

  • Na página de detalhes de uma versão do modelo, na guia Implantar, você pode ver as implantações dessa versão. Ao lado da implantação, escolha o ícone Mais opções ( Vertical ellipsis icon representing a menu or more options. ) e, em seguida, escolha Atualizar configuração.

Os dois métodos anteriores abrem o painel lateral Atualizar configuração, onde você pode fazer alterações na configuração de implantação. Para atualizar sua configuração, siga um dos seguintes procedimentos:

  1. Na lista suspensa Selecionar versão, você pode selecionar uma versão diferente do modelo para implantar no endpoint.

    nota

    Ao atualizar uma configuração de implantação, você só pode escolher uma versão do modelo diferente para implantar. Para implantar um modelo diferente, crie uma nova implantação.

  2. Em Tipo de instância, você pode selecionar um tipo de instância diferente para hospedar seu modelo.

  3. Em Contagem de instâncias, você pode alterar o número de instâncias ativas que são usadas para seu endpoint.

  4. Escolha Salvar.

Sua configuração de implantação agora deve ser atualizada.

Teste sua implantação

Você pode testar sua implantação invocando o endpoint ou fazendo solicitações de previsão únicas por meio do aplicativo Canvas. Você pode usar essa funcionalidade para confirmar se seu endpoint responde às solicitações antes de invocá-lo programaticamente em um ambiente de produção.

Teste a implantação de um modelo personalizado

Você pode testar a implantação de um modelo personalizado acessando-a por meio da página ML Ops e fazendo uma única invocação, que retorna uma previsão junto com a probabilidade de que a previsão esteja correta.

nota

A duração da execução é uma estimativa do tempo necessário para invocar e obter uma resposta do endpoint no Canvas. Para métricas detalhadas de latência, consulte Métricas de invocação de SageMaker endpoints.

Para testar seu endpoint por meio do aplicativo Canvas, faça o seguinte:

  1. Abra o aplicativo SageMaker Canvas.

  2. No painel de navegação esquerdo, escolha ML Ops.

  3. Escolha a guia Grupos de implantação.

  4. Na lista de implantações, escolha aquela com o endpoint que você deseja invocar.

  5. Na página de detalhes da implantação, escolha a guia Testar a implantação.

  6. Na página de teste de implantação, você pode modificar os campos de Valor para especificar um novo ponto de dados. Para modelos de previsão de séries temporais, você especifica a ID do item para a qual deseja fazer uma previsão.

  7. Depois de modificar os valores, escolha Atualizar para obter o resultado da previsão.

A previsão é carregada, junto com os campos de resultado da invocação, que indicam se a invocação foi bem-sucedida ou não e quanto tempo a solicitação levou para ser processada.

A captura de tela a seguir mostra uma previsão realizada no aplicativo Canvas na guia Testar a implantação.

O aplicativo Canvas mostrando uma previsão de teste para um modelo implantado.

Para todos os tipos de modelo, exceto predição numérica e previsão de séries temporais, a previsão retorna os seguintes campos:

  • predicted_label – a saída prevista

  • probabilidade – a probabilidade de que o rótulo previsto esteja correto

  • rótulos – a lista de todos os rótulos possíveis

  • probabilidades – as probabilidades correspondentes a cada rótulo (a ordem dessa lista corresponde à ordem dos rótulos)

Para modelos de previsão numérica, a previsão contém apenas o campo de pontuação, que é a saída prevista do modelo, como o preço previsto de uma casa.

Para modelos de previsão de séries temporais, a previsão é um gráfico que mostra as previsões por quantil. Você pode escolher a visualização Esquema para ver os valores numéricos previstos para cada quantil.

Você pode continuar fazendo previsões únicas por meio da página de testes de implantação ou pode ver a seção a seguir Invoque seu endpoint para saber como invocar seu endpoint programaticamente a partir de aplicativos.

Teste a implantação de um modelo JumpStart básico

Você pode conversar com um modelo de JumpStart base implantado ou um modelo de base ajustado por meio do aplicativo Canvas para testar sua funcionalidade antes de invocá-lo por meio de código.

Para conversar com um modelo de JumpStart fundação implantado ou um modelo de fundação ajustado, faça o seguinte:

  1. Abra o aplicativo SageMaker Canvas.

  2. No painel de navegação esquerdo, escolha ML Ops.

  3. Escolha a guia Grupos de implantação.

  4. Na lista de implantações, encontre aquela que você deseja invocar e escolha o ícone Mais opções () Vertical ellipsis icon representing a menu or more options. .

  5. No menu de contexto, escolha Testar implantação.

  6. Um novo bate-papo para gerar, extrair e resumir conteúdo é aberto com o modelo JumpStart básico, e você pode começar a digitar instruções. Observe que as solicitações desse bate-papo são enviadas como solicitações ao seu endpoint de SageMaker hospedagem.

Invoque seu endpoint

Depois de testar sua implantação, você pode usar seu endpoint em produção com seus aplicativos invocando o endpoint programaticamente da mesma forma que você pode invocar qualquer outro endpoint em tempo real. SageMaker A invocação de um endpoint retorna programaticamente um objeto de resposta que contém os mesmos campos mencionados na seção anterior Teste sua implantação .

Para obter mais informações detalhadas sobre como invocar endpoints de forma programática, consulte. Invoque modelos para inferência em tempo real

Os exemplos de Python a seguir mostram como invocar seu endpoint com base no tipo do modelo.

O exemplo a seguir mostra como invocar um modelo básico ou um modelo de JumpStart base ajustado que você implantou em um endpoint.

import boto3 import pandas as pd client = boto3.client("runtime.sagemaker") body = pd.DataFrame( [['feature_column1', 'feature_column2'], ['feature_column1', 'feature_column2']] ).to_csv(header=False, index=False).encode("utf-8") response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="text/csv", Body=body, Accept="application/json" )

O exemplo a seguir mostra como invocar modelos de predição numérica ou categóricos.

import boto3 import pandas as pd client = boto3.client("runtime.sagemaker") body = pd.DataFrame(['feature_column1', 'feature_column2'], ['feature_column1', 'feature_column2']).to_csv(header=False, index=False).encode("utf-8") response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="text/csv", Body=body, Accept="application/json" )

O exemplo a seguir mostra como invocar modelos de previsão de séries temporais. Para obter um exemplo completo de como testar a invocação de um modelo de previsão de séries temporais, consulte Previsão de séries temporais com o Amazon Autopilot. SageMaker

import boto3 import pandas as pd csv_path = './real-time-payload.csv' data = pd.read_csv(csv_path) client = boto3.client("runtime.sagemaker") body = data.to_csv(index=False).encode("utf-8") response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="text/csv", Body=body, Accept="application/json" )

O exemplo a seguir mostra como invocar modelos de predição numérica ou categórica.

import boto3 client = boto3.client("runtime.sagemaker") with open("example_image.jpg", "rb") as file: body = file.read() response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="application/x-image", Body=body, Accept="application/json" )

O exemplo a seguir mostra como invocar modelos de predição de texto.

import boto3 import pandas as pd client = boto3.client("runtime.sagemaker") body = pd.DataFrame([["Example text 1"], ["Example text 2"]]).to_csv(header=False, index=False).encode("utf-8") response = client.invoke_endpoint( EndpointName="endpoint_name", ContentType="text/csv", Body=body, Accept="application/json" )

Excluindo um modelo de implantação

Você pode excluir a implantação do seu modelo do aplicativo Canvas. Essa ação também exclui o endpoint do SageMaker console e desliga todos os recursos relacionados ao endpoint.

nota

Opcionalmente, você pode excluir seu endpoint por meio do SageMaker console ou usando o. SageMaker DeleteEndpoint API Para obter mais informações, consulte Excluir endpoints e recursos. No entanto, quando você exclui o endpoint por meio do SageMaker console ou APIs em vez do aplicativo Canvas, a lista de implantações no Canvas não é atualizada automaticamente. Você também deve excluir a implantação do aplicativo Canvas.

Para excluir uma implantação no Canvas, faça o seguinte:

  1. Abra o aplicativo SageMaker Canvas.

  2. No painel de navegação esquerdo, escolha ML Ops.

  3. Escolha a guia Grupos de implantação.

  4. Na lista de implantações, escolha aquela que você deseja excluir.

  5. Na parte superior da página de detalhes da implantação, escolha o ícone Mais opções ( Vertical ellipsis icon representing a menu or more options. ).

  6. Escolha Excluir implantação.

  7. Na caixa de diálogo Excluir implantação, escolha Excluir.

Seu endpoint de implantação e SageMaker hospedagem agora deve ser excluído do Canvas e do SageMaker console. Quando a implantação é excluída com sucesso, ela aparece na lista de implantações do Canvas com o status Excluído.