Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
I server di rilevamento MLflow archiviano e gestiscono i dati, le esecuzioni e i modelli dell'esperimento. Configurare i server di rilevamento per controllare dove vengono archiviati i dati di MLflow e come accedere agli esperimenti in ambienti diversi.
Server di rilevamento ospitato da Databricks
Per impostazione predefinita, Databricks fornisce un server di rilevamento MLflow gestito che:
- Non richiede alcuna configurazione o installazione aggiuntiva
- Archivia i dati dell'esperimento nell'area di lavoro
- Si integra perfettamente con notebook e cluster di Databricks
Impostare l'esperimento attivo
Per impostazione predefinita, tutte le esecuzioni di MLflow vengono registrate nel server di rilevamento dell'area di lavoro usando l'esperimento attivo. Se non viene impostato in modo esplicito alcun esperimento, le esecuzioni vengono registrate nell'esperimento del notebook.
Controllare dove vengono registrate le esecuzioni in Databricks impostando l'esperimento attivo:
Mlflow.set_experiment()
Impostare un esperimento per tutte le esecuzioni successive nell'esecuzione.
import mlflow
mlflow.set_experiment("/Shared/my-experiment")
Mlflow.start_run()
Impostare l'esperimento per un'esecuzione specifica.
with mlflow.start_run(experiment_id="12345"):
mlflow.log_param("learning_rate", 0.01)
Variabili di ambiente
Impostare un esperimento per tutte le esecuzioni nell'ambiente.
import os
os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Shared/my-experiment"
# or
os.environ["MLFLOW_EXPERIMENT_ID"] = "12345"
Configurare il rilevamento in un server di rilevamento MLflow remoto
Potrebbe essere necessario configurare una connessione a un server di rilevamento MLflow remoto. Ciò potrebbe essere dovuto allo sviluppo in locale e alla vuoi tenere traccia del server ospitato di Databricks oppure vuoi tenere traccia di un server di rilevamento MLflow diverso. Ad esempio, una che si trova in un'area di lavoro diversa.
Scenari comuni per il rilevamento remoto:
| Scenario | Caso d'uso |
|---|---|
| Rilevamento tra aree di lavoro | Rilevamento centralizzato degli esperimenti in più aree di lavoro |
| Sviluppo locale | Sviluppare in locale ma tenere traccia degli esperimenti in Databricks |
| Self-hosted remoto | Infrastruttura MLflow personalizzata con requisiti di conformità specifici |
Configurare l'URI di rilevamento e l'esperimento
Per registrare gli esperimenti in un server di rilevamento remoto, configurare sia l'URI di rilevamento che il percorso dell'esperimento:
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)
Metodi di autenticazione
Le connessioni server di rilevamento remoto richiedono l'autenticazione corretta. Scegliere tra token di accesso personale (PAT) o OAuth usando le entità servizio.
Token di accesso personali (PAT)
Usare LET per l'autenticazione semplice basata su token.
Pro: Configurazione semplice, valida per lo sviluppo
Contro: Specifica dell'utente, richiede la gestione manuale dei token
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 (entità servizio)
Usare OAuth con le credenziali dell'entità servizio per i flussi di lavoro automatizzati.
Pro: Migliore per l'automazione, la gestione centralizzata delle identità
Contro: Richiede l'installazione dell'entità servizio e la configurazione OAuth
Creare un'entità servizio. Vedere Gestire le entità servizio.
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")