Freigeben über


Wählen Sie aus, wo Ihre MLflow-Daten gespeichert werden.

MLflow-Tracking-Server speichern und verwalten Ihre Experimentdaten, -ausführung und -modelle. Konfigurieren Sie Ihre Tracking-Server, um zu steuern, wo Ihre MLflow-Daten gespeichert sind und wie Sie auf Experimente in verschiedenen Umgebungen zugreifen können.

Vom Databricks gehosteter Tracking-Server

Databricks stellt standardmäßig einen verwalteten MLflow-Trackingserver bereit, der:

  • Erfordert keine zusätzliche Einrichtung oder Konfiguration
  • Speichert Experimentdaten in Ihrem Arbeitsbereich
  • Nahtlose Integration mit Databricks-Notizbüchern und Clustern

Festlegen des aktiven Experiments

Standardmäßig werden alle MLflow-Ausführungen mithilfe des aktiven Experiments beim Tracking-Server des Arbeitsbereichs protokolliert. Wenn kein Experiment explizit festgelegt ist, werden die Ausführungen beim Notizbuchexperiment protokolliert.

Steuern, wo ausgeführt wird, werden in Databricks protokolliert, indem sie das aktive Experiment festlegen:

Mlflow.set_experiment()

Legen Sie ein Experiment für alle nachfolgenden Ausführungsläufe in der Ausführung fest.

import mlflow

mlflow.set_experiment("/Shared/my-experiment")

Mlflow.start_run()

Legen Sie das Experiment für eine bestimmte Ausführung fest.

with mlflow.start_run(experiment_id="12345"):
    mlflow.log_param("learning_rate", 0.01)

Umgebungsvariablen

Legen Sie ein Experiment für alle Ausführungen in der Umgebung fest.

import os
os.environ["MLFLOW_EXPERIMENT_NAME"] = "/Shared/my-experiment"
# or
os.environ["MLFLOW_EXPERIMENT_ID"] = "12345"

Einrichten der Nachverfolgung auf einem Remote-MLflow-Tracking-Server

Möglicherweise müssen Sie eine Verbindung mit einem Remote-MLflow-Tracking-Server einrichten. Dies könnte daran liegen, dass Sie lokal entwickeln und den gehosteten Databricks-Server nachverfolgen möchten oder auf einen anderen MLflow-Tracking-Server nachverfolgen möchten. Beispielsweise eine, die sich in einem anderen Arbeitsbereich befindet.

Häufige Szenarien für die Remoteverfolgung:

Scenario Anwendungsfall
Arbeitsbereichübergreifende Nachverfolgung Zentrales Nachverfolgen von Experimenten in mehreren Arbeitsbereichen
Lokale Entwicklung Entwickeln sie lokal, verfolgen Sie aber Experimente in Databricks
Selbstgehostete Remote Benutzerdefinierte MLflow-Infrastruktur mit spezifischen Complianceanforderungen

Einrichten des Tracking-URI und des Experiments

Um Experimente auf einem Remoteverfolgungsserver zu protokollieren, konfigurieren Sie sowohl den Nachverfolgungs-URI als auch den Experimentpfad:

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)

Authentifizierungsmethoden

Remoteverfolgungsserververbindungen erfordern eine ordnungsgemäße Authentifizierung. Wählen Sie zwischen persönlichen Zugriffstoken (PERSONAL Access Tokens, PAT) oder OAuth mithilfe von Dienstprinzipalen aus.

PAT

Verwenden Sie PATs für die einfache tokenbasierte Authentifizierung.

Profis: Einfaches Setup, gut für die Entwicklung

Nachteile: Benutzerspezifisch, erfordert manuelle Tokenverwaltung

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 (Dienstprinzipal)

Verwenden Sie OAuth mit Dienstprinzipalanmeldeinformationen für automatisierte Workflows.

Profis: Besser für automatisierungs- und zentralisierte Identitätsverwaltung

Nachteile: Erfordert die Einrichtung des Dienstprinzipals und die OAuth-Konfiguration

Erstellen Sie einen Dienstprinzipal. Siehe "Dienstprinzipale verwalten".

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")