Kontakt

DataSpark GmbH & Co. KG

Mainzer Landstraße 49

60329 Frankfurt am Main 

T     +49 069 870087240
E    kontakt@dataspark.de 

Nachricht schreiben

© 2020 by DataSpark GmbH & Co. KG

  • Ivan Stoyanov

AutoML-Tools von A bis Z

Warum ist jetzt der richtige Zeitpunkt für AutoML?


Automated Machine Learning (AutoML) ist aktuell einer der am stärksten wachsenden Bereiche im Data Science Spektrum.   

Ein Grund dafür liegt auf der Hand: Der seit etwa 15 Jahren wachsenden Anzahl an Stellenangeboten im Bereich Data Science stehen zu wenige verfügbare Fachleute gegenüber. Eine McKinsey-Studie aus dem Jahr 2011 sagte voraus, dass 2018 in etwa 2,8 Millionen Fachkräfte im Bereich "Advanced Analystics & Data Science" arbeiten würden. Vergegenwärtigt man sich, dass im Jahr 2015 etwa 2,35 Millionen Stellenangebote im Bereich Data Science diverse Stellenportale überschwemmten, so wird einem der dramatische Mangel an Fachkräften bewusst. Nach einer Vorhersage von IBM könnte sich diese Zahl im Jahr 2020 auf 2,72 Millionen erhöhen und sich die Lage damit weiter verschlechtern.


Die notwendige Demokratisierung von Machine Learning ist der Wind in den Segeln von AutoML   

AutoML-Tools ermöglichen die "Demokratisierung“ von Machine Learning, indem sie die personellen Einstiegsbarrieren in den Machine Learning Bereich beseitigen und so eine schnelle Umsetzung von Machine Learning Use Cases ermöglichen.   

Dazu tragen vor allem die folgenden drei Eigenschaften solcher Tools bei:   

  • Eine große Bandbreite an erprobten Modellen und deren Optimierungsalgorithmen sind vorinstalliert.

  • Der automatisierte Prozess für die Bildung eines Modelles berücksichtigt die für dieses Modell spezifischen Anforderungen.

  • Es werden zahlreiche Modelle und Hyperparameter-Setups automatisiert angewendet und die resultierenden Modelle evaluiert. Schlussendlich liefert das Tool das Modell mit der besten Performance für das gegebene Problem. 


Können AutoML-Tools Data Scientists ersetzen?   


Zunächst einmal ist festzustellen, dass AutoML nicht gleichbedeutend ist mit Automated Data Science. Machine Learning ist als ein Teilgebiet von Data Science zu verstehen, das aus den folgenden Aufgaben besteht:      

  • Data Preparation und Feature Engineering    

  • Modellentwicklung (Modellauswahl, Hyperparameter-Optimierung, Training, Evalueriung, Fine-Tuning)      

Damit gehören Bereiche wie (deskriptive) statistische Analysen oder Data Mining nicht zu Machine Learning. Auch die Übersetzung von Ergebnissen aus komplexen Analysen in fachbezogene Erkenntnisse ist Teil des Expertisenspektrums von Data Scientists und wird (noch) nicht durch AutoML-Tools abgedeckt.


Automated Machine Learning zielt also nicht darauf ab, Data Scientists zu ersetzen. Zudem sind AutoML-Modelle den „maßgeschneiderten“ Modellen von erfahrenen Data Scientists noch unterlegen. Gewinner-Modelle auf Kaggle wurde bis dato nicht von Modellen, die durch AutoML gewonnen wurden, geschlagen. Das liegt vor allem daran, dass Data Scientists sowohl besondere Eigenarten der Daten als auch fachliches Verständnis für das zugrundeliegende Problem gezielt in die Data Preparation und in das Feature Engineering einbringen können. Es ist allerdings fast sicher, dass AutoML-Tools hinsichtlich ihrer Performance weiter aufholen werden. Einer der großen Selling-Points von AutoML, der in diesem Zuge unbedingt genannt werden muss, ist die Standardisierung des Machine Learning Prozesses. So weichen selbst geschriebene Script-Templates und verschiedene „Best“ Practices einem von allen Beteiligten genutzten Tool. 

  

Zahlreichen Berichten zufolge - und das bestätigt auch die persönliche Erfahrung des Autors – sind die Schritte Data Preparation, Feature Engineering und Hyperparameter Tuning die zeitraubendsten im Machine Learning Prozess. Der aufzubringende Zeitanteil für diese Schritte kann in etwa mit 80% quantifiziert werden. Hierbei handelt es sich also um echte Zeitfresser, die aus vielen manuell ausgeführten Standardschritten bestehen.   


Werfen wir nun einen Blick darauf, welche konkreten Schritte sich als Teil eines effizienten Machine Learning Workflows bewährt haben:

  • Tuning der Hyperparameter für die ausgewählten Modelle (explorativ)     

  • „Survival oft the Fittest“: Training und Evaluierung vieler verschiedener Modelle (explorativ)      

  • Training der „überlebenden“ Modelle auf Basis verschiedener Features-Sets (explorativ)   

Es versteht sich von selbst, dass explorative Phasen mit einem erhöhten Zeitaufwand verbunden sind. Es ist somit nur natürlich zu fragen: „Ist es nicht möglich, diese Explorationsphasen zu automatisieren?“. Die Antwort lautet: AutoML.    


AutoML-Tools automatisieren die zeitraubenden und repetitiven Prozessschritte und erweitern das Tätigkeitsfeld von Data Scientists. Das gewählte AutoML-Tool fungiert als zentrales Instrument für Machine Learning Use Cases und ermöglicht so Kollaboration. Die bereits angesprochene Barrierefreiheit von AutoML-Tools wird nicht zuletzt durch ein hohes Maß an Transparenz, etwa durch Visualisierungskomponenten, erreicht.   


Was die IDE für Software Engineers ist, wird das AutoML-Tool für Data Scientists sein.   

Laut einer Gartner Studie aus dem Jahr 2017 ist damit zu rechnen, dass 2020 mehr als 40% der heutigen Aufgaben von Data Scientists automatisiert sein werden. Und diese Prognose scheint sich zu bewahrheiten, denn die Zahl der auf dem Markt verfügbaren AutoML-Tools ist in den vergangenen 1-2 Jahren um das Dreifache gestiegen. Und dennoch wird weiter in diesem Bereich investiert, um in Zukunft noch bessere Tools und Services anbieten zu können.    


Da sich in diesem jungen Bereich bisher keine zementierten Standards gibt, die als Referenz für Neuentwicklungen dienen könnten, entwickeln sich die erhältlichen Tools in verschiedene Richtungen, mit dem Ziel sich gut am Markt zu positionieren. So zielen manche AutoML-Tools darauf ab, Nutzern als GUI-basierter "One-Stop-Shop" in der Cloud oder on-premise zur Verfügung zu stehen, andere Tools wiederum konzentrieren sich auf spezielle Probleme, indem Sie zum Beispiel nur das Feature Engineering automatisieren. In diesem Zuge hat vor allem die Open Source Community Bibliotheken und APIs entwickelt, die in bereits implementierte IT-Architekturen etwa auf Basis von Python, R, Scala oder Java integriert werden können.


AutoML-Tools: Was kann was?


Die konkrete Zielsetzung dieses Artikel besteht darin, Ihnen, dem Leser, einen Überlick über die diversen erhältlichen AutoML-Tools und deren Funktionalitäten zu geben und Ihnen damit Informationen an die Hand zu geben, mit denen Sie die Mehrheit der erhältlichen AutoML-Tools* im Hinblick auf Ihren Leistungsumfang und Ihre Tauglichkeit für bestimmte Use Cases bewerten können.  

Eine Gesamtübersicht über die evaluierten AutoML-Tools liefert Tabelle 1.   

Anmerkung: Für manche der kommerziellen Tools konnten bestimmte Kriterien nicht evaluiert werden. In diesem Fall ist ein "?" in der jeweiligen Spalte. Darüber hinaus sind bestimmte Kriterien speziell für die Open Source Tools irrelevant. In diesem Fall befindet wurde ein "-" in die Spalte eingefügt.


Tabelle 1: Gesamtübersicht



Primär lassen sich die Tools in drei trennscharfe Rubriken einteilen:  


  1. Ein großer Anteil der AutoML-Tools kann der Rubrik "One-Stop-Shop" zugeordnet werden. Diese Art des Service-Design hat sich vor allem bei Start-Ups als goldener Standard herauskristallisiert. Doch auch hier machen sich verschiedene Ansätze bemerkbar: Start-Ups wie DataRobot bieten einen enormen Automatisierungsgrad und hohe Transparenz durch Visualisierungskomponenten, die den gesamten Prozess vom Feature Engineering bis zum Deployment der Modelle erklärend begleiten. DataRobot stattet seine Nutzer darüber hinaus mit zahlreichen Konfigurationsoptionen aus, was vor allem für anspruchsvolle Nutzer wie Data Scientists einen großen Mehrwert darstellt. Mit dieser Strategie gelingt es DataRobot, Fachexperten und Businessanalysten in den Prozess mit einzubeziehen und diese gemeinsam mit Data Scientists ein einen Tisch zu bringen. Andere Lösungen legen vor allem Wert darauf, Fachexperten und Business-Analysten ein möglichst simples Tool an die Hand zu geben, mit dem schnell nutzbare Modelle erzeugt werden können.  

  2. AutoML als Cloud Service heißt die Philosophie der Tech-Giganten, die den Cloud-Sektor dominieren. Hierunter fallen sowohl GUI-basierte AutoML-Services als auch die Bereitstellung von Open Source Bibliotheken, die technisch versierte Nutzer als AutoML-Toolbox nutzen können.  

  3. Open Source  AutoML-Tools, darunter fallen vor allem AutoML-Bibliotheken und -APIs für die Verwendung mit Python und R, zum Teil aber auch für Spark (Scala) und Java. Nur einige wenige Open Source AutoML-Tools vereinfachen die Nutzung durch ein GUI. Manche Tools sind vollständige Eigenentwicklungen wie H2O (Python) und TransmogrifAI (Spark / Scala), andere greifen auf bewährte Frameworks wie scikit-learn (Python) oder Caret (R) zurück und konzentrieren sich im Wesentlichen auf die Workflow-Automatisierung.  

In Tabelle 2 beleuchten wir die mitgelieferten Funktionalitäten der AutoML-Tools im Hinblick auf Datenbankschnittstellen, Deployment-Optionen und lösbare Machine Learning Problemstellungen.  


Tabelle 2: Datenbankschnittstellen, Deployment-Optionen und ML-Funktionalitäten



Alle  AutoML-Tools bieten die Möglichkeit, Flat-Files für die Modellbildung zu verwenden. Mit Ausnahme einiger weniger Tools ist auch die Herstellung von Datenbankverbindungen in den meisten Fällen möglich und somit eine Standardfunktionalität. Keine Standardfunktionalität ist jedoch die Fähigkeit, unstrukturierte Daten parsen und gewinnbringend bei der Modellierung nutzen zu können, denn diese Funktionalität haben weniger als die Hälfte der AutoML-Tools. Der Vollständigkeit halber muss noch erwähnt werden, dass die Cloud-Service Lösungen nur die anbieterspezifischen Datenformate unterstützen.  


Um die Modell-Pferdestärken auf die Straße zu bringen, bieten alle "One-Stop-Shop"-Tools und alle Cloud-Services die Möglichkeit, die erzeugten Modelle als REST-API zu deployen. Die meisten dieser Anbieter bieten auch Code-Deployments, z.B. JAR-File, als mögliche Option an. Damit können Modelle z.B. in geschlossene und/oder zeitkritische Architekturen ohne API-Requests integriert werden.  


Die klassischen Machine Learning Problemstellungen Regression und Klassifikation können von (fast) allen AutoML-Tools gelöst werden. Anders sieht es bei Zeitreihenvorhersagen aus: Hier können nur ca. 20% der Tools mit Unterstützung für Zeitreihendaten und Forecasting-Modelle punkten.  


In Tabelle 3 richten wir den Blickwinkel auf die Automatisierung der verschiedenen Schritte im Machine Learning Prozess. 

Folgende Schritte werden dabei beleuchtet :

  • Feature prep – automatisierte Aufbereitung der Features, z.B. durch One-Hot-Encoding oder Skalierung

  • Hyperparameters opt – Automatisierte Anwendung verschiedener Hyperparameter-Setups für die Modelle

  • Model Evaluation – Automatisierte bzw. unterstützte Evaluierung der Modellperformance

  • Unblackboxing – Automatisierte Bereitstellung von Erklärungen für Modelle und Vorhersagen

  • Model Customization – Bereitstellung von Funktionalitäten zum manuellen Fine-Tuning von Modellen vor der Deployment-Phase. Dieser Punkt ist nicht relevant für Open Source Tools

  • Model Deployment – Bereitstellung von deployment-unterstützenden Funktionalitäten

  • Monitoring – Bereitstellung von Funktionalitäten für Monitoring und Maintenance deployter Modelle

  • Collaboration – Bereitstellung von Funktionalitäten für Kollaboration bei Training, Evaluierung und Modell-Deployment


Tabelle 3: Automatisierte Komponenten, Deployment, Monitoring und Kollaboration



Die Optimierung der Hyperparameter und die Evaluierung der Modellperformance bilden offenbar den Kern der AutoML-Funktionalitäten, da diese Schritte bei allen Tools automatisiert wurden.  


Die Automatisierung von gängigen Feature Preparation Methoden wie One-Hot-Encoding oder Data-Time-Transformationen wird ebenfalls von fast allen AutoML-Tools umgesetzt. Fortgeschrittene Feature Preparation Methoden wie Lag-Features werden von manchen der Tools unterstützt, die auch Zeitreihenvorhersagen unterstützen.  


Erklärungen für Vorhersagen, die zum Beispiel durch Analyse der Feature Impacts oder durch andere sogenannte "Unblackboxing"-Methoden gewonnen werden, sind bereits im Leistungsumfang einiger kommerzieller AutoML-Tools enthalten. Damit treffen diese einen Nerv, denn für viele Anwender sind transparente Modelle eine starke Anforderung – hier können diese Tools punkten. Einige andere Anbieter haben was "Unblackboxing" & Co. betrifft allerdings noch Aufholbedarf.  


Die Freiheit, bereits trainierte Modelle durch gezieltes manuelles Fine-Tuning (z.B. Anpassung des Schwellenwerts für Klassifikationen) noch weiter zu optimieren, ist ebenfalls eine sehr nützliche Funktion, auf die vor allem Data Scientists nicht verzichten möchten. Im Hinblick auf diesen Punkt war die Evaluierung bei einigen AutoML-Tools leider ohne direkten Zugang nicht möglich. Unser Eindruck ist allerdings, dass derartige Funktionalitäten vor allem im Scope der Start-Ups liegt. 


Funktionalitäten, die das Monitoring der erzeugten Modelle ermöglichen werden von den meisten kostenpflichtigen Tools mitgeliefert. Für jedes dieser Tools ist außerdem ein Konzept für kollaboratives Arbeiten integriert. 


It's time to launch the AutoML-Rocket


Wir alle wissen um das exponentielle Wachstum der Datenhaushalte in der heutigen Zeit und wir sehen den Bedarf nach Data Scientists, der in großer Dysbalance steht zu den verfügbaren Experten. Die Demokratisierung von Data Science beginnt mit der Demokratisierung von Machine Learning – und diese ist bereits in vollem Gange! AutoML-Tools haben das Potential den Bann zu brechen und eine Vielzahl an Mitarbeiter zu Data Scientists zu berufen. Zudem können Sie aufgrund Ihrer Vielseitigkeit zur Wunderwaffe eines jeden Data Scientist werden. 


Wir hoffen, dass Ihnen dieser Artikel einen guten Überblick über den Status Quo und die Dynamik im Bereich AutoML geben konnte.  


Preview:


In einem weiteren Artikel werden wird speziell die Open Source AutoML-Tools unter die Lupe nehmen und Benchmarks für spezifische Use Cases als handfeste Evaluierungsmetriken angeben. 


Autoren: Ivan Stoyanov und Martin Dammrath


*es ist möglich, dass wir "bleeding-edge" Tools aufgrund von noch sehr geringer Resonanz im Netz übersehen und daher nicht mit aufgenommen haben.