Kubeflow: Machine-Learning-Workflows orchestrieren

Kubeflow steuert Deployment-Pipelines für ML-Software in Kubernetes-Clustern. Die Workflows sollen einfach, portabel und skalierbar sein.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Lesezeit: 11 Min.
Von
  • Kevin Kekule
  • Prof. Wolf Knüpffer
  • Dr. Guido-Arndt Söldner
Inhaltsverzeichnis

Maschinelles Lernen (ML) gehört zu den Themen der IT, die in den letzten Jahren immer mehr Aufmerksamkeit auf sich ziehen konnten, und ist mittlerweile im Mainstream angekommen. Die APIs und Tools sind so fortgeschritten, dass man für ihre Nutzung kein ausgebildeter Data Scientist mehr sein muss. Dennoch sind Operationalisierung und Betrieb von Machine-Learning-Modellen immer noch eine große Herausforderung, weil ML-Prozesse aus vielen verschiedenen Teilaspekten bestehen: der Beschaffung der Daten (Data Collection), ihrer Validierung (Data Validation), Feature Extraction, Training des Modells. Das fertige Modell muss schließlich in der Zielumgebung bereitgestellt und der Betrieb durch geeignete Monitoringtools überwacht werden.

Für die Orchestrierung der verschiedenen Schritte bieten sich Pipelines an. Klassische Pipelines aus der Softwareentwicklung wie Jenkins und GitLab CI/CD scheiden für diesen Einsatz aus, da sie sich auf Code und deploybare Artefakte beschränken. Doch viele Firmen nutzen klassische Pipelines für Data Processing wie Apache Airflow oder Cloud-Produkte wie AWS Glue.

Mehr zum Thema Machine Learning

Google ging 2018 einen anderen Weg und trieb das Projekt Kubeflow voran, eine Pipeline für Machine-Learning-Systeme, die sich auf Kubernetes betreiben lässt. Der Schwerpunkt des Projektes liegt auf Vereinfachung, Portabilität und Skalierbarkeit. Die Anwendungsfälle bestehen im Deployment und Management komplexer ML-Systeme, dem einfachen Experimentieren, Hyperparametertuning, dem Einbinden von hybriden und Multicloud-Umgebungen sowie Continuous-Integration-/Continuous-Delivery-Funktionen. Wie Kubernetes ist Kubeflow Open Source und segelt unter der Apache-2-Lizenz. Mittlerweile ist das Projekt den Kinderschuhen entwachsen. Im März 2020 erschien Version 1, die aktuelle Version ist 1.1. Allerdings kommt die Mehrheit der Codeänderungen nicht mehr von Google.