Mit Auto ML auf dem Vormarsch: Brauchen wir noch menschliche Data Scientists?

von | 19. Januar 2023 | Tech Deep Dive

Kurz gesagt, die Antwort ist ja.

  • Automatisiertes Maschinelles Lernen (Auto ML) macht Data Scientists nicht überflüssig. Es ist vielmehr ein nützliches Werkzeug, das ihre Produktivität erhöht.
  • Der größte Nutzen entsteht, wenn Data Scientists Auto ML-Tools verwenden, um bei repetitiven Schritten wie der Modellauswahl Zeit zu sparen. So können sie sich auf andere Aufgaben konzentrieren.
  • Tatsächlich verbringen Data Scientists den größten Teil ihrer Zeit damit, ein vorliegendes Business-Problem in eine Data Science Fragestellung zu übersetzen, Daten zu sammeln, zu verstehen und aufzubereiten, eine technische Lösung auf einen bestimmten Use Case zuzuschneiden, ungenaue Vorhersagen zu verbessern, Ergebnisse zu interpretieren und diese an die relevanten Stakeholder zu kommunizieren.
  • Diese Aufgaben sind schwer zu automatisieren, weil sie oft sehr spezifisch für den jeweiligen Use Case sind. Außerdem erfordert die korrekte Anwendung von Auto ML-Tools häufig Kenntnisse über Maschinelles Lernen. Aus diesen beiden Gründen besteht auf absehbare Zeit weiterhin Bedarf an (menschlichen) Data Scientists.
Abbildung 1: Stilisierter Arbeitsablauf eines Projekts mit Maschinellem Lernen (ML)

Was ist Auto ML?

Auto ML ist eine wichtige neue Entwicklung in der Evolution des Maschinellen Lernens (ML). In den letzten drei Jahren hat der Fortschritt auf diesem Gebiet an Dynamik gewonnen und entsprechende Tools stehen Unternehmen nun in verschiedenen Formen zur Verfügung (siehe nächster Abschnitt). 

Das Ziel von Auto ML ist es, so viele Schritte in einem ML-Projekt wie möglich zu automatisieren. Allerdings ist dies nicht für alle Schritte gleichermaßen leicht. Am besten geeignet sind die Schritte der Modellauswahl und der Hyperparameter-Optimierung, da sie in der Regel relativ unabhängig vom spezifischen Use Case sind. Gemeinhin wird die Automatisierung dieser beiden Schritte als Auto ML verstanden. Es gibt aber auch Versuche, weitere Schritte in einem Projekt zum Maschinellen Lernen zu automatisieren, wie z. B. die Datenbereinigung, Feature-Erstellung, Feature-Auswahl und Erklärbarkeit der Vorhersagen. Wenn kein domänenspezifisches Wissen erforderlich ist, kann Auto ML menschliche Data Scientists auch in einigen dieser Bereiche unterstützen.

Im Allgemeinen kann Auto ML als eine weitere, höhere Abstraktionsebene betrachtet werden. Genauso wie Data Scientists typischerweise nicht mit einem leeren Code-Editor beginnen, wenn sie ein ML-Modell trainieren wollen – dafür gibt es bereits eine Vielzahl von Code-Paketen – müssen sie mit Auto ML nicht mehr viele verschiedene Code-Pakete aufrufen und danach manuell vergleichen, was das beste Modell ist. Dieses Modellauswahlverfahren kann ein Auto ML-Tool übernehmen. Im Idealfall umfasst die Eingabe in so ein Tool dann lediglich einen bereinigten Datensatz, eine Fehlermetrik und die maximale Zeit für die Suche nach dem besten Modell. Die Ausgabe ist eine Rangliste der bzgl. Hyperparametern optimierten Modelle, geordnet nach der Fehlermetrik.

Welche Arten von Auto ML-Tools gibt es und wie können wir sie nutzen?

Auto ML-Lösungen können grob in drei Hauptkategorien eingeteilt werden.

Die erste umfasst eigenständige Code-Pakete. Sie können entweder Open-Source oder proprietär sein. Beliebte Open-Source Auto ML Python-Pakete sind zum Beispiel AutoGluon, H20 AutoML und TPOT. Außerdem gibt es für die populären ML-Bibliotheken Scikit Learn, das für tabellarische Daten genutzt wird, und Keras, das für Deep Learning genutzt wird, Auto ML-Wrapper, die Auto-Sklearn und Auto Keras heißen. Die Verwendung dieser Pakete erfordert Programmierkenntnisse in Python.

Die zweite Kategorie sind Auto ML-Lösungen, die in Cloud-Dienste wie Azure Machine Learning, Amazon SageMaker oder Googles Vertex AI integriert sind. Diese Lösungen können recht einfach genutzt werden, wenn die Daten bereits in einer Cloud gespeichert sind. Dort sind auch zahlreiche Rechenressourcen verfügbar. Auto-ML-Tools in Clouds können entweder Programmierung erfordern oder es wird eine grafische Benutzeroberfläche zur Verfügung gestellt.

Die dritte Kategorie, in der Auto ML Anwendungen genutzt werden können, sind spezialisierte Data-Science-Plattformen. Sie unterscheiden sich von den oben erwähnten, breiter ausgerichteten Clouds, dadurch, dass sie auf Datenverarbeitung, Automatisiertes Maschinelles Lernen und das Deployment spezialisiert sind. Beispiele dafür sind Dataiku, H20, RapidMiner oder DataRobot. Diese Plattformen sind in den letzten Jahren immer beliebter geworden. Sie bieten eine leicht zugängliche grafische Benutzeroberfläche für end-to-end Data-Science-Projekte, von der Datenbereinigung bis zur Bereitstellung. Basierend auf der Idee einer Low-Code-Umgebung wurden Data-Science-Plattformen um Auto-ML-Module herum aufgebaut. Angesichts der hohen Nachfrage von Data Scientists, Data-Science-Lösungen auf einen spezifischen Use Case zuzuschneiden, wurden die Data-Science-Plattformen zuletzt flexibler gestaltet, indem sie das Einfügen von eigenem Code in die Data-Science-Pipeline ermöglichen.

Schließlich sind Auto-ML-Funktionen auch von anderen Anbietern erhältlich, die nicht direkt in die drei oben genannten Gruppen fallen. Beispiele hierfür sind die Auto ML-Angebote der eher datenzentrierten Plattformen von SAP oder Databricks.

Was sind die Vorteile von Auto ML?

Wie eingangs erwähnt, kann Auto ML ein nützliches Werkzeug sein, das Data Scientists produktiver macht. Wir können es als einen „Assistenten“ betrachten, der mechanische Aufgaben übernimmt. Die Vorteile für menschliche Data Scientists sind:

  • Sie benötigen weniger Zeit für sich wiederholende Aufgaben wie die Modellauswahl und das Optimieren von Hyperparametern – wodurch mehr Zeit für das Verständnis des Business-Problems, das Sammeln und Aufbereiten hilfreicher Daten und die Kommunikation des Ansatzes und der Ergebnisse an Stakeholder bleibt.
  • Auto ML kann schnell ein gutes Basis-Ergebnis für einen Proof of Concept liefern, das in späteren Phasen weiter verfeinert werden kann.

Brauchen wir noch menschliche Data Scientists?

Die Diskussion darüber, ob Auto ML menschliche Data Scientists ersetzen wird, ist fehlgeleitet. Die Frage sollte vielmehr lauten: Wie und in welchem Umfang können Data Scientists die neuen Auto ML-Tools effektiv nutzen? Die allgemeine Antwort lautet: Je weniger anwendungsfallspezifisch eine Aufgabe ist, desto besser kann sie automatisiert werden. Gehen wir die verschiedenen Aufgaben eines typischen ML-Projekts durch (siehe Abbildung 1) und bewerten deren Potenzial für den Einsatz von Auto ML.

Wir beginnen in der Regel mit einer Business-Frage und dem Fachwissen über Geschäftsprozesse. Hier ist der Input von menschlichen Expert:innen der Schlüssel und das Sammeln dessen eine typische erste Aufgabe eines Data Scientists, um ein gutes Prozessverständnis zu bekommen. Die anschließende Abbildung eines Business-Problems und seiner Anforderungen auf eine datenwissenschaftliche Fragestellung ist ebenfalls oft nicht einfach und sehr spezifisch für das Geschäftsumfeld. Daher ist es schwierig, diese Aufgabe von einem Auto ML-Tool erledigen zu lassen.

Ein weiterer wichtiger Schritt in einem Data-Science-Projekt ist die Datenerfassung und -aufbereitung. Die Auswahl der richtigen Datenquellen, das Anfordern zusätzlicher Daten und die Kombination verschiedener Datensätze sind oft essenziell für den Erfolg des Projekts. Das Verstehen und Bereinigen der Daten ist dabei ein entscheidender Aspekt, der oft stark vom vorhandenen Fachwissen abhängt und daher Feedbackschleifen mit Expert:innen erfordert.

In der Regel machen die Datenerfassung und die Datenaufbereitung den größten Teil des Zeitbudgets eines Data-Science-Projekts aus. Während einige kleine mechanische Standardaufgaben – wie die Vereinheitlichung der Einträge einer Spalte bzgl. des Datenformats, das Entfernen von Stoppwörtern im NLP oder einige Datenaugmentierungstechniken für Bilder – unter menschlicher Aufsicht an Algorithmen übergeben werden können, ist die Datenaufbereitung insgesamt oft sehr anwendungsspezifisch und erfordert menschliches Eingreifen. Ein wichtiges Beispiel für den Bedarf an menschlicher Kontrolle ist die Erkennung und Behandlung von Verzerrungen in den Eingabedaten. Es kann wichtig sein, die Quelle der Daten gut zu verstehen und zu wissen, wie die Daten erzeugt wurden, um Verzerrungen (Bias) in den Vorhersagen zu vermeiden. 

Die nächste Aufgabe besteht darin, die bereinigten Daten für ein ML-Projekt vorzubereiten. Dazu müssen oft zusätzliche Features erstellt werden. Modelle haben unterschiedliche Anforderungen an die Eingabe von Features, um gut zu funktionieren. Hier kann Auto ML einen Beitrag leisten, indem es Features transformiert oder neu erstellt, die für bestimmte Modellklassen Standard sind. Beispiele hierfür sind die One-Hot-Codierung kategorischer Merkmale im Falle baumbasierter Modelle oder die Standardisierung der Daten.

Sobald der Datensatz bereinigt und die Features erstellt sind, ist Auto ML bei der Auswahl des besten Modells für einen Datensatz sehr hilfreich. Die schnelle Erstellung einer Rangliste mit einem Überblick über die Leistung verschiedener Modelle und Modellklassen beschleunigt den Auswahlprozess. Die Optimierung von Hyperparametern kann ebenfalls automatisiert werden. Entgegen einer weit verbreiteten Einschätzung machen diese beiden Schritte jedoch, zumindest bei strukturierten Daten, in der Regel nur einen kleinen Teil der Arbeit eines Data Scientists aus.

Auto ML funktioniert am besten mit bereinigten Datensätzen, Standardmodellen und Standardfehlermetriken. Diese Bedingungen sind häufig bei ML-Wettbewerben und tabellarischen Daten erfüllt, wie sie z. B. bei Kaggle zu finden sind. Hier erreichen Auto ML-Tools als Out-of-the-Box-Lösungen bereits eine beeindruckende Leistung. Reale Use Cases unterscheiden sich jedoch typischerweise von solchen Idealbedingungen. Die Tatsache, dass Data-Science-Plattformen ihre No-Code- oder Low-Code-Umgebungen für von Menschen erstellten Code flexibler gemacht haben, spiegelt die häufige Notwendigkeit wider, Pipelines für maschinelles Lernen an den jeweiligen Use Case anzupassen, z.B. hinsichtlich spezieller Fehlermetriken oder spezifischer Datenvorverarbeitungsschritte.

Wie bereits erwähnt, ist Flexibilität bei Data-Science-Projekten oft von großer Bedeutung. Wenn dies der Fall ist, ist Programmiererfahrung erforderlich, um die ML-Pipeline auf einen bestimmten Use Case zuzuschneiden. Darüber hinaus sind Kenntnisse des Maschinellen Lernens erforderlich, um die Ergebnisse eines Modells zu interpretieren und Maßnahmen zur Verbesserung unbefriedigender oder verzerrter Vorhersageergebnisse zu ergreifen. Daher werden Auto ML-Tools am besten von erfahrenen Data Scientists eingesetzt.

Der letzte Schritt des ML-Projekts besteht darin, die Vorhersageergebnisse eines Modells richtig in die Geschäftswelt zu übersetzen, um die ursprüngliche Business-Frage zu beantworten. Das kann die Visualisierung der Ergebnisse in einem Dashboard und die Integration des Modells in ein KI-System umfassen, das von den Beteiligten leicht genutzt und verstanden werden kann – Schlüsselaufgaben, für die menschliche Data Scientists benötigt werden.

Die Erfahrung aus unserer Beratungsarbeit zeigt ferner, dass es viele Data-Science-Projekte gibt, bei denen Maschinelles Lernen nicht die beste Lösung für ein datenbezogenes Business-Problem ist. Ein intelligenter Einsatz von deskriptiven Statistiken, eine neuartige Kombination von Datensätzen, Operations-Research-Techniken, die Automatisierung von Prozessen ohne Maschinelles Lernen und die Visualisierung von Daten in interaktiven Dashboards sind Beispiele für Data-Science-Use Cases, die kein Auto ML erfordern. Sie bleiben in der Domäne der menschlichen Data Scientists. Im Allgemeinen ist das Maschinelle Lernen selbst nur eine mögliche Technik im Werkzeugkasten eines Data Scientists. Die Maximierung des Mehrwerts für die Stakeholder ist das zentrale Ziel eines Data Scientists, unabhängig von dem Werkzeug, das zum Erreichen dieses Ziels eingesetzt wird.

Zusammenfassend lässt sich sagen, dass Auto ML eine neue Reihe von Tools auf einer höheren Abstraktionsebene beschreibt, die die Arbeit eines Data Scientists durch die Automatisierung sich wiederholender Aufgaben in einem ML-Projekt erleichtern können. Die Verwendung dieser Tools erfordert Kenntnisse von Maschinellem Lernen und der Statistik. Daher werden sie in der Regel von menschlichen Data Scientists genutzt. In absehbarer Zukunft wird Auto ML menschliche Data Scientists nicht ersetzen, da viele Schritte in einem Data-Science-Projekt entweder sehr anwendungsspezifisch – und daher schwer zu automatisieren – sind oder menschliche Interaktion erfordern.

PS: Wenn Sie genauso an der Automatisierung von Prozessen interessiert sind wie ich, fragen Sie sich vielleicht, ob Open AIs Chat GPT diesen Artikel hätte schreiben können. Ich bin dieser Frage nachgegangen. Dabei war meine Erfahrung, dass die auf meine Frage hin von Chat GPT angeführten Argumente für die Anwendbarkeit von Auto ML alle wichtigen Aspekte umfasst haben. Allerdings war Chat GPTs Definition von Auto ML meiner Meinung nach nicht ganz zutreffend und nicht alle Argumente waren für mich überzeugend. Generell ist mein Fazit, dass man nur mit bereits vorhandenem Wissen über ein Thema beurteilen kann, ob die Antworten von Chat GPT wirklich Sinn ergeben. Wenn Expertenwissen vorhanden ist, kann Chat GPT ein nützliches Werkzeug sein, um einen ersten Textentwurf zu erstellen oder den eigenen, bereits verfassten Text zu überprüfen.

Autor:innen

Dr. Stefan Lautenbacher

Stefan is a Senior Data Scientist with Alexander Thamm GmbH. He joined the [at] team in May 2021. Since then, he has been working on a variety of use cases, including financial forecasting, supply chain planning, credit scoring, and object detection for autonomous driving. Led by his background in economics he enjoys efficiency and works towards the most effective data science solutions in his projects. In his leisure time, he is passionate about making music, running, hiking, and playing beach volleyball.

0 Kommentare