Machine Learning-Funktionen in Azure Synapse Analytics
Azure Synapse Analytics bietet verschiedene Machine Learning-Funktionen. Dieser Artikel bietet einen Überblick darüber, wie Sie Machine Learning im Kontext von Azure Synapse anwenden können.
In dieser Übersicht werden die verschiedenen Machine Learning-bezogenen Funktionen in Synapse aus Sicht eines Data Science-Prozesses behandelt.
Möglicherweise sind Sie damit vertraut, wie ein typischer Data Science-Prozess aussieht. Es handelt sich dabei um einen bekannten Prozess, den die meisten Machine Learning-Projekte einhalten.
Generell umfasst der Prozess die folgenden Schritte:
- Geschäftsverständnis (in diesem Artikel nicht beschrieben)
- Datenerfassung und -auswertung
- Modellierung
- Modellimplementierung und -bewertung
In diesem Artikel werden die Machine Learning-Funktionen von Azure Synapse in verschiedenen Analyse-Engines aus Sicht eines Data Science-Prozesses behandelt. Für jeden Schritt im Data Science Prozess werden die Azure Synapse-Funktionen, die hilfreich sein können, zusammengefasst.
Datenerfassung und -auswertung
Die meisten Machine Learning-Projekte umfassen etablierte Schritte, und einer dieser Schritte besteht darin, auf die Daten zuzugreifen und diese zu verstehen.
Datenquelle und -pipelines
Dank Azure Data Factory, einem nativ integrierten Teil von Azure Synapse, steht ein leistungsfähiger Satz von Tools für Datenerfassungs- und Datenorchestrierungspipelines zur Verfügung. Auf diese Weise können Sie problemlos Datenpipelines erstellen, um auf die Daten zuzugreifen und sie in ein Format zu transformieren, das von Machine Learning verwendet werden kann. Weitere Informationen zu Datenpipelines in Synapse.
Aufbereitung, Durchsuchen und Visualisierung von Daten
Ein wichtiger Teil des Machine Learning-Prozesses ist es, die Daten mittels Durchsuchen und Visualisierungen zu verstehen.
Abhängig davon, wo die Daten gespeichert sind, bietet Synapse eine Reihe verschiedener Tools zum Durchsuchen und Vorbereiten der Daten für die Analyse und für Machine Learning. Eine der schnellsten Möglichkeiten, um mit dem Durchsuchen von Daten zu beginnen, ist die Verwendung von Apache Spark oder serverlosen SQL-Pools direkt über Daten im Data Lake.
Apache Spark für Azure Synapse bietet Funktionen zum Transformieren, Vorbereiten und Untersuchen Ihrer Daten im großen Stil. Diese Spark-Pools bieten Tools wie PySpark/Python, Scala und .NET für die Datenverarbeitung im großen Stil. Mithilfe leistungsfähiger Visualisierungsbibliotheken lässt sich die Datenuntersuchungserfahrung verbessern, um die Daten besser verstehen zu können. Weitere Informationen über die Vorgehensweise beim Durchsuchen und Visualisieren von Daten in Synapse mithilfe von Spark.
Serverlose SQL-Pools bieten eine Möglichkeit, Daten mithilfe von TSQL direkt über den Data Lake zu durchsuchen. Serverlose SQL-Pools bieten auch einige integrierte Visualisierungen in Synapse Studio. Weitere Informationen zur Vorgehensweise beim Durchsuchen von Daten mit serverlosen SQL-Pools
Modellierung
In Azure Synapse kann das Training von Machine Learning-Modellen in den Apache Spark-Pools mithilfe von Tools wie PySpark/Python, Scala oder .NET erfolgen.
Trainieren von Modellen in Spark-Pools mit MLlib
Machine Learning-Modelle können mithilfe verschiedener Algorithmen und Bibliotheken trainiert werden. Spark MLlib bietet skalierbare Machine Learning-Algorithmen, mit denen sich die meisten klassischen Machine Learning-Probleme lösen lassen. Ein Tutorial zum Trainieren eines Modells mit MLlib in Synapse finden Sie unter Erstellen einer Machine Learning-App mit Apache Spark MLlib und Azure Synapse Analytics.
Neben MLlib können auch beliebte Bibliotheken wie Scikit Learn zum Entwickeln von Modellen verwendet werden. Ausführliche Informationen zum Installieren von Bibliotheken in Synapse Spark-Pools finden Sie unter Verwalten von Bibliotheken für Apache Spark in Azure Synapse Analytics.
Trainieren von Modellen mit automatisiertem ML (automatisiertem maschinellem Lernen) zu Azure Machine Learning
Eine andere Möglichkeit zum Trainieren von Machine Learning-Modellen, die nicht viel Erfahrung mit Machine Learning voraussetzt, ist die Verwendung von automatisiertem ML. Automatisiertes ML ist ein Feature, das eine Gruppe von Machine Learning-Modellen automatisch trainiert und es dem Benutzer ermöglicht, auf Grundlage bestimmter Metriken das beste Modell auszuwählen. Dank einer nahtlosen Integration in Azure Machine Learning aus Azure Synapse Notebooks können Benutzer*innen problemlos automatisiertes ML in Synapse mit Passthrough-Authentifizierung von Microsoft Entra nutzen. Dies bedeutet, dass Sie nur auf Ihren Azure Machine Learning-Arbeitsbereich verweisen und keine Anmeldeinformationen eingeben müssen. Im Tutorial Trainieren eines Modells in Python mit automatisiertem maschinellen Lernen wird beschrieben, wie Modelle mithilfe von automatisiertem maschinellen Lernen von Azure Machine Learning in Synapse Spark-Pools trainiert werden.
Warnung
- Ab dem 29. September 2023 wird Azure Synapse die offizielle Unterstützung für Spark 2.4 Runtimes einstellen. Nach dem 29. September 2023 werden wir keine Supporttickets im Zusammenhang mit Spark 2.4 mehr bearbeiten. Für Fehler- oder Sicherheitsfixes für Spark 2.4 ist keine Releasepipeline vorhanden. Die Nutzung von Spark 2.4 nach dem Ende der Unterstützung erfolgt auf eigenes Risiko. Aufgrund potenzieller Sicherheits- und Funktionalitätsbedenken raten wir dringend davon ab.
- Im Rahmen der Einstellung von Apache Spark 2.4 möchten wir Sie darüber informieren, dass AutoML in Azure Synapse Analytics ebenfalls veraltet sein wird. Dies umfasst sowohl die Low-Code-Schnittstelle als auch die APIs, die zum Erstellen von AutoML-Testversionen über Code verwendet werden.
- Bitte beachten Sie, dass die AutoML-Funktionalität ausschließlich über die Spark 2.4 Runtime verfügbar war.
- Kundinnen und Kunden, die weiterhin AutoML-Funktionen nutzen möchten, empfehlen wir, Ihre Daten in Ihrem Azure Data Lake Storage Gen2 (ADLSg2)-Konto zu speichern. Von dort aus können Sie nahtlos über Azure Machine Learning (AzureML) auf die AutoML-Erfahrung zugreifen. Weitere Informationen zu dieser Problemumgehung finden Sie hier.
Modellimplementierung und -bewertung
Modelle, die entweder in Azure Synapse oder außerhalb von Azure Synapse trainiert wurden, können problemlos für die Batchbewertung verwendet werden. Derzeit gibt es in Synapse zwei Möglichkeiten, wie Sie die Batchbewertung ausführen können.
Sie können die TSQL-Funktion PREDICT in Synapse SQL-Pools verwenden, um Ihre Vorhersagen direkt an dem Ort auszuführen, wo sich Ihre Daten befinden. Diese leistungsstarke und skalierbare Funktion ermöglicht es Ihnen, Ihre Daten anzureichern, ohne Daten aus Ihrem Data Warehouse verschieben zu müssen. Eine neue angeleitete Machine Learning-Modellerfahrung in Synapse Studio wurde eingeführt, in der Sie ein ONNX-Modell aus der Azure Machine Learning-Modellregistrierung in Synapse SQL-Pools für die Batchbewertung mittels PREDICT bereitstellen können.
Eine weitere Option für die Batchbewertung von Machine Learning-Modellen in Azure Synapse besteht darin, die Apache Spark-Pools für Azure Synapse zu verwenden. Abhängig von den Bibliotheken, die zum Trainieren der Modelle verwendet werden, können Sie Ihre Batchbewertung mithilfe einer Codeerfahrung ausführen.
SynapseML
SynapseML (zuvor als MMLSpark bezeichnet) ist eine Open-Source-Bibliothek, die die Erstellung hochgradig skalierbarer Machine Learning-Pipelines (ML) vereinfacht. Es handelt sich um ein Ökosystem von Tools, mit denen das Apache Spark-Framework in verschiedene neue Richtungen erweitert wird. SynapseML vereint mehrere vorhandene Frameworks für maschinelles Lernen und neue Microsoft-Algorithmen in einer einzigen, skalierbaren API, die in Python, R, Scala, .NET und Java verwendet werden kann. Weitere Informationen finden Sie unter Wichtigste Funktionen von SynapseML.