Kommentar von Dominik Claßen, Pentaho

So orchestrieren Sie den Machine Learning Workflow

| Autor / Redakteur: Dominik Claßen / Nico Litzel

Der Autor: Dominik Claßen ist Director of Sales Engineering EMEA & APAC bei Pentaho
Der Autor: Dominik Claßen ist Director of Sales Engineering EMEA & APAC bei Pentaho (Bild: Pentaho)

Machine Learning boomt und dieser Boom ist mitnichten ein Silicon-Valley Marketing Hype, sondern für viele deutschen Unternehmen bereits Realität. Laut CRISP Research wird Machine Learning von einem Gros der Unternehmen hierzulande produktiv eingesetzt, was auch unsere Erfahrung widerspiegelt.

Doch nicht immer ist dieser Einsatz erfolgreich. Dass viele Data-Science-Projekte scheitern, liegt teilweise auch an diesem Boom. Das Machine-Learning-Universum entwickelt sich rasant, immer neue Plattformanbieter, Software Suites, Programmiersprachen oder Machine-Learning-as-a-Service-Lösungen kommen auf den Markt, ebenso wie neue Big-Data-Technologien.

Doch wenn hoch spezialisierte Fachkräfte für Data-Science-Projekte mit verschiedenen separaten Tools, Umgebungen und schlecht aufeinander abgestimmten Workflows zusammenarbeiten, entstehen schnell Engpässe, die sich negativ auf den Zeitplan und die Produktivität auswirken.

Eine einheitliche aber modulare Plattform, die den gesamten Machine Learning Workflow abdeckt, beziehungsweise in die sich die verschiedenen Tools für die unterschiedlichen Phasen eines Data-Science-Projekts leicht integrieren lassen, kann hier Abhilfe schaffen. Wie eine solche Orchestrierung des Machine Learning Workflows konkret aussehen kann, soll im Folgenden aufgezeigt werden.

CRISP-DM

Eine der am häufigsten genutzten Methoden für Data-Science-Projekte ist der Cross Industry Standard Process for Data Mining, kurz CRISP-DM. Diese unterscheidet zwischen sechs verschiedenen Projektphasen. Am Anfang steht das „Business Understanding“. In dieser ersten Phase geht es darum, aus geschäftlicher Perspektive die Ziele und Anforderungen des Projekts zu verstehen. In der zweiten Phase, dem „Data Understanding“, werden die vorhandenen Daten und die mit ihnen verbundenen Möglichkeiten und Probleme evaluiert. Die nächsten Phasen umfassen Datenvorbereitung, Modellierung, Evaluierung und Implementierung.

Um besser zu verdeutlichen, wie der Machine Learning Workflow orchestriert werden kann, schauen wir uns drei dieser Phasen einmal genauer an: Datenvorbereitung, Modellierung und Implementierung.

Ablauf eines Machine-Learning-Projektes
Ablauf eines Machine-Learning-Projektes (Bild: Pentaho)

Die Abbildung zeigt den typischen Ablauf eines solchen Projekts. Eingangs wird der Zugriff auf die Daten hergestellt, welche dann bereinigt werden. Beim Feature Engineering werden dann die Attribute und Kennzahlen erstellt, auf die dann später die Algorithmen angewendet werden sollen. Hier ist das Gespür und die Erfahrung des Data Scientist gefragt, welche Attribute etc. nötig sind. Hier sollte also eine enge Kollaboration zwischen Data Engineers und Data Scientist möglich sein. Im nächsten Schritt wird dann im ML-Tool der Wahl der passende Algorithmus identifiziert, ein Modell trainiert und anschließend getestet. Im Anschluss daran gilt es, dieses Modell in die Produktion zu überführen. Im laufenden Betrieb wiederum muss das Modell regelmäßig aktualisiert werden, um eine konstante Qualität der Ergebnisse zu gewährleisten.

Optimierung der Datenvorbereitung

Die Datenvorbereitung ist der größte Zeitdieb bei Data-Science-Projekten. Typischerweise werden 70 bis 80 Prozent der Arbeitszeit eines Data Scientists auf Tätigkeiten verwandt, die üblicherweise in die Zuständigkeit eines Data Engineers fallen würden.

Doch diese Sorgfalt ist auch angebracht. Auch der beste Algorithmus kann auf Basis unbrauchbarer Daten keine Ergebnisse liefern. „Garbage in = Garbage out“, wie es so schön heißt. Doch warum benötigt die Datenvorbereitung so viel Zeit und wie könnte man diesen Prozess beschleunigen?

Bevor man überhaupt erst mit der Datenvorbereitung beginnen kann, müssen diese erst einmal von den verschiedenen Datenquellen gesammelt und aufbereitet werden. Dieser Prozess ist bei Machine-Learning-Anwendungen besonders zeitintensiv. Das liegt zum einem am Datenvolumen, zum anderen aber auch an der Diversität der Daten und vor allem auch der Datenquellen. Hier stellt sich die Frage, ob ein Data Scientist sich mit der Frage auseinandersetzen sollte, wie er Daten von einem Webservice, einem ERP-System, einer Hadoop-Plattform und diversen Dateien in unterschiedlichen Formaten verwenden kann oder ob es nicht effektiver wäre, ihm diese z. B. über eine virtuelle SQL-Schnittstelle oder einen Ad-hoc-Data-Mart auf Abruf zur Verfügung zu stellen.

Hier ist es sinnvoll, diese Tätigkeiten einem Data Engineering Team zu übergeben, damit sich die raren und teuren Data-Science-Ressourcen auch ihrer eigentlichen Aufgabe widmen können. Durch Automatisierung und On-demand-Prozesse können hier sehr effiziente Schnittstellen geschaffen werden. Der Data Scientist muss sich nicht mehr um Datenstrukturen, Formate etc. kümmern und kann schnell mehr und qualitativ besser Modelle entwickeln welche dank der Datenintegrationsplattform nachvollziehbar und vor allem leicht reproduzierbar sind sowie den Zugriff auf buchstäblich tausende Datenquellen ermöglichen.

Metadaten-Einspeisung beschleunigt den Einspeisungsprozess

Ein neuer Ansatz, der helfen kann den Prozess zu beschleunigen ist die automatische Metadaten-Einspeisung. Anstatt manuell für jede Datenquelle die Integrationsprozesse zu definieren, wird nur eine Prozessschablone definiert, die in groben Zügen die Datenintegration vorgibt. Dadurch können mit nur wenigen Transformationen rund 80 Prozent aller Datenquellen automatisiert eingespeist werden. Es ist nicht mehr nötig, die Metadaten für alle Quellen separat zu definieren. Vielmehr werden die Metadaten während des Integrationsprozesses aus den Quelldaten ausgelesen und in die Schablone injiziert. Diese automatische Erkennung und die Einspeisung in die Schablone während der Laufzeit beschleunigen den Ladeprozess und lassen sich für tausende von Datenquellen skalieren.

Inline-Visualisierungen vereinfachen die Datenbereinigung

Sind die Daten nicht richtig für Machine Learning aufbereitet oder wurden die falschen Datensätze ausgewählt, nutzen auch die besten Modelle nichts. Doch meist wird dies erst während der explorativen Datenanalyse oder schlimmer noch, während der Implementierung sichtbar. Dann muss der gesamte Datenvorbereitungsprozess, die Datenbereinigung, das Filtern, die Ableitung und Denormalisierung, sodass die Daten für Machine-Learning-Algorithmen genutzt werden können, wiederholt werden. Doch das kostet viel Zeit. Verfügt das ETL-Tool über eine grafische Benutzeroberfläche, kann die Datenvorbereitung bereits wesentlich vereinfacht und verkürzt werden. Eine durchgängige Plattform in Kombination mit Inline-Visualisierungs-Tools macht es darüber hinaus möglich, Daten in jedem Schritt des Datenvorbereitungsprozesses einfach zu visualisieren, ohne zwischen verschiedenen Tools zur Datenintegration und -visualisierung hin und her zu wechseln.

Dadurch können die Datensätze bereits während des ETL-Prozesses stichprobenartig visualisiert und überprüft werden und Qualitätsprobleme oder fehlende Datenquellen frühzeitig identifiziert werden. Dadurch werden viel Zeit und Ressourcen eingespart und eine bessere Datenqualität erzielt, die es Data Scientists erlaubt schneller mit dem Feature Engineering zu beginnen. Darüber hinaus sollte es mit der Plattform möglich sein, spezifische für Machine Learning benötigte Transformationen, wie z. B. „überwachte“ Diskretisierung oder One-Hot-Kodierung anzuwenden.

Die Bandbreite der Machine-Learning-Sprachen und Pakete voll ausschöpfen

Data Scientists haben meist sehr spezifische Präferenzen, mit welchen Sprachen oder Machine-Learning-Paketen, sie ihre Modelle entwerfen. Im Wissenschaftsbereich wird Weka oder R besonders häufig genutzt, während in vielen Unternehmen Python besonders beliebt ist. In Big-Data-Umgebungen kommt Spark MLlib häufig zum Einsatz. Damit sich die Modelle reibungsloser und schneller entwerfen, abstimmen, trainieren und testen lassen, sollte die Machine Learning Plattform dieser Vielfalt an Sprachen und Tools Rechnung tragen. Je umfassender die Integration zu den genannten Programmiersprachen und den Machine Learning-Paketen, desto mehr Freiheit haben die Data Scientists zum Entwerfen ihrer Modelle und können die richtige Balance zwischen Komplexität, Leistung und Genauigkeit finden. Auch Champion Challenger Tests und Feedback-Loops helfen, die Genauigkeit der Modelle zu verbessern und sollten einfach mit der Plattform auszuführen sein.

Implementierung, Operationalisierung und Aktualisierung des Modells

Auch ein trainiertes, abgestimmtes und getestetes Machine-Learning-Modell muss noch in der Produktionsumgebung implementiert werden. Dafür muss der dafür zuständige Application Architect genau verstehen, woher die Daten kommen und welche Features entwickelt wurden. Das ist nicht immer einfach. Laut Ventana Research haben 50 Prozent der Unternehmen Schwierigkeiten, die Machine-Learning-Modelle in ihre Informationsarchitektur zu integrieren. Mit einer durchgängigen Plattform, die es erlaubt die von den Data Scientists entwickelten Modelle schnell und einfach in den Datenworkflow einzubetten, kann dieser Engpass behoben werden. Wenn bereits vorhandene Daten und Feature-Engineering-Anstrengungen genutzt werden können, reduziert sich auch die Implementierungszeit. Im Hinblick auf die modernen Informationsarchitekturen, sollte es möglich sein, z. B. durch einbettbare APIs, die Modelle auch innerhalb existierender Anwendungen zu nutzen.

Laut Ventana Research nutzt weniger als ein Drittel der Unternehmen (31 Prozent) ein automatisiertes Verfahren für die Aktualisierung des Modells, sodass diese relativ zeitaufwendig ist. Dabei erlauben es benutzerdefinierte Arbeitsschritte für R, Python, Spark MLlib oder Weka, die existierenden Modelle mit neuen Datensätzen neu zu trainieren oder Features zu aktualisieren. Die Modelle können mit vorgefertigten Workflows automatisch aktualisiert oder archiviert werden.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44748483 / Künstliche Intelligenz)