Obter uma recomendação de inferência - SageMaker IA da Amazon

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

Obter uma recomendação de inferência

Crie uma recomendação de inferência programaticamente, usando o AWS SDK para Python (Boto3) ou a AWS CLI, ou interativamente, usando o Studio Classic ou o console do SageMaker AI. Especifique um nome de trabalho para sua recomendação de inferência, um ARN do perfil do IAM AWS, uma configuração de entrada e um ARN de pacote de modelo quando você registrou seu modelo no registro de modelo ou o nome de seu modelo e um dicionário ContainerConfig de quando você criou seu modelo em a seção Pré-requisitos.

AWS SDK para Python (Boto3)

Use a API CreateInferenceRecommendationsJob para iniciar um trabalho de recomendação de inferência. Defina o campo JobType como 'Default' para trabalhos de recomendação de inferência. Além disso, observe o seguinte:

  • O nome do recurso da Amazon (ARN) de um perfil do IAM que habilita o recomendador de inferência para executar tarefas em seu nome. Defina isso para o campo RoleArn.

  • Um ARN do pacote de modelos ou nome do modelo. O recomendador de inferência é compatível com um ARN do pacote de modelos ou um nome de modelo como entrada. Especifique um dos seguintes:

    • O ARN do pacote de modelo com versionamento que você criou ao registrar seu modelo no catálogo de modelos do SageMaker AI. Defina isso para ModelPackageVersionArn no campo InputConfig.

    • O nome do modelo que você criou. Defina isso para ModelName no campo InputConfig. Além disso, forneça o dicionário do ContainerConfig, que inclui os campos obrigatórios que precisam ser fornecidos com o nome do modelo. Defina isso para ContainerConfig no campo InputConfig. No ContainerConfig, você também pode especificar opcionalmente o campo SupportedEndpointTypecomo RealTime ou Serverless. Se você especificar esse campo, o recomendador de inferência retornará recomendações somente para esse tipo de endpoint. Se você não especificar esse campo, o recomendador de inferência retornará recomendações somente para ambos os tipos de endpoint.

  • Um nome para seu trabalho de recomendação do recomendador de inferência para o campo JobName. O nome do trabalho do recomendador de inferência deve ser exclusivo na sua região AWS e na sua conta AWS.

Importe o pacote AWS SDK para Python (Boto3) e crie um objeto cliente do SageMaker AI usando a classe client. Se você seguiu as etapas na seção Pré-requisitos, especifique apenas uma das seguintes opções:

  • Opção 1: se você quiser criar um trabalho de recomendações de inferência com um ARN do pacote de modelos, armazene o ARN do grupo de pacotes de modelos em uma variável chamada model_package_arn.

  • Opção 2: se você quiser criar um trabalho de recomendações de inferência com um nome de modelo e ContainerConfig, armazene o nome do modelo em uma variável chamada model_name e o dicionário do ContainerConfig em uma variável chamada container_config.

# Create a low-level SageMaker service client. import boto3 aws_region = '<INSERT>' sagemaker_client = boto3.client('sagemaker', region_name=aws_region) # Provide only one of model package ARN or model name, not both. # Provide your model package ARN that was created when you registered your # model with Model Registry model_package_arn = '<INSERT>' ## Uncomment if you would like to create an inference recommendations job with a ## model name instead of a model package ARN, and comment out model_package_arn above ## Provide your model name # model_name = '<INSERT>' ## Provide your container config # container_config = '<INSERT>' # Provide a unique job name for SageMaker Inference Recommender job job_name = '<INSERT>' # Inference Recommender job type. Set to Default to get an initial recommendation job_type = 'Default' # Provide an IAM Role that gives SageMaker Inference Recommender permission to # access AWS services role_arn = 'arn:aws:iam::<account>:role/*' sagemaker_client.create_inference_recommendations_job( JobName = job_name, JobType = job_type, RoleArn = role_arn, # Provide only one of model package ARN or model name, not both. # If you would like to create an inference recommendations job with a model name, # uncomment ModelName and ContainerConfig, and comment out ModelPackageVersionArn. InputConfig = { 'ModelPackageVersionArn': model_package_arn # 'ModelName': model_name, # 'ContainerConfig': container_config } )

Consulte o Guia de referência da API do Amazon SageMaker para obter uma lista completa dos argumentos opcionais e obrigatórios para os quais você pode passar para CreateInferenceRecommendationsJob.

AWS CLI

Use a API create-inference-recommendations-job para iniciar um trabalho de recomendação de inferência. Defina o campo job-type como 'Default' para trabalhos de recomendação de inferência. Além disso, observe o seguinte:

  • O nome do recurso da Amazon (ARN) de um perfil do IAM que habilita o Amazon SageMaker Inference Recommender para executar tarefas em seu nome. Defina isso para o campo role-arn.

  • Um ARN do pacote de modelos ou nome do modelo. O recomendador de inferência é compatível com um ARN do pacote de modelos ou um nome de modelo como entrada. Especifique um dos seguintes:

    • O ARN do pacote de modelos versionado que você criou ao registrar seu modelo no registro do modelo. Defina isso para ModelPackageVersionArn no campo input-config.

    • O nome do modelo que você criou. Defina isso para ModelName no campo input-config. Além disso, forneça o dicionário do ContainerConfig, que inclui os campos obrigatórios que precisam ser fornecidos com o nome do modelo. Defina isso para ContainerConfig no campo input-config. No ContainerConfig, você também pode especificar opcionalmente o campo SupportedEndpointTypecomo RealTime ou Serverless. Se você especificar esse campo, o recomendador de inferência retornará recomendações somente para esse tipo de endpoint. Se você não especificar esse campo, o recomendador de inferência retornará recomendações somente para ambos os tipos de endpoint.

  • Um nome para seu trabalho de recomendação do recomendador de inferência para o campo job-name. O nome do trabalho do recomendador de inferência deve ser exclusivo na sua região AWS e na sua conta AWS.

Para criar trabalhos de recomendação de inferência com um ARN do pacote de modelos, use o seguinte exemplo:

aws sagemaker create-inference-recommendations-job --region <region>\ --job-name <job_name>\ --job-type Default\ --role-arn arn:aws:iam::<account:role/*>\ --input-config "{ \"ModelPackageVersionArn\": \"arn:aws:sagemaker:<region:account:role/*>\", }"

Para criar trabalhos de recomendação de inferência com um nome de modelo e ContainerConfig, use o exemplo a seguir. O exemplo usa o SupportedEndpointType campo para especificar que só queremos retornar recomendações de inferência em tempo real:

aws sagemaker create-inference-recommendations-job --region <region>\ --job-name <job_name>\ --job-type Default\ --role-arn arn:aws:iam::<account:role/*>\ --input-config "{ \"ModelName\": \"model-name\", \"ContainerConfig\" : { \"Domain\": \"COMPUTER_VISION\", \"Framework\": \"PYTORCH\", \"FrameworkVersion\": \"1.7.1\", \"NearestModelName\": \"resnet18\", \"PayloadConfig\": { \"SamplePayloadUrl\": \"s3://{bucket}/{payload_s3_key}\", \"SupportedContentTypes\": [\"image/jpeg\"] }, \"SupportedEndpointType\": \"RealTime\", \"DataInputConfig\": \"[[1,3,256,256]]\", \"Task\": \"IMAGE_CLASSIFICATION\", }, }"
Amazon SageMaker Studio Classic

Criar um trabalho de recomendação de inferência no Studio Classic.

  1. Em sua aplicação do Studio Classic, escolha o ícone Início ( Black square icon representing a placeholder or empty image. ).

  2. Na barra de navegação lateral do Studio Classic, escolha Modelos.

  3. Escolha Registro de modelo na lista suspensa para exibir os modelos que você registrou no registro de modelos.

    O painel esquerdo exibe uma lista de grupos de modelos. A lista inclui todos os grupos de modelos registrados no registro de modelos da sua conta, incluindo modelos registrados fora do Studio Classic.

  4. Selecione o nome do seu grupo de modelos. Quando você seleciona seu grupo de modelos, o painel direito do Studio Classic exibe cabeçalhos de coluna, como Versões e Configuração.

    Se você tiver um ou mais pacotes de modelos em seu grupo de modelos, verá uma lista desses pacotes de modelos na coluna Versões.

  5. Escolha a coluna de recomendador de inferência.

  6. Escolha um perfil do IAM que conceda permissão do recomendador de inferência para acessar os serviços do AWS. Você pode criar uma função e anexar a política gerenciada AmazonSageMakerFullAccess do IAM para fazer isso. Ou você pode deixar o Studio Classic criar um perfil para você.

  7. Escolha Obter recomendações.

    A recomendação de inferência pode demorar até 45 minutos.

    Atenção

    Não feche essa guia. Se você fechar essa guia, cancelará o trabalho de recomendação de instância.

SageMaker AI console

Crie um trabalho de recomendação de instância por meio do console do SageMaker AI fazendo o seguinte:

  1. Acesse o console do SageMaker AI em https://console.aws.amazon.com/sagemaker/.

  2. No painel de navegação à esquerda, selecione Inferência e, em seguida, selecione Recomendador de inferência.

  3. Na página de trabalhos recomendados de inferência, escolha Criar trabalho.

  4. Na Etapa 1: configuração do modelo, faça o seguinte:

    1. Em Tipo de trabalho, escolha Trabalho de recomendação padrão.

    2. Se você estiver usando um modelo registrado no catálogo de modelos do SageMaker AI, ative a opção Escolha um modelo no registro do modelo e faça o seguinte:

      1. Na lista suspensa Grupo de modelos, escolha o grupo de modelos no catálogo de modelos do SageMaker AI em que seu modelo está localizado.

      2. Na lista suspensa Versão do modelo, escolha a versão desejada do seu modelo.

    3. Se estiver usando um modelo que você criou no SageMaker AI, desative a opção Escolha um modelo no registro do modelo e siga as instruções abaixo:

      1. No campo Nome do modelo, insira o nome do seu modelo do SageMaker AI.

    4. Na lista suspensa da perfil do IAM, você pode selecionar uma função existente do IAM AWS que tenha as permissões necessárias para criar um trabalho de recomendação de instância. Alternativamente, se você ainda não tiver um perfil, poderá escolher Criar um perfil para abrir a janela de criação de perfis. O SageMaker adicionará as permissões necessárias ao novo perfil que você criar.

    5. Para o bucket do S3 para análise comparativa de carga útil, insira o caminho do Amazon S3 para seu arquivo de carga útil de amostra, que deve conter arquivos de carga útil de amostra que o recomendador de inferência usa para comparar seu modelo em diferentes tipos de instância.

    6. Em Tipo de conteúdo da carga útil, insira os tipos de MIME para seus dados de carga útil.

    7. (Opcional) Se você desativou a opção Escolha um modelo no registro do modelo e especificou um modelo do SageMaker AI, em Configuração de contêiner, faça o seguinte:

      1. Na lista suspensa Domínio, selecione o domínio de machine learning do modelo, como visão computacional, processamento de linguagem natural ou machine learning.

      2. Na lista suspensa Framework, selecione a estrutura do seu contêiner, como TensorFlow ou XGBoost.

      3. Em Versão do framework, insira a versão da estrutura da sua imagem de contêiner.

      4. Na lista suspensa Nome do modelo mais próximo, selecione o modelo pré-treinado que mais se aproxima do seu.

      5. Na lista suspensa Tarefa, selecione a tarefa de machine learning que o modelo realiza, como classificação ou regressão de imagens.

    8. (Opcional) Para Compilação de modelos usando o SageMaker Neo, você pode configurar a tarefa de recomendação para um modelo que você compilou usando o SageMaker Neo. Em Configuração de entrada de dados, insira a forma correta dos dados de entrada para seu modelo em um formato semelhante a {'input':[1,1024,1024,3]}.

    9. Escolha Próximo.

  5. Para a Etapa 2: instâncias e parâmetros de ambiente, faça o seguinte:

    1. (Opcional) Para Selecionar instâncias para análise comparativa, você pode selecionar até 8 tipos de instância que deseja comparar. Se você não selecionar nenhuma instância, o recomendador de inferência considera todos os tipos de instância.

    2. Escolha Próximo.

  6. Para a Etapa 3: parâmetros de trabalho, faça o seguinte:

    1. (Opcional) No campo Nome do trabalho, insira um nome para seu trabalho de recomendação de instância. Quando você cria o trabalho, o SageMaker AI acrescenta um carimbo de data/hora ao final desse nome.

    2. (Opcional) No campo Descrição do trabalho, insira uma descrição para o trabalho.

    3. (Opcional) Na lista suspensa Chave de criptografia, escolha uma AWS KMS chave por nome ou insira seu ARN para criptografar seus dados.

    4. (Opcional) Em Duração máxima do teste (s), insira o número máximo de segundos durante os quais você deseja que cada teste seja executado.

    5. (Opcional) Para Máximo de invocações por minuto, insira o número máximo de solicitações por minuto que o endpoint pode alcançar antes de interromper o trabalho de recomendação. Depois de atingir esse limite, o SageMaker AI encerra o trabalho.

    6. (Opcional) Para o Limite de latência do modelo P99 (ms), insira o percentil de latência do modelo em milissegundos.

    7. Escolha Próximo.

  7. Para a Etapa 4: revisar o trabalho, revise suas configurações e escolha Enviar.