MLOps: Machine Learning ist erwachsen geworden

Autor*in:
Alexander
Zimmermann
Dennis
Wegener

Für viele Unternehmen sind Machine Learning (ML)-Lösungen noch immer größtenteils Gegenstand von Forschung und Entwicklung und nur selten in der Anwendung im Unternehmen. In der Praxis wird Data Science heutzutage vor allem in Projekten zur Potentialanalyse und Machbarkeitsstudien mit Demonstrator-Charakter umgesetzt. Da solche Projekte aber schon aus ihrer Definition heraus zeitlich abgeschlossen und ressourcenlimitiert sind, funktionieren ihre Methoden und Ansätze selten, um ML-Lösungen als Produkte langfristig und nachhaltig einzusetzen.

In manchen Unternehmen ist Maschinelles Lernen jedoch heute schon im Einsatz und trägt zur Wertschöpfung bei. Diese ML-Pioniere sind nicht nur Technologiekonzerne und Start-ups, sondern auch etablierte Unternehmen aus unterschiedlichen Branchen. So finden ML-Lösungen, die zu einer ressourceneffizienteren Produktion beitragen, die Logistikplanung erleichtern oder in Vertrieb und Marketing dabei helfen, Kundenwünsche besser zu verstehen, bereits Anwendung.

Die Frage ist also: Wie haben es diese Unternehmen geschafft den Schritt aus dem forschungsorientierten Nischendasein in das strukturierte Tagesgeschäft eines Unternehmens zu gehen? Vor allem eine ganzheitliche Sichtweise auf den gesamten Lebenszyklus von ML-Lösungen ist hier zielführend, was wir im Folgenden etwas näher betrachten.

Die Umstellung von Projekt auf Produkt ist herausfordernd

Praktischerweise werden für viele ML-Lösungen etablierte Prozesse der Softwareentwicklung verwendet. Aufgrund ihres Aufbaus und ihres Entwicklungszyklus stellen ML-Lösungen jedoch in vielen Bereichen der Entwicklung, der Qualitätssicherung und des Betriebs Anforderungen, die durch bisherige Methoden nicht oder nur teilweise abgedeckt werden können. So ist das für Data-Science-Projekte etablierte Vorgehen CRISP-DM (Cross Industry Standard Process for Data Mining) primär für die Modellentwicklung gedacht und beschreibt nicht dezidiert die Konstruktion und den Betrieb von ML-Softwareanwendungen (mehr Informationen zum CRISP-DM Modell in unserem Blogbeitrag „Maschinelles Lernen in der Praxis“). Generell sind bisher nur wenige Konzepte für den reibungslosen Übergang von der Modellentwicklung in die integrierte Nutzung vorhanden.

© ML2R
CRISP-DM

Auf technischer Ebene sind zum Beispiel bei der Qualitätssicherung geeignete Testverfahren einzusetzen, um auch die Modelle selbst zu bewerten. Außerdem ist die Versionierung von Daten, Modellen und zugehörigen Artefakten mit gängigen Tools nur bedingt durchführbar. Gerade aber die Abhängigkeit zwischen Trainingsdaten, Testdaten und daraus abgeleiteten Modellen muss im Betrieb detailliert nachvollziehbar sein.

Zusätzlich stellen sich auf der organisatorischen Ebene Herausforderungen an die Fähigkeiten und Aufgaben der Mitarbeiter*innen in Betrieben. Wer überwacht die Trainings- und Testverfahren der produktiven ML-Lösungen? Wie werden die ML-Lösungen betrieben und überwacht, ist hier ML-Knowhow notwendig? Wie wird generell das Zusammenspiel zwischen Data Scientists, IT-Betrieb und Kunden organisiert? Viele dieser Fragen stellen grundsätzliche Anforderungen und Herausforderungen an die Organisation, die nicht für eine ML-Lösung allein beantwortet werden können, sondern querschnittlicher und umfassender sind.

Den Herausforderungen muss ganzheitlich begegnet werden

Wie wir gesehen haben, sind die Herausforderungen umfangreich und nicht an einer einzelnen Stelle verortbar, daher ist hier eine ganzheitliche Sichtweise wichtig:

Um Maschinelles Lernen in die Anwendung zu überführen, ist es neben den rein technischen Lösungen essenziell, auch auf der organisatorischen Ebene frühzeitig Expert*innen aus den Fachabteilungen in die Konzept- und Use-Case- Entwicklung einzubinden. Insbesondere die Vor- und Nachteile von ML-Lösungen müssen auf allen fachlichen und technischen Ebenen des Unternehmens bekannt sein und verstanden werden – beginnend bei der Entwicklung bis hin zum produktiven Einsatz. Durch dieses frühzeitige Schaffen von Bewusstsein bei allen Mitarbeitenden für den Mehrwert von ML-Technologien, aber auch für die dahinterstehenden speziellen Anforderungen und Herausforderungen wird eine wichtige Grundlage für den Einsatz von ML im Unternehmen geschaffen.

Aus unserer Sicht muss verhindert werden, dass Lösungen entstehen, die in dem Kern von umfangreichen Anwendungen integriert sind und nur durch hoch qualifizierte Expert*innen verstanden, gewartet und weiterentwickelt werden können. Bis heute entsteht beispielsweise Banken ein enormer Aufwand dadurch, dass in der Vergangenheit nicht nachhaltig integrierte Lösungen gewartet oder abgelöst werden müssen, ohne den operativen Betrieb zu behindern.

Das MLOps-Prozessmodell kann strukturiert Abhilfe schaffen

Im Bereich der Softwareentwicklung existieren bereits Prozesse, Verfahren und Werkzeuge, die dazu dienen, Fehler, die in der Vergangenheit bei der Einführung neuer Softwaretechnologien gemacht wurden, zu vermeiden. Dies sind vor allem agile Projektorganisationen. Das State-of-the-Art Modell »DevOps« (Development Operations) sieht hierbei eine starke Integration von Kundenseite, Entwicklung und IT-Betrieb vor.

Beim Fraunhofer IAIS arbeiten wir mit dem Prozessschema »MLOps« (Machine Learning Operations), eine Erweiterung und Anpassung von DevOps. MLOps integriert Elemente von DevOps und CRISP-DM und erweitert diese um ML-spezifische Charakteristika. Damit bieten wir Leitlinien für die zielgenaue Entwicklung, die schnelle Integration und den gesicherten Betrieb von ML-Technologien. CRISP-DM liefert vor allem Inhalte für die Analyse – und Explorationsphase, da hier wiederholt im Business-Understanding, Data-Understanding und in der Modellentwicklung gearbeitet wird. DevOps liefert den grundsätzlichen Unterbau und das Verständnis zur Entwicklung von Softwareprojekten mittels agilen Vorgehens und starker Einbindung der Kunden- und IT-Betriebsseite.

Der Fokus von MLOps liegt auf einer technisch hoch automatisierten Vorgehensweise, die ML-Lösungen nachhaltig und verlässlich zur Verfügung stellt. Außerdem lassen sich aktuelle Virtualisierungstechnologien, wie beispielsweise Docker-Container, nutzen, um eine durchlässige Architektur zu entwickeln, die die Überführung von ML-Lösungen aus der Entwicklung hin zum operativen Betrieb unterstützt.

© ML2R
MLOps-Zyklus

Die Integration, Skalierung und Überwachung von ML-Lösungen für unterschiedliche Infrastrukturen, von einzelnen Arbeitsplätzen bis hin zu Cloud-Implementierungen, wird von einer Vielzahl von Plattformen unterstützt. Es existieren Werkzeuge und Methoden, die die Umsetzung der MLOps-Prozesse erleichtern. Konkret bedeutet dies, dass die einzelnen Phasen des Prozesses jeweils durch spezifisches Tooling unterstützt wird. So wird zum Beispiel ML-spezifisches Tooling für die Exploration (Jupyter Notebooks sowie für das Experiment-Tracking mlflow) verwendet.

Bei der Überführung von der Exploration in die Entwicklung wird auf ML Pipeline Tools aufgebaut (zum Beispiel airflow zur Umsetzung von automatisierten ML Pipelines) und es werden typische Verfahren und Tools der professionellen Softwareentwicklung angewandt (Standard Tooling für repos und registries, das heißt git oder docker registries).

Durch Tools wie gitlab-ci, bamboo, jenkins werden Continuous Integration Prinzipien in den Prozess eingebracht und für das Testen, die Qualitätssicherung und die Automatisierung verwendet. Dies umfasst dann sowohl die softwaretechnischen Anteile als auch die ML-spezifischen Anteile, indem die komplette ML Pipeline geprüft wird und auch Gesamtsystem- und Integrationstests ausgeführt werden.

Dasselbe Tooling unterstützt auch beim Automatisieren der Deployments mittels Continuous Deployment und Delivery. Der Betrieb der ML-Lösungen ist dann wieder sehr unternehmens- und lösungsspezifisch. Einerseits können mittels Containerisierung (zum Beispiel durch docker) skalierbare Plattformen wie kubernetes und openshift unterstützt werden, andererseits kann die Anwendung ebenfalls als Individuallösung auf dezidierter Infrastruktur erfolgen.

Neben der Technologie und den Werkzeugen spielt die Kommunikation eine zentrale Rolle für die erfolgreiche Implementierung von ML-Lösungen. MLOps ist ein agiler Prozess mit einer starken und häufigen Rückkopplung zwischen Anwenderinnen und Entwicklerinnen innerhalb von Data-Science-Projekten. Häufig wird SCRUM als Projektmanagement-Methode verwendet, da der Fokus auf kurzen, iterativen Zyklen zur Entwicklung der ML-Lösung liegt. Die produktive Komponente erfordert dann auch organisatorisch eine klare Identifikation und Festlegung von Verantwortlichkeiten in Form von Rollen und Prozessen. So werden oftmals lösungsspezifische oder je nach Größe und Umfang der ML-Lösungen auch querschnittlich eingesetzte Mitarbeitende für zum Beispiel Daten-Management, Testing/Qualitätsmanagement und Release-Management eingesetzt. Insgesamt wird durch den toolunterstützten Prozess gewährleistet, dass neue ML-Anforderungen und -Modelle schnell über automatisierte qualitätsgesicherte Verfahren in Produktion genommen werden können.

Zusammenfassend kann gesagt werden, dass ML-Lösungen in vielen Bereichen dabei sind in den operativen Betrieb überzugehen. Hierbei existieren diverse Herausforderungen auf technischer und organisatorischer Ebene. MLOps ist ein ganzheitlicher Prozessansatz, der diesen Herausforderungen begegnet und sie mit geeigneten Methoden und Werkzeugen umsetzt. Weitere und detailliertere Einsichten erhalten Sie auch durch unser Whitepaper.

Autor*in

Alexander
Zimmermann

Alexander Zimmermann ist Senior-Projektleiter und Senior-IT-Consultant am Fraunhofer Institut IAIS in Sankt Augustin und betreut Projekte in diversen Data Science Themenbereichen. Er strebt hierbei insbesondere an, Unternehmen bei der operativen Umsetzung von ML-Lösungen zu unterstützen und seine Erfahrung aus vielen Jahren Softwareentwicklung vereint mit Beratungstätigkeit gewinnbringend einzusetzen.

Dennis
Wegener

Dennis Wegener ist Teamleiter des MLOps Teams am Fraunhofer Institut IAIS in Sankt Augustin und betreut Projekte im Bereich der Umsetzung von Machine Learning Pipelines in Produkten und Services. Sein Forschungsschwerpunkt liegt auf der Schnittstelle zwischen Software Engineering, verteilten Systemen und Machine Learning Pipelines.