Machine Learning-Experimente in Microsoft Fabric
Ein Machine Learning-Experiment ist die primäre Einheit von organization und Steuerung für alle zugehörigen Machine Learning-Ausführungen. Eine Ausführung entspricht einer einzelnen Ausführung von Modellcode. In MLflow basiert die Nachverfolgung auf Experimenten und Ausführungen.
Wichtig
Microsoft Fabric befindet sich derzeit in der Vorschauversion. Diese Informationen beziehen sich auf eine Vorabversion des Produkts, an der vor der Veröffentlichung noch wesentliche Änderungen vorgenommen werden können. Microsoft übernimmt keine Garantie, weder ausdrücklich noch stillschweigend, für die hier bereitgestellten Informationen.
Machine Learning-Experimente ermöglichen Es Data Scientists, Parameter, Codeversionen, Metriken und Ausgabedateien zu protokollieren, wenn sie ihren Machine Learning-Code ausführen. Mit Experimenten können Sie außerdem Ausführungsläufe visualisieren, suchen und vergleichen sowie Ausführungsdateien und Metadaten für die Analyse in anderen Tools herunterladen.
In diesem Artikel erfahren Sie mehr darüber, wie Data Scientists mit Machine Learning-Experimenten interagieren und diese verwenden können, um ihren Entwicklungsprozess zu organisieren und mehrere Ausführungen nachzuverfolgen.
Voraussetzungen
- Ein Power BI Premium-Abonnement. Wenn Sie noch keines haben, finden Sie weitere Informationen unter So erwerben Sie Power BI Premium.
- Ein Power BI-Arbeitsbereich mit zugewiesener Premium-Kapazität.
Erstellen eines Experiments
Sie können ein Machine Learning-Experiment direkt über die Data Science-Startseite in der Power BI-Benutzeroberfläche erstellen oder Code schreiben, der die MLflow-API verwendet.
Erstellen eines Experiments über die Benutzeroberfläche
So erstellen Sie ein Machine Learning-Experiment über die Benutzeroberfläche:
Erstellen Sie einen neuen Data Science-Arbeitsbereich, oder wählen Sie einen vorhandenen aus.
Wählen Sie im Abschnitt "Neu" die Option Experiment aus.
Geben Sie einen Experimentnamen an, und wählen Sie Erstellen aus. Diese Aktion erstellt ein leeres Experiment in Ihrem Arbeitsbereich.
Nachdem Sie das Experiment erstellt haben, können Sie mit dem Hinzufügen von Ausführungen beginnen, um Ausführungsmetriken und -parameter nachzuverfolgen.
Erstellen eines Experiments mithilfe der MLflow-API
Sie können ein Machine Learning-Experiment auch direkt aus Ihrer Erstellungsumgebung mithilfe der mlflow.create_experiment()
-APIs oder mlflow.set_experiment()
erstellen. Ersetzen Sie <EXPERIMENT_NAME>
im folgenden Code durch den Namen Ihres Experiments.
import mlflow
# This will create a new experiment with the provided name.
mlflow.create_experiment("<EXPERIMENT_NAME>")
# This will set the given experiment as the active experiment.
# If an experiment with this name does not exist, a new experiment with this name is created.
mlflow.set_experiment("<EXPERIMENT_NAME>")
Verwalten von Ausführungen innerhalb eines Experiments
Ein Machine Learning-Experiment enthält eine Sammlung von Ausführungen für die vereinfachte Nachverfolgung und den Vergleich. Innerhalb eines Experiments kann ein Datenwissenschaftler über verschiedene Ausführungen navigieren und die zugrunde liegenden Parameter und Metriken untersuchen. Data Scientists können auch Ausführungen innerhalb eines Machine Learning-Experiments vergleichen, um zu ermitteln, welche Teilmenge von Parametern eine gewünschte Modellleistung ergibt.
Nachverfolgen von Ausführungen
Eine Machine Learning-Ausführung entspricht einer einzelnen Ausführung von Modellcode.
Jede Ausführung enthält die folgenden Informationen:
- Quelle: Name des Notebooks, das die Ausführung erstellt hat.
- Registrierte Version: Gibt an, ob die Ausführung als Machine Learning-Modell gespeichert wurde.
- Startdatum: Startzeit der Ausführung.
- Status: Status der Ausführung.
- Hyperparameter: Hyperparameter, die als Schlüssel-Wert-Paare gespeichert werden. Sowohl Schlüssel als auch Werte sind Zeichenfolgen.
- Metriken: Führen Sie Metriken aus, die als Schlüssel-Wert-Paare gespeichert sind. Der Wert ist numerisch.
- Ausgabedateien: Ausgabedateien in einem beliebigen Format. Sie können beispielsweise Bilder, Umgebungen, Modelle und Datendateien aufzeichnen.
Vergleichen und Filtern von Ausführungen
Um die Qualität Ihrer Machine Learning-Ausführungen zu vergleichen und auszuwerten, können Sie die Parameter, Metriken und Metadaten zwischen ausgewählten Ausführungen innerhalb eines Experiments vergleichen.
Visueller Vergleich von Ausführungen
Sie können Ausführungen innerhalb eines vorhandenen Experiments visuell vergleichen und filtern. Dadurch können Sie problemlos zwischen mehreren Ausführungen navigieren und diese sortieren.
So vergleichen Sie Ausführungen:
- Wählen Sie ein vorhandenes Machine Learning-Experiment aus, das mehrere Ausführungen enthält.
- Wählen Sie die Registerkarte Ansicht aus, und wechseln Sie dann zur Ansicht Ausführen der Liste . Alternativ können Sie die Option Ausführungsliste direkt in der Ansicht Ausführungsdetails anzeigen auswählen.
- Passen Sie die Spalten in der Tabelle an, indem Sie den Bereich Spalten anpassen erweitern. Hier können Sie die Eigenschaften, Metriken und Hyperparameter auswählen, die Angezeigt werden sollen.
- Erweitern Sie den Bereich Filter , um Ihre Ergebnisse basierend auf bestimmten ausgewählten Kriterien einzugrenzen.
- Wählen Sie mehrere Ausführungen aus, um deren Ergebnisse im Metrikvergleichsbereich zu vergleichen. In diesem Bereich können Sie die Diagramme anpassen, indem Sie den Diagrammtitel, den Visualisierungstyp, die X-Achse, die Y-Achse und vieles mehr ändern.
Vergleichen von Ausführungen mithilfe der MLflow-API
Data Scientists können MLflow auch zum Abfragen und Durchsuchen von Ausführungen innerhalb eines Experiments verwenden. Weitere MLflow-APIs zum Suchen, Filtern und Vergleichen von Ausführungen finden Sie in der MLflow-Dokumentation.
Abrufen aller Ausführungen
Sie können die MLflow-Such-API mlflow.search_runs()
verwenden, um alle Ausführungen in einem Experiment abzurufen, indem Sie durch Ihren Experimentnamen oder <EXPERIMENT_ID>
durch Ihre Experiment-ID im folgenden Code ersetzen<EXPERIMENT_NAME>
:
import mlflow
# Get runs by experiment name:
mlflow.search_runs(experiment_names=["<EXPERIMENT_NAME>"])
# Get runs by experiment ID:
mlflow.search_runs(experiment_ids=["<EXPERIMENT_ID>"])
Tipp
Sie können mehrere Experimente durchsuchen, indem Sie dem Parameter eine Liste mit Experiment-IDs experiment_ids
bereitstellen. Ebenso ermöglicht das Bereitstellen einer Liste von Experimentnamen für den experiment_names
Parameter MLflow die Suche über mehrere Experimente hinweg. Dies kann nützlich sein, wenn Sie in verschiedenen Experimenten übergreifende Läufe vergleichen möchten.
Reihenfolge und Limitausführungen
Verwenden Sie den max_results
Parameter von, search_runs
um die Anzahl der zurückgegebenen Ausführungen zu begrenzen. Mit order_by
dem Parameter können Sie die Spalten auflisten, nach der sie sortiert werden sollen, und sie können einen optionalen DESC
Oder ASC
-Wert enthalten. Für instance gibt das folgende Beispiel die letzte Ausführung eines Experiments zurück.
mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])
Ausführung als Modell speichern
Sobald eine Ausführung das gewünschte Ergebnis ergibt, können Sie die Ausführung als Modell für die erweiterte Modellnachverfolgung und für die Modellbereitstellung speichern.