Szybki start dla języka Python
MLflow to platforma typu „open source” umożliwiająca zarządzanie całym cyklem życia uczenia maszynowego. Platforma MLflow udostępnia proste interfejsy API do rejestrowania metryk (na przykład utrata modelu), parametry (na przykład szybkość nauki) i dopasowane modele, co ułatwia analizowanie wyników trenowania lub wdrażanie modeli później.
W tej sekcji:
- Instalowanie biblioteki MLflow
- Automatyczne rejestrowanie przebiegów trenowania w usłudze MLflow
- Wyświetlanie wyników
- Śledzenie dodatkowych metryk, parametrów i modeli
- Przykładowe notesy
- Dowiedz się więcej
Instalowanie biblioteki MLflow
Jeśli używasz środowiska Databricks Runtime dla Edukacja maszyny, środowisko MLflow jest już zainstalowane. W przeciwnym razie zainstaluj pakiet MLflow z poziomu interfejsu PyPI.
Automatyczne rejestrowanie przebiegów trenowania w usłudze MLflow
Dzięki usłudze Databricks Runtime 10.4 LTS ML i nowszym funkcja automatycznego rejestrowania usługi Databricks jest domyślnie włączona i automatycznie przechwytuje parametry modelu, metryki, pliki i pochodzenie danych podczas trenowania modeli z różnych popularnych bibliotek uczenia maszynowego.
Dzięki środowisku Databricks Runtime 9.1 LTS ML platforma MLflow udostępnia mlflow.<framework>.autolog()
interfejsy API do automatycznego rejestrowania kodu trenowania napisanego w wielu strukturach uczenia maszynowego. Ten interfejs API można wywołać przed uruchomieniem kodu szkoleniowego w celu rejestrowania metryk, parametrów i artefaktów modelu.
TensorFlow
Uwaga
Modele Keras są również obsługiwane w systemie mlflow.tensorflow.autolog()
.
# Also autoinstruments tf.keras
import mlflow.tensorflow
mlflow.tensorflow.autolog()
XGBoost
import mlflow.xgboost
mlflow.xgboost.autolog()
LightGBM
import mlflow.lightgbm
mlflow.lightgbm.autolog()
scikit-learn
import mlflow.sklearn
mlflow.sklearn.autolog()
PySpark
W przypadku przeprowadzania dostrajania przy użyciu pyspark.ml
metryk i modeli są automatycznie rejestrowane w usłudze MLflow.
Zobacz Biblioteki MLlib platformy Apache Spark i zautomatyzowane śledzenie MLflow.
Wyświetl wyniki
Po wykonaniu kodu uczenia maszynowego możesz wyświetlić wyniki przy użyciu paska bocznego Przebiegi eksperymentów. Zobacz Wyświetlanie eksperymentu notesu, aby uzyskać instrukcje dotyczące wyświetlania eksperymentu, uruchamiania i poprawki notesu używanej w przewodniku Szybki start.
Śledzenie dodatkowych metryk, parametrów i modeli
Dodatkowe informacje można rejestrować bezpośrednio, wywołując interfejsy API rejestrowania śledzenia MLflow.
Metryki liczbowe
import mlflow
mlflow.log_metric("accuracy", 0.9)
Parametry trenowania
import mlflow
mlflow.log_param("learning_rate", 0.001)
Modele
scikit-learn
import mlflow.sklearn
mlflow.sklearn.log_model(model, "myModel")
PySpark
import mlflow.spark
mlflow.spark.log_model(model, "myModel")
XGBoost
import mlflow.xgboost
mlflow.xgboost.log_model(model, "myModel")
TensorFlow
import mlflow.tensorflow
mlflow.tensorflow.log_model(model, "myModel")
Keras
import mlflow.keras
mlflow.keras.log_model(model, "myModel")
PyTorch
import mlflow.pytorch
mlflow.pytorch.log_model(model, "myModel")
SpaCy
import mlflow.spacy
mlflow.spacy.log_model(model, "myModel")
Inne artefakty (pliki)
import mlflow
mlflow.log_artifact("/tmp/my-file", "myArtifactPath")
Przykładowe notesy
Uwaga
W przypadku środowiska Databricks Runtime 10.4 LTS ML i nowszych funkcja automatycznego rejestrowania usługi Databricks jest domyślnie włączona, a kod w tych przykładowych notesach nie jest wymagany. Przykładowe notesy w tej sekcji są przeznaczone do użycia z usługą Databricks Runtime 9.1 LTS ML.
Zalecanym sposobem rozpoczęcia korzystania ze śledzenia platformy MLflow w języku Python jest użycie interfejsu API platformy MLflow autolog()
. Dzięki możliwościom automatycznego rejestrowania platformy MLflow pojedynczy wiersz kodu automatycznie rejestruje wynikowy model, parametry używane do tworzenia modelu i ocenę modelu. W poniższym notesie pokazano, jak skonfigurować przebieg przy użyciu automatycznego rejestrowania.
Automatyczne rejestrowanie MLflow — notes języka Python
Jeśli potrzebujesz większej kontroli nad metrykami rejestrowanymi dla każdego przebiegu trenowania lub chcesz rejestrować dodatkowe artefakty, takie jak tabele lub wykresy, możesz użyć funkcji interfejsu API rejestrowania MLflow przedstawionych w poniższym notesie.