iX 5/2021
S. 138
Praxis
Cloud

Machine-Learning-Workflows mit Kubeflow orchestrieren

Allroundtalent

Kevin Kekule, Prof. Dr. Wolf Knüpffer, Dr. Guido-Arndt Söldner

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

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-Mo­del­len immer noch eine große Heraus­forderung, 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 verschie­denen Schritte bieten sich Pipelines an. Klassische Pipelines aus der Softwareent­wicklung 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. 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 Multi­cloud-­Umgebungen sowie Continuous-­Integration-/Continuous-Delivery-Funk­tionen. 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.

Kommentieren