Solucionar erros do recomendador de inferência - 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á.

Solucionar erros do recomendador de inferência

Esta seção contém informações sobre como entender e evitar erros comuns, as mensagens de erro que eles geram e orientações sobre como resolver esses erros.

Como solucionar problemas

Você pode tentar resolver seu erro seguindo as seguintes etapas:

  • Verifique se você atendeu a todos os pré-requisitos para usar o recomendador de inferência. Consulte os pré-requisitos do Recomendador de inferência.

  • Verifique se você consegue implantar seu modelo do Registro do modelo em um endpoint e se ele pode processar suas cargas sem erros. Consulte Implantar um modelo a partir do registro.

  • Ao iniciar um trabalho do Inference Recommender, você deve ver os endpoints sendo criados no console e pode revisar os registros. CloudWatch

Erros comuns

Revise a tabela a seguir para ver os erros comuns do recomendador de inferência e suas soluções.

Erro Solução

Especifique Domain na versão do Pacote de modelos 1. Domain é um parâmetro obrigatório para o trabalho.

Certifique-se de fornecer o domínio ML ou, OTHER se for desconhecido.

A função ARN fornecida não pode ser assumida e ocorreu um erro AWSSecurityTokenServiceException.

Certifique-se de que a função de execução fornecida tenha as permissões necessárias especificadas nos pré-requisitos.

Especifique Framework na versão do Pacote de modelos 1. Framework é um parâmetro obrigatório para o trabalho.

Certifique-se de fornecer o ML framework ou OTHER, se desconhecido.

Os usuários no final da fase anterior são 0, enquanto os usuários iniciais da fase atual são 1.

Usuários aqui se referem a usuários virtuais ou threads usados para enviar solicitações. Cada fase começa com A usuários e termina com B usuários, onde B > A. Entre fases sequenciais, x_1 e x_2, exigimos que abs(x_2.A - x_1.B) <= 3 e >= 0.

A duração total do tráfego (transversal) não deve ser maior que a duração do trabalho.

A duração total de todas as suas fases não pode exceder a duração do trabalho.

O tipo de instância intermitente ml.t2.medium não é permitido.

O recomendador de inferência não oferece suporte a testes de carga na família de instâncias t2 porque instâncias com capacidade de intermitência não fornecem performance consistente.

ResourceLimitExceeded ao chamar a CreateEndpoint operação

Você excedeu o limite de SageMaker recursos. Por exemplo, o recomendador de inferência pode não conseguir provisionar endpoints para avaliação comparativa se a conta tiver atingido a cota de endpoints. Para obter mais informações sobre SageMaker limites e cotas, consulte SageMaker endpoints e cotas da Amazon.

ModelError ao chamar a InvokeEndpoint operação

Um erro de modelo pode acontecer por um dos seguintes motivos.

  • A invocação atingiu o tempo limite enquanto aguardava uma resposta do contêiner do modelo.

  • O modelo não pôde processar a carga de entrada.

PayloadError ao chamar a InvokeEndpoint operação

Um erro de carga útil pode acontecer por um dos seguintes motivos.

  • A fonte da carga útil não está no bucket do Amazon S3.

  • A carga útil está em um formato de objeto que não é de arquivo.

  • A carga útil está em um tipo de arquivo inválido. Por exemplo, um modelo espera uma carga útil do tipo imagem, mas recebe um arquivo de texto.

  • A carga útil está vazia.

Verifique CloudWatch

Ao iniciar um trabalho do recomendador de inferência, você deve ver os endpoints sendo criados no console. Selecione um dos endpoints e visualize os CloudWatch registros para monitorar quaisquer erros 4xx/5xx. Se você tiver um trabalho bem-sucedido de recomendador de inferência, poderá ver os nomes dos endpoints como parte dos resultados. Mesmo que seu trabalho do Inference Recommender não tenha êxito, você ainda pode verificar os CloudWatch registros dos endpoints excluídos seguindo as etapas abaixo:

  1. Abra o CloudWatch console da Amazon em https://console.aws.amazon.com/cloudwatch/.

  2. Selecione a região na qual você criou a tarefa recomendador de inferência na lista suspensa Região no canto superior direito.

  3. No painel de navegação do CloudWatch, escolha Registros e, em seguida, selecione Grupos de registros.

  4. Pesquise o grupo de logs chamado /aws/sagemaker/Endpoints/sm-epc-*. Selecione o grupo de logs com base em seu trabalho mais recente do recomendador de inferência.

Você também pode solucionar problemas do seu trabalho verificando os registros do Inference CloudWatch Recommender. Os registros do Inference Recommender, que são publicados no grupo de /aws/sagemaker/InferenceRecommendationsJobs CloudWatch registros, oferecem uma visão de alto nível do progresso do trabalho no fluxo de <jobName>/execution registros. Você pode encontrar informações detalhadas sobre cada uma das configurações de endpoint que estão sendo testadas no fluxo de logs do <jobName>/Endpoint/<endpointName>.

Visão geral dos fluxos de log do recomendador de inferência

  • <jobName>/executioncontém informações gerais do trabalho, como configurações de endpoint programadas para análise comparativa, motivo do salto do trabalho de compilação e motivo da falha de validação.

  • <jobName>/Endpoint/<endpointName> contém informações como progresso da criação do recurso, configuração do teste, motivo da interrupção do teste de carga e status da limpeza do recurso.

  • <jobName>/CompilationJob/<compilationJobName>contém informações sobre trabalhos de compilação criados pelo recomendador de inferência, como a configuração do trabalho de compilação e o status do trabalho de compilação.

Crie um alarme para mensagens de erro do recomendador de inferência

O recomendador de inferência gera instruções de log para erros que podem ser úteis na solução de problemas. Com um grupo de CloudWatch registros e um filtro métrico, você pode procurar termos e padrões nesses dados de registro à medida que os dados são enviados CloudWatch. Em seguida, você pode criar um CloudWatch alarme com base no filtro métrico do grupo de registros. Para obter mais informações, consulte Criar um CloudWatch alarme com base em um filtro métrico de grupo de registros.

Verifique as análises comparativas

Quando você inicia um trabalho do recomendador de inferência, o recomendador de inferência cria várias análises comparativas para avaliar a performance do seu modelo em diferentes tipos de instância. Você pode usar a ListInferenceRecommendationsJobStepsAPI para ver os detalhes de todos os benchmarks. Se você tiver uma análise comparativa que falhou, poderá ver os motivos da falha como parte dos resultados.

Para usar a ListInferenceRecommendationsJobStepsAPI, forneça os seguintes valores:

  • Para JobName, forneça o nome do trabalho do recomendador de inferência.

  • ParaStepType, use BENCHMARK para retornar detalhes sobre as análises comparativas do trabalho.

  • ParaStatus, use FAILED para retornar detalhes sobre as análises comparativas do trabalho. Para ver uma lista dos outros tipos de status, consulte o Status campo na ListInferenceRecommendationsJobStepsAPI.

# Create a low-level SageMaker service client. import boto3 aws_region = '<region>' sagemaker_client = boto3.client('sagemaker', region_name=aws_region) # Provide the job name for the SageMaker Inference Recommender job job_name = '<job-name>' # Filter for benchmarks step_type = 'BENCHMARK' # Filter for benchmarks that have a FAILED status status = 'FAILED' response = sagemaker_client.list_inference_recommendations_job_steps( JobName = job_name, StepType = step_type, Status = status )

Você pode imprimir o objeto de resposta para visualizar os resultados. O exemplo de código anterior armazenou a resposta em uma variável chamada response:

print(response)