Skip to content
NextLytics
Megamenü_2023_Über-uns

Shaping Business Intelligence

Ob clevere Zusatzprodukte für SAP BI, Entwicklung aussagekräftiger Dashboards oder Implementierung KI-basierter Anwendungen - wir gestalten zusammen mit Ihnen die Zukunft von Business Intelligence. 

Megamenü_2023_Über-uns_1

Über uns

Als Partner mit tiefem Prozess-Know-how, Wissen der neuesten SAP-Technologien sowie hoher sozialer Kompetenz und langjähriger Projekterfahrung gestalten wir die Zukunft von Business Intelligence auch in Ihrem Unternehmen.

Megamenü_2023_Methodik

Unsere Methodik

Die Mischung aus klassischem Wasserfallmodell und agiler Methodik garantiert unseren Projekten eine hohe Effizienz und Zufriedenheit auf beiden Seiten. Erfahren Sie mehr über unsere Vorgehensweise.

Produkte
Megamenü_2023_NextTables

NextTables

Daten in SAP BW out of the Box bearbeiten: Mit NextTables wird das Editieren von Tabellen einfacher, schneller und intuitiver, egal ob Sie SAP BW on HANA, SAP S/4HANA oder SAP BW 4/HANA nutzen.

Megamenü_2023_Connector

NextLytics Connectoren

Die zunehmende Automatisierung von Prozessen erfordert die Konnektivität von IT-Systemen. Die NextLytics Connectoren ermöglichen eine Verbindung Ihres SAP Ökosystems mit diversen open-source Technologien.

IT-Services
Megamenü_2023_Data-Science

Data Science & Engineering

Bereit für die Zukunft? Als starker Partner stehen wir Ihnen bei der Konzeption, Umsetzung und Optimierung Ihrer KI-Anwendung zur Seite.

Megamenü_2023_Planning

SAP Planning

Wir gestalten neue Planungsanwendungen mithilfe von SAP BPC Embedded, IP oder  SAC Planning, die einen Mehrwert für Ihr Unternehmen schaffen.

Megamenü_2023_Dashboarding

Dashboarding

Mit unserer Expertise verhelfen wir Ihnen auf Basis von Tableau, Power BI, SAP Analytics Cloud oder SAP Lumira zu aussagekräftigen Dashboards. 

Megamenü_2023_Data-Warehouse-1

SAP Data Warehouse

Planen Sie eine Migration auf SAP HANA? Wir zeigen Ihnen, welche Herausforderungen zu beachten sind und welche Vorteile eine Migration bringt.

Business Analytics
Megamenü_2023_Procurement

Procurement Analytics

Transparente und valide Zahlen sind vor allem in Unternehmen mit dezentraler Struktur wichtig. SAP Procurement Analytics ermöglicht die Auswertung von SAP ERP-Daten in SAP BI.

Megamenü_2023_Reporting

SAP HR Reporting & Analytics

Mit unserem Standardmodell für Reporting von SAP HCM mit SAP BW beschleunigen Sie administrative Tätigkeiten und stellen Daten aus verschiedenen Systemen zentral und valide zur Verfügung.

Megamenü_2023_Dataquality

Data Quality Management

In Zeiten von Big Data und IoT kommt der Vorhaltung einer hohen Datenqualität eine enorm wichtige Bedeutung zu. Mit unserer Lösung für Datenqualitätsmanagement (DQM) behalten Sie stets den Überblick.

Karriere
Megamenü_2023_Karriere-2b

Arbeiten bei NextLytics

Wenn Du mit Freude zur Arbeit gehen möchtest und dabei Deine berufliche und persönliche Weiterentwicklung nicht zu kurz kommen soll, dann bist Du bei uns genau richtig! 

Megamenü_2023_Karriere-1

Berufserfahrene

Zeit für etwas Neues? Gehe Deinen nächsten beruflichen Schritt und gestalte Innovation und Wachstum in einem spannenden Umfeld zusammen mit uns!

Megamenü_2023_Karriere-5

Berufseinsteigende

Schluss mit grauer Theorie - Zeit, die farbenfrohe Praxis kennenzulernen! Gestalte bei uns Deinen Einstieg ins Berufsleben mit lehrreichen Projekten und Freude an der Arbeit.

Megamenü_2023_Karriere-4-1

Studierende

Du möchtest nicht bloß die Theorie studieren, sondern Dich gleichzeitig auch praktisch von ihr überzeugen? Teste mit uns Theorie und Praxis und erlebe wo sich Unterschiede zeigen.

Megamenü_2023_Karriere-3

Offene Stellen

Hier findest Du alle offenen Stellenangebote. Schau Dich um und bewirb Dich - wir freuen uns! Falls keine passende Stelle dabei ist, sende uns gerne Deine Initiativbewerbung zu.

Blog
NextLytics Newsletter Teaser
Hier für unseren monatlichen Newsletter anmelden!
Newsletter abonnieren
 

Mit Apache Airflow Machine Learning Workflows orchestrieren

Bevor ein Machine Learning-Modell einen kontinuierlichen geschäftlichen Mehrwert bietet, muss es zunächst die Hürde der praktischen Implementierung überwinden. Dabei sollen neben der Prognose auch andere Teile des Machine Learning-Workflows von der Datenvorbereitung bis zur Bereitstellung des trainierten Modells automatisiert ablaufen, um das Modell stets aktuell zu halten. Für das Workflowmanagement, also die Verwaltung, Planung und Ausführung der Aufgaben im Workflow, sind aus technischer Sicht viele Optionen verfügbar. Neben den verbreiteten Cronjobs steht auch die Workflowmanagement-Plattform Apache Airflow hoch im Kurs. In diesem Artikel erklären wir Ihnen, wie Airflow den Herausforderungen von Machine Learning-Workflows optimal begegnet und präsentieren Ihnen eine Architekturvariante für kleine Machine Learning (ML) -Teams.

Was ist Apache Airflow?

In Airflow werden die Workflows als Python-Skripte definiert, geplant und ausgeführt. Abhängigkeiten zwischen den Aufgaben und somit komplexe Workflows sind schnell und effizient abbildbar. Die funktionsreiche Weboberfläche verschafft eine gute Übersicht über den Status der Workflowläufe und beschleunigt die Fehlerbehebung ungemein. Das Framework ist zudem open-source und kostenlos nutzbar.

Airflow_Beispiel_Startseite

Weboberfläche Apache Airflow. Der Status der Workflowläufe ist links sichtbar ( Runs). Die Stati der Aufgaben des letzten Workflows ist rechts zu sehen (Recent Tasks).

Airflow übernimmt für Machine Learning-Workflows folgende Aufgaben:

  • Definieren, Ausführen und Überwachen von Workflows
  • Orchestrierung von Drittsystemen zur Ausführung von Aufgaben 
  • Bereitstellen einer Web-Oberfläche für eine ausgezeichnete Übersicht und umfassende Verwaltungsfunktionen

Falls Sie  die zugrundeliegenden Konzepte und die Komponenten von Apache Airflow gerne näher kennenlernen wollen, empfehlen wir Ihnen die Lektüre unseres Whitepapers "Effektives Workflowmanagement mit Apache Airflow 2.0". Dort werden die Grundideen ausführlich erklärt und Sie erhalten praktische Anwendungsideen bezüglich der neuen Funktionen im Major Release.


Optimieren Sie Ihr Workflowmanagement
mit Apache Airflow

NextLyitcs Whitepaper Apache Airflow DE


Warum ist Airflow besonders für Machine Learning geeignet?

Machine Learning Workflows sind in der Regel durch die Abhängigkeiten zwischen den einzelnen Schritten und durch die Vielzahl an beteiligten Datenquellen komplexer als ETL Workflows. Zusätzlich haben die verschiedene Modelle nicht selten unterschiedliche Anforderungen an die Hardware (CPU vs. GPU). Das einfache Starten der Workflows mit Cronjobs stößt deshalb oft an seine Grenzen und ist durch die fehlende Abhängigkeit zwischen den einzelnen Aufgaben fehleranfällig. Wegen der einfachen Bedienbarkeit und Implementierung setzt sich schließlich Apache Airflow für das Workflowmanagement von Machine Learning-Anwendungen durch.

Machine Learning-Workflows in Airflow

Ein Machine Learning-Workflow beinhaltet verschiedene Aufgabenpakete, die sich in die Datenvorbereitung, das Modelltraining und -evaluation und die Bereitstellung des Modells gliedern. Airflow übernimmt dabei die Ausführung der einzelnen Workflow-Läufe. Je nach Belieben kann ein Workflow mit integrierten Schritten erstellt werden (siehe Abbildung) oder es können separate Workflows für die Unterpunkte definiert werden, falls einzelne Komponenten (z. B. die Datenvorbereitung) einem eigenen zeitlichen Intervall folgen sollen.

Machine_Learning_Workflow_integriert

Simpler Machine Learning-Workflow mit integrierten Schritten

  • Datenvorbereitung
    Im Zuge der Vorbereitung für das Training finden verschiedene ETL-Prozesse statt. Innerhalb des Workflows können wichtige Informationen über den Datenumfang und die statistischen Eigenschaften der Features ausgegeben werden. Diese helfen dabei, potentielle Fehlerquellen aufzudecken.
  • Modelltraining und -evaluation
    Damit das Modell sich auch an eine neue Datenlage anpassen kann, empfiehlt sich ein regelmäßiges Training auf aktuellen Daten. Dieses kann zeitlich gestartet werden oder per REST API in Gang gesetzt werden, falls das produktive Modell eine bestimmte Fehlerschranke erreicht.
  • Bereitstellung des Modells
    Je nachdem ob das Modell als Service innerhalb einer Applikation verwendet wird oder als Erzeuger von Prognosetabellen eingesetzt wird, unterscheidet sich die Bereitstellung. Soll das Modell regelmäßig Prognosen liefern, kann selbst der Prognoseschritt von Airflow aus zeitlich gesteuert werden.

Machine Learning-Architektur für den Einstieg

Die Airflow Installation ist flexibel konfigurierbar und ermöglicht eine Skalierung entsprechend der Bedürfnisse. Diese wird vorrangig durch die Auswahl des passenden Executer umgesetzt. Im Folgenden ist eine Einsteiger-Architektur erläutert. Diese erfüllt die Anforderungen kleiner Teams, die Workflows auf einem einzigen Server ausführen möchten. Neben Airflow spielen Git für die Versionskontrolle und Anaconda für die Isolation eine Rolle. Für eine schnelle, sichere Verbindung zur SAP HANA kann beispielsweise das NextLytics-Software-Development-Kit (NLY-SDK) verwendet werden, welches wir Ihnen gerne auf Anfrage näher vorstellen.

Machine Learning_Architecture

ML-Architektur mit Airflow (Scheduling), Git (Versionskontrolle), Anaconda (Isolation) und einem Airflow DAG für das Deployment und Anbindung zu Datenbanken und Filesystemen

  • Single-Node Architektur Airflow
    Die einzelnen Aufgaben des Workflows werden lokal auf dem System ausgeführt, auf dem auch Airflow installiert ist. Hierbei ist eine parallele Ausführung der Aufgaben durch den LocalExecuter gegeben. Dabei gibt es mehrere Worker-Instanzen des Webservers. Seit Airflow 2.0 ist auch die Verwendung von mehreren Scheduler-Instanzen möglich.

Single_Node_Airflow
In der Single Node Architektur werden die Aufgaben per Worker, der Webserver und der Scheduler auf dem Server ausgeführt

  • Anaconda Environments
    Werden die Machine Learning-Workflows lokal auf einem Server ausgeführt, muss die Architektur eine Möglichkeit bieten, die unterschiedlichen softwareseitigen Anforderungen der Modelle umzusetzen. Dies ist ein besonders wichtiger Punkt in Machine Learning-Anwendungen, da häufig spezifische Versionen der einzelnen Programmbibliotheken benötigt werden. Dafür sind virtuelle Umgebungen geeignet. Hierbei kommen häufig die Conda Environments zum Einsatz. Die Skripte werden dann über den Interpreter der gewünschten Umgebung ausgeführt.

  • Datenaustausch
    Airflow ist konzeptionell nicht für “echte” Daten-Pipelines ausgelegt. Die anfallenden Daten müssen zwischen den Schritten abgelegt werden. Das kann beispielsweise auf dem Server, in einer Datenbank oder in der Cloud erfolgen. Airflow bietet mit XCOM eine Kommunikationsmöglichkeit zwischen den verschiedenen Aufgaben. Diese kann über die TaskflowAPI leicht definiert werden.
  • Deployment der Workflow-Dateien
    Die Workflows werden als Python-Dateien gestaltet. Ist ein Workflow produktionsreif, wird er in einem Git Repository abgelegt. Von dort aus wird er mittels Pull-Request auf den Server übertragen. Dabei wird der regelmäßige Pull-Request über einen eigenen Airflow-DAG gesteuert. Eine Verbesserung des Continuous Deployment mit z. B. vorgeschalteten, automatisierten Tests kann mit Jenkins, Drone oder GitHub Actions realisiert werden.

Selbstverständlich eignet sich die vorgestellte Architektur nicht für alle Anwendungsszenarien. Steigt die Anzahl der Workflows rapide an, ist die Architektur den Anforderungen nicht mehr gewachsen. Glücklicherweise lässt sich Airflow mit Kubernetes, Mesos oder Dask effizient skalieren. Der Betrieb auf verteilten Systemen sollte sorgfältig geplant werden. 

Wir stehen Ihnen für Ihre End-to-End Machine Learning-Projekte und/oder zur Bewertung Ihres Status Quo gerne als kompetenter Projektpartner zur Seite. Wir helfen Ihnen dabei, robuste und skalierbare Machine Learning-Workflows auf Apache Airflow zu realisieren. Sprechen Sie uns jederzeit an! 

Erfahren Sie mehr über Apache Airflow

,

avatar

Markus Suhr

Markus Suhr ist seit 2022 als Senior Berater für Machine Learning und Data Engineering bei der NextLytics AG tätig. Mit einschlägiger Erfahrung als Systemarchitekt und Teamleiter im Bereich Data Engineering kennt er sich bestens mit Microservices, Datenbanken und Workflow Orchestrierung aus - insbesondere im Bereich der Open Source Lösungen. In seiner Freizeit versucht er, das komplexe System des Gemüseanbaus im eigenen Garten zu optimieren.

Sie haben eine Frage zum Blog?
Fragen Sie Markus Suhr

Gender Hinweis Aufgrund der besseren Lesbarkeit wird im Text das generische Maskulinum verwendet. Gemeint sind jedoch immer alle Menschen.

Blog - NextLytics AG 

Welcome to our blog. In this section we regularly report on news and background information on topics such as SAP Business Intelligence (BI), SAP Dashboarding with Lumira Designer or SAP Analytics Cloud, Machine Learning with SAP BW, Data Science and Planning with SAP Business Planning and Consolidation (BPC), SAP Integrated Planning (IP) and SAC Planning and much more.

Informieren Sie mich über Neuigkeiten

Verwandte Beiträge

Letzte Beiträge