Bearbeiten

Data Science und maschinelles Lernen mit Azure Databricks

Azure Databricks
Azure Data Lake Storage
Azure Kubernetes Service (AKS)
Azure Machine Learning

Lösungsmöglichkeiten

Dieser Artikel ist ein Lösungsvorschlag. Wenn Sie möchten, dass wir diesen Artikel um weitere Informationen ergänzen, z. B. potenzielle Anwendungsfälle, alternative Dienste, Überlegungen zur Implementierung oder Preisempfehlungen, lassen Sie es uns über Feedback auf GitHub wissen.

Diese Architektur veranschaulicht, wie Sie Vorgänge mit Azure Databricks, Delta Lake und MLflow für Data Science und maschinelles Lernen verbessern können. Sie können Ihre Gesamteffizienz und die Kundenfunktionalität verbessern, indem Sie Machine Learning-Modelle entwickeln, trainieren und bereitstellen.

Aufbau

Architecture diagram showing how Azure Databricks works with data storage services to refine and analyze data and make it available for other services.

Das Diagramm enthält drei graue Rechtecke mit den Bezeichnungen „Process“ (Prozess), „Serve“ (Bereitstellung) und „Store“. Die Rechtecke „Process“ und „Serve“ sind im oberen Bereich des Diagramms nebeneinander angeordnet. Das Rechteck „Serve“ enthält ein weißes Feld mit Symbolen für Machine Learning und Azure Kubernetes Service. Ein weiteres weißes Feld umspannt die Rechtecke „Process“ und „Serve“. Es enthält Symbole für Azure Databricks und MLflow. Ein Pfeil zeigt von diesem Feld auf das weiße Feld im Rechteck „Serve“. Unterhalb des Rechtecks „Process“ befindet sich das Rechteck „Store“. Es enthält ein weißes Feld mit Symbolen für Data Lake Storage und Delta Lake und drei Datenbanktabellen mit den Bezeichnungen „Bronze“, „Silver“ und „Gold“. Die Rechtecke „Process“ und „Store“ sind durch drei Linien verbunden, an deren Enden sich jeweils Pfeile befinden.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Mit der Lösung werden Daten gespeichert, verarbeitet und bereitgestellt:

Datenfluss

Speichern

In Data Lake Storage werden die Daten im Delta Lake-Format gespeichert. Delta Lake bildet die kuratierte Schicht des Data Lake. In einer Medaillon-Architektur sind die Daten auf drei Ebenen aufgeteilt:

  • „Bronze“-Tabellen enthalten Rohdaten.
  • „Silver“-Tabellen enthalten bereinigte, gefilterte Daten.
  • In „Gold“-Tabellen werden aggregierte Daten gespeichert, die bereit für die Analyse und Berichterstellung sind.

Prozess

  • Mit Code, der aus unterschiedlichen Sprachen, Frameworks und Bibliotheken stammt, werden die Rohdaten aufbereitet, optimiert und bereinigt (1). Die Programmieroptionen sind Python, R, SQL, Spark, Pandas und Koalas.

  • In Azure Databricks werden Data Science-Workloads ausgeführt. Mit dieser Plattform werden auch Machine Learning-Modelle erstellt und trainiert (2). Von Azure Databricks werden vorinstallierte, optimierte Bibliotheken verwendet. Beispiele hierfür sind scikit-learn, TensorFlow, PyTorch und XGBoost.

  • Bei der MLflow-Nachverfolgung werden die Machine Learning-Experimente, Modellausführungen und Ergebnisse erfasst (3). Wenn das beste Modell bereit für die Produktion ist, wird es von Azure Databricks im MLflow-Modellrepository bereitgestellt. In dieser zentralen Registrierung werden Informationen zu Produktionsmodellen gespeichert. Darüber hinaus werden über die Registrierung auch Modelle für andere Komponenten zur Verfügung gestellt:

    • Spark- und Python-Pipelines können Modelle erfassen. Diese Pipelines verarbeiten Batchworkloads oder das Streamen von ETL-Prozessen.
    • REST-APIs ermöglichen den Zugriff auf Modelle für viele verschiedene Zwecke. Beispiele hierfür sind Tests und interaktive Bewertungen in mobilen Anwendungen und Webanwendungen.

Serve

Von Azure Databricks können Modelle für andere Dienste, z. B. Machine Learning und AKS, bereitgestellt werden (4).

Komponenten

  • Azure Databricks ist eine Datenanalyseplattform. In den zugehörigen vollständig verwalteten Spark-Clustern werden Data Science-Workloads ausgeführt. Darüber hinaus werden von Azure Databricks auch vorinstallierte, optimierte Bibliotheken genutzt, um Machine Learning-Modelle zu erstellen und zu trainieren. Die MLflow-Integration mit Azure Databricks ermöglicht das Nachverfolgen von Experimenten, das Speichern von Modellen in Repositorys und das Verfügbarmachen von Modellen für andere Dienste. Azure Databricks ermöglicht eine gute Skalierbarkeit:

    • Computecluster mit nur einem Knoten verarbeiten kleine Datasets und Ausführungen einzelner Modelle.
    • Für große Datasets sind Computecluster mit mehreren Knoten oder GPU-Cluster (Graphics Processing Unit) verfügbar. Für diese Cluster werden Bibliotheken und Frameworks wie HorovodRunner und Hyperopt für parallele Modellausführungen verwendet.
  • Data Lake Storage ist ein skalierbarer und sicherer Data Lake für Hochleistungs-Analyseworkloads. Mit diesem Dienst werden mehrere Petabyte an Informationen verwaltet, und gleichzeitig wird ein Durchsatz im Bereich von mehreren Hundert Gigabit aufrechterhalten. Die Daten können die folgenden Merkmale aufweisen:

    • Strukturiert, halbstrukturiert oder unstrukturiert.
    • Mehrere heterogene Quellen, z. B. Protokolle, Dateien und Medien.
    • Statisch, aus Batches oder durch Streaming.
  • Delta Lake ist eine Speicherebene, die ein offenes Dateiformat verwendet. Diese Ebene wird auf Cloudspeicher wie Data Lake Storage ausgeführt. Delta Lake ist für die Transformation und Bereinigung von Batch- und Streamingdaten optimiert. Von dieser Plattform werden die folgenden Features und Funktionen unterstützt:

    • Versionsverwaltung und Rollback für Daten
    • ACID-Transaktionen (Atomicity, Consistency, Isolation und Durability (Atomarität, Konsistenz, Isolation, Dauerhaftigkeit)) zur Erzielung von Zuverlässigkeit
    • Einheitlicher Standard für Datenaufbereitung, Modelltraining und Modellbereitstellung
    • Zeitreise zur Erzielung von einheitlichen Momentaufnahmen von Quelldaten. Wissenschaftliche Fachkräfte für Daten können Modelle anhand der Momentaufnahmen trainieren, anstatt separate Kopien zu erstellen.
  • MLflow ist eine Open-Source-Plattform für den Machine Learning-Lebenszyklus. Mit den Komponenten von MLflow werden Machine Learning-Modelle während des Trainings und der Ausführung überwacht. Zu den gespeicherten Informationen gehören Code, Daten, Konfigurationsinformationen und Ergebnisse. MLflow speichert auch Modelle und lädt sie in der Produktion. Da für MLflow offene Frameworks verwendet werden, können die Modelle von verschiedenen Diensten, Anwendungen, Frameworks und Tools genutzt werden.

  • Machine Learning ist eine cloudbasierte Umgebung, mit der Sie Predictive-Analytics-Lösungen erstellen, bereitstellen und verwalten können. Mit diesen Modellen können Sie Verhalten, Ergebnisse und Trends prognostizieren.

  • AKS ist ein hochverfügbarer, sicherer und vollständig verwalteter Kubernetes-Dienst. AKS erleichtert das Bereitstellen und Verwalten containerisierter Anwendungen.

Szenariodetails

Wenn in Ihrer Organisation die hohe Leistungsfähigkeit von Data Science und Machine Learning erkannt wurde, können Sie die Effizienz steigern, die Kundenfreundlichkeit verbessern und Änderungen vorhersagen. Zur Erreichung dieser Ziele im Rahmen von unternehmenskritischen Anwendungsfällen benötigen Sie ein einheitliches und zuverlässiges Muster für folgende Aufgaben:

  • Nachverfolgen von Experimenten
  • Reproduzieren von Ergebnissen
  • Bereitstellen von Machine Learning-Modellen in der Produktion

In diesem Artikel wird eine Lösung für ein einheitliches zuverlässiges Machine Learning-Framework beschrieben. Azure Databricks bildet den Kern der Architektur. Die Delta Lake-Instanz auf der Speicherebene und die MLflow-Instanz der Machine Learning-Plattform spielen ebenfalls eine wichtige Rolle. Diese Komponenten können nahtlos mit anderen Diensten wie Azure Data Lake Storage, Azure Machine Learning und Azure Kubernetes Service (AKS) integriert werden.

Zusammen stellen diese Dienste eine Lösung für Data Science und Machine Learning mit den folgenden Eigenschaften dar:

  • Einfachheit: Eine offene Data Lake-Instanz führt zu einer Vereinfachung der Architektur. Die Data Lake-Instanz enthält eine kuratierte Schicht (den „Delta Lake“). Diese Schicht ermöglicht den Zugriff auf die Daten in einem Open-Source-Format.

  • Offenheit: Die Lösung unterstützt Open-Source-Code, offene Standards und offene Frameworks. Mit diesem Ansatz wird der Bedarf an zukünftigen Updates minimiert. Azure Databricks und Machine Learning verfügen über eine native Unterstützung von MLflow und Delta Lake. Zusammen werden über diese Komponenten branchenführende Machine Learning-Vorgänge (MLOps) oder DevOps für maschinelles Lernen bereitgestellt. Eine Vielzahl von Bereitstellungstools kann mit dem standardisierten Modellformat der Lösung integriert werden.

  • Zusammenarbeit: Data Science- und MLOps-Teams können mit dieser Lösung zusammenarbeiten. Diese Teams nutzen die MLflow-Nachverfolgung zum Aufzeichnen und Abfragen von Experimentdaten. Darüber hinaus stellen die Teams Modelle in der zentralen MLflow-Modellregistrierung bereit. Datentechniker verwenden die bereitgestellten Modelle dann für die Datenerfassung, ETL-Prozesse (Extrahieren/Transformieren/Laden) und Streamingpipelines.

Mögliche Anwendungsfälle

Die Inspiration für diese Lösung stammt von einer Plattform, die von AGL für Energiebedarfsprognosen entwickelt wurde. Diese Plattform verfügt über Funktionen, mit denen Trainingsläufe, Bereitstellungsvorgänge und die Lebenszyklusverwaltung für Tausende von parallelen Modellen schnell und kostengünstig durchgeführt werden können.

Die Lösung ist nicht nur für Anbieter aus der Energiebranche von Vorteil, sondern für alle Organisationen, für die Folgendes gilt:

  • Nutzung von Data Science
  • Entwicklung und Training von Machine Learning-Modellen
  • Ausführung von Machine Learning-Modellen in der Produktion

Beispiele für geeignete Branchen:

  • Einzelhandel und E-Commerce
  • Bank- und Finanzwesen
  • Gesundheitswesen und Biowissenschaften
  • Automobilindustrie und Fertigung

Nächste Schritte

  • AGL Energy entwickelt eine standardisierte Plattform für Tausende von parallelen Modellen. Die Plattform verfügt über Funktionen, mit denen Trainingsläufe, Bereitstellungsvorgänge und die Lebenszyklusverwaltung für die Modelle schnell und kostengünstig durchgeführt werden können.
  • Open Grid Europe (OGE) nutzt KI-Modelle für die Überwachung von Gaspipelines. Für die Entwicklung der benötigten Modelle setzt OGE Azure Databricks und MLflow ein.
  • Scandinavian Airlines (SAS) nutzt Azure Databricks für ein gemeinsames Forschungsprojekt. Darüber hinaus nutzt die Fluggesellschaft Machine Learning auch, um Vorhersagemodelle zu entwickeln. Mit den Modellen kann der tägliche Betrieb optimiert werden, indem Muster in den Daten des Unternehmens identifiziert werden.