Was ist Kubeflow?

Kubeflow ist eine Open-Source-Plattform für Machine Learning (ML), die die Bereitstellung und Verwaltung von ML-Workflows auf Kubernetes vereinfacht. Durch die Kombination der Leistungsfähigkeit von Kubernetes mit ML-spezifischen Tools und Bibliotheken erleichtert Kubeflow die Implementierung robuster Machine Learning Operations (MLOps) Praktiken. Mit Kubeflow können Nutzer der Google Kubernetes Engine (GKE) außerdem einfacher ML-Workflows im Rahmen einer AI-Hypercomputer-Bereitstellung erstellen.

Kubeflow unterstützt Machine Learning-Entwickler und Data Scientists bei der Nutzung der Skalierbarkeit und Portabilität von Kubernetes. Nutzer können sich von der Komplexität der Containerisierung lösen und sich auf das Erstellen, Trainieren und Bereitstellen ihrer Modelle für maschinelles Lernen konzentrieren.

Wofür wird Kubeflow verwendet?

Kubeflow wird häufig für eine Reihe von Aufgaben im Bereich des maschinellen Lernens verwendet, darunter:

  • Portable und skalierbare ML-Workflows erstellen: Nutzer können ihre ML-Workflows als Pipelines definieren, die sich leicht in verschiedenen Umgebungen teilen und bereitstellen lassen. Dadurch werden Konsistenz und Wiederholbarkeit in den ML-Prozessen gefördert.
  • ML-Modelle im großen Maßstab trainieren: Kubeflow hilft dabei, Trainingsworkloads auf ein Kubernetes-Cluster zu verteilen, sodass Nutzer Modelle anhand größerer Datasets effizienter trainieren können. This scalability may be beneficial for handling the growing volume of data in modern machine learning applications.
  • ML-Modelle für die Produktion bereitstellen: Mit Kubeflow können Sie leichter trainierte ML-Modelle als skalierbare und zuverlässige Dienste bereitstellen und die Lücke zwischen Modellentwicklung und Bereitstellung schließen. So können Sie den Übergang von experimentellen zu produktionsbereiten ML-Modellen optimieren.
  • Verwaltung des ML-Lebenszyklus: Kubeflow umfasst oft Funktionen zum Verfolgen von Experimenten, Verwalten von Modellversionen und Beobachten der Modellleistung, die den gesamten Lebenszyklus des maschinellen Lernens optimieren. Diese umfassende Verwaltung entspricht den MLOps-Prinzipien der kontinuierlichen Überwachung und Verbesserung.

Kubeflow-Komponenten

Kubeflow besteht aus mehreren Komponenten, die zusammen eine umfassende Plattform bilden. Hier sind einige wichtige Komponenten:

Pipelines

Kubeflow Pipelines nutzt Docker-Container und bietet eine Plattform zum Erstellen und Bereitstellen von ML-Workflows, die sowohl portabel als auch skalierbar sind. Jede Pipeline fungiert als Blaupause, in der die Schritte eines ML-Workflows und ihre Verknüpfungen beschrieben werden. Eine nutzerfreundliche Oberfläche in Kubeflow Pipelines ermöglicht eine effiziente Verwaltung und Nachverfolgung von Tests, die Visualisierung von Pipelineausführungen und eine eingehende Prüfung von Protokollen und Leistungsmesswerten.

Katib

Katib ist ein System zur Hyperparameter-Abstimmung für Modelle für maschinelles Lernen. Die Suche nach den besten Hyperparametern für ein Modell kann zeitaufwendig sein, aber Katib automatisiert diesen Prozess. Katib unterstützt verschiedene Suchalgorithmen wie Grid-Suche, zufällige Suche und Bayes'sche Optimierung. So können Nutzer die Leistung ihres Modells effizienter optimieren.

KFServing

KFServing bietet eine serverlose Inferenzplattform für die Bereitstellung trainierter Modelle für maschinelles Lernen. Es vereinfacht die Bereitstellung und Skalierung von trainierten Modellen. KFServing unterstützt verschiedene Frameworks für maschinelles Lernen, z. B. TensorFlow, PyTorch und scikit-learn. Dadurch ist es frameworkunabhängig und an verschiedene ML-Umgebungen anpassbar.

Metadaten

Die Metadata-Komponente von Kubeflow bietet die Möglichkeit, die Herkunft und die Artefakte zu verfolgen. Mit dieser Komponente können Data Scientists ihre Experimente, Datasets und Modelle im Blick behalten und ihre Arbeit leichter verwalten und reproduzieren. Diese Metadatenverfolgung erleichtert die Zusammenarbeit zwischen Teammitgliedern und sorgt für die Reproduzierbarkeit der Ergebnisse.

Vorteile von Kubeflow

Unternehmen, die ihre Machine-Learning-Prozesse optimieren und verbessern möchten, profitieren von zahlreichen Vorteilen von Kubeflow:

Skalierbarkeit und Portabilität

Kubeflow hilft Nutzern dabei, ihre ML-Workflows bei Bedarf zu skalieren. Es kann in verschiedenen Infrastrukturen bereitgestellt werden, einschließlich lokaler, cloudbasierter und hybrider Umgebungen. Diese Flexibilität ermöglicht es Unternehmen, ihre ML-Infrastruktur an ihre spezifischen Anforderungen anzupassen und eine Anbieterbindung zu vermeiden.

Wiederholbarkeit und Tracking von Tests

Einer der Hauptvorteile von Kubeflow ist, dass die komponentenbasierte Architektur eine einfachere Reproduktion von Experimenten und Modellen ermöglicht. Es bietet Tools für die Versionsverwaltung und das Tracking von Datasets, Code und Modellparametern. Diese Reproduzierbarkeit sorgt für Konsistenz bei ML-Experimenten und erleichtert die Zusammenarbeit zwischen Data Scientists.

Erweiterbarkeit und Integration

Kubeflow ist erweiterbar und kann in verschiedene andere Tools und Dienste eingebunden werden, einschließlich cloudbasierter Plattformen für Machine Learning. Sie können es auch mit zusätzlichen Komponenten anpassen. So können Organisationen ihre vorhandenen Tools und Workflows nutzen und Kubeflow nahtlos in ihre ML-Umgebung einbinden.

Einfachere betriebliche Abläufe

Durch die Automatisierung vieler Aufgaben im Zusammenhang mit der Bereitstellung und Verwaltung von ML-Workflows hilft Kubeflow Data Scientists und Entwicklern, sich auf anspruchsvollere Aufgaben wie die Modellentwicklung und ‑optimierung zu konzentrieren. Dieser reduzierte operative Aufwand kann zu erheblichen Produktivitäts- und Effizienzsteigerungen führen.

Verbesserte Ressourcenauslastung

Durch die enge Einbindung in Kubernetes ermöglicht Kubeflow eine effizientere Ressourcennutzung. Organisationen können die Zuweisung von Hardwareressourcen optimieren und die Kosten für die Ausführung von Machine-Learning-Arbeitslasten senken.

Erste Schritte mit Kubeflow

Es gibt verschiedene Möglichkeiten, mit Kubeflow zu beginnen, je nach individuellen Anforderungen und Erfahrungsstand:

  • Kubeflow in der Google Kubernetes Engine (GKE) bereitstellen: Diese Option bietet eine hohe Flexibilität und Kontrolle bei Kubeflow-Bereitstellungen. Nutzer können die Installation an ihre Anforderungen anpassen und haben vollen Zugriff auf das zugrunde liegende Kubernetes-Cluster. Dieser Ansatz erfordert jedoch mehr Kubernetes-Kenntnisse und ist möglicherweise aufwendiger.
  • Vertex AI Pipelines nutzen: Diese Option ist ein vollständig verwalteter Dienst, der das Bereitstellen und Ausführen von Kubeflow-Pipelines in Google Cloud erleichtern kann. Vertex AI Pipelines übernimmt die gesamte Infrastrukturverwaltung, sodass sich die Nutzer auf das Erstellen und Ausführen von ML-Workflows konzentrieren können. Dieser Ansatz ist eine gute Option für alle, die eine verwaltete Lösung suchen, die sich schnell und einfach einrichten lässt.
  • Kubeflow auf anderen Plattformen ausprobieren: Kubeflow kann auch in anderen Kubernetes-Umgebungen bereitgestellt werden. Installationsanleitungen und Dokumentationen für diese Plattformen finden Sie auf der Kubeflow-Website.
Um den besten Ansatz zu bestimmen, sollten Nutzer ihre Vertrautheit mit Kubernetes, ihr gewünschtes Maß an Kontrolle über die Infrastruktur und ihr Budget berücksichtigen. Für Nutzer, die neu in Kubernetes sind oder eine stärker verwaltete Lösung wünschen, ist Vertex AI Pipelines möglicherweise ein guter Ausgangspunkt. Wenn ein Nutzer mehr Flexibilität benötigt oder Kubeflow lokal ausführen möchte, ist die Bereitstellung in GKE oder einer anderen Kubernetes-Plattform möglicherweise besser geeignet.

Gleich loslegen

Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“-Produkte kennenzulernen.

Google Cloud