Trainieren von Machine Learning-Modellen

Apache Spark in Azure Synapse Analytics ermöglicht maschinelles Lernen mit Big Data und bietet so die Chance, wertvolle Erkenntnisse aus großen Mengen strukturierter, unstrukturierter und sich schnell verändernder Daten zu gewinnen. Beim Trainieren von Machine Learning-Modellen mithilfe von Azure Spark in Azure Synapse Analytics gibt es mehrere Optionen: Apache Spark MLlib, Azure Machine Learning und verschiedene andere Open-Source-Bibliotheken.

Apache SparkML und MLlib

Apache Spark in Azure Synapse Analytics ist eine der cloudbasierten Apache Spark-Implementierungen von Microsoft. Sie bietet ein einheitliches Open-Source-Framework für die Parallelverarbeitung von Daten, das die arbeitsspeicherinterne Verarbeitung unterstützt, um die Leistung von Big Data-Analysen zu steigern. Die Spark-Verarbeitungs-Engine ist auf Geschwindigkeit, einfache Nutzung und anspruchsvolle Analysen ausgelegt. Dank seiner verteilten In-Memory-Datenverarbeitungsfunktionen eignet sich Spark besonders für iterative Algorithmen beim maschinellen Lernen und für Graphberechnungen.

Es gibt zwei skalierbare Bibliotheken für maschinelles Lernen, die algorithmische Modellierungsfunktionen in dieser verteilten Umgebung bereitstellen: MLlib und SparkML. MLlib enthält die Original-API, die auf Grundlage von RDDs erstellt wurde. SparkML ist ein neueres Paket, das eine API auf höherer Ebene bereitstellt, die auf Dataframes basiert, um ML-Pipelines zu erstellen. SparkML unterstützt noch nicht alle Features von MLlib, ersetzt jedoch MLlib als Machine Learning-Standardbibliothek in Spark.

Hinweis

In diesem Tutorial erfahren Sie, wie Sie ein SparkML-Modell erstellen.

Jeder Apache Spark-Pool in Azure Synapse Analytics wird mit einer Reihe beliebter, vorab geladener Machine Learning-Bibliotheken bereitgestellt. Diese Bibliotheken enthalten wiederverwendbaren Code, den Sie in Ihren Programmen oder Projekten nutzen können. Zu den relevanten Machine Learning-Bibliotheken, die standardmäßig enthalten sind, gehören die folgenden:

  • Scikit-learn ist eine der beliebtesten Machine Learning-Bibliotheken für einen Knoten für klassische ML-Algorithmen. Scikit-learn unterstützt die meisten beaufsichtigten und unbeaufsichtigten Lernalgorithmen und kann ebenfalls für Data Mining und Datenanalyse verwendet werden.

  • XGBoost ist eine beliebte Machine Learning-Bibliothek, die optimierte Algorithmen zum Trainieren von Entscheidungsstrukturen und zufälligen Gesamtstrukturen enthält.

  • PyTorch und TensorFlow sind leistungsstarke Deep Learning-Bibliotheken von Python. Innerhalb eines Apache Spark-Pools in Azure Synapse Analytics können Sie diese Bibliotheken verwenden, um Modelle mit einzelnen Computern zu erstellen, indem Sie die Anzahl von Executors in Ihrem Pool auf Null festlegen. Auch wenn Apache Spark in dieser Konfiguration nicht funktionsfähig ist, stellt es eine einfache und kostengünstige Möglichkeit dar, Modelle mit einzelnen Computern zu erstellen.

Weitere Informationen zu den verfügbaren Bibliotheken und zugehörigen Versionen finden Sie in der veröffentlichten Azure Synapse Analytics-Runtime.

MMLSpark

Die Microsoft Machine Learning-Bibliothek für Apache Spark ist MMLSpark. Diese Bibliothek ist darauf ausgelegt, die Produktivität von Data Scientists mit Spark zu steigern, die Experimentierrate zu erhöhen und innovative Verfahren für das maschinelle Lernen – einschließlich Deep Learning – in großen Datasets zu nutzen.

MMLSpark bietet zusätzlich zu den SparkML-APIs auf niedriger Ebene eine weitere Ebene beim Erstellen skalierbarer ML-Modelle, z.B. zum Indizieren von Zeichenfolgen, Umwandeln von Daten in ein von Algorithmen für maschinelles Lernen erwartetes Layout und Zusammenstellen von Featurevektoren. Die MMLSpark-Bibliothek vereinfacht diese und andere gängige Aufgaben zum Erstellen von Modellen in PySpark.

Automatisiertes maschinelles Lernen in Azure Machine Learning

Azure Machine Learning ist eine cloudbasierte Umgebung, die Ihnen das Trainieren, Bereitstellen, Automatisieren, Verwalten und Nachverfolgen von Machine Learning-Modellen ermöglicht. Automatisiertes maschinelles Lernen in Azure Machine Learning akzeptiert Trainingsdaten und Konfigurationseinstellungen und durchläuft automatisch Kombinationen aus verschiedenen Methoden, Modellen und Hyperparametereinstellungen zur Normalisierung und Standardisierung von Features, um das beste Modell zu erzielen.

Durch die Nutzung von automatisiertem ML in Azure Synapse Analytics profitieren Sie von der tief greifenden Integration der verschiedenen Dienste, um die Authentifizierung und das Modelltraining zu vereinfachen.

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.

Azure KI Services

Azure KI Services bietet Funktionen für maschinelles Lernen, mit denen allgemeine Probleme gelöst werden können, etwa das Analysieren von Text im Hinblick auf emotionale Stimmungslagen oder das Analysieren von Bildern, um Objekte oder Gesichter zu erkennen. Sie benötigen keine speziellen Kenntnisse zu maschinellem Lernen oder Data Science, um diese Dienste zu verwenden. Ein Cognitive Service stellt einige oder alle Komponenten einer Machine Learning-Lösung bereit: Daten, Algorithmus und trainiertes Modell. Zur Nutzung dieser Dienste sind allgemeine Kenntnisse über Ihre Daten erforderlich, ohne dass Sie Erfahrung mit maschinellem Lernen oder Data Science benötigen. Sie können dieses vorab trainierten Azure KI Services in Azure Synapse Analytics automatisch verwenden.

Nächste Schritte

Dieser Artikel bietet eine Übersicht über die verschiedenen Optionen zum Trainieren von ML-Modellen innerhalb von Apache Spark-Pools in Azure Synapse Analytics. In den folgenden Tutorials erfahren Sie mehr über das Modelltraining: