Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Tieni traccia dei consigli di inferenza e confronta i risultati con MLFlow
Puoi monitorare i risultati delle tue raccomandazioni e confrontare i lavori con MLFlow completamente gestito su Amazon SageMaker AI. Quando fornisci una configurazione MLFlow, SageMaker AI registra le metriche prestazionali e gli artefatti prodotti dal lavoro in un'app MLFlow. È quindi possibile utilizzare l'interfaccia utente MLFlow per visualizzare le singole esecuzioni, confrontare le configurazioni tra i job e condividere i risultati con il team. Per ulteriori informazioni su MLFlow on SageMaker AI, consulta. Accelera lo sviluppo dell'intelligenza artificiale generativa utilizzando MLFlow gestito su Amazon AI SageMaker
Il tracciamento MLFlow è facoltativo. Per abilitarlo, fornite una configurazione MLFlow che faccia riferimento a un'app MLFlow quando create il lavoro.
Prerequisiti
Prima di monitorare i risultati con MLFlow, oltre a quanto segue Prerequisiti per un lavoro di raccomandazione o di benchmark, è necessario:
-
Un'app MLFlow in uno stato operativo, nello stesso modo in cui svolgi il tuo lavoro Regione AWS . Per informazioni sulla creazione di un'app MLFlow, consulta. Configurazione dell'app MLFlow
-
Un ruolo di esecuzione IAM (
RoleArnquello che passi al job) con il permesso di descrivere l'app MLFlow e chiamare le API REST di MLFlow. Aggiungi l'sagemaker:DescribeMlflowAppazione e lesagemaker-mlflowazioni utilizzate dal job per registrare le esecuzioni. Per ulteriori informazioni sulle autorizzazioni MLFlow, vedere. Configurazione dell'app MLFlow
Parametri di configurazione MLFlow
Per tenere traccia dei risultati, aggiungi un MlflowConfig oggetto OutputConfig alla tua CreateAIBenchmarkJob richiesta CreateAIRecommendationJob o. MlflowConfigcontiene i seguenti campi:
MlflowResourceArn-
Obbligatorio. L'Amazon Resource Name (ARN) dell'app MLFlow su cui registrare i risultati, nel formato.
arn:aws:sagemaker:region:account-id:mlflow-app/app-id MlflowExperimentName-
Opzionale. Il nome dell'esperimento MLFlow in cui registrare l'esecuzione. Se l'esperimento non esiste, l' SageMaker IA lo crea; se esiste già, l' SageMaker IA lo riutilizza, in modo da poter raggruppare le esecuzioni di più job in un unico esperimento assegnando lo stesso nome.
MlflowRunName-
Opzionale. Il nome dell'esecuzione MLFlow di primo livello in cui sono annidati i risultati del processo. Per raggruppare i risultati di più job in un'unica esecuzione di primo livello, passate gli stessi
MlflowRunNamedati a ciascun job.
Ogni job crea un'esecuzione MLFlow di primo livello, con esecuzioni secondarie annidate che suddividono i risultati per dimensioni come l'obiettivo o il tipo di istanza del benchmark, la configurazione di distribuzione e il livello di concorrenza. Questa struttura consente di approfondire le singole misurazioni e confrontare le configurazioni nell'interfaccia utente MLFlow.
Quanto MlflowConfig fornito nella richiesta di creazione viene ripreso nella risposta corrispondente. OutputConfig Describe
Tieni traccia di un lavoro di raccomandazione
Aggiungi l'MlflowConfigoggetto a OutputConfig quando crei un lavoro di raccomandazione.
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
Tieni traccia di un lavoro di riferimento
Aggiungi l'MlflowConfigoggetto a OutputConfig quando crei un lavoro di benchmark.
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
Visualizza i risultati in MLFlow
Una volta raggiunto Completed lo stato del processo, apri l'interfaccia utente MLFlow dall'app MLFlow per controllare le esecuzioni registrate. Per ulteriori informazioni sull'avvio dell'interfaccia utente MLFlow, vedere. Avvio dell’interfaccia utente di MLflow mediante un URL prefirmato
Nella pagina Esperimenti, selezionate l'esperimento specificato in. MlflowExperimentName
La vista Esecuzioni dell'esperimento mostra un'esecuzione di primo livello che contiene un'esecuzione per processo, che si espande in esecuzioni secondarie per ogni tipo di istanza, configurazione di distribuzione e livello di concorrenza. Seleziona un'esecuzione per visualizzarne i parametri, le metriche e gli artefatti.