3.6. Deployment#
Am Ende der Evaluationsphase steht ein fertiges Modell und eine Entscheidung es einzusetzen. Bis hierhin sind Kosten und Aufwand für das Unternehmen entstanden. Der geplante Mehrwert wird erst durch die Ausführung des Modells im Produktivbetrieb erreicht. Um dies sicherzustellen sind einige weitere Schritte notwendig.
Produktentwicklung
In den bisherigen Phasen wurde viel Wert auf schnelle Entwicklung, Anpassung und aufs Ausprobieren gelegt. Typischerweise werden die Modelle in interaktiven Umgebungen wie z.B. Jupyter Notebooks entwickelt. Für den dauerhaften Betrieb eines Modells - oftmals im 24/7-Modus - ist viel mehr ein Produkt als ein Prototyp notwendig. Hier sind Merkmale wie Testbarkeit, Stabilität und Skalierung ausschlaggebend.
Typischerweise erfolgt hier die Übertragung in eigenständige Programme oder Skripte. Außerdem werden die mehr Methoden aus dem Software-Engineering eingesetzt - wobei hier der Trend dazu geht von vornherein die Entwicklung und den Betrieb von Modellen ähnlich wie bei Software DevOps zu verzahnen. Das passende Stichwort hierzu ist MLOps - eine gute Einführung ist von Goku Mohandas Made With ML - MLOps [Moh21].
Ein großer Aufwand kann für die Integration in bestehende Systemlandschaften entstehen, wenn diese keine geeigneten APIs bieten.
Manchmal erfolt sogar eine Übertragung des Modells in eine andere Programmiersprache und Bibliothek z.B. wenn das Modell im Browser oder auf mobilen Geräten eingesetzt wird (bspw. tensorflow.js, Apple CoreML).
Rollout
Neben der technischen Umsetzung und Bereitstellung des Modells gibt es einen fachlichen Rollout, der kritisch für den erfolgreichen Betrieb ist. Insbesondere müssen hier die zukünftigen Nutzer geschult werden, damit sie das System bedienen, bzw. die Ausgaben verstehen und die entsprechenden Handlungen ausführen können. Hierbei ist auch eine Schulung zu Hintergrund und Funktionsweise des Modells wichtig, um die Akzeptanz zu erhöhen. Viele Modelle ändern Prozesse, die bisher von Mitarbeitern auf Basis ihres Erfahrungswissen ausgeführt wurden. Diesen Mitarbeitern muss eine Perspektive gegeben werden, warum sie weiterhin wichtig sind, auch wenn ihr Erfahrungswissen nun teilweise nicht mehr gebraucht wird.
Bei großen Unternehmen sind in dieser Phase häufig auch lokale Anpassungen an verschiedene Länder, Fabriken, Gesetzgebungen usw. notwendig.
Betrieb, Monitoring, Pflege
Der laufende Betrieb eines Modells erfordert andere Fähigkeiten und Aufgabenprofile als die einmalige Entwicklung. Ein offensichtlicher Unterschied sind die Arbeitszeiten, wenn ein 24/7-Betrieb sichergestellt werden muss gegenüber der Entwicklung während flexibler Tageszeiten.
Das Modell - insbesondere die Daten, die reinfließen und die Ergebnisse, die rausfließen - müssend ständig beobachtet werden. Entsprechen die Eingabedaten nach wie vor den Charakteristiken der Daten mit denen das Modell trainiert wurde? Entsprechen die Performance-Metriken nach wie vor den Werten aus der Evaluation? Abweichungen müssen frühzeitig erkannt werden, damit eingegriffen werden kann. Ein Modell, das schlechte Entscheidungen trifft, tut das ggfs. mit extrem hoher Geschwindigkeit in einer Vielzahl von Fällen und ohne Reflektion im Vergleich zu einem Menschen. Daher kann der Schaden in kürzester Zeit sehr hoch ausfallen.