One Size Fits All – Machine Learning mit KubeFlow

Künstliche Intelligenz und Maschinelles Lernen sind Schlagworte, welche längst nicht mehr nur einem kleinen Kreis von Eingeweihten bekannt sind. Doch wie kann man sich selbst von den Werkzeugen und Algorithmen einen Eindruck verschaffen? Wie bekommt man ohne viel Investition in Hardware ein eigenes Machine Learning Lab?

Etwas für den Laptop

Die meisten Leute denken das man für die Erarbeitung von ML Algorithmen einen grossen Fuhrpark an starken Computer braucht. Das trifft zu, wenn man mit grossen und rechenintensiven Daten arbeitet. Was ist aber wenn man sich nur mal etwas mit den Tools vertraut machen will und nicht gleich tausende von Franken in einen schnellen Rechner mit GPU investieren will? Ich wollte mich auch nicht zuerst in 100 Tools einlesen müssen und dann versuchen sie miteinander zu verbinden. Ich suchte ein einfaches Toolkit, das ich lokal auf meinem Laptop laufen lassen kann.

One Size Fits All

https://www.kubeflow.org/docs/started/kubeflow-overview

Auf dieser Suche bin ich auf Kubeflow gestossen. Wie der Name schon sagt basiert Kubeflow auf Kubernetes und ist somit hoch portabel und skalierbar. Da die Tools alle Open Source sind gibt es auch keine Kosten für die Software. Die wichtigsten Werkzeuge sind integriert und man kann schnell loslegen mit den Projekten. Das Toolkit läuft sowohl auf dem eigenen Notebook in einer lokalen Kubernetes Installation als auch auf den grossen Cloudanbieter wie AWS, Azure, Google und IBM. Die gute Dokumentation hilft dabei schnell zu einer funktionierenden ML Umgebung zu kommen. Zum Erstellen der Programme werden Jupyter Notebooks verwendet, damit kann man auch gleich noch seine Python Kenntnisse etwas verbessern.

Wenn man noch kein Kubernetes auf seinem Computer installiert hat, gibt es auf der Kubeflow Webseite auch dazu eine Anleitung.

Das sieht doch aus wie eine Zwei, oder?

Josef Steppan – Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64810040

Jetzt hatte ich ein Toolkit, da ich aber kein Data Scientist bin fehlt mir natürlich noch ein Anwendungsfall. Auch da habe ich auf der Kubeflow Dokumentation sehr schnell etwas gefunden. Nämlich eine der Bekanntesten ML Testanwendungen, die MNIST  Bildererkennung. Diese braucht nicht viel Power, um zu laufen und eignet sich gut, um mit den ML Tools in Kubeflow vertraut zu werden. MNIST ist eine grosse Datenbank von Bildern mit handschriftlich geschriebenen Zahlen. Dieser Datensatz wird weitverbreitet benutzt für das Training und das Testing von ML Algorithmen. Es geht darum dem Computer mit dem Trainingsdatensatz (60000 Bilder) die Erkennung der Zahl auf dem Bild zu trainieren. Danach wird mit dem Testdatensatz (10000 Bilder) der Algorithmus auf seine Genauigkeit geprüft. Auf Git Hub ist eine Anleitung zu finden mit welcher das MNIST Beispiel in KubeFlow erstellt werden kann.

Fazit

Somit habe ich mein Ziel in etwas mehr als einem Morgen „Arbeit“ erfüllen können. Mit dem Kubeflow Toolkit habe ich erstmals selbst gesehen wie Algorithmus trainiert werden kann und wie die Tools dazu aussehen. Das coole an Kubeflow ist, dass wenn ich nun doch etwas ernsthafter damit arbeiten möchte und z.B. GPU Unterstützung benötige oder mein Projekt bei einem Cloudanbieter laufen lassen möchte, kann ich dies mit demselben Toolkit tun und muss nicht noch einmal von vorne beginnen.

 

Weiterführende Links zum Thema
Beitrag teilen

Patrick Häusermann

Patrick Häusermann ist Senior System Engineer Datacenter bei der ITRIS One AG und bloggt aus dem Unterricht des CAS Digital Architect.

Alle Beiträge ansehen von Patrick Häusermann →

Schreibe einen Kommentar