Freigeben über


Einrichten einer Entwicklungsumgebung mit Azure Databricks und automatisiertem maschinellem Lernen in Azure Machine Learning

Hier erfahren Sie, wie Sie in Azure Machine Learning eine Entwicklungsumgebung konfigurieren, die Azure Databricks und automatisiertes maschinelles Lernen (AutoML) verwendet.

Azure Databricks eignet sich ideal für die Ausführung umfangreicher ML-Workflows auf der skalierbaren Apache Spark-Plattform in der Azure-Cloud. Für die Zusammenarbeit wird eine Notebook-basierte Umgebung mit CPU- oder GPU-basierten Computeressourcen bereitgestellt.

Informationen zu anderen Entwicklungsumgebungen für maschinelles Lernen finden Sie unter Einrichten einer Python-Entwicklungsumgebung.

Voraussetzung

Einen Azure Machine Learning-Arbeitsbereich. Verwenden Sie zum Erstellen eines solchen Arbeitsbereichs die Schritte im Artikel Erstellen von Arbeitsbereichsressourcen.

Azure Databricks mit Azure Machine Learning und automatisiertem maschinellem Lernen

Azure Databricks lässt sich in Azure Machine Learning und die zugehörigen AutoML-Funktionen integrieren.

Sie können Azure Databricks für Folgendes verwenden:

  • Trainieren eines Modells mithilfe von Spark MLlib und Bereitstellen des Modells ACI/AKS
  • Über ein Azure Machine Learning SDK mit AutoML-Funktionen.
  • Nutzen als Computeziel einer Azure Machine Learning-Pipeline

Einrichten von Databricks-Computeressourcen

Erstellen Sie eine Databricks-Computeressource. Einige Einstellungen sind nur erforderlich, wenn Sie das SDK für automatisiertes Machine Learning in Databricks verwenden.

Die Erstellung der Computeressource dauert einige Minuten.

Verwenden Sie die folgenden Einstellungen:

Einstellung Anwendungsbereich Wert
Computename immer yourcomputename
Databricks-Runtimeversion immer 9.1 LTS
Python-Version immer 3
Workertyp
(bestimmt die maximale Anzahl gleichzeitiger Iterationen)
Automatisiertes maschinelles Lernen
Machine Learning
Arbeitsspeicheroptimierte VM bevorzugt
Worker immer 2 oder mehr
Automatische Skalierung aktivieren Automatisiertes maschinelles Lernen
Machine Learning
Deaktivieren

Warten Sie, bis die Computeressource ausgeführt wird, bevor Sie den Vorgang fortsetzen.

Hinzufügen des Azure Machine Learning SDK zu Databricks

Sobald die Computeressource ausgeführt wird, erstellen Sie eine Bibliothek, um das entsprechende Azure Machine Learning SDK-Paket an Ihre Computeressource anzufügen.

Um AutoML zu verwenden, fahren Sie mit Hinzufügen des Azure Machine Learning SDK mit AutoML zu Databricks fort.

  1. Klicken Sie mit der rechten Maustaste auf den aktuellen Arbeitsbereichsordner, in dem Sie die Bibliothek speichern möchten. Wählen Sie Bibliothek>erstellen aus.

    Tipp

    Wenn Sie eine alte SDK-Version nutzen, deaktivieren Sie diese in den installierten Bibliotheken der Computeressource, und verschieben Sie sie in den Papierkorb. Installieren Sie die neue SDK-Version, und starten Sie die Computeressource neu. Wenn nach dem Neustart ein Problem auftritt, trennen Sie Ihre Computeressource, und fügen Sie sie wieder an.

  2. Wählen Sie die folgende Option aus (andere SDK-Installationen werden nicht unterstützt).

    SDK-Paketergänzungen Quelle PyPi-Name
    Für Databricks Python Egg oder PyPI hochladen azureml-sdk[databricks]

    Warnung

    Sie können keine weiteren SDK-Zusatzkomponenten installieren. Wählen Sie nur die [databricks]-Option aus.

    • Wählen Sie nicht Automatisch an alle Computeressourcen anfügen aus.
    • Wählen Sie Anfügen neben dem Namen Ihrer Computeressource aus.
  3. Der Status wird in Angefügt geändert. Dieser Vorgang kann einige Minuten in Anspruch nehmen. Überprüfen Sie währenddessen, ob Fehler auftreten. Wenn bei diesem Schritt ein Fehler auftritt:

    Starten Sie Ihre Computeressource folgendermaßen neu:

    1. Wählen Sie im linken Bereich Computeressource aus.
    2. Wählen Sie in der Tabelle den Namen Ihrer Computeressource aus.
    3. Klicken Sie auf der Registerkarte Bibliotheken auf Neu starten.

    Bei einer erfolgreichen Installation wird unter der Statusspalte Installiert angezeigt.

Hinzufügen des Azure Machine Learning SDK mit AutoML zu Databricks

Wenn die Computeressource mit Databricks Runtime 7.3 LTS oder höher (nicht ML) erstellt wurde, führen Sie den folgenden Befehl in der ersten Zelle Ihres Notebooks aus, um das Azure Machine Learning SDK zu installieren.

%pip install --upgrade --force-reinstall -r https://aka.ms/automl_linux_requirements.txt

AutoML-Konfigurationseinstellungen

Fügen Sie in der AutoML-Konfiguration bei Verwendung von Azure Databricks die folgenden Parameter hinzu:

  • max_concurrent_iterations basiert auf der Anzahl der Workerknoten in Ihrer Computeressource.
  • spark_context=sc basiert auf dem standardmäßigen Spark-Kontext.

ML-Notebooks, die mit Azure Databricks funktionieren

So können Sie Azure Databricks testen:

  • Von den vielen verfügbaren Beispielnotebooks können nur ganz bestimmte mit Azure Databricks verwendet werden.

  • Importieren Sie diese Beispiele direkt aus Ihrem Arbeitsbereich:

    1. Klicken Sie in Ihrem Arbeitsbereich mit der rechten Maustaste auf einen Ordner in Ihrem Arbeitsbereich, und wählen Sie Importieren aus.
    2. Geben Sie die URL an, oder navigieren Sie zu einer Datei, die ein unterstütztes externes Format oder ein ZIP-Archiv von Notebooks enthält, die aus einem Databricks-Arbeitsbereich exportiert wurden.
    3. Klicken Sie auf Importieren.
  • Erfahren Sie, wie Sie mit Databricks als Computeziel für das Trainieren von Modellen eine Pipeline erstellen.

Problembehandlung

  • Databricks – Abbrechen einer Ausführung von automatisiertem maschinellem Lernen: Wenn Sie Funktionen für automatisiertes maschinelles Lernen in Azure Databricks verwenden, um eine Ausführung abzubrechen und eine neue Experimentausführung zu starten, starten Sie Ihre Azure Databricks-Computeressource neu.

  • Databricks > als zehn Iterationen von automatisiertem maschinellem Lernen: Sofern in den Einstellungen für automatisiertes maschinelles Lernen mehr als zehn Iterationen vorgesehen sind, legen Sie show_output auf False fest, wenn Sie die Ausführung übermitteln.

  • Databricks-Widget für das Azure Machine Learning SDK und automatisiertes maschinelles Lernen: Das Azure Machine Learning SDK-Widget wird in Databricks-Notebooks nicht unterstützt, da die Notebooks keine HTML-Widgets analysieren können. Sie können das Widget im Portal anzeigen, indem Sie diesen Python-Code in die Zelle Ihres Azure Databricks-Notebooks einfügen:

    displayHTML("<a href={} target='_blank'>Azure Portal: {}</a>".format(local_run.get_portal_url(), local_run.id))
    
  • Fehler beim Installieren von Paketen

    Bei der Installation des Azure Machine Learning SDK tritt in Azure Databricks ein Fehler auf, wenn mehrere Pakete installiert werden. Einige Pakete, z.B. psutil, können Konflikte verursachen. Um Fehler bei der Installation zu vermeiden, frieren Sie die Bibliotheksversion beim Installieren der Pakete ein. Dieses Problem hängt mit Databricks und nicht mit dem Azure Machine Learning SDK zusammen. Es kann auch mit anderen Bibliotheken auftreten. Beispiel:

    psutil cryptography==1.5 pyopenssl==16.0.0 ipython==2.2.0
    

    Falls bei Python-Bibliotheken immer wieder Installationsprobleme auftreten, können Sie alternativ Initialisierungsskripts verwenden. Dieser Ansatz wird nicht offiziell unterstützt. Weitere Informationen finden Sie unter Initialisierungsskripts im Clusterbereich.

  • Importfehler: Der Name Timedelta kann nicht aus pandas._libs.tslibs importiert werden: Wenn dieser Fehler angezeigt wird, wenn Sie automatisiertes Machine Learning verwenden, führen Sie die beiden folgenden Zeilen in Ihrem Notebook aus:

    %sh rm -rf /databricks/python/lib/python3.7/site-packages/pandas-0.23.4.dist-info /databricks/python/lib/python3.7/site-packages/pandas
    %sh /databricks/python/bin/pip install pandas==0.23.4
    
  • Importfehler: Kein Modul mit dem Namen „pandas.core.indexes“ : Wenn diese Fehlermeldung bei Verwendung von automatisiertem maschinellem Lernen angezeigt wird, gehen Sie folgendermaßen vor:

    1. Führen Sie diesen Befehl aus, um zwei Pakete in Ihrer Azure Databricks-Computeressource zu installieren:

      scikit-learn==0.19.1
      pandas==0.22.0
      
    2. Trennen Sie die Computeressource, und verbinden Sie sie dann wieder mit Ihrem Notebook.

    Wenn diese Schritte das Problem nicht beheben, starten Sie die Computeressource neu.

  • FailToSendFeather: Sollte beim Lesen von Daten aus einer Azure Databricks-Computeressource ein Fehler vom Typ FailToSendFeather auftreten, haben Sie folgende Möglichkeiten:

    • Upgraden Sie das Paket azureml-sdk[automl] auf die aktuelle Version.
    • Fügen Sie mindestens die Version 1.1.8 von azureml-dataprep hinzu.
    • Fügen Sie mindestens die Version 0.11 von pyarrow hinzu.

Nächste Schritte