View a markdown version of this page

Métricas de log, parâmetros e modelos MLflow durante o treinamento - SageMaker Inteligência Artificial 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á.

Métricas de log, parâmetros e modelos MLflow durante o treinamento

Depois de se conectar ao servidor de rastreamento MLflow, você pode usar o MLflow SDK para métricas de log, parâmetros e modelos MLflow.

Métricas de treinamento de logs

Use mlflow.log_metric em uma execução de treinamento do MLflow para monitorar as métricas. Para obter mais informações sobre métricas de registro em log usando o MLflow, consulte mlflow.log_metric.

with mlflow.start_run(): mlflow.log_metric("foo", 1) print(mlflow.search_runs())

Este script cria uma execução de experimento e imprime uma saída semelhante à seguinte:

run_id experiment_id status artifact_uri ... tags.mlflow.source.name tags.mlflow.user tags.mlflow.source.type tags.mlflow.runName 0 607eb5c558c148dea176d8929bd44869 0 FINISHED s3://dddd/0/607eb5c558c148dea176d8929bd44869/a... ... file.py user-id LOCAL experiment-code-name

Com a interface de usuário do MLflow, neste exemplo, deve ser semelhante ao seguinte:

Um experimento apresentado no menu de nível superior dos Experimentos do MLflow.

Selecione Nome da execução para ver mais detalhes da execução.

Um parâmetro de experimento apresentado na página de execução de um experimento, na interface do usuário do MLflow.

Parâmetros e modelos de log

nota

O exemplo a seguir exige que seu ambiente tenha as permissões s3:PutObject. Essa permissão deve ser associada à função do IAM que o usuário do SDK do MLflow assume ao fazer login ou federar sua conta. AWS Para obter mais informações, consulte Exemplos de políticas de perfil e usuário.

O exemplo a seguir apresenta um fluxo de trabalho de treinamento de modelo básico com uso do SKLearn e mostra como rastrear esse modelo em uma execução experimental do MLflow. Este exemplo registra em log parâmetros, métricas e artefatos do modelo.

import mlflow from mlflow.models import infer_signature import pandas as pd from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score # This is the ARN of the MLflow Tracking Server you created mlflow.set_tracking_uri(your-tracking-server-arn) mlflow.set_experiment("some-experiment") # Load the Iris dataset X, y = datasets.load_iris(return_X_y=True) # Split the data into training and test sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Define the model hyperparameters params = {"solver": "lbfgs", "max_iter": 1000, "multi_class": "auto", "random_state": 8888} # Train the model lr = LogisticRegression(**params) lr.fit(X_train, y_train) # Predict on the test set y_pred = lr.predict(X_test) # Calculate accuracy as a target loss metric accuracy = accuracy_score(y_test, y_pred) # Start an MLflow run and log parameters, metrics, and model artifacts with mlflow.start_run(): # Log the hyperparameters mlflow.log_params(params) # Log the loss metric mlflow.log_metric("accuracy", accuracy) # Set a tag that we can use to remind ourselves what this run was for mlflow.set_tag("Training Info", "Basic LR model for iris data") # Infer the model signature signature = infer_signature(X_train, lr.predict(X_train)) # Log the model model_info = mlflow.sklearn.log_model( sk_model=lr, name="iris_model", # Changed from artifact_path to name for MLflow 3.0 signature=signature, input_example=X_train, registered_model_name="tracking-quickstart", )

Na interface do usuário do MLflow, escolha o nome do experimento no painel de navegação à esquerda para explorar todas as execuções associadas. Selecione Nome da execução para ver mais informações sobre cada execução. Neste exemplo, a página de execução do experimento para essa execução deve ser semelhante à seguinte:

Parâmetros rastreados para um experimento executado na interface do usuário do MLflow.

Este exemplo registra em log o modelo de regressão logística. Na interface do usuário do MLflow, você também verá os artefatos do modelo registrados.

Artefatos de modelos rastreados para um experimento executado na interface do usuário do MLflow.