Kubernetes als Ausgangspunkt für KI und maschinelles Lernen Machine-Learning-Workloads mit K8s automatisieren

Von Dipl. Betriebswirt Otto Geißler 4 min Lesedauer

Anbieter zum Thema

Agilität, Flexibilität, Portabilität und Skalierbarkeit: All das, was Kubernetes auszeichnet, kommt dem Trainieren, Testen und Bereitstellen von Machine-Learning-Modellen zugute. Damit ist das Tool der Schlüssel zur Optimierung des ML-Lebenszyklus. Was müssen Anwender beachten?

Kubernetes vereint mehrere Attribute, die es zu einer idealen Basis für die Verarbeitung von KI- und Machine-Learning-Arbeitslasten machen.(Bild:
Kubernetes vereint mehrere Attribute, die es zu einer idealen Basis für die Verarbeitung von KI- und Machine-Learning-Arbeitslasten machen.
(Bild: / Unsplash)

Beim Erstellen von Anwendungen, die maschinelles Lernen unterstützen, gestalten sich die Arbeitsabläufe meist nicht linear. Die einzelnen Phasen verändern sich ständig, da die Teams, gemäß der kombinierten Praxis von Continuous Integration (CI) und Continuous Delivery bzw. Continuous Deployment (CD) daran arbeiten, kontinuierlich zu integrieren und zu liefern.

Der Prozess des Erstellens, Testens, Zusammenführens und Bereitstellens neuer Daten, Algorithmen und Versionen einer Anwendung erzeugt allerdings viele Veränderungen. Diese wiederum sind häufig schwierig zu verwalten. Hier kommen Container ins Spiel, die es ermöglichen, Anwendungen zusammen mit allen Bibliotheken und Abhängigkeiten, die zur Ausführung benötigt werden, zu isolieren und zu verpacken.

Container benötigen kein komplettes Betriebssystem, sondern genau nur die Komponenten, die zu dem jeweiligen Betrieb erforderlich sind, was sie buchstäblich „leicht und portabel“ macht. Dies erleichtert die Bereitstellung für den Betrieb und gibt Entwicklern und Entwicklerinnen die Gewissheit, dass ihre Anwendungen auch auf verschiedenen Plattformen oder Betriebssystemen reproduzierbar laufen.

Ein weiterer Vorteil von Containern besteht darin, dass sie durch die Trennung von Verantwortungsbereichen dazu beitragen, mögliche Konflikte zwischen Entwicklungs- und Betriebsteams zu reduzieren. Wenn sich Developer auf ihre Apps und Betriebsteams auf die Infrastruktur konzentrieren können, vereinfacht sich nicht nur die nahtlose Integration neuer Codes in eine wachsende Anwendung, sondern sie wird im Laufe ihres Lebenszyklus auch effizienter.

Anwendung für KI/ML-Workloads

eBook Container-Orchestrierung
eBook „Container-Orchestrierung“
(Bild: Dev-Insider)

E-Book zum Thema

Unser eBook „Container-Orchestrierung“ befasst sich mit den Container-Cluster-Managern Docker Swarm, Kubernetes und Mesosphere.


Kubernetes ist eine Open-Source-Plattform, die Container-Vorgänge automatisiert und orchestriert. Viele manuellen Prozesse, die mit der Bereitstellung und Skalierung von Containeranwendungen verbunden sind, lassen sich damit eliminieren. Die Kubernetes-Technologie liefert den Schlüssel zur Optimierung des Lebenszyklus des maschinellen Lernens, da sie Data Scientists die nötige Agilität, Flexibilität, Portabilität und Skalierbarkeit bietet, um ML-Modelle zu trainieren, zu testen und bereitzustellen.

Skalierbarkeit

Mit Kubernetes können Anwender ML-Workloads je nach Bedarf nach oben oder unten skalieren. Dadurch wird sichergestellt, dass Pipelines für maschinelles Lernen umfangreiche Bearbeitungen und Trainings ermöglichen, ohne andere Bereiche des Projekts zu beeinträchtigen.

Effizienz

Kubernetes optimiert die Zuteilung von Ressourcen, indem Arbeitslasten auf Knoten gemäß deren Verfügbarkeit und Kapazität geplant werden. Durch die Sicherstellung, dass Computer-Ressourcen gezielt nutzbar sind, können Anwender Kostensenkungen bei gleichzeitigen Leistungssteigerungen erwarten.

Portabilität

Kubernetes bietet eine standardisierte, plattformunabhängige Umgebung, die Data Scientists in die Lage versetzt, ein ML-Modell zu entwickeln und es in mehreren Umgebungen und Cloud-Plattformen bereitzustellen. Das bedeutet, dass die Anwender sich keine Gedanken über Kompatibilitätsprobleme oder eine Anbieter-Abhängigkeit machen müssen.

Fehlertoleranz

Dank integrierter Fehlertoleranzen und Selbstheilungsfunktionen können Anwender darauf vertrauen, dass Kubernetes die ML-Pipelines auch im Falle eines Hardware- oder Softwarefehlers am Laufen hält.

Nutzen für maschinelles Lernen

Bei ML-Modellen handelt es sich in der Regel um Software-Anwendungen, die normalerweise nicht besonders gut in andere Teile der IT-Architektur passen. Dies liegt zum einen daran, dass sie von vielen verschiedenen Bibliotheken abhängen und Parameterdateien sowie andere Artefakte erfordern.

Zum anderen stellen die Modelle sehr unterschiedliche Ansprüche an Ressourcen für ihre Ausführung. Ein Tensorflow-basierter NLP-Algorithmus benötigt beispielsweise eine viel längere Laufzeit und andere Abhängigkeiten als ein Scikit-Learn-Regressionsmodell. Einige Modelle setzen leistungsfähige GPUs voraus, andere wiederum nicht.

Microservice-Architekturen eignen sich ideal für den Betrieb und die Wartung von Anwendungen, die aus Services mit unterschiedlichen Anforderungen bestehen. Daher qualifizieren sie sich ebenfalls gut für die Ausführung von ML-Algorithmen. Es gibt mehrere Open-Source-Erweiterungen für Kubernetes, die den Anwender bei der Ausführung von Machine-Learning-Workloads unterstützen, wie beispielsweise Kubeflow. Sie sind jedoch nicht so einfach einzurichten und zu beherrschen.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Abgrenzung der Einsatzbereiche

Kubernetes wurde von Google zunächst im eigenen Haus für die Orchestrierung von Microservice-Anwendungen entwickelt. Erst später wurde die Technologie als Open Source veröffentlicht. Wenn Anwender also planen, viele Services und Modelle gleichzeitig in einer Umgebung mit hoher Workload auszuführen, könnte Kubernetes das Richtige für sie sein. Wenn jedoch nur ein einzelner Service oder eine einzelne App redundant ausgeführt werden muss, wäre Docker Swarm oder ein Cloud-Dienst wie Cloud Run von Google möglicherweise die bessere Alternative.

Zu den Nachteilen von Kubernetes zählen unter anderem folgende Kriterien:

  • Die Architektur wird komplexer.
  • Anwender müssen sich um Netzwerk, Serviceerkennung, Lastausgleich und Überwachung kümmern.
  • Fragen zur IT-Security werden anspruchsvoller. Mehr Komplexität bedeutet größere Herausforderungen, um die Sicherheit zu gewährleisten.

Hinzu kommt, dass der Einsatz von Kubernetes in der Produktion den Anwender vor besondere Herausforderungen stellt, bis die Technologie reibungslos funktioniert. Verwaltete Kubernetes-Services wie EKS, Google Kubernetes Service und Azure Kubernetes vereinfachen so manches. Trotzdem handelt es sich hierbei immer noch nicht um eine Technologie, die Plug-and-Play-fähig ist.

Fazit

Die Beherrschung von Kubernetes für ML/KI-Workloads erfordert ein Verständnis sowohl der Kernkonzepte von Kubernetes als auch der Herausforderungen bei der Bereitstellung und Skalierung von ML-Modellen. Durch die Nutzung der Flexibilität, Skalierbarkeit und des robusten Ökosystems von Kubernetes können Teams ihre ML-Prozesse erheblich optimieren.

E-Book zum Thema

Container-Orchestrierung

eBook Container-Orchestrierung
eBook „Container-Orchestrierung“
(Bild: Dev-Insider)

Container haben die DevOps-Idee revolutioniert. Dazu bedarf es eines Container-Clusters nebst zugehöriger Verwaltungsinstrumente. Wir nehmen den Platzhirsch Kubernetes und seine direkten Konkurrenten genauer unter die Lupe.

Dieses eBook beinhaltet folgende Kapitel:

  • Orchester-Meister im Vergleich
  • Schwarmintelligenz für Docker
  • Steuermann auf dem Containerschiff
  • Dicht an der Mesosphäre

(ID:50076290)