AutoML – was haben die Clouds zu bieten?

Automatisiertes Machine Learning (AutoML) hat viel an Popularität gewonnen. Alle Cloud-Anbieter haben in diesem Bereich geforscht und bieten AutoML Services an.

Autor: Floarea Serban

Die verschiedenen AutoML Services evaluieren zahlreiche ML Algorithmen mit automatischer Modellbildung auf Basis zuvor definierter Daten. Die generierten Modelle können auf der öffentlichen Cloud oder in einem Container bereitgestellt und später via API in Applikationen integriertet werden.

Was ist AutoML?


AutoML ist ein Prozess, welcher die repetitiven und wiederverwendbaren Tasks von Data-Science-Prozessen automatisiert. Dieser Prozess erlaubt es den Data Engineers, Data Scientists, Analysten und Entwicklern, sowohl Modelle mit höherer Skalierbarkeit, Geschwindigkeit, Effizienz und Produktivität als auch guter Modellqualität zu entwickeln.

Gemäss Gartner hat AutoML in den letzten Jahren grosses Interesse geweckt: «Sales lead scoring, risk assessment and next-best-action recommendation». Zudem ist eine der strategischen Hypothesen von Gartner, dass bis 2022 die Anzahl von Applikationen, welche AutoML verwenden, von 1% auf 25% zunehmen wird.

Die traditionelle Entwicklung von ML-Modellen erfordert beträchtliche Ressourcen und unterschiedliche Mitarbeiterprofile. Zum einen müssen die Data Engineers hohe Datenmengen von verschiedenen Quellen beziehen und bereitstellen. Zum anderen liegt es an den Data Scientists und Business Analysts die Daten zu verstehen, zu aggregieren und zu transformieren. Gleichzeitig entwickeln und optimieren ML-Forscher stetig neue Algorithmen und Modellstrukturen. Diese werden von Software Entwicklern in wiederverwendbare Libraries integriert, welche schlussendlich produktiv in den Applikationen landen. Dann erst schliesst sich der Kreis und die optimierten Modelle können (bestenfalls) Business Value generieren. 

AutoML hat das Ziel, den ganzen Data-Science-Prozess – von der Datenbereinigung bis zur Parameter Optimierung – zu automatisieren. Dieser Prozess durchläuft folgende Schritte:

  1. Datenbereinigung
  2. Feature Pre-Processing, Selection und Construction
  3. Modell Selection
  4. Parameter Optimierung

Bis anhin fokussierten die meisten AutoML-Tools auf die Modell Selection und die Parameter Optimierung.

20200504_AutoML_Cloud_FSE.JPG
Abbildung 1: Data-Science-Prozess

Was bieten die Cloud-Plattformen für AutoML an?


AutoML ist nichts Neues. Die Forschung beschäftigt sich schon seit Jahren mit diesem Bereich. Angefangen hat dies mit der Entwicklung von Hyperparameter-Optimierungsmethoden für einzelne Modelle und reicht aktuell bis zur Entwicklung von Methoden wie Automated Stacking, Neural Architecture Search, Pipeline Optimierung und Feature Engineering. Die Popularität ist in den letzten Jahren durch die vermehrte Verwendung der Cloud stark gestiegen. Somit stellt sich die Frage: Was sind die neusten Entwicklungen der Cloud Anbieter und welche Lösungen bieten sie an?

«AutoML ist nichts Neues. Durch die Cloud ist aber die Popularität stark gestiegen.»
Floarea Serban IT-Architect

Es gibt diverse Cloud-basierte AutoML-Plattformen wie beispielsweise Databricks, DataRobot, IBM, RapidMiner, H2O.ai und TPOT. 

Nachfolgend werden die top drei der grössten Cloud Anbieter von Gartner’s Magic Quadrant für Cloud AI Developer Services analysiert. Sie stellen alle eine eigene Plattform zur Verfügung.

Die Analyse basiert auf den Produktkatalogen der Anbieter sowie auf der Erfahrung aus unterschiedlichen Quellen. Einen detaillierten Vergleich der restlichen Produkte finden Sie hier.

Amazon, Google und Microsoft (alphabetische geordnet, keine Rangordnung) haben ihre AutoML-Services zeitgleich auf den Markt gebracht. Seit 2018 sind AWS SageMaker Automatic Model Tuning, Google Cloud AutoML, Microsoft Azure AutoML in den Cloud Plattformen verfügbar.

1.    Amazon Sagemaker Auto-Pilot


Der Sagemaker Auto-Pilot ist Teil des AWS-Framework Sagemaker für Machine Learning. Dieser bietet eine Plattform und Werkzeuge zur Unterstützung des gesamten Lebenszyklus eines ML-Projektes. Mehr dazu können Sie in unserem Blog «Wieso Machine Learning in der Cloud? – am Beispiel Amazon SageMaker» lesen.

Zusammengefasst funktioniert der SageMaker Autopilot wie folgt:

  1. Analysieren von Daten
  2. Feature Engineering
  3. Model Tuning: Leader Board mit den Modellen und Scoring. Dazu kann man für jedes Modell zusätzlich die Trade-offs prüfen (Genauigkeit vs. Performanz, etc.). Für ein Experiment werden über 250 Modelle generiert und getestet.
  4. Das beste Modell wird verwendet, um eine Inferenz-Pipeline zu kreieren. Die Pipeline kann als Single Endpoint oder als Batch-Processing eingesetzt werden. Alle Schritte verwenden die vollständig verwaltete Infrastruktur.

2.    Google Cloud AutoML


Basierend auf den Forschungsresultaten des Google Research Labs bietet Google Cloud AutoML spezialisierte Lösungen für verschiedene Bereiche wie beispielsweise Natural Language Processing (NLP), Computer Vision und Tables an. Die Produkte basieren auf Transfer Learnings und Neural Architecture Search als Technologien. Die Modellentwicklung und Modellselektion sind proprietäre Tools von Google, deren Funktionsweise nicht offengelegt wird. Das NLP Produkt kann benutzerdefinierte Modelle für vier verschiedene Aufgaben trainieren:

  • Die Klassifizierung von Dokumenten mit einem einzigen Label
  • Die Klassifizierung von Dokumenten mit mehreren Labels
  • Die Entitätsextraktion erkennt Entitäten in Dokumenten
  • Die Sentiment Analyse ermittelt die subjektiven Empfindungen in Dokumenten

Das Trainieren von Modellen kann mehrere Stunden dauern, abhängig von der Dateigrösse. Nachdem es erfolgreich trainiert wurde, können diverse Metriken des Modells geprüft werden, beispielsweise wie die Genauigkeit und die Trefferquote ausgefallen sind.


AutoML Vision vereinfacht den ganzen ML-Prozess für den User. Dazu müssen lediglich die Bilder mit den entsprechenden Labels zur Verfügung gestellt werden. Wenn das Modell fertig trainiert ist, erhält man einen Überblick zur Performanz des Modells. Dieser zeigt anhand von verschieden Ergebnissen (Precision, Recall, Confusion Matrix, etc.), wie gut das gewählte Modell ist. Die Evaluierung wird als Diagramm dargestellt.


Google Tables kann bei strukturierten Daten angewandt werden. Vor dem Training werden in AutoML-Tables die folgenden Feature-Engineering-Aufgaben ausgeführt:

  • Numerische Features normalisieren und kategorisieren
  • One-Hot-Kodierungen und Einbettungen für kategoriale Features erstellen
  • Textfeatures grundlegend verarbeiten
  • Datum und zeitbezogene Features aus Zeitstempelspalten extrahieren

 

Das Training in AutoML wird gleichzeitig für unterschiedliche Modellarchitekturen durchgeführt. Dieser Ansatz ermöglicht einem, die passende Modellarchitektur innert Kürze herauszufinden. Die folgenden Modellarchitekturen werden unterstützt:

  • Linear
  • Neuronales Deep-Learning-Feed-Forward-Netzwerk
  • Gradient Boosted-Entscheidungsbaum
  • AdaNet
  • Gruppen unterschiedlicher Modellarchitekturen

3.    Microsoft Azure AutoML

Auch der AutoML-Services von Microsoft ist ein Resultat von Microsoft-Forschung der letzten Jahre. Microsoft verwendet probabilistische Methoden, um automatisierte Entscheidungen abzuleiten und Meta-Learning um die Komplexität in hoch-dimensionalen Optimierungsproblemen zu reduzieren und den Wissenstransfer über Dateien und Probleme zu ermöglichen. Microsoft empfiehlt AutoML für die folgenden drei Problemstellungen zu verwenden: Klassifizierung, Regression und Zeitreihenvorhersagen.

Microsoft Azure AutoML kann ein Modell trainieren und auf eine definierte Ziel-Metrik hinarbeiten. Der Fokus liegt auf den folgenden Schritten des ML-Prozesses:

  • Pre-processing: Die Daten sind automatisch skaliert oder normalisiert, damit die Algorithmen gut funktionieren. Ausserdem stehen erweiterte Features wie Schutzmassnahmen für Daten, Kodierung und Transformationen, fehlende Daten ersetzen, etc. zur Verfügung.
  • Feature Selection
  • Model Selection
  • Hyperparameter-Tuning

Der Service iteriert mit der Feature Selection durch alle ML-Algorithmen. Jede Iteration resultiert in einem Modell mit dazugehörigem Training Score. Je höher der Score desto besser das Modell. Während dem Azure ML-Training werden viele parallele Pipelines kreiert, um verschiedene Algorithmen und Parameter zu testen. Das ganze Experiment ist als vollendet zu betrachten, wenn das Zielkriterium mit dem tatsächlichen Score des Experiments übereinstimmt.


Azure AutoML zeigt wie viele Modelle getestet wurden, welchen Score sie erreicht haben und wie lange das Training gedauert hat. Das beste Modell kann als Web Service direkt deployed werden. AutoML ist auch integriert und in anderen Microsoft Services/Produkten wie ML.NET, HDInsight, Power BI und SQL Server verfügbar.

Vorbehalte bezüglich AutoML

Neben den Vorteilen von AutoML gibt es auch einige Defizite, welche nicht ausser Acht gelassen werden dürfen. Ich führe hier die Wichtigsten auf:

  • Alle Services fokussieren mehr auf die Feature Selection und Parameter Optimierung innerhalb des Data-Science-Prozesses. Das Pre-Processing wird noch nicht zufriedenstellend unterstützt.
  • AutoML ist bei Problemen wie Klassifikation und Regression limitiert. Es können noch keine Empfehlungen und Rankingmodelle erstellt werden.
  • Allgemein fehlt die Transparenz. Die meisten AutoML-Services sind wie eine «Black-Box» ohne Angaben, welche Algorithmen im jeweiligen Schritt verwendet werden (Datenvorbereitung, Modell-Selection, Parameter Tuning Selection, etc.). 
  • AI Explainability ist das Stichwort für diejenigen Kunden, welche vermehrte Transparenz von ML-Plattformen wünschen.
  • Eine Welle der ML-Demokratisierung steht bevor. Die Fähigkeit, AI-Lösungen zu entwickeln, wird von hochspezialisierten Datenwissenschaftlern auf die gesamte IT (Software-Entwickler und Citizen Developer) übergehen. Gemäss Gartner ist die Demokratisierung einer der top 10 Strategic Technology Trends von 2020 in AI. AutoML wird dabei eine wichtige Rolle spielen.
  • AutoML eignet sich hervorragend dafür, Modelle zu untersuchen und diese in eine Rangliste zu bringen. AutoML ist jedoch nicht in der Lage die Arbeit eines Data Scientist zu übernehmen. Der Data Scientist muss das Business-Problem nach wie vor verstehen und definieren sowie die wichtigen Features kreieren und auswählen. Die Schwierigkeit liegt darin sowohl das Problem zu identifizieren, die richtigen Fragen zu stellen, als auch eine nachhaltige Strategie festzulegen. Ausserdem sind die Resultate richtig zu interpretieren und zu hinterfragen sowie adäquate Metriken für Entscheide zu definieren. Genauigkeit ist nur einer der Faktoren bei der Modellevaluierung. Das genauste Modell ist nicht zwingend das Beste. AutoML kann solche Abwägungen nicht automatisch treffen.
«Genauigkeit ist ein Faktor, doch das genauste ML-Modell ist nicht immer das Beste.»
Floarea Serban IT-Architect
  • Ungeklärt ist, ob AutoML bessere, schlechtere oder vergleichbare Modellqualität kreieren kann. KDnuggets hat mehrere Szenarien analysiert und die Ergebnisse von AutoML mit denen von Data Scientist verglichen. Die Resultate sind durchzogen, aber es geht klar hervor, dass ein Data Scientist AutoML als Hilfestellung verwenden kann.

Fazit


Zusammenfassend ist zu sagen, dass mit AutoML die produktiven Modelle viel schneller entwickelt werden können. Data Scientists und Data Analysten sowie Software-Entwickler in verschiedenen Industrien können AutoML einsetzen um:

  • ML-Lösungen zu implementieren ohne viel Programmierwissen zu haben: AutoML bietet ein UI, um den Prozess abzubilden. Der Anwender benötigt jedoch ein gewisses Business- und Problemverständnis.
  • Zeit und Ressourcen zu sparen: AutoML ist auch für erfahrene Data Scientists eine Hilfe. Sie gelangen damit für die jeweilige Problemstellung viel effizienter zu einem validen Modell.
  • Kosten zu reduzieren: Mit AutoML wird weniger Zeit für die Auswahl und Optimierung der Parameter benötigt. Alle möglichen Kombinationen werden automatisch ausprobiert bis die beste Lösung gefunden wurde.
  • Einfach Data Science Best Practices anzuwenden

Quellen

  1. Alibaba Cloud
  2. AutoML GitHub
  3. AWS Sagemaker 1
  4. AWS Sagemaker 2
  5. Forbes
  6. Google Cloud
  7. KDnuggets
  8. Microsoft
  9. Towards Data Science