View a markdown version of this page

Realice un seguimiento de las recomendaciones de inferencias y los resultados comparativos con MLflow - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Realice un seguimiento de las recomendaciones de inferencias y los resultados comparativos con MLflow

Puede realizar un seguimiento de los resultados de sus recomendaciones y comparar trabajos con MLflow totalmente gestionado en Amazon SageMaker AI. Cuando proporciona una configuración de MLflow, la SageMaker IA registra las métricas de rendimiento y los artefactos que produce el trabajo en una aplicación de MLflow. A continuación, puede utilizar la interfaz de usuario de MLflow para ver las ejecuciones individuales, comparar las configuraciones de los distintos trabajos y compartir los resultados con su equipo. Para obtener más información sobre MLflow en SageMaker IA, consulte. Acelere el desarrollo de IA generativa con MLflow gestionado en Amazon AI SageMaker

El seguimiento de MLflow es opcional. Para habilitarlo, proporcione una configuración de MLflow que haga referencia a una aplicación de MLflow al crear el trabajo.

Requisitos previos

Antes de realizar un seguimiento de los resultados con MLflow, además de una recomendación o un trabajo de referenciaRequisitos previos, necesitará lo siguiente:

  • Una aplicación MLflow en estado operativo, al Región de AWS igual que su trabajo. Para obtener información sobre cómo crear una aplicación MLflow, consulte. Configuración de la aplicación MLflow

  • Una función de ejecución de IAM (la RoleArn que se transfiere al trabajo) con permiso para describir la aplicación MLflow y llamar a las API REST de MLflow. Añada la sagemaker:DescribeMlflowApp acción y sagemaker-mlflow las acciones que el trabajo utiliza para registrar las ejecuciones. Para obtener más información sobre los permisos de MLflow, consulteConfiguración de la aplicación MLflow.

Parámetros de configuración de MLflow

Para realizar un seguimiento de los resultados, añada un MlflowConfig objeto a su CreateAIRecommendationJob CreateAIBenchmarkJob solicitud. OutputConfig MlflowConfigcontiene los siguientes campos:

MlflowResourceArn

Obligatorio. El nombre del recurso de Amazon (ARN) de la aplicación MLflow en el que se registrarán los resultados, en el formato. arn:aws:sagemaker:region:account-id:mlflow-app/app-id

MlflowExperimentName

Opcional. El nombre del experimento de MLflow con el que se registrará la ejecución. Si el experimento no existe, la SageMaker IA lo crea; si ya existe, la SageMaker IA lo reutiliza para que puedas agrupar las ejecuciones de varios trabajos en un experimento con el mismo nombre.

MlflowRunName

Opcional. El nombre de la ejecución de MLflow de nivel superior en la que están anidados los resultados del trabajo. Para agrupar los resultados de varios trabajos en una ejecución de nivel superior, transfiera lo mismo MlflowRunName a cada trabajo.

Cada trabajo crea una ejecución de MLFlow de nivel superior, con ejecuciones secundarias anidadas que desglosan los resultados por dimensiones, como el objetivo o el tipo de instancia de referencia, la configuración de implementación y el nivel de simultaneidad. Esta estructura le permite profundizar en las mediciones individuales y comparar las configuraciones en la interfaz de usuario de MLflow.

Lo MlflowConfig que proporciona en la solicitud de creación se repite en OutputConfig la respuesta correspondienteDescribe.

Realice un seguimiento de un trabajo recomendado

Añada el MlflowConfig objeto OutputConfig al crear un trabajo de recomendación.

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

Realice un seguimiento de un trabajo de referencia

Añada el MlflowConfig objeto OutputConfig al crear un trabajo de referencia.

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

Vea los resultados en MLFlow

Cuando el trabajo alcance el Completed estado, abra la interfaz de usuario de MLflow desde la aplicación MLflow para inspeccionar las ejecuciones registradas. Para obtener más información sobre cómo iniciar la interfaz de usuario de MLflow, consulte. Inicio de la interfaz de usuario de MLflow mediante una URL prefirmada

En la página Experimentos, seleccione el experimento que especificó. MlflowExperimentName

La página de experimentos de la interfaz de usuario de MLflow muestra una lista de experimentos con sus nombres y tiempos de creación.

La vista Ejecuciones del experimento muestra una ejecución de nivel superior que contiene una ejecución por trabajo, que se expande a ejecuciones secundarias para cada tipo de instancia, configuración de despliegue y nivel de simultaneidad. Seleccione una ejecución para ver sus parámetros, métricas y artefactos.

La vista de ejecuciones de la interfaz de usuario de MLflow muestra una ejecución de nivel superior que se expande a ejecuciones secundarias anidadas para los niveles por trabajo, tipo de instancia, tipo de imagen y simultaneidad.