Share via


Nachverfolgen der Modellentwicklung mithilfe von MLflow

Dieser Artikel enthält Beispiele für die Nachverfolgung der Modellentwicklung in Azure Databricks. Protokollieren und verfolgen Sie ML- und Deep Learning-Modelle automatisch mit MLflow oder manuell mit der MLflow-API nach.

Modellnachverfolgung und MLflow

Die Modellentwicklung ist ein iterativer Prozess, und es ist unter Umständen nicht immer leicht, bei der Modellentwicklung und -optimierung den Überblick zu behalten. In Azure Databricks können Sie den Modellentwicklungsprozess mithilfe der MLflow-Nachverfolgung nachverfolgen – einschließlich getesteter Parametereinstellungen oder -kombinationen und deren Auswirkungen auf die Leistung des Modells.

Die MLflow-Nachverfolgung verwendet Experimente und Ausführungen, um die Entwicklung von ML- und Deep Learning-Modellen zu protokollieren und nachzuverfolgen. Eine Ausführung ist eine einzelne Ausführung des Modellcodes. Im Rahmen einer MLflow-Ausführung können Modellparameter und Ergebnisse protokolliert werden. Bei einem Experiment handelt es sich um eine Sammlung verwandter Ausführungen. Im Rahmen eines Experiments können Sie Ausführungen vergleichen und filtern, um zu ermitteln, wie gut das Modell funktioniert und wie die Leistung des Modells mit den Parametereinstellungen, Eingabedaten usw. zusammenhängt.

Die Notebooks in diesem Artikel enthalten einfache Beispiele für den schnellen Einstieg, um Sie bei der Nachverfolgung Ihrer Modellentwicklung mithilfe von MLflow zu unterstützen. Ausführlichere Informationen zur Verwendung der MLflow-Nachverfolgung in Azure Databricks finden Sie unter Nachverfolgen von ML- und Deep Learning-Trainingsausführungen.

Hinweis

Die MLflow-Nachverfolgung unterstützt keine Aufträge, die mit spark_submit_task in der Jobs-API übermittelt wurden. Stattdessen können Sie Spark-Code mithilfe von MLflow-Projekten ausführen.

Verwenden der automatischen Protokollierung zum Nachverfolgen der Modellentwicklung

Von MLflow kann automatisch Trainingscode protokolliert werden, der in vielen ML- und Deep Learning-Frameworks geschrieben wurde. Dies ist die einfachste Möglichkeit, um mit der MLflow-Nachverfolgung zu beginnen.

Dieses Beispielnotebook zeigt, wie Sie die automatische Protokollierung mit scikit-learn verwenden. Informationen zur automatischen Protokollierung mit anderen Python-Bibliotheken finden Sie unter Automatisches Protokollieren von Trainingsausführungen in MLflow.

Automatische MLflow-Protokollierung: Python-Notebook

Notebook abrufen

Verwenden der Protokollierungs-API zum Nachverfolgen der Modellentwicklung

Dieses Notebook veranschaulicht die Verwendung der MLflow-Protokollierungs-API. Mit der Protokollierungs-API haben Sie mehr Kontrolle über die protokollierten Metriken und können zusätzliche Artefakte wie Tabellen oder Plots protokollieren.

Dieses Beispielnotebook zeigt die Verwendung der Python-Protokollierungs-API. MLflow verfügt auch über REST-, R- und Java-APIs.

MLflow-Protokollierungs-API: Python-Notebook

Notebook abrufen

End-to-End-Beispiel

Dieses Tutorialnotebook zeigt ein End-to-End-Beispiel für das Trainieren eines Modells in Azure Databricks. Es umfasst das Laden von Daten, das Visualisieren der Daten und das Einrichten einer parallelen Hyperparameteroptimierung sowie die Verwendung von MLflow zur Überprüfung der Ergebnisse, zur Registrierung des Modells und zur Durchführung von Rückschlussvorgängen für neue Daten unter Verwendung des registrierten Modells in einer benutzerdefinierten Spark-Funktion (User Defined Function, UDF).

Anforderungen

Databricks Runtime ML

Notebook mit Beispielen

Wenn Ihr Arbeitsbereich für Unity Catalog aktiviert ist, verwenden Sie diese Version des Notebooks:

Verwenden von scikit-learn mit MLflow-Integration in Databricks (Unity Catalog)

Notebook abrufen

Wenn Ihr Arbeitsbereich nicht für Unity Catalog aktiviert ist, verwenden Sie diese Version des Notebooks:

Verwenden von scikit-learn mit MLflow-Integration in Databricks

Notebook abrufen