MLOps mit Intelligent Products Essentials

Last reviewed 2022-06-28 UTC

In diesem Dokument wird eine Referenzarchitektur für die Implementierung von MLOps mit Intelligent Products Essentials und Vertex AI beschrieben. Mit diesen Tools können Hersteller ihre Produkte kontinuierlich durch Folgendes verbessern:

  • Intelligente Funktionen hinzufügen, um Kundenanforderungen effektiver zu erfüllen.
  • Neue Produktfeatures monetarisieren.

Diese Dokumente richtet sich an Data Scientists, Entwickler von maschinellem Lernen (ML) und Lösungsarchitekten, die mehr über eine MLOps-Lösungsarchitektur für verbundene Produkte erfahren möchten.

MLOps

Wie unter Versteckte technische Altlasten in ML-Systemen beschrieben, ist der ML-Code nur ein kleiner Teil ausgereifter ML-Systeme. Neben dem ML-Code und qualitativ hochwertigen Daten benötigen Sie eine Möglichkeit, Ihre ML-Prozesse einsatzbereit zu machen.

MLOps ist eine Methode, mit der Unternehmen Ihr ML-System schnell, wiederholbar und zuverlässig erstellen, bereitstellen und in Betrieb nehmen können. MLOps ist eine Anwendung von DevOps-Prinzipien auf ML-Systeme. MLOps ist eine Entwicklungskultur und -praxis, die darauf abzielt, die ML-Systementwicklung (Dev) und den ML-Systembetrieb (Ops) zu vereinheitlichen. Das Ziel von MLOps besteht darin, eine Reihe standardisierter Prozesse und Technologiefunktionen zum Erstellen, Bereitstellen und Stellen von ML-Systemen bereitzustellen.

In den folgenden Abschnitten wird erläutert, wie MLOps mit Intelligent Products Essentials und Vertex AI implementiert werden kann.

MLOps-Identitäten

Diagramm: Allgemeine Architektur mit Intelligent Products Essentials und zentralen MLOps-Nutzeridentitäten

Das obige Diagramm zeigt die folgenden Komponenten- und zentralen MLOps-Nutzeridentitäten:

  • Intelligent Products Essentials: Speichert Kundendaten, Gerätedaten, Gerätetelemetrie- und Inhaberschaftsdaten in BigQuery und Cloud Storage.
  • Data Scientists: Verantwortlich für die Analyse von Daten, die in Intelligent Products Essentials, Feature Engineering, Modellentwicklung, Modellauswertung und dem Erstellen einer ML-Pipeline gespeichert sind.
  • ML-Entwickler: sind für die Orchestrierung und das Hosting der Modellbereitstellung in großem Umfang verantwortlich.

In den folgenden Abschnitten wird die MLOps-Architektur aus der Perspektive von Data Scientists und ML-Entwicklern beschrieben.

Data Scientists

Bei ML-Problemen besteht das Ziel von Data Scientists darin, fortschrittliche Analyse- und ML-Techniken anzuwenden, um Muster in Daten und Ausgabevorhersagen zu identifizieren. Da Daten die Grundlage von ML haben, benötigen Data Scientists einfachen Zugriff auf Datasets und eine flexible Entwicklungsumgebung für die Datenanalyse.

Das folgende Diagramm zeigt die MLOps-Architektur von Intelligent Products Essentials aus der Perspektive von Data Scientists.

Diagramm: Detaillierte MLOps-Architektur von Intelligent Products Essentials aus der Data-Scientist-Perspektive

Das obige Diagramm zeigt die folgenden MLOps-Komponenten für Data Scientists:

  • Vertex AI Workbench bietet eine Jupyter-basierte, vollständig verwaltete, skalierbare Infrastruktur für Unternehmen, um eine Verbindung zu allen Google Cloud-Daten in der Organisation herzustellen. Data Scientists können diese Infrastruktur als ihre Entwicklungsumgebung verwenden.

  • Vertex AI Feature Store: bietet ein zentrales Repository zum Organisieren, Speichern und Bereitstellen von ML-Features. Data Scientists können Vertex AI Feature Store verwenden, um Features in ihrer gesamten Organisation zu speichern und freizugeben.

  • Kubeflow Pipelines SDK: Ermöglicht Data Scientists, portable, skalierbare ML-Workflows auf der Grundlage von Docker-Containern zu erstellen und bereitzustellen. Nachdem die Data Scientists ein ML-Modell erstellt haben, können die Data Scientists ihre Trainingsverfahren mithilfe des Kubeflow Pipelines SDK in einer ML-Pipeline verpacken.

  • Vertex AI Pipelines: bietet eine Ausführungsumgebung für ML-Pipelines, die mit dem Kubeflow Pipelines SDK oder TensorFlow Extended erstellt wurden. Für Intelligent Products Essentials empfehlen wir die Verwendung des Kubeflow Pipelines SDK. Wenn Sie das Kubeflow Pipelines SDK verwenden, gibt es auch vordefinierte Komponenten wie die Google Cloud-Pipeline-Komponenten für eine einfache und schnelle Bereitstellung. Eine vollständige Liste der vordefinierten Komponenten finden Sie in der Liste der Google Cloud-Pipelinekomponenten.

  • Cloud Source Repositories: sind komplett ausgestattete, private Git-Repositories, die auf der Google Cloud gehostet werden. Nachdem Data Scientists ihre ML-Pipeline für kontinuierliches Training definiert haben, können sie die Pipelinedefinition in einem Quell-Repository wie Cloud Source Repositories speichern. Bei diesem Ansatz wird die CI/CD-Pipeline (Continuous Integration/Continuous Deployment) ausgeführt.

ML-Entwickler

Intelligent Products Essentials ermöglicht ML-Entwicklern, den Betrieb von ML-Modellen zeitnah und zuverlässig zu automatisieren. ML-Entwickler verwalten die CI/CD-Pipelines, die die Bereitstellung der ML-Pipeline, des Modells und in einigen Fällen des Vorhersagedienstes unterstützen.

Das folgende Diagramm zeigt die MLOps-Architektur von Intelligent Products Essentials aus der Perspektive von ML-Entwicklern.

Diagramm: Detaillierte MLOps-Architektur von Intelligent Products Essentials aus der Perspektive von ML-Entwicklern.

Das obige Diagramm zeigt die folgenden MLOps-Komponenten für ML-Entwickler:

  • CI-Pipeline: Erstellt, testet und verpackt die Komponenten der ML-Pipeline.
  • CD-Pipeline: Stellt die ML-Pipeline in entsprechenden Umgebungen wie Staging- oder Produktionsumgebungen bereit.
  • ML-Pipeline: bereitet Trainingsdaten vor und trainiert ML-Modelle. Dies umfasst die folgenden Schritte:
    • Datenextraktion: ruft Trainings-Datasets aus vordefinierten Datenquellen ab.
    • Datenvalidierung: erkennt Anomalien im Datenschema und in der Verteilung von Datenwerten.
    • Datenvorbereitung: umfasst Datenbereinigung, Datentransformation und Feature Engineering.
    • Modelltraining: erstellt trainierte Modelle mithilfe von Trainingsdaten und anderen ML-Verfahren wie der Hyperparameter-Optimierung.
    • Modellbewertung: bewertet die Leistung des trainierten Modells (aus dem vorherigen Schritt des Modelltrainings) für das Test-Dataset.
    • Modellvalidierung: bestätigt, ob das trainierte Modell die Vorhersageleistung für die Bereitstellung erfüllt.
  • ML-Pipeline-Trigger: Ereignisse, die in Pub/Sub veröffentlicht werden und die ML-Pipeline für kontinuierliches Training auslösen.
  • Vertex AI Model Registry: speichert verschiedene Versionen von trainierten Modellen und die zugehörigen Metadaten.
  • Batchvorhersage: wendet Vorhersagen in Batches auf Eingabedaten an, die in Cloud Storage oder BigQuery gespeichert sind (mit AutoML Tables verfügbar). Der Batchvorhersagevorgang kann die Vorhersageergebnisse an Cloud Storage oder BigQuery (verfügbar mit AutoML Tables) ausgeben, damit nachgelagerte Systeme diese verwenden können.

Nächste Schritte