
MLOps
Den größtmöglichen Grad an Automation erreichen.

Von DevOps zu MLOps
In den vergangenen zehn Jahren hat sich DevOps in Entwicklung, Testen, Bereitstellung und Betrieb von großen konventionellen Softwaresystemen etabliert. DevOps hat die Entwicklungszyklen beschleunigt, die Bereitstellungsdauer verkürzt und Produktivsysteme wartbar und verlässlich gemacht.
KI und besonders Machine Learning (ML) Anwendungen haben die IT-Welt in den letzten Jahren revolutioniert, indem sie es Computern ermöglichten, aus riesigen Datensets zu lernen. Dadurch konnten Aufgaben gelöst werden, an denen klassische Programme scheiterten und häufige Problem umgangen werden.
Leider können DevOps Prinzipien nicht unmittelbar auf die Entwicklung von ML-Modellen angewendet werden. Dies liegt daran, dass klassische Software rein abhängig vom entwickelten Programmcode ist. ML-Modellen dagegen sind abhängig von den verwendeten Daten. Die verwendeten Konzepte und Einstellungen werden experimentell ausgewählt und optimiert. Dadurch ist die Entwicklung der einzelnen Komponenten deutlich komplexer als in der klassischen Softwareentwicklung. Lediglich etwa 30 % der Entwicklungszeit werden für Implementation verwendet. Der restliche Aufwand liegt in Datenanalyse und Vorbereitung, Experimente mit Konfigurationen, Einsatz von remote Hardware zur parallelen Ausführung mehrerer Experimente, Auswertung der Experimente, Bereitstellung der Modelle und vieles mehr.
Was ist MLOps?
MLOps stellt die an Machine Learning angepassten DevOps Prinzipien dar. Das Ziel ist es, den größtmöglichen Grad an Automation zu erreichen. Durch wiederverwendbare Strukturen und Prozesse können sich die Data Scientists und Data Engineers auf die projektspezifischen Aufgaben konzentrieren. Das automatische Sammeln von Daten, sowie das Monitoring und Aktualisieren der aktiven Modelle vereinfacht die Entwicklung und Wartung von Anwendungen im Betrieb.
MLOps abstrahiert komplexe Infrastruktur (bare metal, Cloud, Virtualisierung, Server-Cluster) mit vielfältiger Hardware (CPU, GPU, TPU) und stellt die Ressourcen zentral bereit.
Es vereinheitlicht den Entwicklungsprozess, ohne die Auswahl der verwendbaren Frameworks und Bibliotheken einzuschränken. Durch die Verbindung einer Vielzahl von Tools wird die Entwicklung in allen Phasen deutlich beschleunigt und optimiert.

A brief intro into the key phases of MLOps
„*“ zeigt erforderliche Felder an