Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Serwery śledzenia MLflow przechowują dane eksperymentów, przebiegi i modele oraz zarządzaj nimi. Skonfiguruj serwery śledzenia, aby kontrolować, gdzie są przechowywane dane MLflow i jak uzyskiwać dostęp do eksperymentów w różnych środowiskach.
Serwer śledzenia hostowany w usłudze Databricks
Domyślnie usługa Databricks udostępnia zarządzany serwer śledzenia MLflow, który:
- Nie wymaga dodatkowej konfiguracji ani konfiguracji
- Przechowuje dane eksperymentu w obszarze roboczym
- Bezproblemowo integruje się z notesami i klastrami usługi Databricks
Ustawianie aktywnego eksperymentu
Domyślnie wszystkie przebiegi platformy MLflow są rejestrowane na serwerze śledzenia obszaru roboczego przy użyciu aktywnego eksperymentu. Jeśli żaden eksperyment nie jest jawnie ustawiony, przebiegi są rejestrowane w eksperymencie notesu.
Określ, gdzie przebiegi są rejestrowane w usłudze Databricks, ustawiając aktywny eksperyment:
Mlflow.set_experiment()
Ustaw eksperyment dla wszystkich kolejnych przebiegów w wykonaniu.
import mlflow
mlflow.set_experiment("/Shared/my-experiment")
Mlflow.start_run()
Ustaw eksperyment dla określonego przebiegu.
with mlflow.start_run(experiment_id="12345"):
mlflow.log_param("learning_rate", 0.01)
Zmienne środowiskowe
Ustaw eksperyment dla wszystkich przebiegów w środowisku.
import os
os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Shared/my-experiment"
# or
os.environ["MLFLOW_EXPERIMENT_ID"] = "12345"
Konfigurowanie śledzenia na zdalnym serwerze śledzenia MLflow
Może być konieczne skonfigurowanie połączenia z zdalnym serwerem śledzenia MLflow. Może to być spowodowane tym, że programujesz lokalnie i chcesz śledzić serwer hostowany w usłudze Databricks lub chcesz śledzić inny serwer śledzenia MLflow. Na przykład taki, który znajduje się w innym obszarze roboczym.
Typowe scenariusze śledzenia zdalnego:
| Scenario | Przypadek użycia |
|---|---|
| Śledzenie między obszarami roboczymi | Scentralizowane śledzenie eksperymentów w wielu obszarach roboczych |
| Programowanie lokalne | Programowanie lokalnie, ale śledzenie eksperymentów w usłudze Databricks |
| Zdalne self-hosted | Niestandardowa infrastruktura MLflow z określonymi wymaganiami dotyczącymi zgodności |
Konfigurowanie identyfikatora URI śledzenia i eksperymentu
Aby rejestrować eksperymenty na serwerze śledzenia zdalnego, skonfiguruj zarówno identyfikator URI śledzenia, jak i ścieżkę eksperymentu:
import mlflow
# Set the tracking URI to the remote server
mlflow.set_tracking_uri("databricks://remote-workspace-url")
# Set the experiment path in the remote server
mlflow.set_experiment("/Shared/centralized-experiments/my-project")
# All subsequent runs will be logged to the remote server
with mlflow.start_run():
mlflow.log_param("model_type", "random_forest")
mlflow.log_metric("accuracy", 0.95)
Metody uwierzytelniania
Połączenia serwera śledzenia zdalnego wymagają odpowiedniego uwierzytelniania. Wybierz między osobistymi tokenami dostępu (PAT) lub OAuth przy użyciu jednostek usługi.
osobisty token dostępu
Użyj paT do prostego uwierzytelniania opartego na tokenach.
Plusy: Prosta konfiguracja, dobra do programowania
Minusy: Specyficzne dla użytkownika wymaga ręcznego zarządzania tokenami
import os
# Set authentication token
os.environ["DATABRICKS_TOKEN"] = "your-personal-access-token"
# Configure remote tracking
mlflow.set_tracking_uri("databricks://remote-workspace-url")
mlflow.set_experiment("/Shared/remote-experiment")
OAuth (jednostka usługi)
Użyj protokołu OAuth z poświadczeniami jednostki usługi dla zautomatyzowanych przepływów pracy.
Plusy: Lepsze w przypadku automatyzacji, scentralizowanego zarządzania tożsamościami
Minusy: Wymaga konfiguracji jednostki usługi i protokołu OAuth
Utwórz jednostkę usługi. Zobacz Zarządzanie jednostkami usługi.
import os
# Set service principal credentials
os.environ["DATABRICKS_CLIENT_ID"] = "your-service-principal-client-id"
os.environ["DATABRICKS_CLIENT_SECRET"] = "your-service-principal-secret"
# Configure remote tracking
mlflow.set_tracking_uri("databricks://remote-workspace-url")
mlflow.set_experiment("/Shared/remote-experiment")