Machine Learning-Modell in Microsoft Fabric

Ein Machine Learning-Modell ist eine Datei, die trainiert wurde, bestimmte Arten von Mustern zu erkennen. Sie trainieren ein Modell für ein Dataset und stellen es mit einem Algorithmus bereit, der dieses Dataset für Auswertungen und zum Lernen verwendet. Nachdem Sie das Modell trainiert haben, können Sie damit zuvor unbekannte Daten auszuwerten und Vorhersagen zu diesen Daten zu treffen.

In MLflow kann ein Machine Learning-Modell mehrere Modellversionen enthalten. Hier kann jede Version eine Modelliteration darstellen. In diesem Artikel erfahren Sie, wie Sie mit ML-Modellen interagieren, um Modellversionen nachzuverfolgen und zu vergleichen.

Erstellen eines Machine Learning-Modells

In MLflow umfassen Machine Learning-Modelle ein Standardpaketformat. Dieses Format ermöglicht die Verwendung dieser Modelle in verschiedenen nachgelagerten Tools, einschließlich Batchrückschlüsse in Apache Spark. Das Format definiert eine Konvention zum Speichern eines Modells in verschiedenen „Varianten“, die von verschiedenen nachgelagerten Tools verstanden werden können.

Sie können ein Modell für maschinelles Lernen direkt von der Fabric-Benutzeroberfläche aus erstellen. Die MLflow-API bietet ebenfalls die Möglichkeit, direkt ein Modell zu erstellen.

So können Sie ein Machine Learning-Modell auf der Benutzeroberfläche erstellen:

  1. Erstellen Sie einen neuen Data Science-Arbeitsbereich, oder wählen Sie einen vorhandenen Data Science-Arbeitsbereich aus.

  2. Wählen Sie im Dropdownmenü + NeuModell aus, um ein leeres Modell in Ihrem Data Science-Arbeitsbereich zu erstellen.

    Screenshot showing the New drop-down menu.

  3. Nach der Modellerstellung können Sie Modellversionen hinzufügen, um Ausführungsmetriken und -parameter nachzuverfolgen. Registrieren oder speichern Sie Experimentausführungen in einem vorhandenen Modell.

Sie können ein Machine Learning-Experiment mit der mlflow.register_model()-API auch direkt in Ihrer Erstellungsumgebung erstellen. Wenn ein registriertes Machine Learning-Modell mit dem angegebenen Namen nicht vorhanden ist, wird es von der API automatisch erstellt.

import mlflow

model_uri = "runs:/{}/model-uri-name".format(run.info.run_id)
mv = mlflow.register_model(model_uri, "model-name")

print("Name: {}".format(mv.name))
print("Version: {}".format(mv.version))

Verwalten von Versionen innerhalb eines Machine Learning-Modells

Ein Machine Learning-Modell enthält eine Sammlung von Modellversionen, um Nachverfolgung und Vergleiche zu vereinfachen. In einem Modell kann ein Data Scientist durch verschiedene Modellversionen navigieren, um die zugrunde liegenden Parameter und Metriken zu untersuchen. Data Scientists können auch Vergleiche zwischen Modellversionen anstellen, um zu ermitteln, ob neuere Modelle möglicherweise bessere Ergebnisse liefern.

Nachverfolgen von Machine Learning-Modellen

Eine Machine Learning-Modellversion stellt ein einzelnes Modell dar, das für die Nachverfolgung registriert ist.

Screenshot showing the details screen of a model.

Jede Modellversion umfasst die folgenden Informationen:

  • Erstellungszeit: Datum und Uhrzeit der Modellerstellung.
  • Ausführungsname: Der Bezeichner für die Experimentausführungen, die zum Erstellen der jeweiligen Modellversion verwendet werden.
  • Hyperparameter: Hyperparameter werden als Schlüssel-Wert-Paare gespeichert. Sowohl Schlüssel als auch Werte sind Zeichenfolgen.
  • Metriken: Ausführungsmetriken, die als Schlüssel-Wert-Paare gespeichert werden. Der Wert ist numerisch.
  • Modellschema/-signatur: Eine Beschreibung der Modelleingaben und -ausgaben.
  • Protokollierte Dateien: Protokollierte Dateien in einem beliebigen Format. Sie können beispielsweise Bilder, Umgebungen, Modelle und Datendateien aufzeichnen.

Vergleichen und Filtern von Machine Learning-Modellen

Um die Qualität von Machine Learning-Modellversionen zu vergleichen und auszuwerten, können Sie die Parameter, Metriken und Metadaten zwischen ausgewählten Versionen vergleichen.

Visuelles Vergleichen von Machine Learning-Modellen

Sie können Ausführungen in einem vorhandenen Modell visuell vergleichen. Der visuelle Vergleich ermöglicht eine einfache Navigation zwischen mehreren Versionen und deren Einsortierung.

Screenshot showing a list of runs for comparison.

So können Sie Ausführungen vergleichen:

  1. Wählen Sie ein vorhandenes Machine Learning-Modell aus, das mehrere Versionen enthält.
  2. Wählen Sie die Registerkarte Ansicht aus, und navigieren Sie dann zur Ansicht Modellliste. Sie können auch die Option Modellliste anzeigen direkt in der Detailansicht auswählen.
  3. Sie können die Spalten in der Tabelle anpassen. Erweitern Sie den Bereich Spalten anpassen. Dort können Sie die Eigenschaften, Metriken und Hyperparameter auswählen, die angezeigt werden sollen.
  4. Schließlich können Sie im Bereich „Metrikvergleich“ mehrere Versionen auswählen, um deren Ergebnisse zu vergleichen. In diesem Bereich können Sie die Diagramme anpassen, indem Sie Änderungen an Diagrammtitel, Visualisierungstyp, X-Achse, Y-Achse usw. vornehmen.

Vergleichen von Machine Learning-Modellen mit der MLflow-API

Data Scientists können auch MLflow verwenden, um mehrere Modellen zu durchsuchen, die im Arbeitsbereich gespeichert sind. In der MLflow-Dokumentation finden Sie weitere MLflow-APIs für die Interaktion mit Modellen.

from pprint import pprint

client = MlflowClient()
for rm in client.list_registered_models():
    pprint(dict(rm), indent=4)

Anwenden von Machine Learning-Modellen

Nachdem Sie ein Modell mit einem Dataset trainiert haben, können Sie dieses Modell auf noch unbekannte Daten anwenden, um Vorhersagen zu generieren. Eine solche Verwendung von Modellen wird als Bewerten oder Ziehen von Rückschlüssen bezeichnet. Weitere Informationen zur Microsoft Fabric-Modellbewertung finden Sie im nächsten Abschnitt.