View a markdown version of this page

Acompanhe as recomendações de inferência e os resultados de benchmark com o MLflow - 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á.

Acompanhe as recomendações de inferência e os resultados de benchmark com o MLflow

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, consulteAcelere o desenvolvimento de IA generativa usando MLflow gerenciado na Amazon AI SageMaker.

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

Antes de monitorar os resultados com o MLflow, você precisa do seguinte, além do seguinte, Pré-requisitos 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, consulteConfiguração do aplicativo MLflow.

  • 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, consulteConfiguração do aplicativo MLflow.

Parâmetros de configuração do MLflow

Para acompanhar os resultados, adicione um MlflowConfig objeto à OutputConfig sua CreateAIBenchmarkJob solicitação CreateAIRecommendationJob ou solicitação. MlflowConfigconté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

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

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

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, consulteIniciar a interface do usuário do MLflow com o uso de um URLs pré-assinado..

Na página Experimentos, selecione o experimento que você especificou emMlflowExperimentName.

A página MLflow UI Experiments mostra uma lista de experimentos com seus nomes e horários de criação.

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.