Developer Experience – von intuitiv bis komplex

Es klingt nach einer spannenden Zukunftsvision: Anwender:innen jedes Fachbereichs nutzen vorgefertigte Programmbausteine, um schnell und einfach Simulationen, Optimierungsaufgaben oder Analysen mittels Künstlicher Intelligenz (KI) zu erstellen. Das können dann auch Fachabteilungen umsetzen, deren Mitarbeiter:innen nicht über Kenntnisse in einer höheren Programmiersprache verfügen. Soweit die Idee. Vorab müssen Entwickler:innen diese Programmbausteine natürlich erstellen, damit Fachanwender:innen daraus eine für ihre Anforderung passende Lösung zusammensetzen können.

KI-gestützte Analysen für die Fachabteilung

Gemeinsam mit unseren Partnern forschen wir im Projekt KI-Marktplatz daran, dieser Vision ein Stück näher zu kommen. Namensgebendes Ziel ist es, KI-Anwendungen auf dem Gebiet des Produktentstehungsprozess zu entwickeln und auf einer zentralen Handelsplattform anzubieten. Das Angebot soll zudem Services, wie zum Beispiel Seminare zu ausgewählten KI-Themen oder Auftragsentwicklungen sowie fertige KI-gestützte Apps und Programmblöcke für ganz spezielle Aufgaben umfassen. Die Entwicklung und Wiederverwendung der Apps befinden sich aktuell in der Erprobung. Parallel dazu evaluiert das Projektteam Nutzen und Qualität der Resultate.

Verschiedene Programmierebenen für eine breitere Anwendung

Soweit der Stand der Forschung, aber wie genau unterstützen wir bei CONTACT die Entwicklung wiederverwendbarer Programmbausteine, die Integration von Simulationsmodellen oder KI-gestützter Analysemethoden? Ein Beispiel für den Einsatz in der Praxis findet sich im Bereich der vorausschauenden Wartung (englisch: predictive maintenance). Vorausschauend heißt, dass Wartungszeiträume nicht wie bisher in festen Abständen stattfinden, sondern in Abhängigkeit von Betriebsdaten und Ereignissen an der Maschine oder Anlage berechnet werden. Unsere Plattform Elements for IoT stellt für solche Anwendungsfälle eine Lösung bereit, Betriebsdaten direkt zu analysieren. Dabei speichert der Digitale Zwilling die Daten der jeweiligen Maschine oder Anlage in einem eindeutigen Kontext. Diese lassen sich anhand einer blockbasierten Programmierung direkt abrufen und einfach auswerten. Mit der No-Code-Funktionalität der IoT-Plattform können Fachabteilungen Digitale Zwillinge intuitiv erstellen, automatische Regeln definieren und Ereignisse überwachen sowie Diagramme und Dashboards anlegen – ohne eine Zeile Code zu schreiben.

Darüber hinaus gibt es Anwendungen rund um den Digitalen Zwilling, die mehr Programmier-Know-how erfordern. Hierfür bietet die Plattform Analysten die Möglichkeit, mit einem Jupyter Notebook oder anderen Analysewerkzeug ihre Modelle in einer höheren Programmiersprache selbst zu entwickeln. Vor allem im Bereich des Prototyping ist Python die Sprache der Wahl. Es ist aber auch möglich, mit einer Compiler-basierten Programmiersprache wie C++ zu arbeiten. Eine kontinuierliche Berechnung der Prognosen erfolgt dann über eine Automatisierung der Modelle, die in einer Laufzeitumgebung zur Verfügung stehen. Die Ausführung des Codes erfolgt entweder in der eigenen IT-Infrastruktur oder direkt an der Anlage oder Maschine im Feld (Edge).

Dieses Vorgehen fassen wir unter dem Begriff Low-Code-Entwicklung zusammen, da nur noch der Code für die Entwicklung der Modelle geschrieben wird. Die Datenanbindung erfolgt über den Digitalen Zwilling und geschieht konfigurativ. Das Stück Programm-Code kann dann für verschiedene Anwendungen, wie beispielsweise Digitale Zwillinge innerhalb einer Flotte, als Programmblock wiederverwendet werden.

CONTACT Elements for IoT ist somit offen für Interaktionen auf unterschiedlichen Levels: Von der Verwendung vordefinierter Bausteine (No-Code), über die Möglichkeit, mit selbstgeschriebenem Programm-Code zu interagieren (Low-Code), bis zur Definition eigener Geschäftsobjekte und der Erweiterung der Plattform auf der Basis von Python.

KI – Wo wir im Hype Cycle stehen und wie es weiter geht

Während sich der Anstieg der Forschungsartikel und Konferenzen im Bereich KI laut artificial intelligence index weiter fortsetzt, lässt sich in den Medien langsam eine gewisse Ermüdung angesichts des Hypes erkennen. Zeit also, Bilanz zu ziehen: Was ist erreicht worden? Was ist praktisch möglich? Und wie geht es weiter?

Was ist erreicht worden?

In den Jahren 2018 und 2019 wurden die vorher entwickelten Methoden zur Anwendung von neuronalen Netzwerken (so definiere ich hier KI) weiter verfeinert und perfektioniert. Standen zunächst (2012-2016, Imagenet-Wettbewerb) Verfahren zur Bildklassifizierung und -verarbeitung und danach Audio-Verfahren (2015-2017, Start von Alexa und anderen Sprachassistenten) im Mittelpunkt, wurden 2019 große Fortschritte in der Textverarbeitung und -generierung gemacht (NLP = natural language processing). Insgesamt sind die zur Verfügung stehenden Techniken mit hohem Aufwand vor allem der großen Player (Google, Facebook, OpenAI, Microsoft) weiter verbessert und kombiniert worden.

Was ist praktisch möglich?

Die Anwendung von KI ist im Wesentlichen immer noch begrenzt auf vier Anwendungsbereiche:

  • Bilder: Bilderkennung, -segmentierung
  • Audio: Umwandlung von Sprache in Text und umgekehrt
  • NLP: Textverarbeitung und -generierung
  • Labeled Data: Vorhersage des Labels (z.B. Preis) aus einer Menge von Featuren

Diese Liste ist überraschend kurz, gemessen an der Aufmerksamkeit, die KI in den Medien erhält. Die beeindruckendsten Erfolge von KI ergeben sich allerdings aus einer Kombination der Techniken wie z.B. Sprachassistenten durch Kombination von Audio, NLP und Labeled Data zur Umwandlung der Eingabe in Text, Erkennung der Textintention mit NLP und Vorhersage des Sprecherwunsches durch Anwendung von riesigen Mengen von Labeled Data, also vorherigen Auswertungen ähnlicher Äußerungen.

Entscheidend für die Entwicklung gerade dieser KI-Anwendungsfelder waren:

  1. Das Vorliegen großer Mengen frei verfügbarer Benchmark-Datensätze (Datensätze für Machine Learning), an denen Algorithmen entwickelt und verglichen wurden
  2. Eine große Forschergemeinde, die sich gemeinsam auf die Benchmark-Datensätze verständigt hat, und ihre Algorithmen in öffentlichen Wettbewerben vergleicht (GLUE, Benchmarks AI, Machine Translation u.a.)
  3. Eine freie Verfügbarkeit der entwickelten Modelle, die als Ausgangspunkt für den praktischen Einsatz dienen (beispielhaft Tensorflow Hub)

An Hand dieser Voraussetzungen kann man schnell einschätzen, wie realistisch manche Marketing-Fantasien sind. Z.B. gibt es für das oft plakativ vorgebrachte Einsatzgebiet Predictive Maintenance weder Benchmarkdatensätze noch eine Forschergemeinde und entsprechend auch keine Modelle.

Wie geht es weiter?

Es ist zum einen abzusehen, dass die weitere Entwicklung im KI-Bereich sicherlich zunächst in den vorgenannten Anwendungsfeldern weitergeht und sich an den Randbereichen weiterentwickelt. Zum anderen zeichnen sich Bereiche ab, die ähnlich wie die vorgenannten Einsatzgebiete unter Aufwendung großer öffentlicher und privater Mittel (z.B. werden OpenAI und Deepmind mit Milliardensummen von Elon Musk bzw. Google bezuschusst) vorangetrieben werden. Exemplarisch für große Investitionen in diesem Bereich steht sicher das autonome Fahren aber auch der Bereich IoT. Insgesamt sehe ich folgende Bereiche, die sich 2020-2022 stark weiterentwickeln:

  • Die Verbindung von Reinforcement Learning mit KI-Gebieten zum schnelleren Anlernen von Modellen
  • Eine weitere Verstärkung im Bereich autonomes Fahren, die sich aus der Anwendung und Kombination von KI und Reinforcement Learning ergibt
  • Durchbrüche in der Verallgemeinerung der Erkenntnisse aus der Bildverarbeitung auf 3D (Geometric Deep Learning und Graph Networks)
  • Eine Verschmelzung von traditionellen Methoden aus der Statistik mit neuronalen Netzwerken
  • IoT-Zeitreihen (s.u.)

Einen großen Wandel sehe ich durch das Aufkommen von IoT und der damit einhergehenden Sensorik und Daten auf uns zukommen. IoT-Daten sind ihrer Natur nach Zeitreihen, die zur Auswertung gefiltert, kombiniert, geglättet und angereichert werden müssen. Zu diesem Zweck ist bisher relativ wenig Spezifisches passiert. Es könnte sein, das ab 2020 – 2022 dieses Thema einige überraschende Wendungen und Durchbrüche für uns bereithält. Insbesondere die deutsche Industrie, die von den ersten Entwicklungen im Bereich KI eher wenig profitiert hat, dürfte hier ein vielversprechendes Einsatzgebiet finden.

Sind Data Science Plattformen eine gute Idee?

Frei nach Karl Valentin gilt: Plattformen sind schön und schaffen einem jede Menge Arbeit vom Hals. Da kommt die Idee von Plattformen für die automatische Datenanalyse gerade recht. Passend dazu hat Gartner nun einen „Magic Quadrant for Data Science and Machine Learning Platforms“ veröffentlicht. Das Dokument selbst ist nur hinter einer Paywall einsehbar, aber im Netz bieten einige der im Report erwähnten Unternehmen den Zugriff auf das Dokument gegen Angabe der eigenen Adresse an.

Besonders hebt Gartner hervor, dass so eine Plattform alles was man braucht, aus einem Guss bereitstellen sollte; im Unterschied also zu diversen einzelnen Bausteinen, die nicht unmittelbar aufeinander abgestimmt sind.

Hört sich gut an! Allerdings: Data Science ist kein Bereich, in dem man mit einem Tool oder selbst  einer Plattform wie von Zauberhand weiterkommt. Die Entwicklung von Lösungen – etwa für Predictive Maintenance der Maschinen, die ein Unternehmen anbietet – durchläuft verschiedene Phasen, wobei Cleansing/Wrangling und Preprocessing den größten Teil der Arbeit ausmachen. In diesem Bereich sind ETL(Extract, Transform, Load )- und Visualisierungstools wie Tableau einzuordnen. Und jenseits der gedachten Komfortzone von Plattformen, die sich Manager so vorstellen, sind Datenbankabfragen und Skripte für die Transformation und Aggregation etwa in Python oder R schlicht das Mittel der Wahl. Ein Blick auf Data Science Online-Tutorials der top-Anbieter wie Coursera unterstreicht die Bedeutung dieser – nun ja – bodenständigen Werkzeuge. „Statistical analysis, Python programming with NumPy, pandas, matplotlib, and Seaborn, Advanced statistical analysis, Tableau, Machine Learning with stats models and scikit-learn, Deep learning with TensorFlow“ lautet ein Kursprogramm von Udemy.

Hinzu kommt: Oft bleiben die Projekte in diesem Vorfeld stecken oder werden abgebrochen. Das hat viele Gründe:

  • man findet keinen analytischen/statistischen Ansatz
  • die ursprüngliche Idee erweist sich als nicht durchführbar
  • die Daten sind nicht in der Menge oder Qualität, die man braucht, vorhanden
  • einfache Analysen und Visualisierungen reichen schon aus und alles weiter wäre „oversized“

Das ist nicht schlimm, bedeutet es doch nur, dass der automatisierte Einsatz von Machine Learning und KI nicht aus jedem Datensatz gleich einen Datenschatz macht. Zeichnet sich allerdings der produktive Nutzen ab, gilt es, sich für die Production-Pipeline und Zeit- oder Ressourcen-Constraints  zu rüsten. Meist fängt man dafür neu an und bildet alles nochmals z.B. in Tensorflow für Neuronale Netzwerke oder in Custom-Libraries ab.

Das Missverständnis ist, dass man a) ansatzlos Data Science bis zum produktiven Einsatz treiben kann und b) einen one-stop-shop for Data Science (hier „Plattform“) sucht, der alles in einem Aufwasch macht. Das wird es nie geben.

Das ist tatsächlich auch eine gute Nachricht, bedeutet es doch, dass Organisationen – ohne gleich zu großen Plattformen greifen zu müssen – ihre ersten Ziele erreichen können. Die einigermaßen sorgfältige Auswahl passender Werkzeuge (viele davon Open Source) hilft dabei.

Auch interessant:
In meinem Video “KI braucht Strategie” erläutere ich, welche Schritte Unternehmen konkret gehen können, um KI-Technologie zielführend einzusetzen.