AI erfolgreich im Team

Autor: Andreas Schneider

AI bietet unzählige Möglichkeiten für Wertschöpfung. In der Praxis bleiben jedoch oft viele AI-Modelle auf dem Niveau von Prototypen stecken und können dadurch nicht ihr volles Potenzial entfalten. Um diesem Schicksal zu entgehen, ist es entscheidend, die Grenzen zwischen Data Science und Software Engineering aufzuheben. In diesem Blog gehe ich darauf ein, wie wichtig ein integriertes Team dafür ist und wie Du mit einem iterativen Vorgehen Mehrwert aus Deinen AI-Modellen gewinnen kannst.

Eine nahtlose Zusammenarbeit ist erforderlich

AI-Anwendungen sind ein besonderes Puzzle, bei dem nicht nur jede Software-Komponente nahtlos miteinander zusammenarbeiten muss, sondern auch ein Team von verschiedensten Spezialisten. Die Kooperation zwischen ML-Ingenieuren, Data Scientisten, Data Engineers und Softwareentwicklern ist essenziell, um den gewünschten Nutzen zu erzielen. Um sicherzustellen, dass AI-Modelle also ihr volles Potenzial entfalten können, ist es entscheidend, AI-Anwendungen von Anfang an als integriertes Gesamtsystem zu betrachten.

Oft führt die Unterteilung in Tätigkeitsfelder zu einer Trennung innerhalb der Organisation, wodurch AI-Modelle vom Rest der Applikation getrennt entwickelt werden. Dadurch geht viel ungenutztes Potenzial verloren und der Lösungsraum wird eingeschränkt. 

Um dem entgegenzuwirken, ist es entscheidend, dass die Modell- und Softwareentwicklung Hand in Hand im selben Team stattfindet. Das bedeutet, dass es eine nahtlose Zusammenarbeit von ML Engineers, Data Scientisten, Data Engineers und Softwareentwicklern braucht. Dieses Team soll iterativ von einem Minimum Viable Product (MVP) ausgehend nach und nach den Nutzen des Produkts vergrössern. Das Ziel dieses Vorgehens soll sein, dass die verfügbaren Ressourcen optimal dort eingesetzt werden, wo sie zu einem bestimmten Zeitpunkt den grössten Nutzen bringen können. Denn schnell ist es passiert, dass am Anfang zu viel in die Modellentwicklung investiert wurde. Und vielleicht stellt man später fest, dass es besser gewesen wäre, stattdessen andere Daten zu sammeln. 

Indem wir als integriertes Team mit einer minimalen Version starten, können wir besser erkennen, in welchen Teil der Anwendung wir als nächstes mehr Ressourcen investieren sollen. Die nachfolgende Abbildung zeigt das integrierte Team mit dem iterativen Vorgehen:

Bild 1: steigender Nutzen durch iterative Zusammenarbeit
Bild 1: steigender Nutzen durch iterative Zusammenarbeit

Warum die Entwicklung von AI-Anwendungen im Team entscheidend ist

Um früh einen Nutzen zu haben, ist es wichtig, dass eine AI-Anwendung frühzeitig von echten Benutzern verwendet und getestet wird. Das bedingt, dass die gesamte Pipeline – vom User Interface bis zum Backend – steht. Dies setzt voraus, dass eine frühzeitige und nahtlose Zusammenarbeit zwischen Data Scientists, Data Engineers und Softwareentwicklern stattfindet. Zusätzlich gibt es ein Huhn-Ei-Problem. Wie kann eine Anwendung bereits genutzt werden, wenn es noch kein fertiges Modell gibt? 

Dafür ist es nicht notwendig, von Anfang an ein funktionsfähiges Modell mit fertiggestellten Softwarekomponenten zu haben. Eine alternative Herangehensweise besteht darin, eine minimale Ausführung aller relevanten Komponenten des Systems zu entwickeln. Die minimale Variante von einem ML-Modell ist es, kein Modell zu haben. Die Aufgabe des Modells kann oft manuell von Personen durchgeführt werden. Dadurch können wir früh realistische Daten und Erkenntnisse sammeln, die dann in die Modellentwicklung einfliessen. In einem schrittweisen Prozess übernimmt die KI allmählich die manuellen Aufgaben, abhängig von ihrer Zuverlässigkeit. Um die Modellqualität sicherzustellen, darf die KI aber nicht ganz übernehmen. Auf einem kleinen Teil der Daten muss das Modell manuell geprüft werden.

Die Abbildung visualisiert das beschriebene Zusammenspiel aus Anwendung und AI-Modell.

Chatverlauf mit eingenen Daten in Azure OpenAI
Bild 2: Ablauf einer AI-Anwendung

Was tun, wenn Modell nicht wie gewünscht lernt

Wenn sich herausstellt, dass das Modell mit den aktuellen Daten nicht verbessert werden kann, müssen möglicherweise zusätzliche Informationen erfasst werden. Dies erfordert beispielsweise Anpassungen an der Benutzeroberfläche durch das Team. Mit den neuen Daten können die Modelle wieder trainiert werden.

Da sich während der Entwicklung neue Erkenntnisse ergeben, kann es sein, dass ein Modell vielleicht einen anderen Nutzen als im Vornherein gedacht, liefert. Zeichnet sich ab, dass es nicht möglich ist, den Vorgang vollständig und fehlerfrei von einer AI zu automatisieren, ist der Nutzen vielleicht geringer als erhofft. Die AI kann dann aber immer noch unterstützend wirken. Mit einem iterativen, agilen Vorgehen können solche Entwicklungen frühzeitig erkannt und das Beste daraus gemacht werden.

Fazit

AI-Anwendungen sind von Natur aus komplex und erfordern ein hohes Mass an Wissen aus verschiedenen Disziplinen. Nur durch die enge Zusammenarbeit zwischen Software-, AI- und Fachexperten kann das volle Potential von AI ausgeschöpft werden. Ein iteratives Vorgehen, das den fachlichen Nutzen in den Mittelpunkt stellt und die Expertise des gesamten Teams einbezieht, ermöglicht es, flexibel und effektiv auf neue Erkenntnisse zu reagieren. Gesamthaft gesehen widerfährt weniger Modellen das Schicksal des ewigen Prototyps.