Am veröffentlicht

Vor- und Nachteile von Data-Science- und Machine-Learning-Plattformen

Seit einigen Jahren verspricht eine Reihe von Software-Anbietern die (Teil-)Automatisierung von Data-Science-Projekten mit sogenannten Auto-ML-Programmen (automatic machine learning). Mitarbeiter aus den Fachbereichen sollen dadurch in die Lage versetzt werden, selber erfolgreich Machine-Learning-Modelle zu entwickeln und produktiv zu nutzen. Ein tiefergehendes Verständnis der Algorithmen und Methoden ist dafür nicht erforderlich. Häufig wird hierfür der Begriff Citizen Data Scientist verwendet.

Die Vorteile dieses Ansatzes liegen auf der Hand:

  • „Echte“ Data Scientists sind schwer zu bekommen. Das Potential der eigenen Mitarbeiter zu nutzen wirkt diesem Problem entgegen
  • Mitarbeiter profitieren von ihrem Domänenwissen und brauchen dieses nicht erst weiterzuvermitteln
  • Mitarbeiter können agil, d.h. proaktiv und flexibel, entwickeln, ohne von Datenanalysten abhängig zu sein.

In diesem Blogbeitrag werfen wir einen Blick auf die grundsätzlichen Vor- und Nachteile des Citizen Data Scientist-Konzepts und evaluieren, wo die Stärken und Schwächen der Auto-ML-Programme liegen.

NameHerstellerLizenzGartner-Einstufung Q1 2019Beschreibung
AlteryxAlteryxKommerziellChallenger
  • Einfache Bedienung und hohe Customer Experience
  • Schlüssige End-to-End-Plattform
  • Besonders geeignet für Citizen Data Scientists ohne Programmierkenntnisse
DataikuDataikuKommerziellChallenger
  • Einfache Bedienung
  • Kollaboration durch Rollen (z.B. Data Engineer, Data Scientist, Data Citizen)
  • Viele Deployment-Optionen erleichtern Operationalisierung
  • Besonders geeignet für Citizen Data Scientists ohne Programmierkenntnisse
DataRobotDataRobotKommerziellVisionary
  • Einfache Bedienung und hohe Customer Experience
  • Besonders geeignet für Citizen Data Scientists ohne Programmierkenntnisse
H2O Driverless AIH2O.aiKommerziellVisionary
  • Hoch-performante ML-Komponenten
  • H2O integrierbar in andere Plattformen
  • Besonders geeignet für codeaffine Data Scientists
KNIME Analytics PlatformKNIMEOpen SourceLeader
  • Viele ausgereifte Funktionen
  • Sowohl für Citizen Data Scientists als auch fortgeschrittene Data Scientists geeignet
MLFlowMLFlowOpen Source
  • Framework für schnelle Experimente, Versionierung und Deployment
  • Besonders geeignet für erfahrene Data Scientists
Rapid MinerRapidMinerKommerziellLeader
  • Überdurchschnittliche Benutzeroberfläche
  • Schlüssige End-to-End-Plattform
  • Besonders geeignet für Citizen Data Scientists ohne Programmierkenntnisse

Tabelle 1: Bekannte Auto-ML-Tools 2019

Zunächst stellt sich die Frage, was unter dem Begriff Auto-ML-Tool, auch bekannt als Data-Science- und Machine-Learning-Plattform, verstanden wird. Laut dem Marktforschungsinstitut Gartner bezeichnet der Begriff eine Softwareanwendung, die auf einer einzigen Plattform die Grundbausteine des Machine-Learning-Workflows bereitstellt und eine einfache Operationalisierung mit ansprechendem „look and feel“ ermöglicht. Als Anwendungsfall klingt dies erst einmal sehr allgemein. Wann also kann ein Auto-ML-Tool sinnvoll eingesetzt werden? Zur Beantwortung dieser Frage bietet sich die Unterteilung eines Data-Science-Projekts in den bekannten Prozesszyklus an:

  1. Definition des Geschäftsproblems
  2. Auswahl geeigneter Datenquellen und Datenbeschaffung
  3. Analyse und Bereinigung der Daten
  4. Auswahl geeigneter Variablen
  5. Modellerstellung und -optimierung
  6. Bereitstellung des Modells und Performance-Monitoring

Grafik 1: Auto-ML in der Analytics Pipeline

Definition des Geschäftsproblems sowie Auswahl geeigneter Datenquellen und Datenbeschaffung

Jedes Projekt beginnt mit einem Geschäftsproblem und einer Datenbeschaffung. Dafür werden betriebswirtschaftliche Ziele formuliert und mit geeigneten Datensätzen in Verbindung gebracht. Entscheidend für die spätere Projektevaluation ist auch die Quantifizierung des Problems mit Hilfe einer Erfolgsmetrik. Diese Prozessschritte erfordern in erster Linie Domänenwissen und Kenntnisse über die Unternehmensdatenbanken und der verfügbare externe Datenquellen. Somit ist die toolgestützte Automatisierung an dieser Stelle wenig zielführend.

Analyse und Bereinigung der Daten

Anders im dritten Prozessschritt. Für die Aufbereitung und explorative Datenanalyse bieten die verschiedenen Auto-ML-Tools ein unterschiedliches Maß an Unterstützung und Analysemöglichkeiten, z.B. die Berechnung von statistischen Kennzahlen oder die Erstellung einfacher Plots. Insgesamt zählt dies aber nicht zu den Kernfunktionalitäten. An dieser Stelle verbirgt sich daher auch eine zentrale Schwäche des Citizen-Data-Scientist-Ansatzes und damit zusammenhängend der Auto-ML-Tools. Insbesondere die kommerziellen Programme erwecken durch ihre Benutzerführung den Eindruck, dass mit den importierten Daten ohne weitere Aufbereitung direkt Modelle trainiert werden können, die auch später in der Produktion gute Ergebnisse liefern.

Nach unserer Erfahrung weisen Datensätze aber nur in den seltensten Fällen die dafür erforderliche Qualität auf. Durch eine sorgfältige Analyse der Daten im Vorfeld des Modelltrainings lässt sich sowohl die Genauigkeit als auch die Robustheit des späteren Modells deutlich verbessern.

Auswahl geeigneter Variablen

Die nächste Herausforderung liegt in der Auswahl geeigneter Eingangsvariablen für das Modell. Auto-ML-Tools nutzen teilweise Korrelationsanalysen, um stark korrelierte Features zu identifizieren. Häufig werden jedoch alle im Datensatz vorhandenen Features direkt als Eingangsvariablen an das Modell durchgereicht.
Bei geringer Feature-Anzahl funktioniert dieser Ansatz recht gut. Werden die Datensätze komplexer, besteht auch hier wieder die Gefahr, durch suboptimale Featureauswahl unbemerkt Modellperformance zu verlieren. Um diesem Problem zu begegnen, bieten fast alle Auto-ML-Tools die Möglichkeit, manuell in die Feature-Auswahl einzugreifen und auch den Datensatz um abgeleitete Features zu ergänzen.

Ein einfaches Beispiel: Gegeben sei eine Tabelle die unter anderem Start- und Endzeitpunkt eines Bearbeitungsprozesses enthält. Es ist selten sinnvoll, diese zwei Zeitpunkte als zwei separate Features in ein Modell einzuspeisen. Typischerweise bildet man das abgeleitete Feature „Dauer“, indem man die Zeitdifferenz berechnet und nur das so neu erzeugte Feature „Dauer“ als Feature an das Modell weitergibt.

Diese Notwendigkeit des manuellen Eingreifens wird bei der Nutzung von Auto-ML-Programmen allerdings gerne einmal vergessen oder übersehen.

Modellerstellung und -optimierung

Sind die Daten aufbereitet und um weitere abgeleitete Features ergänzt, werden im fünften Schritt verschiedene Modelle auf dem Datensatz trainiert. Dieser Schritt ist sozusagen die Kerndomäne der Auto-ML-Tools.

Basierend auf der Art der Daten und den durch den Benutzer gewählten Optionen kann ein ganzer Zoo von Modellen einer systematischen Suche nach optimalen Hyperparametern unterzogen werden. Bei einem gut gewähltem Auto-ML-Tool profitieren hiervon nicht nur die Mitarbeiter der Fachabteilungen (die Citizen Data Scientists), sondern insbesondere auch die „hauptamtlichen“ Data Scientists. Selbst mit Erfahrung bedeutet das Suchen eines geeigneten Modells viel Arbeit, die aus dem mechanischen Abarbeiten der immer gleichen Schritte besteht. Auto-ML-Tools können hier durch das automatische Absuchen der Hyperparameter und den Optionen zur Parallelisierung helfen, einiges an Arbeitszeit einzusparen. Sollte das Problem eine komplexere Modellierungen erfordern, müssen Auto-ML-Tools auch entsprechende Konfigurationsmöglichkeiten oder eine Einbindung aktueller Pakete anbieten. Nur so kann ein Wechsel zwischen Plattformen und Skripten vermieden werden.
Bei der Modellerstellung besonders vorteilhaft sind Auto-ML-Tools, die eine Versionierung der Modelle sowie der verwendeten Datenquellen unterstützen. Hierdurch lässt sich sicherstellen, dass Ergebnisse auch reproduzierbar sind.

Bereitstellung des Modells und Monitoring

Im letzten Schritt, der Produktivsetzung und dem Monitoring des Modells können Auto-ML-Tools ebenfalls hilfreich sein. Aktuell fehlt es noch an etablierten Standards und Templates, wie beispielsweise mit Python entwickelte Modelle am besten in einer produktiven Umgebung eingebunden werden können. Insbesondere die kommerziellen Vertreter der Auto-ML-Programme bieten stark automatisierte Deploymentmethoden. Mit wenigen Klicks kann man so z.B. einen Webserver erstellen, der das Modell über eine API verfügbar macht oder auch ein bereits genutztes Modell aktualisieren. Außerdem sind häufig Monitoring-Systeme mit eingebunden, mit denen die Modellperformance überwacht werden kann.

Fazit

AutoML-Tools sind eine nützliche Hilfe, um nach der Datenaufbereitung verschiedenste Modelle zu testen. Sie können Hinweise darauf zu geben, welcher Algorithmentyp und welche Hyperparameter für die gegebene Aufgabenstellung geeignet sind. Ein weiterer großer Vorteil ist die Einfachheit, mit der fertige Modelle als API zur Verfügung gestellt werden können. Ein bestechendes Argument für AutoML-Tools ist die benutzerfreundliche Oberfläche mit einfachen und schnellen Visualisierungsmöglichkeiten.

AutoML-Tools können jedoch keine sorgfältige Datenanalyse und Variablenkonstruktion ersetzen. Bei komplexeren Fragestellungen stoßen solche Tools an ihre Grenzen. Deshalb decken AutoML-Tools auch nicht den gesamten Prozesszyklus ab, können aber nach einer Datenaufbereitung den Prozessschritt Modellierung gewinnbringend standardisieren und unterstützen.

Nicht zu unterschätzen ist bei den kommerziellen Tools der Faktor Lizenzkosten. Bereits für etwas größere Installationen können sich die reinen Lizenzkosten schnell im mittleren sechsstelligen Bereich bewegen. Daher sollte vor der Einführung eines kommerziellen AutoML-Tools sorgfältig geprüft werden, ob es im Unternehmen hinreichend viele Anwendungsfälle gibt, die von einem AutoML-Tool profitieren könnten.

Ein wichtiger Punkt, der ebenfalls Vorfeld geklärt werden muss, sind die technischen Einschränkungen der jeweiligen Tools. Typischerweise sind dies:

  • Die maximale Größe eines einzelnen Datensatzes, der noch verarbeitet werden kann
  • Bei Klassifikationaufgaben: maximale Zahl der Kassen, in die die Daten eingeteilt werden können
  • Unterstütze Aufgabenklassen (Regressionsanalysen, Klassifikationsaufgaben, Textmining, Zeitreihenanalysen, Bilderkennung, etc.)

Insgesamt kann ein Unternehmen von der Einführung eines oder bei Bedarf sogar mehrerer Auto-ML-Programme durchaus profitieren. Erforderlich ist jedoch eine sorgfältige Kosten/Nutzen-Abwägung insbesondere bei den kommerziellen Vertretern dieser Produktgattung sowie bei den Mitarbeitern das Wissen um Eigenheiten und Grenzen dieser Programme.