Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
MLflow-traceringsservers slaan uw experimentgegevens, uitvoeringen en modellen op en beheren deze. Configureer uw trackingservers om te bepalen waar uw MLflow-gegevens worden opgeslagen en hoe u toegang krijgt tot experimenten in verschillende omgevingen.
Databricks-gehoste traceringsserver
Databricks biedt standaard een beheerde MLflow-traceringsserver die:
- Vereist geen extra installatie of configuratie
- Slaat experimentgegevens op in uw werkruimte
- Naadloos geïntegreerd met Databricks-notebooks en -clusters
Het actieve experiment instellen
Standaard worden alle MLflow-runs geregistreerd in de traceerserver van de werkruimte met het actieve experiment. Als er geen experiment expliciet is ingesteld, worden uitvoeringen vastgelegd in het notebookexperiment.
Bepaal waar runs worden gelogd in Databricks door het actieve experiment in te stellen.
Mlflow.set_experiment()
Stel een experiment in voor alle volgende uitvoeringen.
import mlflow
mlflow.set_experiment("/Shared/my-experiment")
Mlflow.start_run()
Stel het experiment in voor een specifieke uitvoering.
with mlflow.start_run(experiment_id="12345"):
mlflow.log_param("learning_rate", 0.01)
Omgevingsvariabelen
Stel een experiment in voor alle runs in de omgeving.
import os
os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Shared/my-experiment"
# or
os.environ["MLFLOW_EXPERIMENT_ID"] = "12345"
Tracering instellen op een externe MLflow-traceringsserver
Mogelijk moet u een verbinding instellen met een externe MLflow-traceringsserver. Dit kan komen doordat u lokaal ontwikkelt en wilt bijhouden op de Databricks-gehoste server, of als u wilt bijhouden op een andere MLflow-traceringsserver. Bijvoorbeeld een werkruimte die zich in een andere werkplek bevindt.
Algemene scenario's voor externe tracering:
| Scenario | Gebruikssituatie |
|---|---|
| Werkruimte-overschrijdende tracing | Gecentraliseerde experimenten bijhouden in meerdere werkruimten |
| Lokale ontwikkeling | Lokaal ontwikkelen, maar experimenten bijhouden in Databricks |
| Zelf-gehost op afstand | Aangepaste MLflow-infrastructuur met specifieke nalevingsvereisten |
De tracerings-URI en het experiment instellen
Als u experimenten wilt registreren bij een externe traceringsserver, configureert u zowel de tracerings-URI als het experimentpad:
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)
Verificatiemethoden
Voor externe traceringsserververbindingen is de juiste verificatie vereist. Kies tussen persoonlijke toegangstokens (PAT) of OAuth met behulp van service-principals.
PAT
Gebruik PAT's voor eenvoudige verificatie op basis van tokens.
Pros: Eenvoudige installatie, goed voor ontwikkeling
Tegens: Gebruikersspecifiek, vereist handmatig tokenbeheer
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 (service-principal)
Gebruik OAuth met serviceprincipal-referenties voor geautomatiseerde werkstromen.
Pros: Beter voor automatisering, gecentraliseerd identiteitsbeheer
Nadelen: Vereist configuratie van de service principal en OAuth-configuratie
Maak een service principal. Zie Service-principals beheren.
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")