Für die meisten professionellen Softwareentwickler ist Application Lifecycle Management gesetzt. Bei Datenwissenschaftlern ohne Entwickler-Hintergrund kommt es hingegen häufiger vor, dass das Lifecycle Management von Machine-Learning-Modellen auf der Strecke bleibt. Dieses Problem lässt sich dank MLops-Umgebungen, -Frameworks und -Plattformen, die Machine Learning Lifecycle Management unterstützen, heute deutlich leichter lösen als noch vor ein paar Jahren.
Machine Learning Lifecycle Management - was ist das?
Machine Learning Lifecycle Management lässt sich nicht mit Application Lifecycle Management gleichsetzen, denn der Lebenszyklus eines ML-Modells unterscheidet sich in vielerlei Hinsicht von einem Software Development Lifecycle.
Das fängt bereits mit dem Umstand an, das Softwareentwickler im Regelfall genau wissen, was sie programmieren wollen - und zwar bevor Sie damit anfangen. Vielleicht gibt es festgelegte Spezifikationen (Wasserfallmodell), vielleicht auch nicht (Agile) - aber der Entwickler versucht in irgendeiner Form ein Feature zu kreieren, das beschreibbar ist. Im Gegensatz dazu erschafft ein Data Scientist experimentelle Datenmodelle, während ein Algorithmus versucht, die besten Metriken zu ermitteln, um diese Datensets zu beschreiben. Es gibt eine Unmenge solcher Modelle - der derzeit einzige Weg, herauszufinden, welches sich am besten eignet, besteht darin, alle auszuprobieren. Darüber hinaus gibt es verschiedene mögliche Kriterien, nach denen sich ML-Modelle hinsichtlich ihrer Qualität bewerten lassen - ein Äquivalent zu Software Testing gibt es nicht.
Unglücklicherweise dauert es gerade bei den besten Modellen (beispielsweise Künstliche neuronale Netze) oft am längsten, sie entsprechend mit Daten zu trainieren, weswegen GPUs, TPUs und FPGAs für die Datenwissenschaft immer wichtiger werden. Aufwändig ist am Ende auch, die Daten zu bereinigen und dafür zu sorgen, dass das beste Feature Set zum Einsatz kommt und am Ende ein Modell entsteht, das bestmöglich funktioniert. Den Überblick über hunderte solcher Modelle und Feature Sets zu behalten, ist selbst bei einem vorgegebenem, festen Datenset, kein leichtes Unterfangen. In der Praxis ist es eher so, dass ML-Modelle kontinuierlich neu ausgerichtet werden müssen.
Geht es um den Machine Learning Lifecycle, gibt es zahlreiche unterschiedliche Paradigmen. Im Regelfall gestaltet er sich wie folgt:
Ideenfindung
Datenakquisition und explorative Analyse
Forschung und Entwicklung sowie Validierung
Deployment- und Monitoring-Phase
Dabei kann jeder Schritt in diesem Lebenszyklus wieder zum Beginn führen - wenn Trainingsdaten oder Performance nicht überzeugen.
MLops-Plattformen im Überblick
Systeme für Machine Learning Lifecycle Management können dabei helfen, den Überblick über alle ML-Experimente zu behalten. Als besonders nützlich können sich dabei Implementierungen erweisen, die auch Deployment und Monitoring einbeziehen: Stichwort MLops. Wir haben verschiedene Cloud-basierte MLops-Plattformen und -Frameworks für Sie zusammengestellt, die Ihnen in Sachen Machine Learning Lifecycle Management unter die Arme greifen.
Algorithmia
Mit Hilfe von Algorithmia können Sie Ihr Machine-Leanring-Portfolio ausrollen, managen und skalieren. Je nachdem für welches Modell Sie sich entscheiden, kann Algorithmia in der Cloud, On-Premises, in VMware-Umgebungen oder in der Public Cloud laufen. Modelle lassen sich im eigenen Git Repository oder auf GitHub vorhalten. Die MLops-Lösung managt die Modell-Versionierung automatisiert und kann sowohl Pipelining implementieren, als auch Modelle mit Hilfe von CPUs und GPUs On Demand (Serverless) ausführen und skalieren. Darüber hinaus bietet Algorithmia auch eine verschlagwortete Modell-Bibliothek - ein eigenes Modell zu hosten ist natürlich auch möglich. Ausbaufähig zeigt sich die Lösung, wenn es um das Training von Modellen geht.
Amazon Sage Maker
Amazons vollintegrierte Umgebung für Machine und Deep Learning heißt SageMaker. Die Lösung beinhaltet die Entwicklungsumgebung Studio, die Jupyter Notebooks mit Experiment Management und Tracking sowie einem Model Debugger kombiniert. An Nutzer ohne Machine-Leanring-Expertise richtet sich das Autopilot-Feature.
Azure Machine Learning
Bei Azure Machine Learning handelt es sich um ein Cloud-basierte Umgebung, mit der ML-Modelle trainiert, ausgerollt, automatisiert, gemanagt und getrackt werden können. Dabei deckt die Microsoft-Lösung alle Arten von Machine Learning ab - also sowohl klassisches ML als auch Deep Learning, Supervised und Unsupervised Learning.
Azure Machine Learning unterstützt unter anderem die Programmiersprachen Python und R, erlaubt Designs per Drag und Drop und bietet auch eine AutoML-Option. Mit dem Azure Machine Learning Workspace lassen sich hochakkurate Machine- und Deep-Learning-Modelle aufbauen, trainieren und tracken - sowohl auf lokaler Ebene als auch in der Cloud.
Die Microsoft-Lösung ist mit vielen verbreiteten Open Source Tools kompatibel - beispielsweise PyTorch, TensorFlow, Sckit-learn, Git oder MLflow. Darüber hinaus bietet Azure Machine Leaerning auch eine eigene, quelloffene MLops-Umgebung.
Domino Data Lab
Mit der Domino Data-Science-Plattform lassen sich DevOps automatisieren - wodurch mehr Zeit für wissenschaftliche Forschung und das Testen neuer Ideen bleibt. Dass sämtliche Arbeitsschritte automatisch getrackt werden, befeuert die Reproduzierbarkeit, den Wiederverwendungswert und die Zusammenarbeit. In Sachen Infrastruktur-Tools lässt Domino seinen Nutzern die freie Wahl - standardmäßig wird die Plattform mit AWS verknüpft.
Google Cloud AI Platform
Googles Cloud-AI-Plattform beinhaltet eine Vielzahl von Funktionen, um den Machine Learning Lifecycle zu managen. Dazu gehören beispielsweise ein umfassendes Dashboard, ein KI-Hub, Data Labeling und Notebooks Workflow Orchestration (Pre-Release Status).
Der AI Hub beinhaltet auch eine Vielzahl öffentlicher Ressourcen, beispielsweise Kubeflow Pipelines, TensorFlow-Module, VM Images oder technische Richtlinien. Was Bilder, Texte, Audio, Video und andere Datentypen angeht, stehen ebenfalls öffentliche Quellen zur Verfügung.
HPE Ezmeral ML Ops
Machine Learning mit Containern auf Enterprise-Niveau - das bietet HPE mit Ezmeral ML Ops. Die Plattform unterstützt den Machine Learning Lifeycycle - von der Experimentierphase in der Sandbox über das Training der Modelle (auch in containerisierten Clustern) bis hin zum Deployment. HPE Ezmeral ML Ops steht für alle Infrastrukturen sowohl On-Premises als auch in diversen Public Clouds (zum Beispiel AWS oder Azure) zur Verfügung.
Metaflow
Bei Metaflow handelt es sich um ein Python-basiertes Workflow-System, das speziell für Machine Learning Lifecycle Management konzipiert ist. Ein grafisches User Interface bietet Metaflow nicht - stattdessen setzt die Software auf Decorators. Metaflow bildet Workflows in Form eines Directed Acyclic Graph ab, ermöglicht es, diese zu skalieren und anschließend in die Produktion zu überführen.
Alle Machine-Learning-Experimente und die zugehörigen Daten werden automatisiert versioniert und getrackt. Seit kurzem steht Metaflow auch als quelloffene Version zur Verfügung - die Software ist mit Amazon SageMaker, diversen Big-Data-Systemen sowie Machine- und Deep-Learning-Bibliotheken auf Python-Basis integrierbar.
MLflow
MLflow ist eine quelloffene Plattform für das Management des Machine Learning Lifecycle aus dem Hause Databricks. MLflow besteht aus drei Komponenten, die die Felder Tracking, Projekte und Modelle abdecken.
Sämtliche ML-Experimente bleiben dank MLflow Tracking stets nachvollziehbar, während MLflow Projects ein wiederverwendbares, reproduzierbares Format zu Verfügung stellt, mit dem sich Programmcode aus dem Data-Science-Bereich verpacken lässt. Für laufende Projekte stehen darüber hinaus ein API- und Kommandozeilen-Tools zur Verfügung, mit denen sich Projekte in Workflows zusammenfassen lassen. MLflow Models stellt schließlich ein einheitliches Format zur Verfügung, um Machine-Learning-Modelle zu verpacken.
Paperspace Gradient
Paperspace Gradient ist eine Tool-Sammlung, um Daten zu durchsuchen, neuronale Netze zu trainieren und Machine Learning Pipelines in Produktivumgebungen zu überführen. Um Projekte, Daten und Nutzer zu managen, steht eine Cloud-basiertes Web Interface zur Verfügung, für Windows-, Mac- und Linux-Systeme steht ein Call Level Interface bereit.
Die Lösung organisiert Machine Learning in Projekten, die wiederum Ansammlungen von Experiments, Jobs, Artefacts oder Models sein können. Projekte lassen sich optional per App auch mit einem GitHub-Repositorium integrieren. Darüber hinaus unterstützt Paperspace Gradient auch Jupyter und JupyterLab Notebooks.
Seldon Core
Bei Seldon Core handelt es sich um eine quelloffene Plattform, um Machine-Learning-Modelle auf Kubernetes möglichst schnell auszurollen. Seldon Deploy stellt einen Service im Abo-Modell zur Verfügung, der es ermöglicht mit allen möglichen Programmiersprachen und Frameworks Modelle in der Cloud oder On-Premises zu erarbeiten und (skalierbar) auszurollen. Seldon Alibi ist hingegen eine quelloffenen Python-Bibliothek, die Black-Box Machine Learning, Modell-Inspektionen und -Interpretationen ermöglicht. (fm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.
- Dr. Reza Bakhtiari, A1 Digital Deutschland
Natürlich sind große Konzerne tendenziell eher bereit in neue Technologien zu investieren. Aber wir sehen, dass auch zunehmend kleinere Unternehmen den Mehrwert von ML erkennen. - Dr.-Ing. Susan Wegner, Lufthansa Industry Solutions
Aus unserer Sicht haben die meisten Unternehmen in Deutschland die Relevanz von Machine Learning erkannt und setzen die Technologie bereits ein.