

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

# Acompanhe as recomendações de inferência e os resultados de benchmark com o MLflow
<a name="generative-ai-inference-recommendations-mlflow"></a>

Você pode acompanhar os resultados de suas recomendações e trabalhos de referência com o MLflow totalmente gerenciado na Amazon SageMaker AI. Quando você fornece uma configuração do MLflow, o SageMaker AI registra as métricas de desempenho e os artefatos que o trabalho produz em um aplicativo MLflow. Em seguida, você pode usar a interface do usuário do MLflow para visualizar execuções individuais, comparar configurações entre trabalhos e compartilhar resultados com sua equipe. Para obter mais informações sobre MLflow on SageMaker AI, consulte[Acelere o desenvolvimento de IA generativa usando MLflow gerenciado na Amazon AI SageMaker](mlflow.md).

O rastreamento do MLflow é opcional. Para habilitá-lo, forneça uma configuração MLflow que faça referência a um aplicativo MLflow ao criar o trabalho.

## Pré-requisitos
<a name="generative-ai-inference-recommendations-mlflow-prereqs"></a>

Antes de monitorar os resultados com o MLflow, você precisa do seguinte, além do seguinte, [Pré-requisitos](generative-ai-inference-recommendations-get-started.md#generative-ai-inference-recommendations-get-started-prereqs) para um trabalho de recomendação ou benchmark:
+ Um aplicativo MLflow em estado operacional, Região da AWS igual ao seu trabalho. Para obter informações sobre como criar um aplicativo MLflow, consulte[Configuração do aplicativo MLflow](mlflow-app-setup.md).
+ Uma função de execução do IAM (a `RoleArn` que você passa para o trabalho) com permissão para descrever o aplicativo MLflow e chamar as APIs REST do MLflow. Adicione a `sagemaker:DescribeMlflowApp` ação e as `sagemaker-mlflow` ações que o trabalho usa para registrar as execuções. Para obter mais informações sobre as permissões do MLflow, consulte[Configuração do aplicativo MLflow](mlflow-app-setup.md).

## Parâmetros de configuração do MLflow
<a name="generative-ai-inference-recommendations-mlflow-config"></a>

Para acompanhar os resultados, adicione um `MlflowConfig` objeto à `OutputConfig` sua `CreateAIBenchmarkJob` solicitação `CreateAIRecommendationJob` ou solicitação. `MlflowConfig`contém os seguintes campos:

`MlflowResourceArn`  
Obrigatório. O Amazon Resource Name (ARN) do aplicativo MLflow para registrar os resultados, no formato. `arn:aws:sagemaker:{{region}}:{{account-id}}:mlflow-app/{{app-id}}`

`MlflowExperimentName`  
Opcional. O nome do experimento MLflow no qual registrar a execução. Se o experimento não existir, a SageMaker IA o cria; se ele já existir, a SageMaker IA o reutiliza, para que você possa agrupar execuções de vários trabalhos em um experimento, passando o mesmo nome.

`MlflowRunName`  
Opcional. O nome da execução de MLflow de nível superior sob a qual os resultados do trabalho estão aninhados. Para agrupar os resultados de vários trabalhos em uma execução de nível superior, transmita os mesmos `MlflowRunName` para cada trabalho.

Cada trabalho cria uma execução de MLflow de nível superior, com execuções secundárias aninhadas que dividem os resultados por dimensões, como o destino de referência ou o tipo de instância, a configuração de implantação e o nível de simultaneidade. Essa estrutura permite detalhar medições individuais e comparar configurações na interface do usuário do MLflow.

O `MlflowConfig` que você fornece na solicitação de criação é `OutputConfig` repetido na `Describe` resposta correspondente.

## Acompanhe um trabalho de recomendação
<a name="generative-ai-inference-recommendations-mlflow-recommendation"></a>

Adicione o `MlflowConfig` objeto `OutputConfig` ao criar um trabalho de recomendação.

**Python (boto3)**

```
response = client.create_ai_recommendation_job(
    AIRecommendationJobName="my-recommendation-job",
    ModelSource={
        "S3": {
            "S3Uri": "s3://DOC-EXAMPLE-BUCKET/models/my-model/",
        }
    },
    OutputConfig={
        "S3OutputLocation": "s3://DOC-EXAMPLE-BUCKET/recommendations/",
        "MlflowConfig": {
            "MlflowResourceArn": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-app/app-EXAMPLE",
            "MlflowExperimentName": "my-recommendation-experiment",
            "MlflowRunName": "my-recommendation-job-run",
        },
    },
    PerformanceTarget={
        "Constraints": [
            {"Metric": "ttft-ms"}
        ]
    },
    AIWorkloadConfigIdentifier="my-recommendation-workload",
    RoleArn="arn:aws:iam::111122223333:role/ExampleRole",
)
print(response["AIRecommendationJobArn"])
```

**AWS CLI**

```
aws sagemaker create-ai-recommendation-job \
  --ai-recommendation-job-name "my-recommendation-job" \
  --model-source '{"S3": {"S3Uri": "s3://DOC-EXAMPLE-BUCKET/models/my-model/"}}' \
  --output-config '{
    "S3OutputLocation": "s3://DOC-EXAMPLE-BUCKET/recommendations/",
    "MlflowConfig": {
      "MlflowResourceArn": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-app/app-EXAMPLE",
      "MlflowExperimentName": "my-recommendation-experiment",
      "MlflowRunName": "my-recommendation-job-run"
    }
  }' \
  --performance-target '{"Constraints": [{"Metric": "ttft-ms"}]}' \
  --ai-workload-config-identifier "my-recommendation-workload" \
  --role-arn "arn:aws:iam::111122223333:role/ExampleRole" \
  --region us-west-2
```

## Acompanhe um trabalho de referência
<a name="generative-ai-inference-recommendations-mlflow-benchmark"></a>

Adicione o `MlflowConfig` objeto `OutputConfig` ao criar um trabalho de referência.

**Python (boto3)**

```
response = client.create_ai_benchmark_job(
    AIBenchmarkJobName="my-benchmark-job",
    BenchmarkTarget={
        "Endpoint": {
            "Identifier": "my-sagemaker-endpoint"
        }
    },
    OutputConfig={
        "S3OutputLocation": "s3://DOC-EXAMPLE-BUCKET/benchmark-results/",
        "MlflowConfig": {
            "MlflowResourceArn": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-app/app-EXAMPLE",
            "MlflowExperimentName": "my-benchmark-experiment",
            "MlflowRunName": "my-benchmark-job-run",
        },
    },
    AIWorkloadConfigIdentifier="my-benchmark-config",
    RoleArn="arn:aws:iam::111122223333:role/ExampleRole",
)
print(response["AIBenchmarkJobArn"])
```

**AWS CLI**

```
aws sagemaker create-ai-benchmark-job \
  --ai-benchmark-job-name "my-benchmark-job" \
  --benchmark-target '{"Endpoint": {"Identifier": "my-sagemaker-endpoint"}}' \
  --output-config '{
    "S3OutputLocation": "s3://DOC-EXAMPLE-BUCKET/benchmark-results/",
    "MlflowConfig": {
      "MlflowResourceArn": "arn:aws:sagemaker:us-west-2:111122223333:mlflow-app/app-EXAMPLE",
      "MlflowExperimentName": "my-benchmark-experiment",
      "MlflowRunName": "my-benchmark-job-run"
    }
  }' \
  --ai-workload-config-identifier "my-benchmark-config" \
  --role-arn "arn:aws:iam::111122223333:role/ExampleRole" \
  --region us-west-2
```

## Veja os resultados no MLflow
<a name="generative-ai-inference-recommendations-mlflow-view"></a>

Depois que o trabalho atingir o `Completed` status, abra a interface do usuário do MLflow no aplicativo MLflow para inspecionar as execuções registradas. Para obter mais informações sobre como iniciar a interface do usuário do MLflow, consulte[Iniciar a interface do usuário do MLflow com o uso de um URLs pré-assinado.](mlflow-launch-ui.md).

Na página **Experimentos**, selecione o experimento que você especificou em`MlflowExperimentName`.

![A página MLflow UI Experiments mostra uma lista de experimentos com seus nomes e horários de criação.](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/mlflow/inference-recommendations-mlflow-experiments.png)


A visualização de **execuções** do experimento mostra uma execução de nível superior que contém uma execução por tarefa, que se expande em execuções secundárias para cada tipo de instância, configuração de implantação e nível de simultaneidade. Selecione uma execução para visualizar seus parâmetros, métricas e artefatos.

![A visualização MLflow UI Runs mostra uma execução de nível superior que se expande em execuções secundárias aninhadas para os níveis por trabalho, tipo de instância, tipo de imagem e simultaneidade.](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/mlflow/inference-recommendations-mlflow-runs.png)
