Trainieren von ML-Modellen mit der Azure Databricks AutoML-Benutzeroberfläche

In diesem Artikel wird veranschaulicht, wie Sie ein Machine Learning-Modell mithilfe von AutoML und der Databricks Machine Learning-Benutzeroberfläche trainieren. Die AutoML-Benutzeroberfläche führt Sie schrittweise durch den Prozess zum Trainieren eines Klassifizierungs-, Regressions- oder Vorhersagemodells für ein Dataset.

So greifen Sie auf die Benutzeroberfläche zu:

  1. Wählen Sie auf der Randleiste Neu > AutoML-Experiment aus.

    Sie können auch ein neues AutoML-Experiment auf der Seite Experimente erstellen.

    Die Seite AutoML-Experiment konfigurieren wird angezeigt. Auf dieser Seite konfigurieren Sie den AutoML-Prozess und geben die Spalten für Dataset, Problemtyp, Ziel oder Bezeichnung, die vorhergesagt werden sollen, die Metrik zum Auswerten und Bewerten der Experimentausführungen sowie die Bedingungen zum Beenden an.

Anforderungen

Weitere Informationen finden Sie unter Anforderungen für AutoML-Experimente.

Einrichten von Klassifizierungs- oder Regressionsproblemen

Sie können ein Klassifizierungs- oder Regressionsproblem in der AutoML-Benutzeroberfläche anhand der folgenden Schritte einrichten:

  1. Wählen Sie im Feld Compute einen Cluster aus, auf dem Databricks Runtime ML ausgeführt wird.

  2. Wählen Sie im Dropdownmenü ML-Problemtyp die Option Regression oder Klassifizierung aus. Wenn Sie versuchen, einen kontinuierlichen numerischen Wert für jede Beobachtung vorherzusagen, z. B. das jährliche Einkommen, wählen Sie „Regression“ aus. Wenn Sie versuchen, jede Beobachtung einer diskreten Menge von Klassen zuzuweisen, z. B. eine gute Kreditrisikobewertung oder eine schlechte Kreditrisikobewertung, wählen Sie die Klassifizierung aus.

  3. Wählen Sie unter Dataset die Option Durchsuchen aus.

  4. Navigieren Sie zu der Tabelle, die Sie verwenden möchten, und klicken Sie auf Auswählen. Das Tabellenschema wird angezeigt.

    Nur bei Klassifizierungs- und Regressionsproblemen können Sie angeben, welche Spalten in das Training eingeschlossen werden sollen, und benutzerdefinierte Imputationsmethoden auswählen.

  5. Klicken Sie in das Feld Vorhersageziel. Eine Dropdownliste mit den im Schema angezeigten Spalten wird angezeigt. Wählen Sie die Spalte aus, die das Modell vorhersagen soll.

  6. Im Feld Experimentname wird der Standardname angezeigt. Geben Sie den neuen Namen in das Feld ein, um ihn zu ändern.

Weitere Funktionen:

Einrichten von Vorhersageproblemen

Sie können ein Vorhersageproblem in der AutoML-Benutzeroberfläche anhand der folgenden Schritte einrichten:

  1. Wählen Sie im Feld Compute einen Cluster aus, auf dem Databricks Runtime 10.0 ML oder höher ausgeführt wird.
  2. Wählen Sie im Dropdownmenü ML Problemtyp die Option Vorhersage aus.
  3. Klicken Sie unter Dataset auf Durchsuchen. Navigieren Sie zu der Tabelle, die Sie verwenden möchten, und klicken Sie auf Auswählen. Das Tabellenschema wird angezeigt.
  4. Klicken Sie in das Feld Vorhersageziel. Ein Dropdownmenü mit den im Schema angezeigten Spalten wird angezeigt. Wählen Sie die Spalte aus, die das Modell vorhersagen soll.
  5. Klicken Sie in das Feld Zeitspalte. Eine Dropdown-Ansicht mit den Dataset-Spalten des Typs timestamp oder date wird angezeigt. Wählen Sie die Spalte mit den Zeiträumen für die Zeitreihe aus.
  6. Wählen Sie für die Mehrreihen-Vorhersage die Spalten aus dem Dropdown Zeitreihenbezeichner aus, die die einzelnen Zeitreihen bezeichnen. AutoML gruppiert die Daten nach diesen Spalten als unterschiedliche Zeitreihen und trainiert ein Modell für jede Reihe unabhängig voneinander. Wenn Sie dieses Feld leer lassen, geht AutoML davon aus, dass das Dataset eine einzelne Zeitreihe enthält.
  7. Geben Sie in den Feldern Vorhersagehorizont und Häufigkeit die Anzahl der Zeiträume in der Zukunft an, für die AutoML vorhergesagte Werte berechnen soll. Geben Sie im linken Feld die ganze Zahl der Zeiträume ein, die vorhergesagt werden sollen. Wählen Sie im rechten Feld die Einheiten aus. .. note :: Um Auto-ARIMA verwenden zu können, muss die Zeitreihe eine reguläre Häufigkeit aufweisen (d. h., das Intervall zwischen zwei beliebigen Punkten muss während der gesamten Zeitreihe identisch sein). Die Häufigkeit muss mit der im API-Aufruf oder in der AutoML-Benutzeroberfläche angegebenen Häufigkeitseinheit übereinstimmen. AutoML behandelt fehlende Zeitschritte, indem diese Werte mit dem vorherigen Wert aufgefüllt werden.
  8. In Databricks Runtime 11.3 LTS ML und höher können Sie Vorhersageergebnisse speichern. Geben Sie dazu eine Datenbank im Feld Ausgabedatenbank an. Klicken Sie auf Durchsuchen, und wählen Sie im Dialogfeld eine Datenbank aus. AutoML schreibt die Vorhersageergebnisse in eine Tabelle in dieser Datenbank.
  9. Im Feld Experimentname wird der Standardname angezeigt. Geben Sie den neuen Namen in das Feld ein, um ihn zu ändern.

Weitere Funktionen:

Verwenden vorhandener Featuretabellen aus dem Databricks-Featurespeicher

In Databricks Runtime 11.3 LTS ML und höher können Sie Featuretabellen im Databricks-Feature-Store verwenden, um das Eingabetrainingsdataset für Ihre Klassifizierungs- und Regressionsprobleme zu erweitern.

In Databricks Runtime 12.2 LTS ML und höher können Sie Featuretabellen im Databricks-Feature-Store verwenden, um das Eingabetrainingsdataset für alle Ihre Probleme für automatisiertes ML zu erweitern: Klassifizierung, Regression und Vorhersage.

Informationen zum Erstellen einer Featuretabelle finden Sie unter Create a feature table in Unity Catalog bzw. Create a feature table in Databricks Feature Store.

Nachdem Sie das AutoML-Experiment konfiguriert haben, können Sie anhand der folgenden Schritte eine Featuretabelle auswählen:

  1. Klicken Sie auf Features verknüpfen (optional).

    Auswählen der Schaltfläche „Features verknüpfen“

  2. Wählen Sie auf der Seite Zusätzliche Features verknüpfen im Feld Featuretabelle eine Featuretabelle aus.

  3. Wählen Sie für jeden Primärschlüssel der Featuretabelle den entsprechenden Nachschlageschlüssel aus. Der Nachschlageschlüssel sollte eine Spalte in dem Trainingsdataset sein, das Sie für Ihr AutoML-Experiment bereitgestellt haben.

  4. Wählen Sie für Zeitreihen-Featuretabellen den entsprechenden Zeitstempel-Nachschlageschlüssel aus. Der Zeitstempel-Nachschlageschlüssel sollte in ähnlicher Weise eine Spalte in dem Trainingsdataset sein, das Sie für Ihr AutoML-Experiment bereitgestellt haben.

    Auswählen von Primärschlüssel und Nachschlagetabellen

  5. Um weitere Featuretabellen hinzuzufügen, klicken Sie auf Weitere Tabelle hinzufügen, und wiederholen Sie die oben genannten Schritte.

Erweiterte Konfigurationen

Öffnen Sie den Abschnitt Erweiterte Konfiguration (optional), um auf diese Parameter zuzugreifen.

  • Die Auswertungsmetrik ist die primäre Metrik, die zum Bewerten der Ausführungen verwendet wird.
  • In Databricks Runtime 10.4 LTS ML und höher können Sie Trainings-Frameworks von der Berücksichtigung ausschließen. AutoML trainiert standardmäßig Modelle mithilfe von Frameworks, die unter AutoML-Algorithmen aufgeführt sind.
  • Sie können die Bedingungen zum Beenden bearbeiten. Standardmäßige Bedingungen zum Beenden sind:
    • Bei Vorhersageexperimenten nach 120 Minuten beenden.
    • In Databricks Runtime 10.4 LTS ML und unterhalb werden Klassifizierungs- und Regressionsexperimenten nach 60 Minuten oder nach Abschluss von 200 Testversionen beendet, je nachdem, was früher geschieht. Für Databricks-Runtime 11.0 ML und höher wird die Anzahl der Testversionen nicht als Stoppbedingung verwendet.
    • Databricks Runtime 10.4 LTS ML und höher beinhaltet AutoML frühes Beenden für Klassifizierungs- und Regressionsexperimente. Es beendet das Training und die Optimierung von Modellen, wenn sich die Validierungsmetrik nicht weiter verbessert.
  • In Databricks Runtime 10.4 LTS ML und höher können Sie eine Zeitspalte auswählen, um die Daten für Training, Validierung und Tests in chronologischer Reihenfolge aufzuteilen (gilt nur für Klassifizierung und Regression).
  • Databricks empfiehlt, das Feld Datenverzeichnis nicht aufzufüllen. Wenn Sie es auffüllen, wird das Standardverhalten ausgelöst, bei dem das Dataset sicher als MLflow-Artefakt gespeichert wird. Ein DBFS-Pfad kann angegeben werden, in diesem Fall erbt das Dataset jedoch nicht die Zugriffsberechtigungen des AutoML-Experiments.

Spaltenauswahl

Hinweis

Diese Funktionalität ist nur für Klassifizierungs- und Regressionsprobleme verfügbar.

In Databricks Runtime 10.3 ML und höher können Sie angeben, welche Spalten AutoML für das Training verwenden soll. Um eine Spalte auszuschließen, deaktivieren Sie diese in der Spalte Einschließen.

Sie können die Spalte, die Sie als Vorhersageziel oder als Zeitspalte zum Aufteilen der Daten ausgewählt wurde, nicht löschen.

Alle Spalten sind standardmäßig eingeschlossen.

Imputation fehlender Werte

In Databricks Runtime 10.4 LTS ML und höher können Sie angeben, wie NULL-Werte imputiert werden. Wählen Sie auf der Benutzeroberfläche eine Methode aus der Dropdownliste in der Spalte Imputation mit im Tabellenschema aus.

AutoML wählt als Standard eine Imputationsmethode auf der Grundlage des Spaltentyps und des Inhalts aus.

Hinweis

Wenn Sie eine nicht standardmäßige Imputationsmethode angeben, führt AutoML keine semantische Typerkennung durch.

Ausführen des Experiments und Überwachen der Ergebnisse

Klicken Sie auf AutoML starten, um das AutoML-Experiment zu starten. Das Experiment beginnt mit der Ausführung, und die AutoML-Trainingsseite wird angezeigt. Klicken Sie auf Aktualisieren-Schaltfläche, um die Liste zu aktualisieren.

Auf der Seite haben Sie folgende Möglichkeiten:

  • Beenden Sie das Experiment jederzeit.
  • Öffnen Sie das Notebook für das Durchsuchen von Daten.
  • Überwachen Sie Ausführungen.
  • Navigieren Sie für jede Ausführung zur Ausführungsseite.

Bei Databricks Runtime 10.1 ML und höher zeigt AutoML Warnungen für potenzielle Probleme mit dem Dataset an, z. B. nicht unterstützte Spaltentypen oder Spalten mit hoher Kardinalität.

Hinweis

Databricks versucht, potenzielle Fehler oder Probleme anzuzeigen. Dies ist jedoch möglicherweise nicht umfassend und erfasst möglicherweise nicht die Probleme oder Fehler, nach denen Sie suchen. Stellen Sie sicher, dass Sie auch Ihre eigenen Überprüfungen durchführen.

Um Warnungen für das Dataset anzuzeigen, klicken Sie auf der Trainingsseite oder nach Abschluss des Experiments auf der Experimentseite auf die Registerkarte Warnungen.

Warnungen für automatisiertes ML

Nach Abschluss des Experiments haben Sie folgende Möglichkeiten:

  • Registrieren Sie eines der Modelle und stellen Sie es mit MLflow bereit.
  • Wählen Sie Notebook für das beste Modell anzeigen aus, um das Notebook, das das beste Modell erstellt hat, zu überprüfen und zu bearbeiten.
  • Wählen Sie Notebook für das Durchsuchen von Daten anzeigen aus, um das Notebook für die Datenuntersuchung zu öffnen.
  • Suchen, filtern und sortieren Sie die Ausführungen in der Tabelle „Ausführungen“.
  • Details zu jeder Ausführung finden Sie hier:
    • Sie können das generierte Notebook mit dem Quellcode für eine Testausführung anzeigen, indem Sie in die MLflow-Ausführung klicken. Das Notebook ist im Abschnitt Artifacts (Artefakte) der Ausführungsseite gespeichert. Sie können dieses Notebook herunterladen und in den Arbeitsbereich importieren, wenn das Herunterladen von Artefakten von Ihren Arbeitsbereichsadministratoren aktiviert wurde.
    • Klicken Sie auf die Spalte Modelle oder die Spalte Startzeit, um die Ergebnisse der Ausführung anzuzeigen. Die Ausführungsseite wird angezeigt und enthält Informationen über den Testlauf (z. B. Parameter, Metriken und Tags) sowie die durch die Ausführung erstellten Artefakte, einschließlich des Modells. Diese Seite enthält auch Codeausschnitte, die Sie verwenden können, um mit dem Modell Vorhersagen zu machen.

Um später zu diesem AutoML-Experiment zurückzukehren, finden Sie es in der Tabelle auf der Experimente-Seite. Die Ergebnisse der einzelnen AutoML-Experimente, einschließlich der Notebooks für Datenuntersuchungen und Trainings, werden in dem Order databricks_automl im Home-Ordner des Benutzers gespeichert, der das Experiment ausgeführt hat.

Registrieren und Bereitstellen eines Modells

Sie können Ihr Modell mit der AutoML-Benutzeroberfläche registrieren und bereitstellen:

  1. Klicken Sie auf den Link in der Spalte Modelle, damit das Modell registriert werden kann. Wenn eine Ausführung abgeschlossen ist, ist das beste Modell (basierend auf der primären Metrik) die oberste Zeile.
  2. Wählen Sie die Schaltfläche „Modell registrieren“ aus, um das Modell in der Modellregistrierung zu registrieren.
  3. Wählen Sie auf der Seitenleiste Symbol „Modelle“Modelle aus, um zur Modellregistrierung zu navigieren.
  4. Klicken Sie in der Modelltabelle auf den Namen Ihres Modells.
  5. Auf der Seite mit den registrierten Modellen können Sie das Modell mit Modellbereitstellung bereitstellen.

Kein Modul mit dem Namen „pandas.core.indexes.numeric

Wenn Sie ein Modell bereitstellen, das mithilfe von automatisiertem ML mit Model Serving erstellt wurde, erhalten Sie möglicherweise den Fehler: No module named 'pandas.core.indexes.numeric.

Dies ist auf eine inkompatible pandas-Version zwischen automatisiertes ML und der Endpunktumgebung der Modellbereitstellung zurückzuführen. Sie können diesen Fehler beheben, indem Sie das Skript „add-pandas-dependency.py“ ausführen. Das Skript bearbeitet die requirements.txt und conda.yaml für Ihr protokolliertes Modell so, dass die entsprechende pandas-Abhängigkeitsversion enthalten ist: pandas==1.5.3

  1. Ändern Sie das Skript so, dass es die run_id der MLflow-Ausführung einschließt, in der Ihr Modell protokolliert wurde.
  2. Erneutes Registrieren des Modells in der MLflow-Modellregistrierung.
  3. Versuchen Sie, die neue Version des MLflow-Modells bereitzustellen.