Insight Blog

Von der Theorie in die Praxis: Was kommt als Nächstes im Bereich AutoML?

What is AutoML

Eswar Nagireddy, Senior Product Manager of Data Science bei Exasol, spricht in diesem Blog über AutoML, welchen Nutzen Unternehmen daraus ziehen können, erläutert die praktischen Aspekte des Aufbaus eines AutoML-Frameworks, stellt die Lücken bei der Verwendung von AutoML dar und erklärt, wie man sie beheben kann.

Automatisiertes Maschinelles Lernen (AutoML) ist längst kein neues Thema mehr. Zieht man allerdings in Betracht, welche Bedeutung es für Unternehmen und Mitarbeiter haben kann, zählt es immer noch zu den Wachstumstrends. Der Grundgedanke dahinter: AutoML kann zur Demokratisierung von Daten und Datenprozessen beitragen, indem es Menschen aus allen Funktionsebenen und Abteilungen eines Unternehmens die Werkzeuge und Plattformen zur Verfügung stellt, die sie benötigen, um ihre eigenen ML-Apps zu entwickeln. Vom Auszubildenden bis zum Experten: Von AutoML profitieren alle, die zwar ihr Handwerk beherrschen, aber fertige Lösungen für die Kodierung zur KI-Nutzung in ihrem Arbeitsbereich benötigen.

Was ist AutoML?

AutoML ist ein Prozess, bei dem einige der sich am häufigsten wiederholenden und zeitaufwändigen Aufgaben beim maschinellen Lernen (ML) automatisiert werden. Normalerweise werden Data-Science- und ML-Modelle als “Blackbox”-Modelle betrachtet. Die große Herausforderung ist es dabei für die Nutzer, die Statistiken oder die zugrundeliegende Logik zu verstehen. AutoML hilft denjenigen Usern ML zu nutzen, die keine Datenwissenschaftler sind. Die genaue Logik dahinter zu kennen, ist so nicht mehr notwendig.

AutoML-Frameworks ermöglichen einen Einblick in verschiedene Experimente und deren Ergebnisse. Das Ziel ist, das beste Modell/die besten Parameter für einen bestimmten Business Case zu finden. Die meisten AutoML-Frameworks bieten Datenwissenschaftlern und Business Usern No-Code- und Low-Code-Unterstützung, so dass sie verschiedene Teile der ML-Pipeline entsprechend ihren Bedürfnissen anpassen können.

AutoML versus maschinelles Lernen (ML)

Für den Aufbau einer robusten ML-Pipeline sind mehrere komplexe Schritte erforderlich. Generell bestehen ML-Projekte aus einer Trainings- und einer Inferenz-Phase (d. h. die Überführung eines ML-Modells in die praktische Anwendung), wobei der Trainingsteil aus verschiedenen zeitintensiven Etappen zusammengesetzt ist, u.a.:

  • Datenaufbereitung
  • Vorverarbeitung
  • Explorative Datenanalyse
  • Feature-Engineering
  • Feature-Auswahl
  • Experimentieren mit verschiedenen Modellen
  • Erklärbarkeit der einzelnen Modelle
  • Auswahl der besten Modelle, um Business Use Cases zu erfüllen

Sobald das geeignete Modell für die Inferenz ausgewählt ist, muss je nach der verwendeten technischen Architektur oder dem Tech-Stack weitere Infrastruktur entwickelt werden. Die Auswahl des geeigneten Modells hängt vom Projekt und der Branche ab. Darüber hinaus gibt es verschiedene KPIs (Key Performance Indikatoren), an denen jedes ML-Modell gemessen werden kann. Dazu zählen unter anderem Genauigkeit, Präzision, Rückruf, F1-Score (für die Klassifizierung). Hinzu kommen die verschiedenen Fehlermessungen bei Regressionsproblemen.

Das Managen und Ausführen all dieser Schritte ist sehr zeitaufwändig und erfordert viel technische Erfahrung und umfassendes Know-how.

Hier kommt AutoML ins Spiel. Es hilft Tech oder Business Usern dabei, verwertbare Datenerkenntnisse zu gewinnen, ohne die oben erwähnten Modellierungs- und Experimentierphasen durchlaufen zu müssen. AutoML kann also dazu beitragen, den Wert des eingesetzten ML schnell sichtbar zu machen. Die Idee ist, dass nur sehr wenig menschliches Eingreifen in die prädiktive Modellierung erforderlich ist und gleichzeitig schnelle Ergebnisse erzielt werden.

What is AutoML?
Ablauf eines AutoML-Prozesses

Indem AutoML verschiedene Trainingsschritte automatisiert, können Data Scientists und Domain-Experten das beste Modell für einen bestimmten Anwendungsfall auswählen. Die meisten sich wiederholenden und zeitaufwändigen Aufgaben laufen dank AutoML automatisiert ab (siehe oben).

Warum AutoML?

Bevor ein Unternehmen in Predictive Analytics investiert, kann ihm AutoML helfen, schneller erste Erkenntnisse aus seinen Daten zu ziehen. Heutzutage bieten die meisten Cloud-Anbieter (oder Cloud-“Hyperscaler”) AutoML als Teil ihres Cloud-Angebots an. Der User lädt einfach seinen Datensatz hoch und mit wenigen Klicks können trainierte Vorhersage-Modelle eingesetzt werden. In den meisten praktischen Anwendungen muss jedoch noch die Datenverarbeitung und -vorbereitung für das maschinelle Lernen berücksichtigt werden. 

Anhand des folgenden Beispiels wird deutlich, wie AutoML konkret in der Praxis helfen kann.

Anwendungsfall: Ziel Ihres Unternehmens ist es, Kundenbeschwerden über Produkte besser zu verstehen und sie schnellstmöglich an die entsprechenden Teams zur Bearbeitung weiterzuleiten.

Aktuelles Szenario: Angenommen, Sie erhalten Beschwerden über verschiedene Produkte, die die Kundenzufriedenheit maßgeblich beeinträchtigen können. Derzeit haben Sie ein Team, das in Teilzeit tätig ist und das diese Beschwerden manuell bearbeitet, um sie dann an die entsprechenden Abteilungen weiterzuleiten. Mit der Zeit kommen immer mehr Produktlinien und auch immer mehr Kommunikationskanäle hinzu, so dass es zunehmend schwieriger wird, die Kunden innerhalb eines angemessenen Zeitrahmens zu bedienen. Beschwerden laufen über Unternehmensportale, per E-Mail, Anruf oder Tweets rein – zusammen mit allen anderen Nachrichten. 

Was Ihnen allerdings zur Verfügung steht sind Daten, die aus dem Feedback-Text der jeweiligen Abteilung bestehen.

Mögliche Lösung: Entwicklung einer Automatisierungskomponente, die den Prozess beschleunigt und das Team beim Lesen der Nachrichten und deren Weiterleitung unterstützt. Die folgenden Bilder zeigen das aktuelle Szenario sowie die mögliche optimierte Lösung.

Hier ist eine weitere Möglichkeit, die Funktionsweise des automatisierten Systems zu betrachten:

Jetzt, wo die Grundlagen der Lösung klar sind, ist es an der Zeit, noch etwas tiefer zu gehen. Die folgenden Fragen können uns helfen, den Weg zum gewünschten Automatisierungsgrad zu finden.

  1. Wie lassen sich alle Meldungen an einer einzigen Stelle/Datenbank erfassen? 
  2. Wie erkennen wir, ob eine Meldung eine Beschwerde ist oder nicht?
  3. Wie stellen wir fest, an welche Abteilung eine Beschwerde gerichtet ist? 
  4. Können wir den Ergebnissen dieser Automatisierung vertrauen? 
  5. Bei einem möglichen Wachstum des Unternehmens mit Millionen von Kunden: Was könnte für Komplikationen sorgen?
  6. Verfügen wir über genügend Daten und Ressourcen, um maschinelles Lernen anzuwenden?
Wie beginnt man, mit AutoML zu experimentieren?

Wie bei fast allen großen Zielen ist es am besten, klein anzufangen. Wo immer möglich, sollten Sie den komplexen Entscheidungsprozess in kleine Teile zerlegen. Auf diese Weise kann jedes Teil dieses vielschichtigen Puzzles analysiert und effizient behandelt werden. Im obigen Anwendungsfall kann man beispielsweise das gesamte Problem in folgende Phasen/Fragestellungen/Schritte aufteilen:

  • Phase 1: Datenerhebungsstrategie
  • Phase 2: Datenspeicherung und die dazugehörige Technologie
  • Frage: Wie kann der zuvor genannte Schritt automatisiert werden?
  • Frage: Was ist der Umfang der Automatisierung und ist ML erforderlich?
  • Frage: Wie kann uns ML helfen und um welches ML-Problem handelt es sich?
  • Frage: Wie lassen sich die Daten modellieren und der Wert für Unternehmen aufzeigen?
  • Schritt 1: Beginn der Arbeit mit der AutoML-Technologie, um zunächst zu ermitteln, ob ML zur Problembehebung beiträgt
  • Schritt 2: Zusammenarbeit mit dem Engineering-Team zum Aufbau von End-to-End-Infrastrukturen
  • Schritt 3: Adressieren und Automatisieren von kleineren Bereichen

Sobald diese komplexe Aufgabe in kleinere Segmente unterteilt ist, können sich wiederholende Aufgaben automatisiert werden. Im obigen Fall kann zum Beispiel die Anwendung einer ML-Klassifizierung auf eingehendes Feedback dabei helfen, einen bestimmten Kommentar automatisiert als Beschwerde zu kennzeichnen. Sobald eine Beschwerde identifiziert wurde, kommt eine weitere ML-Klassifizierung zum Einsatz, um zu markieren, wohin ein bestimmter Text weitergeleitet bzw. wo er abgelegt werden muss.

Maschinelles Lernen ausprobieren und den Unterschied erleben

Liefert die ausgewählte AutoML-Komponente zufriedenstellende Ergebnisse, sollten entsprechende Investitionen in die Standardisierung und Skalierbarkeit dieses Prozesses erfolgen. Das folgende Diagramm verdeutlicht im Wesentlichen, wie wir im oben gezeigten Beispiel ML angewendet haben.

Wie man AutoML in der Praxis anwendet

Lassen Sie uns abschließend über die Komplikationen sprechen, die in der Praxis auftreten können. Wenn die Daten leicht zugänglich sind, kann AutoML dazu beitragen, maschinelles Lernen relativ schnell anzuwenden. Oft ist dies jedoch nicht der Fall.

Rohdaten liegen in verschiedenen Formaten vor – die Extraktion solcher Rohdaten und ihre Speicherung in einem leicht zugänglichen Format und an einem leicht zugänglichen Ort sind ein entscheidender Schritt. Wenn es sich um eher kleine Datensätze handelt, ist es einfach, die Daten von A nach B zu verschieben und ML anzuwenden. Wenn jedoch exponentiell wachsende Daten in verschiedenen Formaten vorliegen, wird ihre Übertragung in AutoML zur Herausforderung.

Es ist also einfacher, mit AutoML zu experimentieren, wenn man unkomplizierten Zugang zu den Daten hat, die idealerweise auch bereits in einem geeigneten Format vorliegen. In der Praxis tun sich jedoch viele Unternehmen (aus nachvollziehbaren Gründen) schwer, zentrale Datenbestände einzurichten, die für tiefer gehende analytische Arbeiten genutzt werden können.

Um AutoML oder andere ML-Technologien optimal nutzen zu können, sind daher robuste, skalierbare, flexible und wartungsfreundliche Pipelines erforderlich, in denen die Quelldaten effizient an einem Ort gespeichert werden und an dem ML-Pipelines arbeiten können. Mit anderen Worten: einfach zu bedienende und gleichzeitig leistungsstarke ETL-Werkzeuge (Extrahieren, Transformieren und Laden) und eine leistungsstarke Datenbank wie Exasol, in der hochgeladene Daten problemlos an AutoML übergeben werden können.

Die ideale Lösung wäre es daher, AutoML-Komponenten in eine Datenbank zu integrieren, so dass die User nicht mehr mühsam große Datensätze bearbeiten oder erstellen müssen. Solche Lösungen sind am anwenderfreundlichsten und am effektivsten. Indem die Fähigkeit von ML in die Nähe der Daten gebracht wird, erhalten Datenwissenschaftler mehr Flexibilität, da sie damit problemlos experimentieren können. Wenn es sich bei dieser Komponente um AutoML handelt, bietet sie auch technisch weniger versierten Usern die Möglichkeit, Loading...Advanced Analytics durchzuführen.

Um also den maximalen Mehrwert aus Tools wie AutoML zu ziehen und sie in praktischen Anwendungsfällen effizient zu nutzen, sind die Support-Extensions für ETL/ELT und die Infrastruktur nach der Modellierung wie Deployment und Monitoring unerlässlich. In den kommenden Artikeln werden wir daher mehrere End-to-End-Pipelines für maschinelles Lernen mit Exasol behandeln.

In Exasol bieten wir Tools, Frameworks und Integrationen an, die die Anwendung von AutoML vereinfachen. Im Rahmen unserer jüngsten Weiterentwicklungen haben wir AWS Sagemaker in Exasol integriert: Nutzer können so AutoML-Experimente nahtlos aus der Datenbank selbst ausführen. Mit dieser Integration war es uns möglich, aufwändige Bereitstellung von Modellen und Prediction-Infrastruktur zu eliminieren und so, ML-Prozesse einen Schritt näher an die Daten heranzubringen.

Hier erfahren Sie mehr über die Sagemaker Extension.