

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 seus resultados de trabalho de recomendação de inferência
<a name="instance-recommendation-results"></a>

Colete os resultados do seu trabalho de recomendação de inferência programaticamente com AWS SDK para Python (Boto3) o AWS CLI Studio Classic ou o SageMaker console de IA.

------
#### [ AWS SDK para Python (Boto3) ]

Depois que uma recomendação de inferência for concluída, você poderá usar o `DescribeInferenceRecommendationsJob` para obter os detalhes e as recomendações do trabalho. Forneça o nome do trabalho que você usou ao criar o trabalho de recomendação de inferência.

```
job_name={{'<INSERT>'}}
response = sagemaker_client.describe_inference_recommendations_job(
                    JobName=job_name)
```

Imprima o objeto de resposta. O exemplo de código anterior armazenou a resposta em uma variável chamada `response`.

```
print(response['Status'])
```

Isso retorna uma resposta JSON semelhante ao exemplo a seguir. Observe que este exemplo mostra os tipos de instância recomendados para inferência em tempo real (para ver um exemplo mostrando recomendações de inferência sem servidor, veja o exemplo após este).

```
{
    'JobName': {{'job-name'}}, 
    'JobDescription': {{'job-description'}}, 
    'JobType': 'Default', 
    'JobArn': 'arn:aws:sagemaker:{{region}}:{{account-id}}:inference-recommendations-job/{{resource-id}}', 
    'Status': 'COMPLETED', 
    'CreationTime': datetime.datetime(2021, 10, 26, 20, 4, 57, 627000, tzinfo=tzlocal()), 
    'LastModifiedTime': datetime.datetime(2021, 10, 26, 20, 25, 1, 997000, tzinfo=tzlocal()), 
    'InputConfig': {
                'ModelPackageVersionArn': 'arn:aws:sagemaker:{{region}}:{{account-id}}:model-package/{{resource-id}}', 
                'JobDurationInSeconds': 0
                }, 
    'InferenceRecommendations': [{
            'Metrics': {
                'CostPerHour': 0.20399999618530273, 
                'CostPerInference': 5.246913588052848e-06, 
                'MaximumInvocations': 648, 
                'ModelLatency': 263596
                }, 
            'EndpointConfiguration': {
                'EndpointName': {{'endpoint-name'}}, 
                'VariantName': {{'variant-name'}}, 
                'InstanceType': 'ml.c5.xlarge', 
                'InitialInstanceCount': 1
                }, 
            'ModelConfiguration': {
                'Compiled': False, 
                'EnvironmentParameters': []
                }
         }, 
         {
            'Metrics': {
                'CostPerHour': 0.11500000208616257, 
                'CostPerInference': 2.92620870823157e-06, 
                'MaximumInvocations': 655, 
                'ModelLatency': 826019
                }, 
            'EndpointConfiguration': {
                'EndpointName': {{'endpoint-name'}}, 
                'VariantName': {{'variant-name'}}, 
                'InstanceType': 'ml.c5d.large', 
                'InitialInstanceCount': 1
                }, 
            'ModelConfiguration': {
                'Compiled': False, 
                'EnvironmentParameters': []
                }
            }, 
            {
                'Metrics': {
                    'CostPerHour': 0.11500000208616257, 
                    'CostPerInference': 3.3625731248321244e-06, 
                    'MaximumInvocations': 570, 
                    'ModelLatency': 1085446
                    }, 
                'EndpointConfiguration': {
                    'EndpointName': {{'endpoint-name'}}, 
                    'VariantName': {{'variant-name'}}, 
                    'InstanceType': 'ml.m5.large', 
                    'InitialInstanceCount': 1
                    }, 
                'ModelConfiguration': {
                    'Compiled': False, 
                    'EnvironmentParameters': []
                    }
            }], 
    'ResponseMetadata': {
        'RequestId': {{'request-id'}}, 
        'HTTPStatusCode': 200, 
        'HTTPHeaders': {
            'x-amzn-requestid': {{'x-amzn-requestid'}}, 
            'content-type': {{'content-type'}}, 
            'content-length': '1685', 
            'date': 'Tue, 26 Oct 2021 20:31:10 GMT'
            }, 
        'RetryAttempts': 0
        }
}
```

As primeiras linhas fornecem informações sobre o trabalho de recomendação de inferência em si. Isso inclui o nome do trabalho, a função do ARN e os horários de criação e exclusão. 

O dicionário `InferenceRecommendations` contém uma lista de recomendações de inferência do recomendador de inferência.

O dicionário `EndpointConfiguration` aninhado contém a recomendação do tipo de instância (`InstanceType`) junto com o nome do endpoint e da variante (um modelo de aprendizado de AWS máquina implantado) que foi usado durante o trabalho de recomendação. Você pode usar o nome do endpoint e da variante para monitoramento no Amazon CloudWatch Events. Consulte [Métricas de SageMaker IA da Amazon na Amazon CloudWatch](monitoring-cloudwatch.md) para obter mais informações.

O dicionário `Metrics` aninhado contém informações sobre o custo estimado por hora (`CostPerHour`) para seu endpoint em tempo real em dólares americanos, o custo estimado por inferência (`CostPerInference`) em dólares americanos para seu endpoint em tempo real, o número máximo esperado de `InvokeEndpoint` solicitações por minuto enviadas ao endpoint (`MaxInvocations`) e a latência do modelo (`ModelLatency`), que é o intervalo de tempo (em microssegundos) que seu modelo levou para responder à IA. SageMaker A latência do modelo inclui os tempos de comunicação local necessários para enviar a solicitação e obter a resposta do contêiner de um modelo, bem como o tempo necessário para concluir a inferência dentro do contêiner.

O seguinte exemplo mostra a parte `InferenceRecommendations` da resposta de um trabalho de recomendações de inferência configurado para retornar recomendações de inferência sem servidor:

```
"InferenceRecommendations": [ 
      { 
         "EndpointConfiguration": { 
            "EndpointName": "{{value}}",
            "InitialInstanceCount": {{value}},
            "InstanceType": "{{value}}",
            "VariantName": "{{value}}",
            "ServerlessConfig": {
                "MaxConcurrency": {{value}},
                "MemorySizeInMb": {{value}}
            }
         },
         "InvocationEndTime": {{value}},
         "InvocationStartTime": {{value}},
         "Metrics": { 
            "CostPerHour": {{value}},
            "CostPerInference": {{value}},
            "CpuUtilization": {{value}},
            "MaxInvocations": {{value}},
            "MemoryUtilization": {{value}},
            "ModelLatency": {{value}},
            "ModelSetupTime": {{value}}
         },
         "ModelConfiguration": { 
            "Compiled": "False",
            "EnvironmentParameters": [],
            "InferenceSpecificationName": "{{value}}"
         },
         "RecommendationId": "{{value}}"
      }
   ]
```

Você pode interpretar as recomendações para inferência serverless de maneira semelhante aos resultados para inferência em tempo real, com a exceção do `ServerlessConfig`, que indica as métricas retornadas para um endpoint com tecnologia sem servidor com o `MemorySizeInMB` fornecido e quando o `MaxConcurrency = 1` ocorre. Para aumentar a throughput possível no endpoint, aumente o valor de `MaxConcurrency` linearmente. Por exemplo, se a recomendação de inferência mostrar `MaxInvocations` como`1000`, aumentar `MaxConcurrency` para `2` apoiaria 2000 `MaxInvocations`. Observe que isso é verdade apenas até certo ponto, o qual pode variar com base no seu modelo e código. As recomendações serverless também medem a métrica `ModelSetupTime`, que avalia (em microssegundos) o tempo que leva para iniciar os recursos computacionais em um endpoint com tecnologia sem servidor. Para obter mais informações sobre como configurar endpoints sem servidor, consulte a [documentação da Inferência Sem Servidor](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints.html).

------
#### [ AWS CLI ]

Após a conclusão de uma recomendação de inferência, você pode usar o `describe-inference-recommendations-job` para obter os detalhes do trabalho e os tipos de instância recomendados. Forneça o nome do trabalho que você usou ao criar o trabalho de recomendação de inferência.

```
aws sagemaker describe-inference-recommendations-job\
    --job-name {{<job-name>}}\
    --region {{<aws-region>}}
```

A resposta JSON deve ser semelhante ao seguinte exemplo: Observe que este exemplo mostra os tipos de instância recomendados para inferência em tempo real (para ver um exemplo mostrando recomendações de inferência sem servidor, veja o exemplo após este).

```
{
    'JobName': {{'job-name'}}, 
    'JobDescription': {{'job-description'}}, 
    'JobType': 'Default', 
    'JobArn': 'arn:aws:sagemaker:{{region}}:{{account-id}}:inference-recommendations-job/{{resource-id}}', 
    'Status': 'COMPLETED', 
    'CreationTime': datetime.datetime(2021, 10, 26, 20, 4, 57, 627000, tzinfo=tzlocal()), 
    'LastModifiedTime': datetime.datetime(2021, 10, 26, 20, 25, 1, 997000, tzinfo=tzlocal()), 
    'InputConfig': {
                'ModelPackageVersionArn': 'arn:aws:sagemaker:{{region}}:{{account-id}}:model-package/{{resource-id}}', 
                'JobDurationInSeconds': 0
                }, 
    'InferenceRecommendations': [{
            'Metrics': {
                'CostPerHour': 0.20399999618530273, 
                'CostPerInference': 5.246913588052848e-06, 
                'MaximumInvocations': 648, 
                'ModelLatency': 263596
                }, 
            'EndpointConfiguration': {
                'EndpointName': {{'endpoint-name'}}, 
                'VariantName': {{'variant-name'}}, 
                'InstanceType': 'ml.c5.xlarge', 
                'InitialInstanceCount': 1
                }, 
            'ModelConfiguration': {
                'Compiled': False, 
                'EnvironmentParameters': []
                }
         }, 
         {
            'Metrics': {
                'CostPerHour': 0.11500000208616257, 
                'CostPerInference': 2.92620870823157e-06, 
                'MaximumInvocations': 655, 
                'ModelLatency': 826019
                }, 
            'EndpointConfiguration': {
                'EndpointName': {{'endpoint-name'}}, 
                'VariantName': {{'variant-name'}}, 
                'InstanceType': 'ml.c5d.large', 
                'InitialInstanceCount': 1
                }, 
            'ModelConfiguration': {
                'Compiled': False, 
                'EnvironmentParameters': []
                }
            }, 
            {
                'Metrics': {
                    'CostPerHour': 0.11500000208616257, 
                    'CostPerInference': 3.3625731248321244e-06, 
                    'MaximumInvocations': 570, 
                    'ModelLatency': 1085446
                    }, 
                'EndpointConfiguration': {
                    'EndpointName': {{'endpoint-name'}}, 
                    'VariantName': {{'variant-name'}}, 
                    'InstanceType': 'ml.m5.large', 
                    'InitialInstanceCount': 1
                    }, 
                'ModelConfiguration': {
                    'Compiled': False, 
                    'EnvironmentParameters': []
                    }
            }], 
    'ResponseMetadata': {
        'RequestId': {{'request-id'}}, 
        'HTTPStatusCode': 200, 
        'HTTPHeaders': {
            'x-amzn-requestid': {{'x-amzn-requestid'}}, 
            'content-type': {{'content-type'}}, 
            'content-length': '1685', 
            'date': 'Tue, 26 Oct 2021 20:31:10 GMT'
            }, 
        'RetryAttempts': 0
        }
}
```

As primeiras linhas fornecem informações sobre o trabalho de recomendação de inferência em si. Isso inclui o nome do trabalho, o ARN do perfil, o horário de criação e exclusão. 

O dicionário `InferenceRecommendations` contém uma lista de recomendações de inferência do recomendador de inferência.

O dicionário `EndpointConfiguration` aninhado contém a recomendação do tipo de instância (`InstanceType`) junto com o nome do endpoint e da variante (um modelo de aprendizado de AWS máquina implantado) usado durante o trabalho de recomendação. Você pode usar o nome do endpoint e da variante para monitoramento no Amazon CloudWatch Events. Consulte [Métricas de SageMaker IA da Amazon na Amazon CloudWatch](monitoring-cloudwatch.md) para obter mais informações.

O dicionário `Metrics` aninhado contém informações sobre o custo estimado por hora (`CostPerHour`) para seu endpoint em tempo real em dólares americanos, o custo estimado por inferência (`CostPerInference`) em dólares americanos para seu endpoint em tempo real, o número máximo esperado de `InvokeEndpoint` solicitações por minuto enviadas ao endpoint (`MaxInvocations`) e a latência do modelo (`ModelLatency`), que é o intervalo de tempo (em milissegundos) que seu modelo levou para responder à IA. SageMaker A latência do modelo inclui os tempos de comunicação local necessários para enviar a solicitação e obter a resposta do contêiner de um modelo, bem como o tempo necessário para concluir a inferência dentro do contêiner.

O seguinte exemplo mostra a parte `InferenceRecommendations` da resposta de um trabalho de recomendações de inferência configurado para retornar recomendações de inferência sem servidor:

```
"InferenceRecommendations": [ 
      { 
         "EndpointConfiguration": { 
            "EndpointName": "{{value}}",
            "InitialInstanceCount": {{value}},
            "InstanceType": "{{value}}",
            "VariantName": "{{value}}",
            "ServerlessConfig": {
                "MaxConcurrency": {{value}},
                "MemorySizeInMb": {{value}}
            }
         },
         "InvocationEndTime": {{value}},
         "InvocationStartTime": {{value}},
         "Metrics": { 
            "CostPerHour": {{value}},
            "CostPerInference": {{value}},
            "CpuUtilization": {{value}},
            "MaxInvocations": {{value}},
            "MemoryUtilization": {{value}},
            "ModelLatency": {{value}},
            "ModelSetupTime": {{value}}
         },
         "ModelConfiguration": { 
            "Compiled": "False",
            "EnvironmentParameters": [],
            "InferenceSpecificationName": "{{value}}"
         },
         "RecommendationId": "{{value}}"
      }
   ]
```

Você pode interpretar as recomendações para inferência serverless de maneira semelhante aos resultados para inferência em tempo real, com a exceção do `ServerlessConfig`, que indica as métricas retornadas para um endpoint com tecnologia sem servidor com o `MemorySizeInMB` fornecido e quando o `MaxConcurrency = 1` ocorre. Para aumentar a throughput possível no endpoint, aumente o valor de `MaxConcurrency` linearmente. Por exemplo, se a recomendação de inferência mostrar `MaxInvocations` como`1000`, aumentar `MaxConcurrency` para `2` apoiaria 2000 `MaxInvocations`. Observe que isso é verdade apenas até certo ponto, o qual pode variar com base no seu modelo e código. As recomendações serverless também medem a métrica `ModelSetupTime`, que avalia (em microssegundos) o tempo que leva para iniciar os recursos computacionais em um endpoint com tecnologia sem servidor. Para obter mais informações sobre como configurar endpoints sem servidor, consulte a [documentação da Inferência Sem Servidor](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints.html).

------
#### [ Amazon SageMaker Studio Classic ]

As recomendações de inferência são preenchidas em uma nova guia **Recomendações de inferência** no Studio Classic. Pode demorar até 45 minutos para que os resultados apareçam. Essa guia contém **os cabeçalhos das colunas Resultados** e **Detalhes**.

A coluna **Detalhes** fornece informações sobre o trabalho de recomendação de inferência, como o nome da recomendação de inferência, quando o trabalho foi criado (**Hora de criação**) e muito mais. Ele também fornece informações de **Configurações**, como o número máximo de invocações que ocorreram por minuto e informações sobre os nomes de recursos da Amazon usados.

A coluna **Resultados** fornece uma janela de **metas de implantação** e **recomendações de SageMaker IA** na qual você pode ajustar a ordem em que os resultados são exibidos com base na importância da implantação. Há três menus suspensos que você pode usar para fornecer o nível de importância do **custo**, da **Latência** e da **Throughput** para seu caso de uso. Para cada meta (custo, latência e throughput), você pode definir o nível de importância: **menor importância**, **baixa importância, importância** **moderada**, **alta importância** ou **maior** importância. 

Com base em suas seleções de importância para cada meta, o Inference Recommender exibe sua recomendação principal no campo de **SageMakerrecomendação** à direita do painel, junto com o custo estimado por hora e a solicitação de inferência. Também fornece informações sobre a latência esperada do modelo, o número máximo de invocações e a número de instâncias. Para recomendações de tecnologia sem servidor, você pode ver os valores ideais para a simultaneidade máxima e o tamanho da memória do endpoint.

Além da recomendação principal exibida, você também pode ver as mesmas informações exibidas para todas as instâncias que o recomendador de inferência testou na seção **Todas as execuções**.

------
#### [ SageMaker AI console ]

Você pode ver seus trabalhos de recomendação de instância no console de SageMaker IA fazendo o seguinte:

1. Acesse o console de SageMaker IA em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

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

1. Na página de trabalhos do **recomendador de inferência**, escolha o nome do seu trabalho de recomendação de inferência.

Na página de detalhes do seu trabalho, você pode ver as **recomendações de inferência**, que são os tipos de instância que a SageMaker IA recomenda para seu modelo, conforme mostrado na captura de tela a seguir.

![Captura de tela da lista de recomendações de inferência na página de detalhes do trabalho no console de SageMaker IA.](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/inf-rec-instant-recs.png)


Nesta seção, você pode comparar os tipos de instância por vários fatores, como **latência do modelo**, **custo por hora**, **custo por inferência** e **invocações por minuto**.

Nessa página, você também pode visualizar as configurações especificadas para seu trabalho. Na seção **Monitor**, você pode ver as CloudWatch métricas da Amazon que foram registradas para cada tipo de instância. Para saber mais sobre como interpretar essas métricas, consulte [Interpretar resultados](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-recommender-interpret-results.html).

------

Para obter mais informações sobre como interpretar os resultados de seu trabalho de recomendação, consulte [Resultados da recomendação](inference-recommender-interpret-results.md).