Automatisierung

Der Data Scientist muss Aufgaben abgeben

13.12.2019 von Björn Heinen
Erfahren Sie, welche Aufgaben bei Data-Science-Projekten durch Automated Machine Learning automatisiert werden können und welche nicht.

Vor dem Hintergrund, dass selbstlernende Algorithmen immer besser darin werden, Daten zu verwerten, stellt sich die Frage, ob Data Scientists heute und in Zukunft überhaupt noch gebraucht werden. Lassen sich Datensätze nicht auch automatisiert für Machine-Learning-Modelle aufbereiten? Das beschäftigt nicht nur Fachfremde, die gerne eine Machine-Learning-Lösung einsetzen wollen und überlegen, ob sie ihre Daten nicht einfach direkt in bereits existierende Algorithmen gießen. Auch Data Scientists selbst und Experten in angrenzenden Disziplinen wie Data Analytics, diskutieren, was Automated Machine Learning (AutoML) für ihre Zukunft eigentlich bedeutet. Wo sind die Grenzen und Möglichkeiten der Automatisierung?

Macht Kollege Roboter Data Scientists bald überflüssig? Nein - aber er kann ihnen einige Aufgaben abnehmen.
Foto: Ryzhi - shutterstock.com

Data Scientists selbst setzen AutoML zumindest in Proof-of-Concept-(PoC)-Phasen gerne ein, das bedeutet aber nicht, dass Algorithmen ihren Job bedrohen. Er wird sich in den kommenden Jahren höchstwahrscheinlich nur ein wenig verändern. Um ein klareres Bild davon zu bekommen, inwieweit der Data Science bereits Disruption durch AutoML-Algorithmen droht, lohnt sich der Blick auf die einzelnen Aufgaben eines Data Scientists, die dieser in einem Projekt typischerweise durchläuft.

Anwender verstehen und auf sie eingehen

Der erste Schritt in jedem Data-Science-Projekt besteht darin, mit dem künftigen Anwender zu sprechen und zu verstehen, wo der Schuh drückt. Das gilt selbst für ML-Anwendungen, die ohne Anpassung implementiert und eingesetzt werden können. Bevor der Data Scientist verstanden hat, was das Problem ist oder welcher Prozess optimiert werden soll, lässt sich keine vernünftige Lösung anbieten. Auch gilt es, dem Anwender später die entstandenen Lösungen und Erkenntnisse verständlich zu vermitteln. Hierfür gilt es diese Fragen zu beantworten:

Es ist die Aufgabe des Data Scientists, die betroffenen Unternehmensprozesse zu analysieren und zu verstehen, inklusive etwaiger Implikationen (beispielsweise Auswirkungen auf andere Abteilungen). Diese kognitive Aufgabe ist in absehbarer Zeit Unmöglich zu automatisieren.

Daten konsolidieren

Bevor es mit den spannenden Data-Science-Aufgaben richtig losgeht, müssen zunächst die Daten in einen brauchbaren Zustand versetzt werden. Auch das bedeutet, mit dem Anwender oder Kunden in den Dialog zu treten. Es gilt, eine Form des Datenzugriffs zu vereinbaren, sich mit den unterschiedlichen Quellsystemen zu verbinden, die Daten zu verknüpfen und vor allem intensiv zu filtern. Diese Schritte sind immerhin zum Teil automatisierbar. Insbesondere das Laden aus vielen unterschiedlichen Datenquellen ist in den vergangenen Jahren deutlich unkomplizierter geworden. Manueller Aufwand fällt dennoch an, weil es menschliches Verständnis braucht, um zu erfassen, welche Daten wo gespeichert sind und was sie bedeuten. Das Gleiche gilt für die Verknüpfung der Daten.

Unmöglich zu automatisieren hingegen ist das Filtern der Daten, beziehungsweise die sogenannte Plausibilitätsprüfung. Für den Erfolg eines Projektes ist es elementar wichtig, die Daten dahingehend zu prüfen, ob sie den erwarteten Spezifikationen entsprechen. Aus Erfahrung wissen Data Scientists: Das tun sie nie. Sensoren funktionieren nicht immer zuverlässig, Stempelzeiten haben nahezu immer Qualitätsprobleme, echte Bestellungen werden mit Aufträgen auf der verlängerten Werkbank vermischt oder Endkunden tragen das Kennzeichen "Zweite Mahnung", obwohl sie nie eine Rechnung erhalten oder sogar einen kostenlosen Dienst in Anspruch genommen haben.

Die meisten dieser Datenfehler können nicht automatisch erkannt werden, da einem Algorithmus der Kontext für diese Bewertung fehlt. Dass ein Kunde nicht abgemahnt werden kann, wenn er gar nicht erst bezahlen muss, versteht jeder Mensch auf den ersten Blick. Einem Algorithmus müsste jemand diese Regel zuerst beibringen.

Feature-Engineering

Beim sogenannten Feature Engineering geht es darum, die rohen Daten so zu bearbeiten, dass der ML-Algorithmus sie möglichst gut verstehen kann. Es soll für ihn so einfach wie möglich sein, alle Informationen zu extrahieren, die sich im Datensatz verbergen. Angenommen jemand möchte vorhersagen, wie erfolgreich ein Film sein wird. Die Namen beziehungsweis IDs der einzelnen Schauspieler jedes Films sind bekannt. Mit diesen IDs kann der ML-Algorithmus aber nur wenig anfangen. Er würde sich maximal die IDs einiger weniger Top-Performer merken, bei deren Teilnahme jeder Film ein Erfolg wird. Durch Feature Engineering ist ein Data Scientist in der Lage, die Informationen über die Schauspieler deutlich anzureichern.

Welches Geschlecht und welches Alter haben die Schauspieler? Wie erfolgreich waren die letzten Filme, in denen sie mitgespielt haben, sowohl monetär als auch in Bezug auf Kritiken? Diese und viele weitere Faktoren ermöglichen es dem Algorithmus zu verstehen, ob er einen echten Blockbuster bearbeitet, ein Arthouse-Projekt oder ein ganz anderes Genre.

Einige einfachere Aufgaben des Feature Engineerings sind bereits ziemlich gut automatisiert (One Hot Encoding, Imputation, etc.). Dies sind aber nicht die Schritte, mit denen sich die Güte der Modelle signifikant verbessern lässt. Viel wichtiger ist es, die Prozesse hinter den Daten zu verstehen und dieses Wissen in das Feature Engineering einfließen zu lassen. Diese Datenanreicherung, in Kombination mit der Datenkonsolidierung, ist das, womit Data Scientists circa 80 Prozent ihrer Zeit verbringen und wodurch sie den größten Mehrwert generieren können. Die Prozesse des Anwenders und die Qualität der Daten zu verstehen und dieses Wissen algorithmisch brauchbar zu machen ist nur zu einem sehr geringen Anteil automatisierbar.

Das richtige Machine-Learning-Modell auswählen

Welcher Klassifikationsalgorithmus funktioniert für einen bestimmten Datensatz am besten? Kommt besser ein neuronales Netz, ein Random Forest oder eine Support Vector Machine zum Einsatz? Welche Parameter liefern ein optimales Ergebnis? Es gibt für jedes Problem eine Vielzahl an Algorithmen, die es prinzipiell lösen können. Den optimalen auszuwählen, gehört zwar zum Tätigkeitsbereich eines Data Scientists, ist aber tatsächlich Sehr gut zu automatisieren.

Es sind bereits viele Algorithmen etabliert, die diese Aufgabe übernehmen und innerhalb weniger Stunden eigenständig komplexe Kombinationen von Lernalgorithmen generieren, für deren Zusammenstellung ein Data Scientist vielleicht Tage gebraucht hätte. Gute ML-Lösungen bestehen oft nicht aus einem einzelnen Modell, sondern aus vielen, die unabhängig voneinander Vorhersagen treffen und ihre einzelnen Ergebnisse dann zu einer gebündelten Prognose kombinieren.

Perfekt sind diese Algorithmen noch nicht. Es gibt noch zu viele Lösungsmöglichkeiten und zu wenige Heuristiken, die den Lösungsraum gut einschränken. Wenn sich Data Scientists in einem Projekt wirklich Zeit dafür nehmen und einen Algorithmus manuell für den vorliegenden Datensatz feinjustieren, dann gelingt es ihnen immer noch, einige wenige Prozentpunkte besser zu sein als der vollautomatische Algorithmus. Dieser Vorsprung wird jedoch wahrscheinlich im Laufe der nächsten Jahre entweder bis zur Unkenntlichkeit schmelzen oder sich sogar umkehren.

Außerdem setzen selbst Fachkräfte aus dem Bereich Data Science solche Algorithmen heute schon ein, wo es Sinn ergibt. Möchte beispielsweise jemand testen, ob das implementierte Feature Engineering wirklich funktioniert, wäre es ineffizient, Stunden oder Tage darauf zu verwenden, eigenhändig die besten Lernalgorithmen auszuwählen. Das gleiche gilt für einen PoC, in dem Zeit ein kritischer Faktor ist. Hier ist es meist nötig, schnell herauszufinden, ob das spezifische Problem überhaupt mit einer gewissen Zuverlässigkeit lösbar ist.

Integration einer Lösung

Ist der ML-Algorithmus entwickelt, muss er noch seinen Weg in das Produktivsystem des Anwenders finden und dort seine Arbeit aufnehmen. Wie kompliziert das ist und wie viel manueller Aufwand damit einhergeht, hängt von den individuellen Rahmenbedingungen ab. Gibt es beispielsweise schon ein Kubernetes-System mit vielen gut orchestrierten Microservices, dann kann das ML-Modul einfach als ein weiterer Microservice arbeiten. In dem Fall gilt es nur noch, das Modul einmal einzuschalten und dafür zu sorgen, dass der Input dort ankommt und der Output abgegriffen wird. Der manuelle Aufwand gestaltet sich gering.

Findet man zu Projektbeginn allerdings eine zersplitterte IT-Landschaft mit selbstgebauten Monolithen vor, die seit Jahrzehnten schon so laufen, ohne dass wirklich noch ein Mitarbeiter versteht wie und warum, dann wird die ganze Sache komplexer. Der Trend geht branchenübergreifend eindeutig eher zum ersten Szenario. Aber komplexe IT-Landschaften, für die ein Standard-Schema nicht funktioniert, wird es immer geben. Das heißt, dass die Integration von ML-Lösungen zwar zunehmend, aber nie vollständig automatisierbar ist.

Ist Data Science noch wichtig?

Die Data-Science-Branche wird sich in den kommenden Jahren und Jahrzehnten verändern, wie nahezu jede andere Branche auch. Schritte, die repetitiv und wiederholbar sind, werden automatisiert. Dazu gehören Aspekte der Datenaufbereitung und des Feature Engineerings sowie vor allem der Modellauswahl.

Solche Aufgaben hingegen, für die es menschliches Verständnis und Domänenwissen braucht, lassen sich nicht automatisieren. Dazu gehört insbesondere die Übersetzung von Anwenderproblemen in brauchbare Lösungen, die Prüfung der Daten auf Ungereimtheiten und der wichtigste Teil des Feature Engineerings. Data Scientists werden dann weniger Zeit mit repetitiven Aufgaben verbringen müssen und mehr Zeit auf die spannenden Aufgaben verwenden und konkrete Lösungen entwickeln können. (jd)