Keep up the Flow

Kubeflow 1.0 – Machine Learning auf Kubernetes leicht gemacht!

Jean Kiltz

© Shutterstock / Repina Valeriya

Das Open-Source-Tool Kubeflow erhält nach über zwei Jahren ihr erstes großes Release und wurde als Version 1.0 veröffentlicht. Einige Kernanwendungen für die Entwicklung, Bauen, das Training und Deployment von ML-Modellen auf Kubernetes wurden mit der Major-Version reif für die Produktion.

Nachdem Kubeflow im Dezember 2017 auf der Kubecon in den USA zu einem Open-Source-Projekt wurde, ist nun – etwas mehr als zwei Jahre später – mit Version 1.0 das erste Major Release herausgekommen. Das Toolkit soll Nutzern helfen, Machine-Learning-Modelle auf Kubernetes zu entwickeln, zu bauen, zu trainieren und auszuliefern. Dabei setzt Kubeflow bereits bestehende Konzepte, z.B. TensorBoard, in eigener Regie um, damit die Nutzer keine allzu lange Einarbeitungsphase haben. Kubeflow läuft auf jedem Cluster, der Kubernetes unterstützt.

Anwendungen aus V1.0

Folgende Anwendungen sind Teil von Kubeflow 1.0:

Das Central Dashboard, welches das Kubeflow-UI ist und einen schnellen Zugriff auf im Cluster installierte Komponenten erlaubt. Ein Jupyter Notebook Controller zusammen mit einer Web-App, mit denen man benutzerdefinierte Notebooks anlegen kann. Ein Tensorflow Operator (TFJob) und ein PyTorch Operator, mit denen man Modelle dezentral trainieren kann. Weiterhin ist ein Command-Line-Interface namens kfctl enthalten, mit dem man Kubeflow installieren und konfigurieren kann. Um Mehrfachnutzer möglichst schnell und unkompliziert verwalten zu können, gibt es einen Profile Controller. Und zu guter Letzt ist die Anwendung KFServing enthalten, welche die Installation und das Management von ML-Modellen steuern soll.

Kubeflow bringt also alle Anlagen mit, um Machine Learning (ML) auf Basis von Kubernetes von der Entwicklung bis zur Installation unterstützen zu können. Diese Anwendungen sollen es ML Engineers und Datenwissenschaftlern erleichtern, Cloud-Ressourcen für ML-Kapazitäten zum Beispiel folgendermaßen einzusetzen:

Quelle: Kubeflow

Einfach und doch komplex

Obwohl die Bedienung von Kubeflow ziemlich einfach sein soll, soll das Werkzeug extrem individualisierbar sein. So kann man zum Beispiel das UI zwar mit einem vorgebauten Docker Image, aber auch mit einem maßgeschneidertem Build füttern:

Quelle: Kubeflow

Dezentrales Training

Eines der Kernanliegen bei der Entwicklung von Kubeflow war, das dezentrale Training auf Kubernetes einfacher zu gestalten. Dafür muss der Nutzer nur einen TFJob oder eine PyTorch-Ressource definieren. Anschließend übernimmt der benutzerdefinierte Controller sowohl Konfiguration als auch Management der einzelnen Prozesse.

Quelle: Kubeflow

Kommende Anwendungen

Zusätzlich zu diesem Release haben die Entwickler von Kubeflow schon weitere Projekte bekanntgegeben, die sich im Test befinden:

  • Pipelines, um komplexe ML Arbeitsablaufe zu definieren
  • Metadata, um Datensets, Jobs und Modelle nachzuverfolgen
  • Katib, mit dem Hyper-Parameter angepasst werden können
  • Verschiedene Operatoren für andere Frameworks wie xgboost

Welche Anwendungen es in den nächsten Release schaffen, bestimmt vor allem die Kubeflow Community. Sie vergibt den Applikationen das Atribut „stable status“, wenn sie die Kriterien Stabilität, Support und Möglichkeiten für Upgrades erfüllt haben.

Um den Einstieg zu erleichtern, haben die Entwickler ein Tutorial entworfen, mit dem man die oben angesprochenen Anwendungen testen kann. Einen tieferen Einblick in Kubeflow kann man sich in diesen Dokumentationen zu allen Teilanwendungen verschaffen.

Geschrieben von
Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: