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
RoleArnque você passa para o trabalho) com permissão para descrever o aplicativo MLflow e chamar as APIs REST do MLflow. Adicione asagemaker:DescribeMlflowAppação e assagemaker-mlflowaçõ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
MlflowRunNamepara 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 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.