Conclua os pré-requisitos - Amazon SageMaker

Conclua os pré-requisitos

O tópico a seguir descreve os pré-requisitos que você deve completar antes de criar um endpoint assíncrono. Esses pré-requisitos incluem armazenar adequadamente os artefatos do modelo, configurar um IAM AWS com as permissões corretas e selecionar uma imagem de contêiner.

Como concluir os pré-requisitos
  1. Crie um perfil do IAM para o Amazon SageMaker.

    A inferência assíncrona precisa de acesso ao URI do bucket do Amazon S3. Para facilitar esse processo, crie um perfil do IAM que possa executar o SageMaker e tenha permissão para acessar o Amazon S3 e o Amazon SNS. Usando essa função, o SageMaker pode ser executado em sua conta e acessar seu bucket do Amazon S3 e tópicos do Amazon SNS.

    Você pode criar um perfil do IAM usando os consoles do IAM, AWS SDK for Python (Boto3) ou AWS CLI. Veja a seguir um exemplo de como criar um perfil do IAM e anexar as políticas necessárias ao console do IAM.

    1. Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

    2. No painel de navegação do console do IAM, escolha Funções e, em seguida, Criar função.

    3. Em Selecionar tipo de entidade confiável, selecione serviço AWS.

    4. Escolha o serviço que você deseja que assuma essa função. Nesse caso, escolha SageMaker. Então, escolha Próximo: Permissões.

      • Isso cria automaticamente uma política do IAM que dá acesso a serviços relacionados como Amazon S3, Amazon ECR e CloudWatch Logs.

    5. Escolha Próximo: tags.

    6. (Opcional) Adicione metadados à função anexando tags como pares de chave-valor. Para obter mais informações sobre como usar rótulos no IAM, consulte Recursos de etiquetas do IAM.

    7. Escolha Próximo: revisar.

    8. Digite um Nome da função.

    9. Se possível, digite um nome de função ou um sufixo de nome de função. Os nomes de função devem ser exclusivos em sua conta AWS. Eles não são diferenciados por letras maiúsculas e minúsculas. Por exemplo, não é possível criar perfis denominados PRODROLE e prodrole. Como outros recursos de AWS podem fazer referência à função, não é possível editar o nome da função depois de ela ser criada.

    10. (Opcional) Em Descrição da função, digite uma descrição para a nova função.

    11. Revise a função e escolha Criar função.

      Anote o ARN da função do SageMaker. Para encontrar o ARN da função usando o console, faça o seguinte:

      1. Vá para o console do IAM: https://console.aws.amazon.com/iam/

      2. Selecione Funções.

      3. Pesquise a função que acabou de criar digitando o nome da função no campo de pesquisa.

      4. Selecione a função.

      5. O ARN do perfil está na parte superior da página Resumo.

  2. Adicione permissões do Amazon SageMaker, Amazon S3 e Amazon SNS à sua perfil do IAM.

    Depois que a função for criada, dê permissões ao SageMaker, ao Amazon S3 e, opcionalmente, ao Amazon SNS para sua perfil do IAM.

    Escolha Funções no console do IAM. Pesquise a função que você criou digitando o nome da função no campo Pesquisa.

    1. Escolha sua função.

    2. Em seguida, escolha Anexar políticas.

    3. A inferência assíncrona do Amazon SageMaker precisa de permissão para realizar as seguintes ações: "sagemaker:CreateModel", "sagemaker:CreateEndpointConfig". "sagemaker:CreateEndpoint" e "sagemaker:InvokeEndpointAsync".

      Essas ações estão incluídas na política AmazonSageMakerFullAccess. Adicione essa política à sua perfil do IAM. Busque AmazonSageMakerFullAccess no campo de Pesquisa. Selecione AmazonSageMakerFullAccess.

    4. Escolha Anexar política.

    5. Em seguida, escolha Anexar políticas para adicionar permissões do Amazon S3.

    6. Selecione Criar política.

    7. Selecione a guia JSON.

    8. Adicione a seguinte declaração de política:

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListBucket" ], "Effect": "Allow", "Resource": "arn:aws:s3:::bucket_name/*" } ] }
    9. Escolha Próximo: tags.

    10. Digite o Nome da política.

    11. Escolha Criar política.

    12. Repita as mesmas etapas que você concluiu para adicionar permissões do Amazon S3 para adicionar permissões do Amazon SNS. Para a declaração de política, anexe o seguinte:

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "sns:Publish" ], "Effect": "Allow", "Resource": "arn:aws:sns:<region>:<Account_ID>:<SNS_Topic>" } ] }
  3. Carregue seus dados de inferência (por exemplo, modelo de machine learning, dados de exemplo) no Amazon S3.

  4. Selecione uma imagem de inferência Docker pré-criada ou crie sua própria imagem do Docker de inferência.

    O SageMaker fornece contêineres para seus algoritmos integrados e imagens do Docker pré-criadas para algumas das estruturas de machine learning mais comuns, como Apache MXNet, TensorFlow, PyTorch e Chainer. Para obter uma lista completa das imagens do SageMaker disponíveis, consulte Imagens de contêineres de aprendizado profundo disponíveis. Se optar por usar um contêiner fornecido pelo SageMaker, aumente o tempo limite do endpoint e os tamanhos da carga útil em relação ao padrão definindo as variáveis de ambiente no contêiner. Para saber como definir as diferentes variáveis de ambiente de cada estrutura, consulte a etapa Criar um modelo da criação de um endpoint assíncrono.

    Se nenhum dos contêineres existentes do SageMaker atender às suas necessidades e você não tiver um contêiner próprio, talvez seja necessário criar um novo contêiner do Docker. Consulte Contêineres com código de inferência personalizado para obter informações sobre como criar sua imagem do Docker.

  5. Crie um tópico do Amazon SNS (opcional)

    Crie um tópico do Amazon Simple Notification Service (Amazon SNS) que envie notificações sobre solicitações que concluíram o processamento. O Amazon SNS é um serviço de notificação para aplicações orientados a mensagens, em que vários assinantes solicitam e recebem notificações “push” de mensagens urgentes de uma variedade de protocolos de transporte, incluindo HTTP, Amazon SQS e e-mail. Você pode especificar tópicos do Amazon SNS quando criar um objeto EndpointConfig ao especificar o AsyncInferenceConfig usando o API EndpointConfig.

    Siga as etapas para criar e assinar um tópico do Amazon SNS.

    1. Usando o console do Amazon SNS, crie um tópico. Para obter instruções, consulte Criação de um tópico do Amazon SNS no Guia do desenvolvedor do Amazon Simple Notification Service.

    2. Inscreva-se no tópico. Para obter instruções, consulte Assinatura de um tópico do Amazon SNS no Guia do desenvolvedor do Amazon Simple Notification Service.

    3. Ao receber um e-mail solicitando que confirme sua assinatura no tópico, confirme a assinatura.

    4. Anote o nome do recurso da Amazon (ARN) do tópico. O tópico do Amazon SNS que você criou é outro recurso na sua conta AWS e tem um ARN exclusivo. O formato do ARN é o seguinte:

      arn:aws:sns:aws-region:account-id:topic-name

    Para obter mais informações sobre o Amazon SNS, consulte o Guia do desenvolvedor do Amazon SNS.